DE112012004796B4 - Periodische Auslagerungen von Innen- und Aussendurchmessern von Platten zum Verbessern von Lesereaktionszeiten - Google Patents

Periodische Auslagerungen von Innen- und Aussendurchmessern von Platten zum Verbessern von Lesereaktionszeiten Download PDF

Info

Publication number
DE112012004796B4
DE112012004796B4 DE112012004796.6T DE112012004796T DE112012004796B4 DE 112012004796 B4 DE112012004796 B4 DE 112012004796B4 DE 112012004796 T DE112012004796 T DE 112012004796T DE 112012004796 B4 DE112012004796 B4 DE 112012004796B4
Authority
DE
Germany
Prior art keywords
tracks
read
cursor position
timer
swap
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
DE112012004796.6T
Other languages
English (en)
Other versions
DE112012004796T5 (de
Inventor
c/o IBM Corporation Benhase Michael Thomas
c/o IBM Corporation Gupta Lokesh Mohan
c/o IBM Corporation Strauss Christopher
c/o IBM Corporation Wright Will Allen
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of DE112012004796T5 publication Critical patent/DE112012004796T5/de
Application granted granted Critical
Publication of DE112012004796B4 publication Critical patent/DE112012004796B4/de
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B21/00Head arrangements not specific to the method of recording or reproducing
    • G11B21/02Driving or moving of heads
    • G11B21/022Programmed access in sequence to indexed parts of operating record carriers
    • G11B21/025Programmed access in sequence to indexed parts of operating record carriers of rotating discs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/12Replacement control
    • G06F12/121Replacement control using replacement algorithms
    • G06F12/126Replacement control using replacement algorithms with special data handling, e.g. priority of data or instructions, handling errors or pinning

Abstract

Verfahren, aufweisend:- Empfangen eines Befehls von einem Host durch eine Speichersteuereinheit, die einen Cachespeicher enthält, wobei ein Satz von Kriterien, die Lesereaktionszeiten zum Ausführen des Befehls entsprechen, erfüllt sein muss;- Ausführen einer Auslagerungsanwendung, die Spuren auf der Grundlage einer jüngsten Verwendung und eines räumlichen Ortes der Spuren auslagert, wobei eine räumliche Ordnung der Spuren in einer Datenstruktur beibehalten wird und die Auslagerungsanwendung die räumliche Ordnung der Spuren durchgeht; und- Auslagern von Spuren von zumindest Innen- oder Außendurchmessern von Platten in periodischen Intervallen, wobei die räumliche Ordnung der Spuren durchgegangen wird, wobei der Satz von Kriterien, die den Lesereaktionszeiten zum Ausführen des Befehls entsprechen, erfüllt wird, so dass Leseanfragen bedient werden, die eine Dauer ausstehen, die größer als ein Standardwert eines Zeitgebers ist,- durch:◯ Einstellen des Zeitgebers auf ein vorgegebenes Zeitintervall und Setzen eines Auslagerungszählers auf null; und◯ Auswählen einer Spur an einer Cursorposition zum Auslagern, während die Datenstruktur durchgegangen wird, die die räumliche Ordnung der Spuren beibehält,- wobei die Datenstruktur ein sortierter binärer Baum von Spuren ist und das Verfahren weiterhin aufweist:◯ als Reaktion auf ein Ermitteln, dass der Zeitgeber abgelaufen ist und als Reaktion auf ein Ermitteln, dass der Auslagerungszähler null beträgt, durchführen:◯ Finden der ersten Spur am Beginn des sortierten binären Baums;◯ Auslagern der ersten Spur anstelle einer Spur an der Cursorposition, ohne die Cursorposition zu verändern;◯ Erhöhen des Auslagerungszählers auf eins; und◯ Fortfahren, Spuren auszuwählen, um Auslagerungen von der Cursorposition aus durchzuführen.

Description

  • GEBIET
  • Die Offenbarung betrifft ein Verfahren, ein System und einen Herstellungsartikel für periodische Auslagerungen von Innenseiten und Außendurchmessern von Platten zum Verbessern von Lesereaktionszeiten.
  • HINTERGRUND
  • Eine Speichersteuereinheit kann eine Vielzahl von Speichereinheiten steuern, zu denen Festplatten, Bänder usw. zählen können. Durch die Speichersteuereinheit kann zudem ein Cachespeicher unterhalten werden, wobei der Cachespeicher einen Hochgeschwindigkeitsspeicher aufweisen kann, auf den im Vergleich mit bestimmten anderen Speichereinheiten, wie beispielsweise Festplatten, Bänder usw., schneller zugegriffen werden kann. Die Gesamtmenge an Speicherkapazität des Cachespeichers kann jedoch im Vergleich mit der Speicherkapazität bestimmter anderer Speichereinheiten wie beispielsweise Festplatten usw. relativ kleiner sein. Der Cachespeicher kann aus einem oder mehreren Speichern mit wahlfreiem Zugriff (random access memory (RAM)), nichtflüchtigen Speichereinheiten (non-volatile storage device (NVS)), Lesecachespeicher, Schreibcachespeicher usw. gebildet sein, die miteinander auf unterschiedliche Weise zusammenarbeiten können. Der NVS kann einen akku- oder batteriegesicherten Speicher mit wahlfreiem Zugriff aufweisen und ein Durchführen von Schreibvorgängen mit einer hohen Geschwindigkeit erlauben. Die Speichersteuereinheit kann Eingabe/Ausgabe(E/A)-Anfragen von Netzwerk-Hosts an die Vielzahl von Speichersteuereinheiten verwalten.
  • Durch die Speichersteuereinheit realisierte Cachetechniken tragen dazu bei, die E/A-Latenzzeiten zu verbergen. Der Cachespeicher kann einen Hochgeschwindigkeitsarbeitsspeicher oder eine Hochgeschwindigkeitsspeichereinheit aufweisen, die zum Verringern der effektiven Zeit verwendet wird, die zum Lesen von Daten von oder Schreiben von Daten auf einen Speicher oder eine Einheit mit niedrigerer Geschwindigkeit erforderlich ist. Der Cachespeicher wird für einen schnellen Zugriff auf Daten verwendet, die von einem externen Speicher bereitgestellt werden, um Anfragen nach Lesedatenzugriff zu bedienen und ein Puffern von modifizierten Daten bereitzustellen. Schreibanfragen werden in den Cachespeicher geschrieben und anschließend auf die externen Speichereinheiten geschrieben (ausgelagert).
  • Der NVS wurde eingeführt, um schnelle Schreibvorgänge zu ermöglichen. Allgemein müssen bei Abwesenheit eines NVS Datenschreibvorgänge synchron direkt auf die Speichereinheit geschrieben (d.h. ausgelagert) werden, um Konsistenz, Korrektheit und Persistenz sicherzustellen. Andernfalls kann ein Ausfall des Servers dazu führen, dass im Cachespeicher gespeicherte Daten verloren gehen. Allgemein überschreitet die Datenübertragungsrate von Host-Schreibvorgängen die Geschwindigkeit der Speichereinheiten, so dass ohne einen NVS die Datenübertragungsrate zu Speichereinheiten niedrig sein kann. Der NVS ermöglicht schnelle Schreibvorgänge auf Cachespeicher, wobei die Schreibvorgänge auf dem NVS gespiegelt und dort sicher gespeichert werden, bis die Schreibvorgänge auf die externe Speichereinheit übertragen werden können. Die Daten werden später auf eine asynchrone Weise vom Cachespeicher ausgelagert (und im NVS verworfen), wodurch die Schreiblatenzzeiten der Speichereinheit verborgen werden. Im Cachespeicher und im NVS werden üblicherweise Aktualisierungen gespeichert, die für mehrere Speichereinheiten vorgesehen sind. Um kontinuierlich niedrige Latenzzeiten für Schreibvorgänge zu garantieren, müssen die Daten im NVS unter Umständen abgeleitet werden, um sicherzustellen, dass immer leerer Speicherplatz für eingehende Schreibvorgänge vorhanden ist; andernfalls können Nachfolgeschreibvorgänge tatsächlich synchron werden, was die Reaktionszeiten für Host-Schreibvorgänge nachteilig beeinträchtigen kann. Andererseits werden die Vorteile von Schreib-Caching unter Umständen nicht voll ausgeschöpft, wenn die Schreibvorgänge zu aggressiv abgeleitet werden, da die durchschnittliche Menge an genutztem NVS-Cachespeicher gering sein kann.
  • Ein Verlagern vom sekundären Speicher in den Cachespeicher und ein Auslagern vom Cachespeicher in den sekundären Speicher kann über eine Vielzahl von Cachespeicher-Verwaltungsmechanismen durchgeführt werden. Zum Beispiel können temporäre Mechanismen, wie beispielsweise ein Mechanismus auf der Grundlage des am längsten nicht erfolgten Verwendens (least recently used (LRU)) Spuren auslagern, darauf beruhend, welche Spuren am längsten nicht verwendet wurden (LRU). Die räumliche Ordnung von Spuren kann durch bestimmte Cachespeicher-Verwaltungsmechanismen durchgeführt werden, wobei Lese- und Schreibvorgänge in aufsteigender oder absteigender Reihenfolge logischer Adressen in einer geordneten Liste gespeichert werden und die geordnete Liste auf Auslagerungen durchgegangen wird. Ein solches räumliches Auslagern kann ein Auslagern von Datensegmenten begünstigen, die auf den Platten am dichtesten beieinander angeordnet sind.
  • Aus der US 2009 / 0 216 944 A1 ist ein Cache-Speicher für Schreibvorgänge bekannt, bei dem Daten für eine Bearbeitung zwischengespeichert werden („staging“) und ein Controller die Reihenfolge beim Bearbeiten und Erledigen festlegt.
  • Ausgehend von dem Stand der Technik stellt sich die Erfindung die Aufgabe, derartige Techniken auch für Cache-Speicher für Lesevorgänge zu schaffen.
  • Die Aufgabe wird erfindungsgemäß gelöst durch das Verfahren nach Anspruch 1, das System nach Anspruch 6, das Computerprogrammprodukt nach Anspruch 11 und die Speichersteuereinheit nach Anspruch 16. Bevorzugte Ausführungsformen der Erfindung sind Gegenstand der jeweiligen Unteransprüche.
  • KURZDARSTELLUNG DER BEVORZUGTEN AUSFÜHRUNGSFORMEN
  • Bei dem erfindungsgemäßen Verfahren, System und Computerprogrammprodukt wird eine Auslagerungsanwendung ausgeführt, die Spuren auf der Grundlage einer jüngsten Verwendung und eines räumlichen Ortes der Spuren auslagert, wobei eine räumliche Ordnung der Spuren in einer Datenstruktur beibehalten wird und die Auslagerungsanwendung die räumliche Ordnung der Spuren durchgeht. Spuren werden von zumindest Innen- oder Außendurchmessern von Platten in periodischen Intervallen ausgelagert, wobei die räumliche Ordnung der Spuren durchgegangen wird, wobei der Satz von Kriterien, die den Lesereaktionszeiten zum Ausführen des Befehls entsprechen, erfüllt wird.
  • Figurenliste
  • Nachfolgend wird eine bevorzugte Ausführungsform der vorliegenden Erfindung unter Bezugnahme auf die angehängten Zeichnungen beschrieben, in denen:
    • 1 ein Blockschaubild einer Datenverarbeitungsumgebung veranschaulicht, die gemäß gewissen Ausführungsformen eine mit einer Vielzahl von Hosts und einer Vielzahl von Speichereinheiten verbundene Speichersteuereinheit enthält;
    • 2 ein Blockschaubild veranschaulicht, das beispielhafte Anforderungen an Lesereaktionszeiten gemäß gewissen Ausführungsformen zeigt;
    • 3 einen Ablaufplan veranschaulicht, der gemäß gewissen Ausführungsformen erste Operationen zum Durchführen periodischer Auslagerungen von Innen- und Außendurchmessern von Platten zeigt, während eine Datenstruktur durchgegangen wird, in der Spuren in einer sortierten räumlichen Ordnung gespeichert sind;
    • 4 einen Ablaufplan zeigt, der gemäß gewissen Ausführungsformen zweite Operationen zum Durchführen periodischer Auslagerungen von Innen- und/oder Außendurchmessern von Platten zeigt, während eine Datenstruktur durchgegangen wird, in der Spuren in einer sortierten räumlichen Ordnung gespeichert sind; und
    • 5 ein Blockschaubild eines Rechensystems veranschaulicht, das gemäß gewissen Ausführungsformen gewisse Elemente zeigt, die in der Speichersteuereinheit von 1 enthalten sein können.
  • DETAILLIERTE BESCHREIBUNG
  • Auf räumlicher Lage beruhendes Auslagern und Anforderungen an die Lesereaktionszeit
  • Bei intelligentem Cacheschreiben (Intelligent cache writing (IWC)) handelt es sich um ein Hybrid zweier anderer Cachespeicher-Verwaltungsmechanismen, die als CLOCK und CSCAN bezeichnet werden. Bei CLOCK handelt es sich einen Mechanismus auf der Grundlage des am längsten nicht erfolgten Verwendens (LRU), bei dem Spuren darauf beruhend ausgelagert werden, welche Spuren LRU sind bzw. am längsten nicht verwendet wurden. Um CLOCK-Eigenschaften zu emulieren, unterhält das IWC ein Zeitbit für jede Spur. Das Zeitbit wird gesetzt, wenn der Host eine Spur schreibt. Das Zeitbit wird zurückgesetzt, wenn eine Auslagerungsabtastung auf eine Spur mit dem gesetzten Zeitbit stößt. Wenn diese Auslagerungsabtastung Bereiche ohne Spuren mit gesetztem Zeitbit findet, kann das Auslagerungsabtasten diese Bereiche für ein Auslagern auswählen. CSCAN stuft Spuren auf der Grundlage eines räumlichen Ortes zurück. Um CSCAN-Eigenschaften zu emulieren, unterhält das IWC eine sortierte Liste von Spuren mithilfe eines ausgeglichenen Baumes. Auslagerungsabtastungen, die nach auszulagernden Spuren suchen, können den ausgeglichenen Baum in der Reihenfolge des Spurortes vom niedrigsten zum höchsten durchgehen.
  • Manche Anwendungen, wie beispielsweise geschäftskritische Anwendungen, Echtzeitanwendungen oder bestimmte Anwendungen im medizinischen Bereich, können strenge Anforderungen an die Lesereaktionszeiten besitzen. Solche Anwendungen können als Anwendungen mit stringenten Leseanforderungen bezeichnet werden. Zum Beispiel muss bei bestimmten Anwendungen die durchschnittliche Lesereaktionszeit weniger als 15 Millisekunden betragen, 99,99 % der Lesevorgänge müssen in weniger als 600 Millisekunden abgeschlossen sein, 99,9 % der Lesevorgänge müssen in weniger als 200 Millisekunden abgeschlossen sein, und 99 % der Lesevorgänge müssen in weniger als 60 Millisekunden abgeschlossen sein. Zum Beispiel muss von 10000 Lesevorgängen jeder von mindestens 9900 Lesevorgängen in weniger als 60 Millisekunden abgeschlossen sein, jeder von mindestens 9990 Lesevorgängen in weniger als 200 Millisekunden abgeschlossen sein, und jeder von mindestens 9999 Lesevorgängen in weniger als 600 Millisekunden abgeschlossen sein, wobei die durchschnittliche Zeit jedes Lesevorgangs weniger als 15 Millisekunden betragen sollte. In anderen Worten: nicht mehr als ein Lesevorgang von 10000 Lesevorgängen darf eine Zeit von 600 Millisekunden oder mehr benötigen, nicht mehr als 10 Lesevorgänge von 10000 Lesevorgängen dürfen eine Zeit von 200 Millisekunden oder mehr benötigen, und nicht mehr als 100 Lesevorgänge von 10000 Lesevorgängen dürfen eine Zeit von 60 Millisekunden oder mehr benötigen
  • In bestimmten Situationen werden bei Verwenden von IWC Auslagerungen in einer räumlichen Ordnung durchgeführt und die Leseleistung kann darunter leiden. Wenn das IWC eine Auslagerung in einer sortierten Reihenfolge des Datenortes durchführt, kann es auf den Einheiten Lesevorgänge geben, die über die Einheiten verteilt sind. Plattenlaufwerke können die Lesevorgänge ignorieren, um eine lange Suche zum Bearbeiten von Lesevorgängen zu vermeiden, die weit vom Kopf entfernt sind. Es kann ein CAL(command aging limit, Befehlsaltersgrenze)-Zeitgeber mit einem beispielhaften Standardwert von 500 Millisekunden vorhanden sein. Wenn der CAL-Zeitgeber abläuft, werden die Plattenlaufwerke gezwungen, die Leseanfragen zu bedienen, die für eine Dauer ausstehen, die größer als der Standardwert des CAL-Zeitgebers ist. Bei Anwendungen mit stringenten Leseanforderungen können Lesebedienzeiten von 500 Millisekunden als zu hoch für sie angesehen werden.
  • In gewissen Ausführungsformen wird ein erweiterter IWC-Cachespeicher-Verwaltungsmechanismus angewandt. Beim erweiterten IWC-Cachespeicher-Verwaltungsmechanismus werden Auslagerungen durchgeführt, indem eine sortierte räumlich geordnete Liste von Spuren durchgegangen wird. Beim Durchführen von Auslagerungen aus der sortierten räumlich geordneten Liste von Spuren führt der erweiterte IWC-Cachespeicher-Verwaltungsmechanismus jedoch gelegentlich eine einzelne Auslagerung am ID (Innendurchmesser) und/oder eine einzelne Auslagerung am AD (Außendurchmesser) durch. Dies zwingt die Plattenlaufwerke, Befehle zu bedienen, die weit vom derzeitigen Standort des Kopfes entfernt sind. Als ein Ergebnis können Lesevorgänge, die weit vom Auslagerungsort entfernt sind, so bedient werden, dass die Leseanforderungen der Anwendung mit stringenten Leseanforderungen eingehalten werden.
  • 1 veranschaulicht ein Blockschaubild einer Datenverarbeitungsumgebung 100, die gemäß gewissen Ausführungsformen eine mit einer Vielzahl von Hosts 104a, 104b,... 104n und einer Vielzahl von Speichereinheiten 106 verbundene Speichersteuereinheit 102 enthält. Die Vielzahl von Speichereinheiten 106 kann im Gegensatz zu einem in der Speichersteuereinheit 102 enthaltenen Cachespeicher 108 als sekundäre Speichereinheiten bezeichnet werden,
  • Die Speichersteuereinheit 102 und die Hosts 104a... 104n können jede geeignete Datenverarbeitungseinheit einschließlich der derzeit im Stand der Technik bekannten aufweisen, wie beispielsweise einen PC, eine Workstation, einen Server, einen Großrechner, einen Handheld-Computer, einen Palmtop-Computer, eine Telefoneinheit, eine Netzwerkeinheit, einen Blade-Computer, einen Server usw. Die Speichersteuereinheit 102, die Hosts 104a...104n und die Vielzahl von Speichereinheiten 106 können über ein Netzwerk, wie beispielsweise das Internet, ein Speicherbereichsnetzwerk, ein Weitverkehrsnetzwerk, ein lokales Netzwerk usw., Daten austauschen.
  • Die Vielzahl von Speichereinheiten 106 kann beliebige geeignete Speichereinheiten aufweisen, wie beispielsweise physische Festplatten, Halbleiterplatten usw., die als Stand der Technik bekannt sind. Die Speichereinheiten 106 können in Datenträgern konfiguriert sein. In gewissen Ausführungsformen kann es sich bei den Speichereinheiten 106 um Platten handeln, die als Datenebenen eines redundanten Arrays unabhängiger Platten (Redundant Array of Independent Disk (RAID)) konfiguriert sind. In 1 ist eine Vielzahl von RAID-Datenebenen 110a...110m gezeigt.
  • Der Cachespeicher 108 kann einen oder mehrere unterschiedliche Speichertypen, wie beispielsweise RAMs, Schreibcachespeicher, Lesecachespeicher, NVS usw. enthalten. Die unterschiedlichen Speichertypen, die den Cachespeicher aufweisen, können miteinander zusammenarbeiten. Schreibvorgänge von den Hosts 104a...104n können anfänglich in den Cachespeicher 108 geschrieben und dann später auf die Speichereinheiten 106 ausgelagert werden. Leseanfragen von den Hosts 104a... 104n können vom Cachespeicher 108 erfüllt werden, wenn die entsprechenden Daten im Cachespeicher 108 verfügbar sind, andernfalls werden die Daten von den Speichereinheiten 106 zum Cachespeicher 108 ausgelagert und dann den Hosts 104a...104n bereitgestellt.
  • Die Speichersteuereinheit 102 führt eine Auslagerungsanwendung 114 aus, die auch als eine erweiterte intelligente Schreibcachinganwendung bezeichnet wird. Die erweiterte intelligente Schreibcachinganwendung 114 unterhält einen sortierten binären Baum von Spuren 116, die in einer räumlichen Ordnung des Vorhandenseins der Spuren auf Platten angeordnet sind. Die erweiterte intelligente Schreibcachinganwendung 114 unterhält zudem einen Cursor 118 zum sortierten binären Baum 116, wobei der Cursor 118 die Position der auszulagernden Spur anzeigt, während der sortierte binäre Baum 116 durchgegangen wird.
  • Die Auslagerungsanwendung 114 unterhält weiterhin einen Innendurchmesser- (ID-) Außendurchmesser- (AD-) Zeitgeber 120, der auch als ein Zeitgeber oder ein IDAD-Zeitgeber (IDOD timer) bezeichnet wird. Der Zeitgeber 120 kann anfänglich auf eine vorgegebene Zeitdauer wie beispielsweise 10 Millisekunden eingestellt werden. Die Auslagerungsanwendung 114 unterhält zudem einen Zähler 122, der als ein Auslagerungszähler oder ein IDAD-Auslagerungszähler (IDOD destage counter) bezeichnet wird.
  • In gewissen Ausführungsformen geht die erweiterte intelligente Schreibcachinganwendung 114 den sortierten binären Baum 116 von Spuren durch, um Auslagerungen so durchzuführen, dass ein Satz von Leseanforderungskriterien 124 für gewisse beispielhafte Anwendungen (z.B. eine im beispielhaften Host 104a gezeigte Anwendung mit stringenten Leseanforderungen 126) erfüllt ist.
  • In gewissen Ausführungsformen kann die Anwendung mit stringenten Leseanforderungen 126 mit den Anforderungen an die Lesereaktionszeit 124 einen Befehl vom Host 104a an die Speichersteuereinheit 102 senden. Der Befehl kann eine Lese- oder eine Schreibanfrage oder irgendeinen anderen Befehl aufweisen. Die erweiterte intelligente Schreibcachinganwendung 114 verarbeitet den Befehl, um zumindest die durch den Satz von Leseanforderungskriterien 124 angegebenen Kriterien zu erfüllen, indem der sortierte binäre Baum 116 von Spuren durchgegangen wird.
  • 2 veranschaulicht ein Blockschaubild 200, das gemäß gewissen Ausführungsformen beispielhafte Anforderungen an Lesereaktionszeiten 202 für beispielhafte Anwendungen mit stringenten Leseanforderungen 126 zeigt.
  • In gewissen Ausführungsformen können die beispielhaften Anforderungen von Lesereaktionszeiten wie folgt lauten:
    • 1) Die durchschnittliche Lesereaktionszeit hat weniger als 15,0 Millisekunden zu betragen (durch Bezugszeichen 204 gezeigt);
    • 2) Vier-Neuner-Anforderung: 99,99 % der Lesevorgänge haben in einer Zeit abgeschlossen zu sein, die innerhalb von 600 Millisekunden liegt (durch Bezugszeichen 206 gezeigt);
    • 3) Drei-Neuner-Anforderung: 99,9% der Lesevorgänge haben in einer Zeit abgeschlossen zu sein, die innerhalb von 200 Millisekunden liegt (durch Bezugszeichen 208 gezeigt); und
    • 4) Zwei-Neuner-Anforderung: 99% der Lesevorgänge haben in einer Zeit abgeschlossen zu sein, die innerhalb von 60 Millisekunden liegt (durch Bezugszeichen 210 gezeigt).
  • Wenn die Wartezeit für einen Lesevorgang mehr als 500 Millisekunden beträgt, wird in gewissen Ausführungsformen der Lesevorgang auch dann durchgeführt, wenn anstehende Schreibvorgänge vorhanden sind. Bei der Zeit von 500 Millisekunden handelt es sich um die Zeit der Befehlsaltersgrenze (CAL). In solchen Ausführungsformen kann die Vier-Neuner-Anforderung leicht zu erfüllen, die Drei-Neuner-Anforderungen und die zwei-Neuner-Anforderungen jedoch schwierig zu erfüllen sein, es sei denn, anstehenden Lesevorgängen, die vom Standort des Kopfes eines Plattenlaufwerks entfernt sind, wird eine zusätzliche Präferenz gegenüber anstehenden Auslagerungen (d.h. Schreibvorgänge vom Cachespeicher auf Platte) eingeräumt, während im sortierten binären Baum 116 angegebene Spuren ausgelagert werden.
  • 3 veranschaulicht einen Ablaufplan 300, der gemäß gewissen Ausführungsformen erste Operationen zum Durchführen periodischer Auslagerungen von Innen- und Außendurchmessern von Platten zeigt, während eine Datenstruktur 116 durchgegangen wird, in der Spuren in einer sortierten räumlichen Ordnung gespeichert sind. Die in 3 gezeigten Operationen können durch die erweiterte intelligente Schreibcachinganwendung 114 durchgeführt werden, die innerhalb der Speichersteuereinheit 102 realisiert ist.
  • Die Steuerung startet in Block 302, in dem ein Zeitgeber 120 (z.B. der IDAD-Zeitgeber) auf ein vorgegebenes Zeitintervall eingestellt wird (z.B. 10 Millisekunden), und dann fährt die Steuerung mit Block 304 fort, in dem ein Auslagerungszähler 122 (z.B. der IDAD-Auslagerungszähler) auf null gesetzt wird.
  • Die Steuerung fährt dann mit Block 306 fort, in dem die erweiterte intelligente Schreibcachinganwendung 114 beginnt, den sortierten binären Baum 116 von Spuren durchzugehen (d.h. abzutasten). Die erweiterte intelligente Schreibcachinganwendung 114 ermittelt (in Block 308), ob eine Spur bei einer Cursorposition während des Durchgehens des sortierten binären Baums 116 zum Auslagern ausgewählt wurde. Falls ja, erfolgt (in Block 310) ein Ermitteln, ob der Zeitgeber 120 abgelaufen ist (d.h. das vorgegebene Zeitintervall überschritten wurde). Falls der Zeitgeber 120 abgelaufen ist, erfolgt (in Block 312) ein Ermitteln, ob der Auslagerungszähler 122 null beträgt.
  • Wenn in Block 312 eine Feststellung erfolgt, dass der Auslagerungszähler 122 null beträgt („Ja“-Zweig von Block 312), wird (in Block 314) anstelle einer Spur an der Cursorposition die erste Spur am Beginn des sortierten binären Baumes gefunden und (in Block 316) ausgelagert, ohne die Cursorposition zu verändern. Als ein Ergebnis wird der nächste Satz von Auslagerungen erneut von der Cursorposition aus starten. Der Auslagerungszähler 122 wird (in Block 318) auf eins gesetzt. Die Steuerung kehrt zu Block 306 zurück und die erweiterte intelligente Schreibcachinganwendung 114 fährt fort, Spuren auszuwählen, um Auslagerungen vom Cursor aus durchzuführen.
  • Wenn in Block 312 eine Feststellung erfolgt, dass der Auslagerungszähler 122 nicht null beträgt („Nein“-Zweig von Block 312), wird (in Block 320) anstelle einer Spur an der Cursorposition die letzte Spur am Ende des sortierten binären Baumes gefunden und (in Block 322) ausgelagert, ohne die Cursorposition zu verändern. Als ein Ergebnis wird der nächste Satz von Auslagerungen erneut von der Cursorposition aus starten. Der Auslagerungszähler 122 wird (in Block 324) auf null gesetzt und der Zeitgeber 120 (in Block 326) auf das vorgegebene Zeitintervall eingestellt. Die Steuerung kehrt zu Block 306 zurück und die erweiterte intelligente Schreibcachinganwendung 114 fährt fort, Spuren auszuwählen, um Auslagerungen vom Cursor aus durchzuführen. Die Steuerung kehrt zudem von den Blöcken 308 und 310 zu Block 306 zurück, wenn den „Nein“-Zweigen gefolgt wird.
  • Daher veranschaulicht 4 gewisse Ausführungsformen, in denen die erweiterte intelligente Schreibcachinganwendung 114 durch Verwenden eines Zeitgebers 120 und eines Auslagerungszählers 122 die Reaktionszeiten auf Lesevorgänge verbessert, indem der Kopf zum Auslagern vom Innen- und/oder Außendurchmesser von Platten periodisch bewegt wird, während ein sortierter binäre Baum 116 von räumlich geordneten Spuren durchgegangen wird. Die Erhöhung der Lesereaktionszeit ist zumindest geeignet, um den Satz von Leseanforderungskriterien 124 zu erfüllen. Wenn die Lesereaktionszeit nicht geeignet ist, den Satz von Leseanforderungskriterien 124 zu erfüllen, kann der Zeitgeber 120 auf einen niedrigeren vorgegebenen Wert eingestellt und die Auslagerungen von den Innen- und Außendurchmessern in kürzeren Zeitintervallen durchgeführt werden. In gewissen Ausführungsformen können Arbeitslastsimulationen durchgeführt werden, um zu ermitteln, welcher vorgegebene Wert des Zeitgebers 120 geeignet ist, die durch die Leseanforderungskriterien 124 bereitgestellten Lesereaktionszeiten einzuhalten.
  • Es ist festzuhalten, dass in gewissen Ausführungsformen die erste Spur am Beginn des sortierten binären Baums einer Spur am Innendurchmesser einer Platte oder irgendeiner Spur, die nahe beim Innendurchmesser der Platte ist, entsprechen kann, und die letzte Spur am Ende des sortierten binären Baums einer Spur am Außendurchmesser der Platte oder irgendeiner Spur, die nahe beim Außendurchmesser der Platte ist, entsprechen kann. In alternativen Ausführungsformen kann die erste Spur am Beginn des sortierten binären Baums einer Spur am Außendurchmesser einer Platte oder irgendeiner Spur, die nahe beim Außendurchmesser der Platte ist, entsprechen, und die letzte Spur am Ende des sortierten binären Baums einer Spur am Innendurchmesser der Platte oder irgendeiner Spur, die nahe beim Innendurchmesser der Platte ist, entsprechen. Im sortierten binären Baum sind die innerhalb der Innen- und Außendurchmesser der Platte vorhandenen Spuren räumlich geordnet. In alternativen Ausführungsformen können andere Datenstrukturen neben dem sortierten binären Baum die Ordnung von Spuren wiedergeben.
  • 4 veranschaulicht einen Ablaufplan 400, der gemäß gewissen Ausführungsformen zweite Operationen zum Durchführen periodischer Auslagerungen von Innen- und/oder Außendurchmessern von Platten zeigt, während eine Datenstruktur durchgegangen wird, in der Spuren in einer sortierten räumlichen Ordnung gespeichert sind. Die in 4 gezeigten Operationen können durch die erweiterte intelligente Schreibcachinganwendung 114 durchgeführt werden, die innerhalb der Speichersteuereinheit 102 realisiert ist.
  • Die Steuerung startet in Block 402, in dem eine Speichersteuereinheit 102, die einen Cachespeicher 108 enthält, einen Befehl von einem Host 104a empfängt, wobei ein Satz von Kriterien 124, die Lesereaktionszeiten zum Ausführen des Befehls entsprechen, erfüllt sein müssen. Eine Auslagerungsanwendung 114, die Spuren auf der Grundlage einer jüngsten Verwendung und eines räumlichen Ortes der Spuren auslagert, wird (in Block 404) ausgeführt, wobei eine räumliche Ordnung der Spuren in einer Datenstruktur 116 beibehalten wird und die Auslagerungsanwendung 114 die räumliche Ordnung der Spuren durchgeht. In gewissen Ausführungsformen handelt es sich bei der Auslagerungsanwendung 114 um eine erweiterte intelligente Schreibcachinganwendung
  • Die Steuerung fährt mit Block 406 fort, in dem Spuren von zumindest Innen- und/oder Außendurchmessern von Platten in periodischen Intervallen ausgelagert werden, wobei die räumliche Ordnung der Spuren durchgegangen wird, wobei der Satz von Kriterien 124 erfüllt wird, die den Lesereaktionszeiten zum Ausführen des Befehls entsprechen. In gewissen Ausführungsformen werden durch Auslagern von Spuren von den Innen- und/oder Außendurchmessern von Platten in den periodischen Intervallen Lesespuren, die relativ von einem derzeitigen Ort eines Kopfes entfernt sind, durch Übergehen der räumlichen Ordnung bedient.
  • Somit veranschaulichen 1 bis 4 gewisse Ausführungsformen, in denen eine erweiterte intelligente Schreibcachinganwendung 114 eine intelligente Schreibcachinganwendung erweitert, bei der es sich um ein Hybrid aus CLOCK- und CSCAN-Auslagerungsmechanismus handelt. Die erweiterte intelligente Schreibcachinganwendung lagert periodisch Spuren von Innen- und/oder Außendurchmessern von Platten aus, während eine räumlich sortierte Liste von Spuren für Auslagerungen durchgegangen wird, indem die derzeitige auszulagernde Spur aus der räumlich sortierten Liste übergangen wird. Als ein Ergebnis können Lesevorgänge im Vergleich zu Situationen, in denen periodische Auslagerungen in vorgegebenen Zeitintervallen nicht vom Innen- und/oder Außendurchmesser von Platten durchgeführt werden, mit einer schnelleren Reaktionszeit durchgeführt werden.
  • 5 veranschaulicht ein Blockschaubild, das gemäß gewissen Ausführungsformen gewisse Elemente zeigt, die in der Speichersteuereinheit 102 oder den Hosts 104a...104n enthalten sein können. Das System 500 kann die Speichersteuereinheit 102 oder die Hosts 104a... 104n aufweisen und eine Schaltung 502 enthalten, die in gewissen Ausführungsformen mindestens einen Prozessor 504 enthalten kann. Das System 500 kann auch einen Arbeitsspeicher 506 (z.B. eine flüchtige Speichereinheit) und einen Datenspeicher 508 enthalten. Der Datenspeicher 508 kann eine nichtflüchtige Speichereinheit (z.B. EEPROM, ROM, PROM, RAM, DRAM, SRAM, Flash, Firmware, programmierbare Logik usw.), ein Magnetplattenlaufwerk, ein optisches Plattenlaufwerk, ein Bandlaufwerk usw. enthalten. Der Datenspeicher 508 kann eine interne Speichereinheit, eine verbundene Speichereinheit und/oder eine über ein Netzwerk zugängliche Speichereinheit aufweisen. Das System 500 kann eine Programmlogik 510 einschließlich Code 512 enthalten, der in den Arbeitsspeicher 506 geladen und durch den Prozessor 504 oder die Schaltung 502 ausgeführt werden kann. In gewissen Ausführungsformen kann die den Code 512 enthaltende Programmlogik 510 im Datenspeicher 508 gespeichert sein. In gewissen anderen Ausführungsformen kann die Programmlogik 510 in der Schaltung 502 realisiert sein. Obwohl daher 5 die Programmlogik 510 von den anderen Elementen getrennt zeigt, kann die Programmlogik 510 im Arbeitsspeicher 506 und/oder der Schaltung 502 realisiert sein.

Claims (17)

  1. Verfahren, aufweisend: - Empfangen eines Befehls von einem Host durch eine Speichersteuereinheit, die einen Cachespeicher enthält, wobei ein Satz von Kriterien, die Lesereaktionszeiten zum Ausführen des Befehls entsprechen, erfüllt sein muss; - Ausführen einer Auslagerungsanwendung, die Spuren auf der Grundlage einer jüngsten Verwendung und eines räumlichen Ortes der Spuren auslagert, wobei eine räumliche Ordnung der Spuren in einer Datenstruktur beibehalten wird und die Auslagerungsanwendung die räumliche Ordnung der Spuren durchgeht; und - Auslagern von Spuren von zumindest Innen- oder Außendurchmessern von Platten in periodischen Intervallen, wobei die räumliche Ordnung der Spuren durchgegangen wird, wobei der Satz von Kriterien, die den Lesereaktionszeiten zum Ausführen des Befehls entsprechen, erfüllt wird, so dass Leseanfragen bedient werden, die eine Dauer ausstehen, die größer als ein Standardwert eines Zeitgebers ist, - durch: ◯ Einstellen des Zeitgebers auf ein vorgegebenes Zeitintervall und Setzen eines Auslagerungszählers auf null; und ◯ Auswählen einer Spur an einer Cursorposition zum Auslagern, während die Datenstruktur durchgegangen wird, die die räumliche Ordnung der Spuren beibehält, - wobei die Datenstruktur ein sortierter binärer Baum von Spuren ist und das Verfahren weiterhin aufweist: ◯ als Reaktion auf ein Ermitteln, dass der Zeitgeber abgelaufen ist und als Reaktion auf ein Ermitteln, dass der Auslagerungszähler null beträgt, durchführen: ◯ Finden der ersten Spur am Beginn des sortierten binären Baums; ◯ Auslagern der ersten Spur anstelle einer Spur an der Cursorposition, ohne die Cursorposition zu verändern; ◯ Erhöhen des Auslagerungszählers auf eins; und ◯ Fortfahren, Spuren auszuwählen, um Auslagerungen von der Cursorposition aus durchzuführen.
  2. Verfahren nach Anspruch 1, wobei durch Auslagern von Spuren von den Innen- und Außendurchmessern von Platten in den periodischen Intervallen Lesespuren, die relativ von einem derzeitigen Ort eine Kopfes entfernt sind, durch Übergehen der räumlichen Ordnung bedient werden.
  3. Verfahren nach Anspruch 1, wobei der Satz von Kriterien angibt: - eine durchschnittliche Lesereaktionszeit hat geringer zu sein als eine erste Grenze; und - ein vorgegebener prozentualer Anteil von Lesevorgängen ist in einer Zeit durchzuführen, die geringer als eine zweite Grenze ist.
  4. Verfahren nach Anspruch 1, wobei das Verfahren weiterhin aufweist: - als Reaktion auf ein Ermitteln, dass der Zeitgeber abgelaufen ist und als Reaktion auf ein Ermitteln, dass der Auslagerungszähler nicht null beträgt, durchführen: - Finden der letzten Spur am Ende des sortierten binären Baums; - Auslagern der letzten Spur anstelle einer Spur an der Cursorposition, ohne die Cursorposition zu verändern; - Setzen des Auslagerungszählers auf null; - Einstellen des Zeitgebers auf das vorgegebene Zeitintervall; und - Fortfahren, Spuren auszuwählen, um Auslagerungen von der Cursorposition aus durchzuführen.
  5. Verfahren nach Anspruch 1, wobei es sich bei dem periodischen Intervall um eine feste vorgegebene Zeitdauer handelt, wobei die feste vorgegebene Zeitdauer durch Simulieren einer Arbeitslast ermittelt wird, die mindestens bei der Speichersteuereinheit ankommenden Leseanfragen von einer Anwendung mit stringenten Leseanforderungen entspricht.
  6. System, aufweisend: - einen Speicher; und - einen mit dem Speicher verbundenen Prozessor, wobei der Prozessor Operationen durchführt und die Operationen aufweisen: - Empfangen eines Befehls von einem Host durch eine Speichersteuereinheit, die einen Cachespeicher enthält, wobei ein Satz von Kriterien, die Lesereaktionszeiten zum Ausführen des Befehls entsprechen, erfüllt sein muss; - Ausführen einer Auslagerungsanwendung, die Spuren auf der Grundlage einer jüngsten Verwendung und eines räumlichen Ortes der Spuren auslagert, wobei eine räumliche Ordnung der Spuren in einer Datenstruktur beibehalten wird und die Auslagerungsanwendung die räumliche Ordnung der Spuren durchgeht; und - Auslagern von Spuren von zumindest Innen- oder Außendurchmessern von Platten in periodischen Intervallen, wobei die räumliche Ordnung der Spuren durchgegangen wird, wobei der Satz von Kriterien, die den Lesereaktionszeiten zum Ausführen des Befehls entsprechen, erfüllt wird, so dass Leseanfragen bedient werden, die eine Dauer ausstehen, die größer als ein Standardwert eines Zeitgebers ist, - durch: ◯ Einstellen des Zeitgebers auf ein vorgegebenes Zeitintervall und Setzen eines Auslagerungszählers auf null; und ◯ Auswählen einer Spur an einer Cursorposition zum Auslagern, während die Datenstruktur durchgegangen wird, die die räumliche Ordnung der Spuren beibehält, - wobei die Datenstruktur ein sortierter binärer Baum von Spuren ist und das Verfahren weiterhin aufweist: ◯ als Reaktion auf ein Ermitteln, dass der Zeitgeber abgelaufen ist und als Reaktion auf ein Ermitteln, dass der Auslagerungszähler null beträgt, durchführen: ◯ Finden der ersten Spur am Beginn des sortierten binären Baums; ◯ Auslagern der ersten Spur anstelle einer Spur an der Cursorposition, ohne die Cursorposition zu verändern; ◯ Erhöhen des Auslagerungszählers auf eins; und ◯ Fortfahren, Spuren auszuwählen, um Auslagerungen von der Cursorposition aus durchzuführen.
  7. System nach Anspruch 6, wobei durch Auslagern von Spuren von den Innen- und Außendurchmessern von Platten in den periodischen Intervallen Lesespuren, die relativ von einem derzeitigen Ort eine Kopfes entfernt sind, durch Übergehen der räumlichen Ordnung bedient werden.
  8. System nach Anspruch 6, wobei der Satz von Kriterien angibt: - eine durchschnittliche Lesereaktionszeit hat geringer zu sein als eine erste Grenze; und - ein vorgegebener prozentualer Anteil von Lesevorgängen ist in einer Zeit durchzuführen, die geringer als eine zweite Grenze ist.
  9. System nach Anspruch 6, wobei die Operationen weiterhin aufweisen: - als Reaktion auf ein Ermitteln, dass der Zeitgeber abgelaufen ist und als Reaktion auf ein Ermitteln, dass der Auslagerungszähler nicht null beträgt, durchführen: - Finden der letzten Spur am Ende des sortierten binären Baums; - Auslagern der letzten Spur anstelle einer Spur an der Cursorposition, ohne die Cursorposition zu verändern; - Setzen des Auslagerungszählers auf null; - Einstellen des Zeitgebers auf das vorgegebene Zeitintervall; und - Fortfahren, Spuren auszuwählen, um Auslagerungen von der Cursorposition aus durchzuführen.
  10. System nach Anspruch 6, wobei es sich bei dem periodischen Intervall um eine feste vorgegebene Zeitdauer handelt, wobei die feste vorgegebene Zeitdauer durch Simulieren einer Arbeitslast ermittelt wird, die mindestens ankommenden Leseanfragen von einer Anwendung mit stringenten Leseanforderungen entspricht.
  11. Computerprogrammprodukt, wobei das Computerprogrammprodukt aufweist: - ein nichtflüchtiges computerlesbares Speichermedium mit darauf ausgebildetem computerlesbarem Programmcode, wobei der computerlesbare Programmcode eingerichtet ist, Operationen durchzuführen, wobei die Operationen die Schritte des Verfahrens nach einem der Ansprüche 1 bis 5 aufweisen.
  12. Computerprogrammprodukt nach Anspruch 11, wobei durch Auslagern von Spuren von den Innen- und Außendurchmessern von Platten in den periodischen Intervallen Lesespuren, die relativ von einem derzeitigen Ort eine Kopfes entfernt sind, durch Übergehen der räumlichen Ordnung bedient werden.
  13. Computerprogrammprodukt nach Anspruch 11, wobei der Satz von Kriterien angibt: - eine durchschnittliche Lesereaktionszeit hat geringer zu sein als eine erste Grenze; und - ein vorgegebener prozentualer Anteil von Lesevorgängen ist in einer Zeit durchzuführen, die geringer als eine zweite Grenze ist.
  14. Computerprogrammprodukt nach Anspruch 11, wobei die Datenstruktur ein sortierter binärer Baum von Spuren ist und die Operationen weiterhin aufweisen: - als Reaktion auf ein Ermitteln, dass der Zeitgeber abgelaufen ist und als Reaktion auf ein Ermitteln, dass der Auslagerungszähler null beträgt, durchführen: - Finden der ersten Spur am Beginn des sortierten binären Baums; - Auslagern der ersten Spur anstelle einer Spur an der Cursorposition, ohne die Cursorposition zu verändern; - Erhöhen des Auslagerungszählers auf eins; und - Fortfahren, Spuren auszuwählen, um Auslagerungen von der Cursorposition aus durchzuführen.
  15. Computerprogrammprodukt nach Anspruch 11, wobei es sich bei dem periodischen Intervall um eine feste vorgegebene Zeitdauer handelt, wobei die feste vorgegebene Zeitdauer durch Simulieren einer Arbeitslast ermittelt wird, die mindestens bei der Speichersteuereinheit ankommenden Leseanfragen von einer Anwendung mit stringenten Leseanforderungen entspricht.
  16. Speichersteuereinheit in Datenaustausch mit einem Host und einer Vielzahl von Datenträgern, wobei die Speichersteuereinheit aufweist: - einen Prozessor; und - einen mit dem Prozessor verbundenen Cachespeicher, wobei die Speichersteuereinheit durchführt: - Empfangen eines Befehls von einem Host durch eine Speichersteuereinheit, die einen Cachespeicher enthält, wobei ein Satz von Kriterien, die Lesereaktionszeiten zum Ausführen des Befehls entsprechen, erfüllt sein muss; - Ausführen einer Auslagerungsanwendung, die Spuren auf der Grundlage einer jüngsten Verwendung und eines räumlichen Ortes der Spuren auslagert, wobei eine räumliche Ordnung der Spuren in einer Datenstruktur beibehalten wird und die Auslagerungsanwendung die räumliche Ordnung der Spuren durchgeht; und - Auslagern von Spuren von zumindest Innen- oder Außendurchmessern von Platten in periodischen Intervallen, wobei die räumliche Ordnung der Spuren durchgegangen wird, wobei der Satz von Kriterien, die den Lesereaktionszeiten zum Ausführen des Befehls entsprechen, erfüllt wird, so dass Leseanfragen bedient werden, die eine Dauer ausstehen, die größer als ein Standardwert eines Zeitgebers ist, - durch: ◯ Einstellen des Zeitgebers auf ein vorgegebenes Zeitintervall und Setzen eines Auslagerungszählers auf null; und ◯ Auswählen einer Spur an einer Cursorposition zum Auslagern, während die Datenstruktur durchgegangen wird, die die räumliche Ordnung der Spuren beibehält, - wobei die Datenstruktur ein sortierter binärer Baum von Spuren ist und das Verfahren weiterhin aufweist: ◯ als Reaktion auf ein Ermitteln, dass der Zeitgeber abgelaufen ist und als Reaktion auf ein Ermitteln, dass der Auslagerungszähler null beträgt, durchführen: ◯ Finden der ersten Spur am Beginn des sortierten binären Baums; ◯ Auslagern der ersten Spur anstelle einer Spur an der Cursorposition, ohne die Cursorposition zu verändern; ◯ Erhöhen des Auslagerungszählers auf eins; und ◯ Fortfahren, Spuren auszuwählen, um Auslagerungen von der Cursorposition aus durchzuführen.
  17. Speichersteuereinheit nach Anspruch 16, wobei durch Auslagern von Spuren von den Innen- und Außendurchmessern von Platten in den periodischen Intervallen Lesespuren, die relativ von einem derzeitigen Ort eine Kopfes entfernt sind, durch Übergehen der räumlichen Ordnung bedient werden.
DE112012004796.6T 2011-11-17 2012-11-05 Periodische Auslagerungen von Innen- und Aussendurchmessern von Platten zum Verbessern von Lesereaktionszeiten Active DE112012004796B4 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/299,054 US8838905B2 (en) 2011-11-17 2011-11-17 Periodic destages from inside and outside diameters of disks to improve read response time via traversal of a spatial ordering of tracks
US13/299,054 2011-11-17
PCT/IB2012/056160 WO2013072804A1 (en) 2011-11-17 2012-11-05 Periodic destages from inside and outside diameters of disks to improve read response times

Publications (2)

Publication Number Publication Date
DE112012004796T5 DE112012004796T5 (de) 2014-10-23
DE112012004796B4 true DE112012004796B4 (de) 2023-06-29

Family

ID=48428073

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112012004796.6T Active DE112012004796B4 (de) 2011-11-17 2012-11-05 Periodische Auslagerungen von Innen- und Aussendurchmessern von Platten zum Verbessern von Lesereaktionszeiten

Country Status (4)

Country Link
US (2) US8838905B2 (de)
CN (1) CN103946820B (de)
DE (1) DE112012004796B4 (de)
WO (1) WO2013072804A1 (de)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9280472B1 (en) * 2013-03-13 2016-03-08 Western Digital Technologies, Inc. Caching data in a high performance zone of a data storage system
US10628331B2 (en) * 2016-06-01 2020-04-21 International Business Machines Corporation Demote scan processing to demote tracks from cache
US10318429B2 (en) * 2016-11-10 2019-06-11 International Business Machines Corporation Adjustment of the number of tasks for a cache storage scan and destage application based on the type of elements to be destaged from the cache storage
US11055001B2 (en) 2018-05-30 2021-07-06 Seagate Technology Llc Localized data block destaging
US10901904B2 (en) 2018-10-25 2021-01-26 International Business Machines Corporation Using a machine learning module to perform destages of tracks with holes in a storage system
US11222265B2 (en) * 2018-10-25 2022-01-11 International Business Machines Corporation Perform destages of tracks with holes in a storage system by training a machine learning module
US11580022B2 (en) * 2020-05-15 2023-02-14 International Business Machines Corporation Write sort management in a multiple storage controller data storage system
US11762559B2 (en) * 2020-05-15 2023-09-19 International Business Machines Corporation Write sort management in a multiple storage controller data storage system

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090216944A1 (en) 2008-02-22 2009-08-27 International Business Machines Corporation Efficient validation of writes for protection against dropped writes

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5084791A (en) 1988-05-10 1992-01-28 Quantum Corporation Head position control system for fixed drive including position encoder, temperature sensor and embedded fine servo information
US5715424A (en) 1992-12-10 1998-02-03 International Business Machines Corporation Apparatus and method for writing data onto rewritable optical media
US5636355A (en) 1993-06-30 1997-06-03 Digital Equipment Corporation Disk cache management techniques using non-volatile storage
US5542066A (en) 1993-12-23 1996-07-30 International Business Machines Corporation Destaging modified data blocks from cache memory
US6304946B1 (en) 1999-07-01 2001-10-16 Emc Corporation System and method for optimizing cache write backs to disks
US20020176418A1 (en) * 2001-04-19 2002-11-28 Russell Hunt Systems and methods for producing files for streaming from a content file
US7191207B2 (en) 2003-06-11 2007-03-13 International Business Machines Corporation Apparatus and method to dynamically allocate bandwidth in a data storage and retrieval system
US7539815B2 (en) 2004-12-29 2009-05-26 International Business Machines Corporation Method, system and circuit for managing task queues in a disk device controller
US7418531B2 (en) 2005-05-04 2008-08-26 Pillar Data Systems, Inc. Quality of service for data storage volumes
US7603530B1 (en) 2005-05-05 2009-10-13 Seagate Technology Llc Methods and structure for dynamic multiple indirections in a dynamically mapped mass storage device
US7500050B2 (en) 2006-03-20 2009-03-03 International Business Machines Corporation Wise ordering for writes—combining spatial and temporal locality in write caches for multi-rank storage
US7574556B2 (en) 2006-03-20 2009-08-11 International Business Machines Corporation Wise ordering for writes—combining spatial and temporal locality in write caches
US7721043B2 (en) 2007-01-08 2010-05-18 International Business Machines Corporation Managing write requests in cache directed to different storage groups
US7783839B2 (en) * 2007-01-08 2010-08-24 International Business Machines Corporation Using different algorithms to destage different types of data from cache
US7937531B2 (en) 2007-02-01 2011-05-03 Cisco Technology, Inc. Regularly occurring write back scheme for cache soft error reduction
US7680982B2 (en) 2007-02-20 2010-03-16 International Business Machines Corporation Preservation of cache data following failover
US20090222621A1 (en) 2008-02-29 2009-09-03 International Business Machines Corporation Managing the allocation of task control blocks
US20090293036A1 (en) 2008-05-22 2009-11-26 Daniel Yau Hardware description language and a system and methods for electronic design
US8060707B2 (en) * 2008-05-22 2011-11-15 International Business Machines Corporation Minimization of read response time
US20110078303A1 (en) 2009-09-30 2011-03-31 Alcatel-Lucent Usa Inc. Dynamic load balancing and scaling of allocated cloud resources in an enterprise network
US8478945B2 (en) 2010-02-01 2013-07-02 International Business Machines Corporation Dynamic management of destage tasks in a storage controller
US9262321B2 (en) 2011-11-17 2016-02-16 International Business Machines Corporation Adjustment of destage rate based on read and write response time requirements

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090216944A1 (en) 2008-02-22 2009-08-27 International Business Machines Corporation Efficient validation of writes for protection against dropped writes

Also Published As

Publication number Publication date
US8838905B2 (en) 2014-09-16
CN103946820A (zh) 2014-07-23
US20130235709A1 (en) 2013-09-12
US20130132664A1 (en) 2013-05-23
US8819343B2 (en) 2014-08-26
CN103946820B (zh) 2016-08-24
DE112012004796T5 (de) 2014-10-23
WO2013072804A1 (en) 2013-05-23

Similar Documents

Publication Publication Date Title
DE112012004796B4 (de) Periodische Auslagerungen von Innen- und Aussendurchmessern von Platten zum Verbessern von Lesereaktionszeiten
DE112012004798B4 (de) Anpassung der Auslagerungsgeschwindigkeit auf Grundlage von Anforderungen an Lese- und Schreib-Antwortzeiten
DE112013001284B4 (de) Adaptive Cachespeicher-Umstufungen in einem Caching-System mit zwei Stufen
DE112012004540B4 (de) Selektive Speicherplatzfreigabe eines Datenspeichers unter Verwendung von Vergleichs- und Verlagerungskennzahlen
DE112012002615B4 (de) Vorabladen von Datenspuren und Paritätsdaten zur Verwendung zum Auslagern aktualisierter Spuren
DE112012001302B4 (de) Cachen von Daten in einem Speichersystem mit mehreren Cache-Speichern
DE102019130450B4 (de) Bypass-Speicherklasse Lese Cache auf der Grundlage eines Schwellwertes der Warteschlange
DE112010004969B4 (de) Hybrides Speicherteilsystem und Verfahren zum Verwalten eines solchen
DE102020103817B4 (de) Schwellwertanpassung der Warteschlangentiefe eines Speicherklassenspeichers
DE112018002951B4 (de) Verwenden eines spurformatcodes in einem cache-steuerblock für eine spur in einem cache, um lese- und schreibanforderungen in bezug auf die spur im cache zu verarbeiten
DE112013002355B4 (de) Steigern von Datenzwischenspeicherungsleistung
DE112011104419B4 (de) Bereichsmigration für gepaarte Speicherung
DE102013200032B4 (de) Herabstufen von partiellen Speicherspuren aus einem ersten Cachespeicher in einen zweiten Cachespeicher
DE112012000953B4 (de) Dynamisches Beseitigen von Leistungsungleichgewicht zur Laufzeit
DE112011103290B4 (de) Intelligente Schreibcacheoperationen für sequenzielle Datenspuren
DE102019105879A1 (de) Verwaltung von kohärenten Verknüpfungen und Mehr-Ebenen-Speicher
DE102009031125A1 (de) Nand-Fehlerbehandlung
DE102012219098A1 (de) Verwaltung von Teildatensegmenten in Systemen mit doppeltem Cachespeicher
DE112020002792B4 (de) Verschleissorientierte blockmodusumwandlung in nichtflüchtigen speichern
DE112012001808T5 (de) Cache-Management von Spuren in einem ersten Cachespeicher und einem zweiten Cachespeicher für einen Speicher
DE102014116031A1 (de) SWAT-Befehl und API für atomare Auslagerung und Trimmen von LBAs
DE102018119881B4 (de) Verwaltung einer DRAM-Bankaktivierung
DE112017003203T5 (de) Mehr-ebenen-systemspeicher mit near-memory-scrubbing basierend auf vorhergesagter far-memory-leerlaufzeit
DE112012002452T5 (de) Anpassungsfähiges Zwischenspeichern von Datensätzen für Halbleiterplatten
DE602004007925T2 (de) Verwalten einer beziehung zwischen einem zielvolumen und einem quellenvolumen

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R016 Response to examination communication
R016 Response to examination communication
R018 Grant decision by examination section/examining division
R084 Declaration of willingness to licence
R020 Patent grant now final