DE69128807T2 - Verfahren und Gerät zur Optimierung von Vorausholungscachespeicherung - Google Patents

Verfahren und Gerät zur Optimierung von Vorausholungscachespeicherung

Info

Publication number
DE69128807T2
DE69128807T2 DE69128807T DE69128807T DE69128807T2 DE 69128807 T2 DE69128807 T2 DE 69128807T2 DE 69128807 T DE69128807 T DE 69128807T DE 69128807 T DE69128807 T DE 69128807T DE 69128807 T2 DE69128807 T2 DE 69128807T2
Authority
DE
Germany
Prior art keywords
cylinders
disk drives
block numbers
tracks
tapes
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.)
Expired - Fee Related
Application number
DE69128807T
Other languages
English (en)
Other versions
DE69128807D1 (de
Inventor
Kenneth James Gibson
James Perry Jackson
Richard Franklin Lary
Wayne Aaron Thorsted
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.)
Quantum Corp
Original Assignee
Quantum 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 Quantum Corp filed Critical Quantum Corp
Publication of DE69128807D1 publication Critical patent/DE69128807D1/de
Application granted granted Critical
Publication of DE69128807T2 publication Critical patent/DE69128807T2/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0866Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • G06F3/0611Improving I/O performance in relation to response time
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/064Management of blocks
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0656Data buffering arrangements
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • G06F3/0689Disk arrays, e.g. RAID, JBOD
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0862Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with prefetch

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Description

    GEBIET DER ERFINDUNG
  • Die vorliegende Erfindung bezieht sich auf ein Abbilden logischer Blöcke von logischen Datenblöcken auf Datenspeichersystemen vom Plattentyp und insbesondere auf Verfahren und ein Gerät für ein Abbilden logischer Blöcke auf physikalische Sektoren und einen Zugriff, um ein Vorabruf-Cachespeichern mit Datenspeichersystemen vom Plattentyp zu optimieren.
  • ALLGEMEINER STAND DER TECHNIK
  • Moderne Datenverarbeitungs systeme verwenden im allgemeinen Magnetplattenspeichersysteme, um darin ein Betriebssystemprogramm und Daten zu speichern. Ein solches Plattenspeichersystem kann eine Gruppe bzw. ein Feld von Plattenlaufwerken aufweisen, wobei jedes Plattenlaufwerk mehrere Platten und zugeordnete Magnetköpfe für jede der beiden magnetischen Oberflächen jeder Platte aufweist.
  • "Cachespeichern" vom Plattenlaufwerkfeld wiedergewonnener bzw. abgerufener logischer Datenblöcke wird oft ausgeführt, um die durchschnittliche Zugriffszeit des Plattenlaufwerkfeldes auf Anforderungen nach logischen Datenblöcken von dem Host-Datenverarbeitungssystem zu verbessern. Cachespeichern ist ein Verfahren, das einen kleinen schnellen Speicher, Cachespeicher genannt, vor einen großen langsamen Speicher, wie z.B. das Plattenlaufwerkfeld, in der Weise setzt, daß die resultierende Kombination einen großen schnellen Speicher approximiert.
  • "Vorabruf-Blöcke" (engl. prefetch blocks) sind logische Datenblöcke, die das Host-System nicht angefordert hat, aber von den Platten in dem Feld in den Cachespeicher gelesen werden, weil eine hohe Wahrscheinlichkeit besteht, daß der Host sie in naher Zukunft anfordern wird. Auf diese Weise sind die gespeicherten Vorabruf-Blöcke vom Cachespeicher als Antwort auf eine anschließende Anforderung vom Host ohne erneutes Zugreifen auf das Plattenlaufwerkfeld verfügbar.
  • Logische Blockzahlen (LBNs) liefern ein Mittel für das Host-System, um physikalische Daten auf den Plattenlaufwerken zu adressieren, ohne sich um die physikalischen Attribute der Plattenlaufwerke kümmern zu müssen. Die logischen Datenblöcke sind in der Plattenlaufwerkadresse mit einer physikalischen Blockstelle gespeichert, die so abgebildet wird, daß sie einer Laufwerk-, Band-, Zylinder- und Sektoradresse in dem Feld entspricht. Ein Zylinder ist aus all den Spuren aufgebaut, auf die in dem Feld zugegriffen werden kann, ohne suchen zu müssen. Falls z.B. das Plattenlaufwerkfeld fünf Platten aufweist, so daß das Feld auf zehn Plattenflächen zugreifen kann, wird es typischerweise zehn Köpfe aufweisen. Die zehn Spuren, die unter diesen Köpfen zu einer Zeit fluchten, bilden einen Zylinder.
  • Eine Leseoperation wird als ein Prozeß mit drei Schritten betrachtet. Der erste Schritt besteht darin, eine "Such"- Operation durchzuführen, um die Köpfe zu dem korrekten Zylinder zu bewegen. Der zweite Schritt besteht darin, darauf zu warten, daß sich die Platte so dreht, daß die angeforderte LBN unter dem Kopf durchgeht. Diese Zeit wird "Dreh-Latenzzeit" genannt. Der letzte Schritt besteht darin, die angeforderte LBN zu lesen, während sie unter dem Kopf durchgeht. Wegen der sequentiellen Art und Weise, in der Benutzerprozesse für das Host-System auf viele Dateien zugreifen und der Verfahrensweisen, die Betriebssysteme in den Datenverarbeitungssystemen benutzen, um Dateien zuzuordnen, besteht eine Tendenz, daß das Plattenlaufwerkfeld zuerst eine Anforderung nach einem Satz logischer Datenblöcke sieht und dann kurz danach eine Anforderung nach einem anderen Satz logischer Datenblöcke sieht, beginnend mit dem Block, dessen LBN um Eins größer als die letzte LBN des ersten angeforderten Satzes logischer Blöcke ist.
  • Um die Fähigkeiten des Cachespeichers am besten zu nutzen, ist es daher wichtig, die logischen Blöcke vorabzurufen, deren LBNs (um einen kleinen Betrag) größer als die durch eine aktuelle Anforderung von dem Host abgerufenen letzten logischen Blöcke sind. Traditionelle Blockanordnungsschemata ordnen die LBNs so, daß sie unter dem Kopf in aufsteigender Reihenfolge durchgehen. Kombiniert man sie mit einem Cachespeichern mit Vorauslesefunktion (engl. read-ahead caching), erfordern diese Strategien, daß die Köpfe auf dem Zylinder verriegelt bleiben, nachdem die gewünschten logischen Blöcke gelesen wurden, um auf die Vorauslese-Blöcke zuzugreifen. Dies ist eine Zeit, die sonst verwendet werden könnte, um das Zufriedenstellen nachfolgender Anforderungen zu beginnen.
  • EP-A-0 120 330 beschreibt eine Speichervorrichtung vom Plattentyp, die in hohe und niedrige Zugriffsabschnitte geteilt ist, denen Datenaufzeichnungen gestützt auf die Speichercharakteristiken der Daten zugeordnet sind.
  • ZUSAMMENFASSUNG DER ERFINDUNG
  • Die vorliegende Erfindung, gemäß den Ansprüchen 1 und 16, überwindet die oben beschriebene Beschränkung des Blockanordnungsschemas nach dem Stand der Technik, indem die logischen Blöcke auf den Spuren der Platten in dem Feld in umgekehrter Reihenfolge so angeordnet werden, daß die logischen Blöcke, bei denen eine hohe Wahrscheinlichkeit besteht, daß sie in naher Zukunft gelesen werden, während der ansonsten "verschwendeten" Dreh-Latenzperiode in einen Cachespeicher gelesen werden können. Die vorliegende Erfindung erhöht ferner die Leistungsfähigkeit durch Kombinieren umgekehrt angeordneter Blöcke mit einer Bandbildung, Streifenbildung und Kompen sation für folgende Zugriffe über Kopfumsetzungen bzw. Kopfwechsel.
  • BESCHREIBUNG DER ZEICHNUNGEN
  • Figur 1 ist ein Blockdiagramm eines typischen Datenverarbeitungssystems mit einer Vielzahl von Magnetplattenlaufwerken, das zum Aufnehmen der vorliegenden Erfindung geeignet ist.
  • Figur 2 ist ein Plattenlaufwerk für das in Figur 1 gezeigte Datenverarbeitungssystem.
  • Figur 3 ist ein Flußdiagramm der Methodik der Abbildung logischer Blöcke gemäß der vorliegenden Erfindung für einen zerlegten bzw. in Streifen geteilten Satz dreier Plattenlaufwerke.
  • Figur 4 ist ein schematisches Diagramm einer in Bändern aufgebauten Konfiguration der Plattenoberfläche gemäß dem Stand der Technik, wofür logische Datenblöcke gemäß der vorliegenden Erfindung angeordnet werden.
  • Figur 5 ist ein Flußdiagramm eines LBN-Abbildungsalgorithmus gemäß der vorliegenden Erfindung.
  • AUSFÜHRLICHE BESCHREIBUNG DER ERFINDUNG
  • Die vorliegende Erfindung optimiert die Effizienz beim Vorabruf-Cachespeichern von Speichersystemen vom Plattenlaufwerktyp durch umgekehrtes Anordnen der LBNs, wenn sie auf den Plattenoberflächen gespeichert werden, und zwischen Platten, so daß LBNs, die der Nummer einer angeforderten LBN unmittelbar folgen, während der Dreh-Latenzperiode automatisch im Cachespeicher des Plattenlaufwerks gespeichert werden. Während der Dreh-Latenzperiode wird eine Zahl von LBNs gelesen, bevor die angeforderte LBN gefunden ist. Mit dem umgekehrten Ordnungsschema sind die LBNs, die gelesen werden, bevor die angeforderte LBN gefunden ist, diejenigen LBNs, die der ange forderten LBN in der Nummer unmittelbar folgen. Durch Speichern dieser LBNs im Plattenlaufwerk-Cachespeicher, während sie gelesen werden, sind diese LBNs dann von dem Cachespeicher für spätere LBN-Anforderungen ohne Durchführen einer weiteren Leseoperation verfügbar.
  • Auf die Figuren verweisend, in denen gleiche Zeichen gleiche oder entsprechende Teile die Darstellungen hindurch bezeichnen, zeigt Figur 1 ein Blockdiagramm eines typischen Host-Datenverarbeitungssystems 2, das eine Vielzahl von Magnetplattenlaufwerken 4 enthält. Die Plattenlaufwerke 4 sind mit dem Host-System 2 über einen Plattenlaufwerk-Controller 6 gekoppelt. Der Host 2 und der Controller 6 sind in Figur 1 nur in Blockform dargestellt, weil sie bekannte Komponenten von Datenverarbeitungssystemen sind&sub1; die selbst nicht die vorliegende Erfindung ausmachen.
  • Jedes der Plattenlaufwerke 4 weist die in Figur 2 im Detail dargestellten Grundelemente auf. Normalerweise antwortet jedes der Plattenlaufwerke 4 auf eine über den Controller 6 durch den Host 2 angeforderte LBN, um so zu veranlassen, daß ein Stellgliedarm 8 im Plattenlaufwerk 4 einen Satz Magnetköpfe 10 bezüglich eines entsprechenden Satzes Magnetplatten 12 zu einer physikalischen Zylinderposition bewegt, die der von der LBN abgebildeten Zylinderadresse entspricht. Das Plattenlaufwerk 4 in Figur 2 ist mit einem Satz von 10 Magnetköpfen 10 von einem entsprechenden Satz von 5 Platten 12 dargestellt, obwohl eine größere oder geringere Zahl der Köpfe 10 mit einer entsprechenden größeren oder kleineren Zahl der Platten 12 verwendet werden kann, wie in der Technik bekannt ist.
  • Die Plattenlaufwerke 4 können eine Bandbildung ausnutzen, um ihre LBN-Speicherdichte zu verbessern. Die Bänder umfassen verschiedene ringförmige Bereiche der Oberflächen der Platten 12, die jeweils mit einer verschiedenen Bitfreguenz beschrieben werden, die den Oberflächengeschwindigkeiten des jeweiligen Bandes proportional ist, um die Speicherdichte des Plattenlaufwerks 4 zu maximieren. Dies verhält sich so, weil sich die Platten 12 mit einer konstanten Winkelgeschwindigkeit drehen und eine konstante Bitdichte tragen können, so daß eine Spur mit einem großen Radius eine höhere Bitfrequenz als eine Spur mit einem kleinen Radius tragen kann.
  • Wenn ein System mehrere Plattenlaufwerke 4 enthält, kann es vorteilhaft sein, Eingabe/Ausgabe-(I/O)-Anforderungen "zu zerlegen bzw. in Streifen zu teilen" (engl. stripe). Das Teilen in Streifen bzw. Streifenbilden (engl. striping) ist die Verteilung einer einzelnen I/O-Anforderung über mehrere Plattenlaufwerke eines Plattenlaufwerk-Speichersystems. Ein "Streifensatz" (engl. stripe set) besteht aus zwei oder mehr Plattenlaufwerken in einem Plattenlaufwerksystem, wobei der gesamte Satz als ein einziges logisches Volumen für I/O dargestellt wird.
  • Die vorliegende Erfindung verwendet ein Streifenbilden in erster Linie, um die I/O-Anforderungslast unter der Vielzahl von in Streifen geteilten Platten 12 statistisch auszugleichen, als vielmehr ein solches Lastausgleichen Systemkomponenten höherer Ebenen oder manuellen Verwaltungsverfahren zu überlassen. Die logischen Blöcke, die für I/O dargestellt werden, sind über die Platte in "Brocken" (engl. chunks) verteilt. Diese Brocken haben eine Größe, die in der Zahl von Sektoren, Spuren, Zylindern, Bändern oder sogar Laufwerken gemessen werden kann. Falls beispielsweise die Brockengröße 10 Spuren beträgt, befinden sich dann die Spuren 0 bis 9 auf einem ersten der Plattenlaufwerke 4, die Spuren 10 bis 19 auf einem zweiten usw.
  • Eine derartige Band- und Streifenbildung der Plattenlauf werke 4 bietet spezielle Probleme für die umgekehrte Anordnung in der Art und Weise, in der die LBNs auf den Plattenlaufwerken 4 gespeichert sind, so daß die LBNs mit optimalem Vorabruf-Cachespeichern abgerufen bzw. wiedergewonnen werden. Die Streifenbildung von I/O-Anforderungen ist für Streifenbrockengrößen problematisch, die nicht geradzahlig in die Zahl der Zylinder in den Bändern teilbar sind. Falls z.B. die Plattenlaufwerke 4 jeweils ein Band mit 3 Zylindern und eine Streifenbrockengröße von 2 Zylindern haben, paßt dann nur ein Streifenbrocken in das Band, wobei ein Zylinder einem Streifen nicht zugewiesen zurückbleibt.
  • Gemäß der vorliegenden Erfindung sind die "Kurzstreifen" die Teilbrocken, die am Ende eines Bandes übrig sind, wenn die Streifenbrockengröße nicht geradzahlig in die Zahl von Zylindern in dem Band geteilt wird. Solche Kurzstreifen erlauben, daß die I/O-Anforderungen zwischen Bändern und den Plattenlaufwerken 4 gewechselt werden, wenn die Bänder aufgebraucht sind, bevor eine ganze Streifenbrockengröße gefüllt wurde. Im oben beschriebenen Beispiel der Plattenlaufwerke 4 mit einem Band mit 3 Zylindern und einer Streifenbrockengröße von zwei Zylindern wird z.B. der verbleibende Zylinder als ein Kurzstreifen verwendet, und die Streifenbildungsprozedur wird so abgewandelt, um die Kurzstreifen mit den anderen Streifen auf den Bändern der Plattenlaufwerke 4 zu integrieren. Die Kurzstreifen erlauben, daß jedes der Plattenlaufwerke 4 die optimale Streifenbrockengröße ohne die Komplikation von Streifenbrocken behandelt, die Bandgrenzen kreuzen.
  • Um beim umgekehrten Anordnen der logischen Blöcke zwischen den verschiedenen Plattenlaufwerken 4 einschließlich einer Streifenbildung der Bänder und Kurzstreifen zu helfen, werden Medien-Blockzahlen (MBNs) (engl. media block numbers) verwendet. Gemäß der vorliegenden Erfindung sind die Medien- Blockzahlen (MBNs) Zahlen, die verwendet werden, um die LBNs auf physikalische Sektoren auf den Plattenoberflächen in dem Plattenlaufwerk abzubilden. MBNs bilden auf Sektoren der Plattenlaufwerke 4 in einem Streifensatz in der Art und Weise ab, in der LBNs normalerweise auf Sektoren in einem nicht in Streifen geteilten Plattenlaufwerk 4 abbilden.
  • Die MBNs identifizieren die physikalische Blockstelle der Sektoren für jedes der Plattenlaufwerke unabhängig vom verwendeten Streifensatz. Dies erlaubt, daß das Laufwerk logisch adressiert wird, ohne sich darum zu kümmern, ob es in einer in Streifen geteilten oder nicht in Streifen geteilten Konfiguration vorliegt. Abbilden einer LBN auf einen Sektor auf einem in Streifen geteilten Satz von Plattenlaufwerken beinhaltet zuerst ein Bestimmen, welches Laufwerk es ist, dann Bestimmen der MBN auf diesem Laufwerk und schließlich Abbilden von der MBN auf den Sektor. Die MBNs erlauben, daß jedes der Plattenlaufwerke 4 im Streifensatz als ein nicht in Streifen geteiltes Laufwerk behandelt wird, wobei so die Last einer Ausführung der Streifenbildung bei der Laufwerksebene beseitigt ist.
  • Falls ein nicht in Streifen geteilter Satz der Plattenlaufwerke 4 verwendet wird, können die LBNs direkt den Plattenlaufwerken in umgekehrter Reihenfolge zugewiesen werden, wobei mit den MBNs 1-zu-1 abgebildet wird. Der Plattenlaufwerk-Controller 6 bildet die LBNs auf Sektoren auf jeweiligen Spuren so ab, daß es eine 1-zu-1-Entsprechung gibt. Falls z.B. eine bestimmte Spur 8 Sektoren aufweist, ist LBN 8 dem Sektor 1 zugewiesen, und jede fortlaufend abnehmende LBN ist einem fortlaufend zunehmenden Sektor zugewiesen, bis LBN 1 dem Sektor 8 zugewiesen ist.
  • Auf diese Weise werden physikalische Sektoren auf der Spur in normaler Reihenfolge geschrieben, logisch liegen sie aber in umgekehrter Reihenfolge vor, so daß der erste Sektor, nachdem der Spurindex Sektor 1 ist, LBN 8 zugewiesen ist. Wenn beispielsweise eine Suchoperation auf der Spur durchgeführt wird, um LBN 4 auf Sektor 6 abzurufen bzw. wiederzugewinnen, und ein Lesen bei Sektor 3 mit LBN 7 beginnt, können dann die von Sektor 3 bis Sektor 6 gelesenen LBNs, LBN 7, LBN 6 und LBN 5, in dem Vorabruf-Cachespeicher des zugeordneten Plattenlaufwerks 4 gespeichert werden. Diese LBNs können dann vom Vorabruf-Cachespeicher wiedergewonnen werden, falls sie bei folgenden Anforderungen gesucht bzw. verlangt werden.
  • Gemäß der vorliegenden Erfindung kann die Anordnung der LBNs so gewählt werden, daß die höchsten LBNs in den Spuren für die niedrigsten oder die höchsten Köpfe 10 der Plattenlaufwerke 4 plaziert werden. In der hierin beschriebenen Ausführungsform der vorliegenden Erfindung sind die LBNs so angeordnet, daß die höchsten LBNs in den Spuren für die höch sten Köpfe 10 der Plattenlaufwerke 4 sind. Diese Anordnung erlaubt den effizientesten Zugriff auf die umgekehrt angeordneten LBNs.
  • Zwischen den verschiedenen Spuren für jeden Zylinder ist es jedoch auch notwendig, die LBNs so anzuordnen, daß ein Kopfwechselversatz kompensiert wird, wenn die LBNs mit dem umgekehrten Anordnungsschema wiedergewonnen werden. Andernfalls können die LBNs, die der letzten LBN in der umgekehrten Reihenfolge nach einem Spurwechsel unmittelbar folgen, bis zu einer späteren Plattendrehung nicht wiedergewonnen werden.
  • Falls ein in Streifen geteilter Satz der Plattenlaufwerke 4 verwendet wird, sind die MBNs den Sektoren jeder Spur jedes Zylinders jedes der Plattenlaufwerke 4 zugeordnet. Die MBNs sind jedem der Sektoren in einer 1-zu-1-Entsprechung zugewiesen, wobei die MBNs jedes der Plattenlaufwerke 4 die gleiche Anordnung aufweisen. Auf diese Weise bilden die MBNs die gleichen Sektoren der gleichen Spuren der gleichen Zylinder für jedes der Plattenlaufwerke 4 ab.
  • Figur 3 ist ein Flußdiagramm der Methodik des LBN- und MBN-Zuweisungsprozesses mit Streifenbildung gemäß der vorliegenden Erfindung. Die Parameter des in Streifen geteilten Satzes der Plattenlaufwerke 4 werden zuerst bestimmt. Diese Parameter schließen die Zahl der Plattenlaufwerke 4 im Satz, die Zahl von Bändern pro Laufwerk, die Zahl von Zylindern pro Band für jedes Band, die Zahl von Spuren pro Zylinder und die Streifenbrockengröße ein. In dieser Ausführungsform ist die Streifenbrockengröße durch die Zahl von Spuren dargestellt.
  • Die Grenzen der Vollstreifen werden dann ohne Kreuzen von Bandgrenzen bestimmt. Gemäß der vorliegenden Erfindung ist die Anordnung der Streifen nicht wichtig. In der hierin beschriebenen Ausführungsform sind die Vollstreifengrenzen beginnend von der niedrigsten Spur im äußersten Zylinder des äußersten Bandes und endend bei der höchsten Spur des innersten Zylinders des innersten Bandes zugewiesen. Diejenigen Spuren von Zylindern am Ende jedes Bandes, die eine zu geringe Zahl aufweisen, um in einen Vollstreifen zu passen, werden keinem Vollstreifen zugewiesen.
  • Die Grenzen von Kurzstreifen werden dann ohne Kreuzen von Bandgrenzen bestimmt. Die Kurzstreifengrenzen sind den Spuren der Zylinder zwischen den zugewiesen Vollstreifen in der gleichen Zuweisungsreihenfolge wie die Vollstreifen zugewiesen.
  • MBNs werden dann in umgekehrter Reihenfolge auf jedem der Plattenlaufwerke 4 im in Streifen geteilten Satz von der obersten Spur des äußersten Zylinders des innersten Bandes zur untersten Spur des innersten Zylinders des äußersten Bandes sequentiell zugewiesen. Die Zuweisung der MBNs ist auf jedes Plattenlaufwerk beschränkt. Auf diese Weise weist jedes der Plattenlaufwerke in dem Satz den gleichen Bereich und die gleichen Plazierung von MBNs auf.
  • Die LBNs werden dann fortlaufenden "Brocken" von MBNs über die Plattenlaufwerke zugewiesen. Falls z.B. jeder Brokken 14 MBNs enthält, werden LBNs 0 bis 13 MBNs 0 bis 13 auf dem ersten der Plattenlaufwerke 4 in dem in Streifen geteilten Satz zugewiesen, werden LBNs 14 bis 27 MBNs 0 bis 13 auf dem zweiten der Plattenlaufwerke 4 im in Streifen geteilten Satz zugewiesen, usw.
  • Tabelle 1 zeigt die für einen in Streifen geteilten Satz aus drei der Plattenlaufwerke 4 bestimmten Parameter. Diese Parameter schließen eine Streifenbrockengröße von zwei Spuren, drei Spuren pro Zylinder und vier Bänder ein. Die Zahl von LBNs und MBNs pro Spur, die Zahl von Sektoren pro Spur, der Sektor-Offset bzw. Sektorversatz, die Zahl von Zylindern pro Band und die Zahl von LBNs oder MBNs pro Band sind ebenfalls aufgelistet.
  • Figur 4 zeigt die Band- und Sektorkonfiguration für die Oberfläche jeder der Platten 12 in den Plattenlaufwerken 4 mit den in Tabelle 1 aufgelisteten Parametern. Die Platte 12 ist mit 4 Bändern auf ihrer Oberfläche dargestellt, wobei jedes der Bänder in eine verschiedene Zahl von Sektoren unterteilt ist, die der verschiedenen Speicherdichte jedes Bandes entspricht. Das äußerste Band der in Figur 4 gezeigten Platte 12 ist "Band 0". Das Band 0 hat 8 Sektoren pro Spur in jedem seiner 4 Zylinder. Das dem Band 0 innen benachbarte Band ist "Band 1". Band 1 hat 7 Sektoren pro Spur in jedem seiner 3 Zylinder. Das dem Band 1 innen benachbarte Band ist "Band 2". Band 2 hat 6 Sektoren pro Spur in jedem seiner beiden Zylinder. Das dem Band 2 innen benachbarte Band ist "Band 3". Band 3 hat 5 Sektoren auf seinem einzigen Zylinder. Alle Bänder weisen 3 Spuren pro Zylinder auf. Die Konfiguration der in Figur 4 gezeigten Platte 12 entspricht dem Stand der Technik, und sie ist selbst nicht Teil der vorliegenden Erfindung.
  • Tabelle 2 zeigt die Anordnung von MBNs und LBNs, die für einen in Streifen geteilten Satz aus drei der Plattenlaufwerke 4 geeignet ist, gemäß den in Tabelle 1 aufgelisteten Parametern. Jedes der Plattenlaufwerke 4 weist vier Bänder auf jeder der Platten 12 auf, drei der Köpfe 10 werden zum Speichern von Daten verwendet, und jedes der Plattenlaufwerke 4 speichert 180 der LBNs, so daß der in Streifen geteilte Satz aus dreien 540 der LBNs speichert.
  • Außerdem basiert Tabelle 2 auf einer Streifenbrockengröße von 2 Spuren über alle Bänder. "Band 0", das äußerste Band mit der größten Speicherdichte, ist so eingerichtet, daß es 8 Sektoren pro Spur und 4 Zylinder aufweist. Ist ein Sektor auf jeder Spur für eine Ersetzungsblockzahl (RBN) "reserviert", können somit 7 der LBNs pro Spur auf Band 0 zugewiesen werden.
  • Weil es für jedes der Plattenlaufwerke 4 drei Spuren pro Zylinder gibt, gibt es 84 Sektoren im Band 0, die den LBNs und MBNs für jedes der Plattenlaufwerke 4 zugewiesen werden können, was 252 Sektoren im Band 0 erlaubt, die den LBNs und MBNs für den gesamten in Streifen geteilten Satz zugewiesen werden können. Tabelle 1 sieht auch einen Sektor-Offset bzw. Sektorversatz von 4 Sektoren auf Band 0 vor, um einem Kopfwechselversatz innerhalb des Bandes 0 Rechnung zu tragen. Der Sektorversatz ist für das umgekehrte Anordnen der LBNs eingerichtet.
  • "Band 1", das dem Band 0 innen benachbarte Band, hat eine geringere Speicherdichte als Band 0. Es ist so eingerichtet, daß es drei Zylinder mit 7 Sektoren pro Spur aufweist. Einer der Sektoren pro Spur ist für eine RBN reserviert, so daß sechs Sektoren pro Spur für eine Zuweisung zu LBNs und MBNs im Band 1 verfügbar sind. Weil jeder Zylinder drei Spuren aufweist, können 54 der Sektoren in Band 1 LBNs und MBNs für jedes der Plattenlaufwerke 4 zugewiesen werden, was 162 Sektoren im Band 1 erlaubt, die den LBNs und MBNs für den gesamten in Streifen geteilten Satz zugewiesen werden können. Tabelle 2 berücksichtigt auch einen Sektorversatz von 3 Sektoren auf dem Band 1, um einem Kopfwechselversatz innerhalb des Bandes 1 Rechnung zu tragen.
  • "Band 2", das dem Band 1 innen benachbarte Band, hat eine geringere Speicherdichte als Band 1. Es ist so eingerichtet, daß es 2 Zylinder mit sechs Sektoren pro Spur aufweist. Einer der Sektoren pro Spur ist für eine RBN reserviert, so daß fünf Sektoren pro Spur für eine Zuweisung zu LBNs und MBNs im Band 2 verfügbar sind. Weil jeder Zylinder drei Spuren hat, können 30 der Sektoren im Band 2 den LBNs und MBNs für jedes der Plattenlaufwerke 4 zugewiesen werden, was 90 Sektoren im Band 2 erlaubt, die den LBNs und MBNs für den ganzen in Streifen geteilten Satz zugewiesen werden können. Tabelle 1 gibt auch einen Sektorversatz von 2 Sektoren auf Band 2 an, um einem Kopfwechselversatz innerhalb des Bandes 2 Rechnung zu tragen.
  • "Band 3", das innerste Band, hat eine geringere Speicherdichte als jedes der anderen. Es ist so eingerichtet, daß es nur ein Zylinder in seinem Band mit fünf Sektoren pro Spur aufweist. Einer der Sektoren pro Spur ist für eine RBN reserviert, so daß vier Sektoren pro Spur für eine Zuweisung zu den LBN und MBNs im Band 3 verfügbar sind. Weil der Zylinder für Band 3 drei Spuren aufweist, können 12 der Sektoren im Band 3 den LBNs und MBNs für jedes der Plattenlaufwerke 4 zugewiesen werden, was 36 Sektoren im Band 3 erlaubt, die den LBNs und MBNs für den ganzen in Streifen geteilten Satz zugewiesen werden können. Tabelle 1 gibt auch einen Sektorversatz von einem Sektor auf Band 3 an, um einem Kopfwechselversatz innerhalb des Bandes 3 Rechnung zu tragen.
  • Die MBNs sind in einer 1-zu-1-Entsprechung mit den Sektören in umgekehrter Reihenfolge zugewiesen, beginnend mit dem einzelnen Zylinder, Zylinder 0, und Kopf 2, dem höchsten der Köpfe 10, für jedes der Plattenlaufwerke 4, aufgelistet in Tabelle 1. Weil jedes der in dieser Konfiguration angeordneten Plattenlaufwerke 4 180 MBNs speichert, reichend von MBN 0 bis MBN 179, wird MBN 179 dem Sektor 0 von Spur 2 im Zylinder 0 von Band 3 zugewiesen. Spur 2 entspricht dem höchsten Kopf 10 des Laufwerks 2 in Tabelle 1. Desgleichen entspricht Spur 1 dem Kopf 10 des Laufwerks 2 unmittelbar unterhalb der Spur 2, und Spur 0 entspricht dem niedrigsten Kopf 10 des Laufwerks 2 unmittelbar unter der Spur 1.
  • Weil die Spur 2 des Zylinders 0 von Band 3 s Sektoren aufweist, sind 4 der Sektoren für eine Speicherung von MBNs und ein Sektor für eine RBN verfügbar. Daher werden MBN 179 bis MBN 176 im Sektor 0 bis Sektor 3 in dieser Reihenfolge gespeichert, und die RBN für diese Spur wird dem unmittelbar folgenden Sektor 4 zugewiesen.
  • Band 3 weist einen Offset bzw. Versatz von einem Sektor zwischen Spuren auf, so daß MBN 175 dem Sektor in Spur 1 zugewiesen wird, der dem einen unmittelbar nach Sektor 3 in Spur 2 folgt, der MBN 176 speichert. Somit sind dem Sektor bis Sektor 3 von Spur 1 im Zylinder 0 von Band 3 MBN 175 bis MBN 172 in dieser Reihenfolge zugewiesen, wobei ein REN dem Sektor 4 zugewiesen ist. Desgleichen sind den Sektoren 0 bis 3 von Spur 0 im Zylinder 0 von Band 3 MBN 171 bis MBN 168 in dieser Reihenfolge zugewiesen, wobei eine RBN dem Sektor 4 zugewiesen ist.
  • Es sollte besonders erwähnt werden, daß die RENS für Spuren 2, 1 und 0 zweckmäßigerweise auf den Sektoren innerhalb des Versatzes der Sektoren positioniert sind, die den MBNs zugewiesen sind, so daß keine erhöhte Zugriffszeit infolge eines Einschlusses der RBNs auftritt. Desgleichen sind die RBNs in dieser Weise auch auf den anderen Bändern angeordnet.
  • Die MBNs werden auf Band 2 des Laufwerks 2 beginnend mit dem inneren Zylinder, Zylinder 1, auf Spur 2 fortgesetzt. Es sollte besonders erwähnt werden, daß ein Kopfwechselversatz zwischen Zylindern, entweder des gleichen oder verschiedener Bänder, nicht definiert ist. Dies verhält sich so, weil für die Köpfe 10 immer eine Suchoperation damit verbunden ist, die die Spurwechseloperation unterbricht. Wegen der Zeitspanne der Suchoperation und ihrer Variabilitat ist jegliche Zuweisung eines Sektorversatzes wegen der Suchoperation zwischen Zylindern bestenfalls eine grobe Näherung.
  • Solche Sektor-Offsets können jedoch für Suchvorgänge verwendet werden, um spiralförmige Übertragungen mit einer großen Zahl aufeinanderfolgender LBNs zu einer Zeit zu verbessern. Die Verwendung von Sektor-Offsets ist eine Konstruktionsentscheidung und kein Teil der vorliegenden Erfindung. Die hierin beschriebene Ausführungsform der vorliegenden Erfindung verwendet keine Sektor-Offsets für die Suchoperation, obwohl es innerhalb des Umfangs der vorliegenden Erfindung liegt, dies zu tun.
  • Weil sich MBN 167 auf einem verschiedenen Zylinder fortsetzt, ist eine Suchoperation damit verbunden. Weil ein Sektor-Offset bzw. Sektorversatz für die Suchoperation für diese Ausführungsform nicht verwendet wird, wird daher MBN 167 dem Sektor 0 von Band 2 willkürlich zugewiesen. Somit sind MBN 167 bis MBN 163 den Sektoren 0 bis 4 in dieser Reihenfolge zugewiesen, und eine RBN ist Sektor 5 zugewiesen.
  • Wegen des Versatzes von zwei Sektoren zwischen Spur 2 und Spur 1 im Band 2 ist MBN 162 dem Sektor 1 von Spur 1 im Zylinder 1 von Band 2 zugewiesen. Auf diese Weise sind MBN 162 bis MBN 158 in dieser Reihenfolge Sektor 1 bis Sektor 5 zugewiesen, wobei eine RBN dem Sektor 0 zugewiesen ist. Wegen des Zwei-Sektor-Versatzes ist MBN 157 dem Sektor 2 von Spur 0 im Zylinder 1 des Bands 2 zugewiesen. MBN 157 bis MBN 153 sind somit in dieser Reihenfolge dem Sektor 2 bis Sektor 5 und dann Sektor 0 zugewiesen, und eine RBN ist Sektor 1 zugewiesen.
  • MBN 152 ist dem Sektor 0 der Spur 2 im Zylinder 0 von Band 2 willkürlich zugewiesen, weil eine Suchoperation zwischen Zylindern stattfindet und der Zwei-Sektor-Versatz im Band 2 somit keine Anwendung findet. MBN 152 bis 148 werden somit dem Sektor 0 bis Sektor 4 zugewiesen, und eine RBN wird Sektor 5 zugewiesen. Wegen des Zwei-Sektor-Versatzes zwischen Spur 2 und Spur 1 im Band 2 wird MBN 147 dem Sektor 1 von Spur 1 im Zylinder 0 des Bands 2 zugewiesen. Auf diese Weise wird MBN 147 bis MBN 143 dem Sektor 1 bis Sektor 5 zugewiesen, wobei eine RBN Sektor 0 zugewiesen wird.
  • Ähnlich wird MBN 142 dem Sektor 2 der Spur 0 im Zylinder 0 zugewiesen, um dem Zwei-Sektor-Versatz im Band 2 zwischen Spur 1 und Spur 0 Rechnung zu tragen. MBN 142 bis MBN 138 werden somit in dieser Reihenfolge dem Sektor 2 bis Sektor 5 und Sektor 0 zugewiesen, wobei eine RBN Sektor 1 zugewiesen wird.
  • Eine Zuweisung der MBNs von Band zu Band, Zylinder zu Zylinder und Spur und Spur setzt sich in dieser Weise fort, bis MBN 0 dem Sektor 4 in Spur 0 des Zylinders 0 von Band 0 gemäß Tabelle 1 zugewiesen ist. Wie oben erläutert wurde, findet eine Zuweisung der MBNs mit einem Sektorversatz keine Anwendung, wann immer die Zuweisung der MBNs von Spur 0 eines Zylinders zu Spur 2 eines anderen wechselt. In diesem Fall wird die Zuweisung der MBNs willkürlich eingerichtet, um mit Sektor 0 von Spur 2 im folgenden Zylinder fortzufahren, genau wie oben beschrieben wurde.
  • Die anderen, in Tabelle 2 als Laufwerk 1 und Laufwerk aufgelisteten Plattenlaufwerke 4 weisen ihre MBNs in gleicher Weise zugewiesen auf, so daß ihre MBNs alle den gleichen jeweiligen Sektoren wie Laufwerk 2 zugewiesen sind. Falls die in Tabelle 2 aufgelisteten Plattenlaufwerke 4 in einem nicht in Streifen geteilten Satz angeordnet sind, können dann die entsprechenden LBNs auf einer 1-zu-1-Basis mit den MBNs zugewiesen werden, so daß LBN 539 dem gleichen Sektor der gleichen Spur im gleichen Zylinder des gleichen Bandes wie MBN 179 auf Laufwerk 2 zugewiesen wird. In diesem Fall ist LBN 359 dem gleichen Sektor der gleichen Spur im gleichen Zylinder des gleichen Bandes wie MBN 179 im Laufwerk 1 zugewiesen, und LBN 179 ist dem gleichen Sektor der gleichen Spur im gleichen Zylinder des gleichen Bandes wie MBN 179 in Laufwerk 0 zugewiesen.
  • Die Anordnung der LBNs, die in Tabelle 2 für die Plattenlaufwerke 4 dargestellt ist, die als Laufwerk 2, Laufwerk 1 und Laufwerk 0 aufgelistet sind, ist für einen in Streifen geteilten Satz der Laufwerke mit einer Streifenbrockengröße von zwei Spuren bestimmt. Wie bei einem nicht in Streifen teilten Satz sind die LBNs so angeordnet, daß LBN 539 dem gleichen Sektor der gleichen Spur im gleichen Zylinder des gleichen Bandes wie MBN 179 im Laufwerk 2 zugewiesen ist. Weil MBN 179 dem Sektor 0 von Spur 2 im Zylinder 0 des Bandes 3 zugewiesen ist, ist diese MBN in einem "Kurzstreifen" des Zylinders 0 zugewiesen.
  • Dies verhält sich so, weil die Streifenbrockengröße zwei Spuren beträgt und Band Drei nur drei Spuren hat. Wie in Tabelle 2 angeordnet, erstreckt sich ein Streifen von der Spur 0 bis zur Spur 1 des Zylinders 0 im Band 3. Daher ist Spur 2 des Zylinders 0 im Band 3 ein Kurzstreifen von nur einer Spur, weil Band 3 nur einen Zylinder aufweist und sich Strei fen nicht über Bandgrenzen, z.B. in das Band 2, erstrecken können.
  • LBN 539 bis LBN 536 sind somit fortlaufend dem Sektor bis Sektor 3 in Spur 2 des Zylinders 0 im Band 3 des Laufwerks 2 zugewiesen, und eine RBN ist dem Sektor 4 zugewiesen. Weil diese Spur im Band 3 ein Kurzstreifen ist, ist LBN 535 dem Sektor in der Spur des Zylinders des Bands im Laufwerk 1 zugewiesen, entsprechend der MBN 179. LBN 535 bis LBN 532 sind somit fortlaufend dem Sektor 0 bis Sektor 3 von Spur 2 im Zylinder 0 des Bands 3 im Laufwerk 1 zugewiesen, und eine RBN ist dem Sektor 4 zugewiesen.
  • Weil die Spur 2 des Zylinders 0 des Bands 3 im Laufwerk 1 auch ein Kurzstreifen ist, ist LBN 531 dem Sektor in der Spur des Zylinders des Bandes im Laufwerk 0 entsprechend MBN 179 zugewiesen. LBN 531 bis LBN 528 sind somit fortlaufend dem Sektor 0 bis Sektor 3 von Spur 2 im Zylinder 0 des Bands 3 im Laufwerk 0 zugewiesen, und eine RBN ist dem Sektor 4 zugewiesen.
  • Weil die Spur 2 des Zylinders 0 des Bands 3 im Laufwerk auch ein Kurzstreifen ist, wird LBN 527 dem nächsten Streifen im Satz zugewiesen, der der Vollstreifen in Band 3 beginnend mit Spur 1 im Zylinder 0 ist. LBN 527 wird dem Sektor 0 der Spur 1 willkürlich so zugewiesen, daß LBN 527 bis LBN 524 dem Sektor 0 bis Sektor 3 fortlaufend zugewiesen werden, wobei eine RBN dem Sektor 4 zugewiesen ist.
  • In diesem Vollstreifen fortfahrend, wird LBN 523 dem Sektor 0 von Spur 0 im Zylinder 0 des Bands 3 zugewiesen, um dem Ein-Sektor-Versatz in Band 3 Rechnung zu tragen. Somit sind LBN 523 bis LBN 520 dem Sektor 0 bis Sektor 3 der Spur 0 im Zylinder 0 des Bands 3 fortlaufend zugewiesen, wobei eine RBN dem Sektor 4 zugewiesen ist.
  • LBN 519 wird dem nächsten Vollstreifen zugewiesen, der mit Spur 1 im Zylinder 0 des Bands 3 im Laufwerk 1 beginnt. LBN 519 wird dem Sektor 0 willkürlich so zugewiesen, daß LBN 519 bis LBN 516 fortlaufend dem Sektor 0 bis Sektor 3 der Spur 1 im Zylinder 0 des Bands 3 zugewiesen werden, wobei eine RBN dem Sektor 4 zugewiesen wird.
  • In diesem Vollstreifen fortfahrend, wird LBN 515 dem Sektor 0 der Spur 0 im Zylinder 0 des Bands 3 zugewiesen, um dem Ein-Sektor-Versatz im Band 3 Rechnung zu tragen. Somit werden LBN 515 bis LBN 512 fortlaufend dem Sektor 0 bis Sektor 3 von Spur 0 im Zylinder 0 des Bands 3 zugewiesen, wobei eine RBN dem Sektor 4 zugewiesen wird.
  • LBN 511 wird dem nächsten Vollstreifen zugewiesen, der mit Spur 1 im Zylinder 0 von Band 3 im Laufwerk 0 beginnt. LBN 511 wird dem Sektor 0 willkürlich so zugewiesen, daß LBN 511 bis LBN 508 fortlaufend dem Sektor 0 bis Sektor 3 von spur 1 im Zylinder 0 des Bands 3 zugewiesen werden, wobei eine RBN dem Sektor 4 zugewiesen wird.
  • In diesem Vollstreifen fortfahrend, wird LBN 507 dem Sektor 0 von Spur 0 im Zylinder 0 des Bands 3 zugewiesen, um dem Ein-Sektor-Versatz in Band 3 Rechnung zu tragen. Somit werden LBN 507 bis LBN 504 fortlaufend dem Sektor 0 bis Sektor 3 von Spur 0 im Zylinder 0 des Bands 3 zugewiesen, wobei eine RBN dem Sektor 4 zugewiesen wird.
  • Die Zuweisung von LBN 506 bis LBN 0 setzt sich dann in dieser Weise durch die Streifen sequentiell vom Laufwerk 2 zum Laufwerk 0 auf Band 2 bis Band 0 fort. Kurzstreifen auf Bändern 2, 1 und 0 werden in der gleichen Weise wie die Kurzstreifen in Band 3 bestimmt und sind so in Tabelle 1 angegeben.
  • Natürlich kann die vorliegende Erfindung für jede beliebige Zahl von Plattenlaufwerken 4 in einem in Streifen geteilten Satz oder einem nicht in Streifen geteilten Satz mit einer beliebigen Zahl von Spuren in einer beliebigen Zahl von Zylindern in einer beliebigen Zahl von Bändern verwendet werden. Die oben beschriebene Ausführungsform reprasentiert nur eine einfache Implementierung einer Abbildung eines logischen Blocks gemäß der vorliegenden Erfindung.
  • Der Plattenlaufwerk-Controller 6 wird einfach programmiert, um die vorliegende Erfindung für jede beliebige Kombination von Sätzen der Plattenlaufwerke 4, entweder in Streifen geteilt oder nicht, zu implementieren. Der folgende Code ist ein Beispiel einer für diesen Zweck geeigneten Programmierung in einem in Streifen geteilten Satz, die mit einer beliebigen Kombination der Größe des Plattenlaufwerksatzes, Plattenlaufwerk-Speicherdichte, Streifenbrockengröße und Zahl von Bändern arbeitet. Figur 5 ist ein Flußdiagramm des LBN Abbildungsalgorithmus gemäß der vorliegenden Erfindung, die diesen Code implementiert.
  • Die folgenden typischen Symbole werden in diesem Code verwendet:
  • b = Bandnummer für Plattenlaufwerk
  • s(b) = Sektoren pro Spur für Band b
  • t = Spuren pro Zylinder für Plattenlaufwerk
  • c(b) = Zylinder pro Band für Band b
  • h = Zahl von Plattenlaufwerken in einem Streifensatz
  • ch = Zahl von Spuren in einem Streifenbrocken
  • 1(b) = LBNs pro Spur für Band b
  • o(b) = Sektorversatz pro Kopfwechsel für Band b
  • r = RBNs pro Spur für Plattenlaufwerk
  • d = Plattenlaufwerknummer in einem Streifensatz
  • kurz_ch = Spuren pro Brocken in einem Kurzstreifen
  • DIV = der ganzzahlige Teilungsoperator in Pascal. Das Ergebnis wird nicht gerundet, und es wird bei Null zur nächstgelegenen ganzen Zahl abgeschnitten.
  • MOD = Modulus-Funktion (engl. modulus function) in Pascal. Sie gibt den Rest zurück, der sich aus der DIV-Operation ergibt.
  • Der Plattenlaufwerk-Controller 6 errechnet zuerst die Einheitsbandnummer und den Versatz in das Band mit dem folgenden Code:
  • Zyl_LBN_Versatz (0) = 0
  • U_LBN_Versatz (0) = LBN
  • U_LBN_Versatz (1) = U_LBN_Versatz (0) - h * c(0) * t *l (0) falls U_LBN_Versatz (1) < 0, b = 0, Prüfung auf Kurzstreifen
  • Zyl_Versatz (1) = c (0)
  • U_LBN_Versatz (2) = U_LBN-Versatz (1) - h * c(1) * t * l (1) falls U_LBN-Versatz (2) < 0, b = 1, Prüfung auf Kurzstreifen
  • Zyl_Versatz (2) = c (0) + c (1)
  • U_LBN_Versatz (3) = U_LBN_Versatz (2) - h * c (2) * t * l (2) falls U_LBN-Versatz(letztes_Band) < 0, b = 2, Prüfung auf Kurzstreifen
  • (Fortgang setzt sich fort bis letztes_Band-1)
  • Zyl_Versatz(letztes_Band) = c (0) + c (l) +
  • c (2) +...+c (letztes_Band-1)
  • b letztes_Band, Prüfung auf Kurzstreifen
  • Der Plattenlaufwerk-Controller 6 prüft auf die Kurzstreifenbedingung und bestimmt die Laufwerknummer mit dem folgenden Code:
  • (Es ist in einem Kurzstreifen-Brocken)
  • kurz_ch = (c(b) * t) MOD ch
  • U_rem_Versatz = U_LBN_Versatz - (c (b) * t DIV ch)*ch*l (b) d = U_rem_Versatz DIV kurz_ch
  • MBN_Versatz (b) = (U_rem_Versatz MOD (kurz_ch * l (b)) + ((c (b) * t) DIV ch) * ch * l (b)
  • sonst
  • (Es ist kein Kurzstreifen)
  • Brocken_Nummer = U_LBN_Versatz(b) DIV (ch * l (b))
  • d = Brocken_Nummer MOD h
  • MBN_Versatz (b) = (U_LBN_Versatz (b) MOD (ch * l (b)) + (Brocken_Nummer DIV h) * ch * l (b)
  • Der Plattenlaufwerk-Controller 6 berechnet dann die MBN mit dem folgenden Code:
  • MBN = MBN_Versatz (b)
  • falls b > 0 MBN = MBN + 1(0) * c(0) * t
  • falls b > 1 MBN = MBN + 1(1) * c(1) * t
  • falls b > 2 MBN = MBN + 1(2) * c(2) * t
  • (Fortgang setzt sich fort bis letzte Bandnummer-1)
  • Der Plattenlaufwerk-Controller 6 berechnet dann die physikalischen Zylinder-, Spur- und Sektorzahlen mit dem folgenden Code:
  • Zylinder = MBN_Versatz (b) DIV (t * 1 (b))
  • Spur = (MBN_Versatz (b) DIV l (b)) MOD t
  • Spur_Versatz = MBN_Versatz MOD l (b)
  • Invertierte_Spur_Versatz = l (b) - 1 - Spur_Versatz
  • Sektor = (Invertierte_Spur_Versatz + Sektor_Versatz) MOD s(b)
  • Der Code für einen nicht in Streifen geteilten Satz der Plattenlaufwerke 4 ist der gleiche&sub1; außer daß es keine Streifenberechnungen gibt und sich die LBN Eins zu Eins auf die MBNs abbilden.
  • Mit den wie oben vorgeschrieben angeordneten umgekehrt geordneten LBNs speichert die normale Leseoperation für eine angeforderte LBN während der Lese-Latenzperiode automatisch LBNs, die der angeforderten LBN unmittelbar folgen, weil diese LBNs gelesen werden, bevor die angeforderte LBN gefunden ist. Beispielsweise wird im oben beschriebenen Beispiel, falls LBN 42 angefordert wird, Spur 2 im Zylinder 0 des Bands im Laufwerk 0 gelesen. Falls der dieser Spur entsprechende Kopf 10 auf der zugeordneten Platte bei Sektor 0 der Spur landet, müssen während der Lese-Latenzperiode die Sektoren bis 6 gelesen werden, weil LBN 42 in Sektor 6 ist.
  • Somit wurden hierin Verfahren und ein Gerät zum Implementieren einer Abbildung mit umgekehrt angeordneten logischen Blöcken in Plattenlaufwerk-Datenspeichersätzen beschrieben, um ein Vorabruf-Cachespeichern zu optimieren. Es versteht sich für den Fachmann, daß verschiedene Änderungen in den Einzelheiten, Anordnungen und Teilen des Systems und auch den Schritten der Prozesse, die hierin beschrieben und veranschaulicht wurden, um das Wesen der vorliegenden Erfindung zu erläutern, innerhalb der Grundlage und des Umfangs der Erfindung vorgenommen werden können, wie sie in den beigefügten Ansprüchen ausgedrückt bzw. dargestellt sind. Tabelle 1 MINI - PLATTE (in Streifen geteilt) TABELLE 2 LAUFWERK 0 LAUFWERK 1 LAUFWERK 2

Claims (30)

1. Verfahren zum Anordnen logischer Datenblocke in physikalischen Blockstellen in zumindest einer Speichereinheit (4) vom Plattenlaufwerktyp, gekennzeichnet durch die Schritte eines:
Bestimmens von Parametern der Plattenlaufwerk-Speicher einheit, die die Zahl und Reihenfolge von Sektoren in jeder der Spuren für jeden Zylinder in dem Plattenlaufwerk und die Zahl und Reihenfolge von Spuren in jedem der Zylinder einschließen; und
Zuweisens logischer Blockzahlen (LBN), und zwar dem Plattenlaufwerk, in der umgekehrten Reihenfolge der Spuren und Sektoren in den Zylindern.
2. Verfahren nach Anspruch 1, worin der Schritt eines Bestimmens von Parametern ferner einschließt ein Bestimmen der Zahl und Reihenfolge der Plattenlaufwerke (4), der Zahl und Reihenfolge von Bändern auf jedem der Plattenlaufwerke und der Zahl und Reihenfolge der Zylinder für jedes der Bänder.
3. Verfahren nach Anspruch 2, worin der Schritt eines Zuweisens der logischen Blockzahlen ferner aufweist ein Zuweisen der logischen Blockzahlen, und zwar allen Plattenlaufwerken, in der umgekehrten Reihenfolge der Plattenlaufwerke (4), Bänder und Zylinder.
4. Verfahren nach Anspruch 3, ferner mit dem Schritt eines:
Zuweisens sequentieller Medien-Blockzahlen (MBN), und zwar jedem der Plattenlaufwerke (4) in dem Satz von Plattenlaufwerken, in umgekehrter Reihenfolge der Bänder, Zylinder, Spuren und Sektoren von jedem der Plattenlaufwerke.
5. Verfahren nach Anspruch 41 worin die Schritte eines Zuweisens der logischen, Blockzahlen und Medien-Blockzahlen jeweils ferner den Schritt eines Versetzens der Anordnung der logischen Blockzahlen und Medien-Blockzahlen zwischen den Spuren in jedem der Zylinder um eine Sektorverschiebung bzw. einen Sektorversatz entsprechend der Zahl der Sektoren aufweisen, die während einer Kopfwechsel- bzw. Kopfumsetz- Operation (engl. head switching Operation) zwischen den Spuren in jedem der Zylinder passiert wurden.
6. Verfahren nach Anspruch 5, worin die Schritte eines Versetzens der logischen Blockzahlen und Medien-Blockzahlen jeweils ein Versetzen der logischen Blockzahlen und Medien- Blockzahlen um den Sektorversatz in der umgekehrten Reihenfolge der Sektoren aufweisen.
7. Verfahren nach Anspruch 6, worin der Schritt eines Zuweisens der Medien-Blockzahlen ferner ein Zuweisen der Medien-Blockzahlen von der obersten Spur des äußersten der Zylinder des innersten der Bänder bis zur untersten Spur des innersten der Zylinder des äußersten der Bänder aufweist.
8. Verfahren nach Anspruch 7, worin der Schritt eines Zuweisens der logischen Blockzahlen ferner aufweist ein Zuweisen der logischen Blockzahlen von der obersten Spur in dem äußersten der Zylinder des innersten der Bänder in dem letzten der Plattenlaufwerke des Satzes von Plattenlaufwerken bis zur untersten Spur in dem innersten der Zylinder des äußer sten der Bänder in dem letzten der Plattenlaufwerke.
9. Verfahren nach Anspruch 1, angewandt auf einen Satz von Speichereinheiten vom Plattenlaufwerktyp, wobei der Bestimmungsschritt ferner enthält:
Bestimmen von Parametern der Plattenlaufwerk-Speichereinheiten, die die Zahl und Reihenfolge der Plattenlaufwerke, die Zahl und Reihenfolge der Bänder auf jedem der Plattenlaufwerke, die Zahl und Reihenfolge von Zylindern für jedes der Bänder und die Zahl und Reihenfolge von Sektoren in jeder Spur für jedes der Bänder einschließen; und
der Zuweisungsschritt die logischen Blockzahlen allen Plattenlaufwerken in der umgekehrten Reihenfolge der Plattenlaufwerke, Bänder, Zylinder, Spuren und Sektoren zuweist.
10. Verfahren nach Anspruch 9, worin der Schritt eines Bestimmens von Parametern ferner aufweist ein Bestimmen der Zahl von Spuren pro Streifen in dem Satz von Plattenlaufwerken, und ferner mit den Schritten eines:
Zuweisens von Vollstreifengrenzen (engl. full stripe boundaries), und zwar jedem der Bänder in jedem der Plattenlaufwerke, ohne Kreuzen der Grenzen der Bänder; und Zuweisens von Kurzstreifengrenzen (engl. short stripe boundaries) mit einer geringeren Zahl von Spuren als die Vollstreifen, und zwar Abschnitten der Zylinder zwischen den zugewiesenen Vollstreifengrenzen.
11. Verfahren nach Anspruch 10, ferner mit dem Schritt eines:
Zuweisens sequentieller Medien-Blockzahlen (MBN), und zwar jedem der Plattenlaufwerke (4) in dem Satz von Plattenlaufwerken, in umgekehrter Reihenfolge der Bänder, Zylinder, Spuren und Sektoren von jedem der Plattenlaufwerke.
12. Verfahren nach Anspruch 11, worin die Schritte eines Zuweisens logischer Blockzahlen und Medien-Blockzahlen jeweils ferner den Schritt eines Versetzens der Anordnung der logischen Blockzahlen und der Medien-Blockzahlen zwischen den Spuren in jedem der Zylinder um einen Sektorversatz entsprechend der Zahl der Sektoren aufweisen, die während einer Kopfumsetz-Operation zwischen den Spuren in jedem der Zylinder passiert wurden.
13. Verfahren nach Anspruch 12, worin die Schritte eines Versetzens der logischen Blockzahlen und Medien-Blockzahlen jeweils ein Versetzen der logischen Blockzahlen und Medien- Blockzahlen um den Sektorversatz aufweisen.
14. Verfahren nach Anspruch 1, angewandt auf einen zerlegten bzw. in Streifen geteilten (engl. striped) Satz von Speichereinheiten vom Plattenlaufwerktyp, wobei der Bestimmungsschritt ferner einschließt:
Bestimmen von Parametern der Plattenlaufwerk-Speichereinheiten, die die Zahl und Reihenfolge der Plattenlaufwerke, die Zahl und Reihenfolge von Bändern auf jedem der Plattenlaufwerke, die Zahl und Reihenfolge von Zylindern für jedes der Bänder und die Zahl und Reihenfolge von Sektoren für jede der Spuren in jedem der Bänder und die Zahl von Spuren für jeden Streifen einschließen;
wobei das Verfahren ferner einschließt.
ein Zuweisen von Vollstreifengrenzen, und zwar jedem der Bänder in jedem der Plattenlaufwerke, ohne Kreuzen der Grenzen der Bänder;
ein Zuweisen von Kurzstreifengrenzen mit einer geringeren Zahl von Spuren als die Vollstreifen, und zwar Abschnitten der Zylinder zwischen den zugewiesenen Vollstreifengrenzen; und
ein Zuweisen der logischen Blockzahlen, und zwar allen Plattenlaufwerken, in der umgekehrten Reihenfolge der Sektoren und Spuren in den zugewiesenen Streifen in dem in Streifen geteilten Satz von Plattenlaufwerken von der obersten Spur des äußersten der Zylinder des innersten der Bänder bis zur untersten Spur des innersten der Zylinder des äußersten der Bänder mit einem Sektorversatz zwischen den Spuren in jedem der Zylinder entsprechend der Zahl der Sektoren, die während einer Kopfilmsetz-Operation zwischen den Spuren in jedem der Zylinder passiert wurden.
15. Verfahren nach Anspruch 14, ferner mit dem Schritt eines:
Zuweisens sequentieller Medien-Blockzahlen, und zwar jedem der Plattenlaufwerke in dem Satz von Plattenlaufwerken, in umgekehrter Reihenfolge der Sektoren und Spuren in den Zylindern für jedes der Bänder von der obersten Spur des äußer sten der Zylinder des innersten der Bänder bis zur untersten Spur des innersten der Zylinder des äußersten der Bänder mit dem Sektorversatz zwischen den Spuren in jedem der Zylinder.
16. Gerät (6) zum Anordnen logischer Datenblöcke in physikalischen Blockstellen in zumindest einer Speichereinheit (4) vom Plattenlaufwerktyp, gekennzeichnet durch:
eine Einrichtung (6) zum Verarbeiten von Parametern der Plattenlaufwerk-Speichereinheit, die die Zahl und Reihenfolge von Sektoren in jeder der Spuren für jeden Zylinder in dem Plattenlaufwerk und die Zahl und Reihenfolge von Spuren in jedem der Zylinder einschließen; und
eine Einrichtung (6) zum Zuweisen logischer Blockzahlen, und zwar dem Plattenlaufwerk, in der umgekehrten Reihenfolge der Spuren und Sektoren in den Zylindern.
17. Gerät nach Anspruch 16, worin die Einrichtung zum Verarbeiten von Parametern die Zahl und Reihenfolge der Plattenlaufwerke, die Zahl und Reihenfolge von Bändern auf jedem der Plattenlaufwerke und die Zahl und Reihenfolge der Zylinder für jedes der Bänder verarbeitet.
18. Gerät nach Anspruch 17, worin die Einrichtung zum Zuweisen der logischen Blockzahlen die logischen Blockzahlen allen Plattenlaufwerken in der umgekehrten Reihenfolge der Plattenlaufwerke, Bänder und Zylinder zuweist.
19. Gerät nach Anspruch 18, worin die Einrichtung zum Zuweisen sequentielle Medien-Blockzahlen jedem der Plattenlaufwerke in dem Satz von Plattenlaufwerken in der umgekehrten Reihenfolge der Bänder, Zylinder, Spuren und Sektoren von jedem der Plattenlaufwerke zuweist.
20. Gerät nach Anspruch 19, worin die Einrichtung zum Zuweisen der logischen Blockzahlen und Medien-Blockzahlen ferner eine Einrichtung aufweist zum Versetzen der Anordnung der logischen Blockzahlen und Medien-Blockzahlen zwischen den Spuren in jedem der Zylinder um einen Sektorversatz entsprechend der Zahl der Sektoren, die während -einer Kopfumsetz Operation zwischen den Spuren in jedem der Zylinder passiert wurden.
21. Gerät nach Anspruch 20, worin die Einrichtung zum Versetzen der logischen Blockzahlen und Medien-Blockzahlen die logischen Blockzahlen und Medien-Blockzahlen um den Sektorversatz in der umgekehrten Reihenfolge der Sektoren versetzt.
22. Gerät nach Anspruch 21, worin die Einrichtung zum Zu-40 weisen der Medien-Blockzahlen die Medien-Blockzahlen von der obersten Spur des äußersten der Zylinder des innersten der Bänder bis zur untersten Spur des innersten der Zylinder des äußersten der Bänder zuweist.
23. Gerät nach Anspruch 22, worin die Einrichtung zum Zuweisen der logischen Blockzahlen die logischen Blockzahlen von der obersten Spur im äußersten der Zylinder des innersten der Bänder in dem letzten der Plattenlaufwerke des Satzes von Plattenlaufwerken bis zur untersten Spur in dem innersten der Zylinder des äußersten der Bänder in dem letzten der Plattenlaufwerke zuweist.
24. Gerät (6) nach Anspruch 16 zum Anordnen der logischen Datenblöcke in physikalischen Blockstellen in einem Satz von Speichereinheiten vom Plattenlaufwerktyp, worin die Einrichtung zum Verarbeiten von Parametern ferner die Zahl und Reihenfolge der Plattenlaufwerke, die Zahl und Reihenfolge von Bändern auf jedem der Plattenlaufwerke, die Zahl und Reihenfolge von Zylindern für jedes der Bänder, die Zahl und Reihenfolge von Sektoren in jeder Spur für jedes der Bänder verarbeitet; und
die Einrichtung zum Zuweisen allen Plattenlaufwerken in der umgekehrten Reihenfolge der Plattenlaufwerke, Bänder, Zylinder, Spuren und Sektoren logische Blockzahlen zuweist.
25. Gerät nach Anspruch 24, worin die Einrichtung zum Verarbeiten von Parametern die Zahl von Spuren pro Streifen in dem Satz von Plattenlaufwerken verarbeitet und die Einrichtung zum Zuweisen jedem der Bänder in jedem der Plattenlaufwerke ohne Kreuzen der Grenzen der Bänder Vollstreifengrenzen und Abschnitten der Zylinder zwischen den zugewiesenen Vollstreifengrenzen Kurzstreifengrenzen mit einer geringeren Zahlen von Spuren als die Vollstreifen zuweist.
26. Gerät nach Anspruch 25, worin die Einrichtung zum Zuweisen jedem der Plattenlaufwerke in dem Satz von Plattenlaufwerken in umgekehrter Reihenfolge der Bänder, Zylinder, Spuren und Sektoren jedes der Plattenlaufwerke sequentielle Medien-Blockzahlen zuweist.
27. Gerät nach Anspruch 26, worin die Einrichtung zum Zuweisen logischer Blockzahlen und Medien-Blockzahlen ferner eine Einrichtung zum Versetzen der Anordnung der logischen Blockzahlen und der Medien-Blockzahlen zwischen den Spuren in jedem der Zylinder um einen Sektorversatz entsprechend der Zahl der Sektoren aufweist, die während einer Kopfumsetz-Operation zwischen den Spuren in jedem der Zylinder passiert wurden.
28. Gerät nach Anspruch 27, worin die Einrichtung zum Versetzen der logischen Blockzahlen und Medien-Blockzahlen die logischen Blockzahlen und Medien-Blockzahlen um den Sektorversatz versetzt.
29. Gerät nach Anspruch 16 zum Anordnen der logischen Datenblöcke in physikalischen Blockstellen in einem in Streifen geteilten Satz von Speichereinheiten vom Plattenlaufwerktyp, worin die Einrichtung zum Verarbeiten von Parametern ferner die Zahl und Reihenfolge der Plattenlaufwerke, die Zahl und Reihenfolge von Bändern auf jedem der Plattenlaufwerke, die Zahl und Reihenfolge von Zylindern für jedes der Bänder, die Zahl und Reihenfolge von Sektoren für jede der Spuren in jedem der Bänder und die Zahl von Spuren für jeden Streifen verarbeitet; und
wobei das Gerät ferner aufweist:
eine Einrichtung zum Zuweisen von Vollstreifengrenzen, und zwar jedem der Bänder in jedem der Plattenlaufwerke, ohne Kreuzen der Grenzen der Bänder;
eine Einrichtung zum Zuweisen von Kurzstreifengrenzen mit einer geringeren Zahl von Spuren als die Vollstreifen, und zwar Abschnitten der Zylinder zwischen den zugewiesenen Vollstreifengrenzen; und
Einrichtung zum Zuweisen logischer Blockzahlen, und zwar allen Plattenlaufwerken, in der umgekehrten Reihenfolge der Sektoren und Spuren in den zugewiesenen Streifen in dem in Streifen geteilten Satz von Plattenlaufwerken von der obersten Spur des äußersten der Zylinder des innersten der Bänder bis zur untersten Spur des innersten der Zylinder des äußersten der Bänder mit einem Sektorversatz zwischen den Spuren in jedem der Zylinder entsprechend der Zahl der Sektoren, die während einer Kopfilmsetz-Operation zwischen den Spuren in jedem der Zylinder passiert wurden.
30. Gerät nach Anspruch 29, worin die Einrichtung zum Zuweisen jedem der Plattenlaufwerke in dem Satz von Plattenlaufwerken in umgekehrter Reihenfolge der Sektoren und Spuren in den Zylindern für jedes der Bänder von der obersten Spur des äußersten der Zylinder des innersten der Bänder bis zur untersten Spur des innersten der Zylinder des äußersten der Bänder mit dem Sektorversatz zwischen den Spuren in jedem der Zylinder sequentielle Medien-Blockzahlen zuweist.
DE69128807T 1990-04-13 1991-04-02 Verfahren und Gerät zur Optimierung von Vorausholungscachespeicherung Expired - Fee Related DE69128807T2 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US07/509,037 US5283875A (en) 1990-04-13 1990-04-13 Method and apparatus for optimizing prefetch caching by reverse ordering of logical blocks

Publications (2)

Publication Number Publication Date
DE69128807D1 DE69128807D1 (de) 1998-03-05
DE69128807T2 true DE69128807T2 (de) 1998-06-18

Family

ID=24025043

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69128807T Expired - Fee Related DE69128807T2 (de) 1990-04-13 1991-04-02 Verfahren und Gerät zur Optimierung von Vorausholungscachespeicherung

Country Status (5)

Country Link
US (1) US5283875A (de)
EP (1) EP0452019B1 (de)
JP (1) JPH04227523A (de)
CA (1) CA2039296A1 (de)
DE (1) DE69128807T2 (de)

Families Citing this family (40)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE69131551T2 (de) * 1990-11-09 2000-02-17 Emc Corp., Hopkinton Logische Aufteilung eines Speichersystems mit redundanter Matrix
JP3575811B2 (ja) * 1992-05-07 2004-10-13 株式会社日立製作所 記憶装置
US5546557A (en) * 1993-06-14 1996-08-13 International Business Machines Corporation System for storing and managing plural logical volumes in each of several physical volumes including automatically creating logical volumes in peripheral data storage subsystem
JPH07210335A (ja) * 1993-12-30 1995-08-11 Internatl Business Mach Corp <Ibm> データを読出し、書込み、及び変更する方法及び記憶装置
US5584007A (en) * 1994-02-09 1996-12-10 Ballard Synergy Corporation Apparatus and method for discriminating among data to be stored in cache
US5588129A (en) * 1994-02-09 1996-12-24 Ballard; Clinton L. Cache for optical storage device and method for implementing same
US5636368A (en) * 1994-12-23 1997-06-03 Xilinx, Inc. Method for programming complex PLD having more than one function block type
US6072648A (en) * 1997-08-14 2000-06-06 Seagate Technology, Inc. System and method for formatting disc surfaces
US6141728A (en) * 1997-09-29 2000-10-31 Quantum Corporation Embedded cache manager
US6098114A (en) 1997-11-14 2000-08-01 3Ware Disk array system for processing and tracking the completion of I/O requests
US7107395B1 (en) * 1998-12-31 2006-09-12 Emc Corporation Apparatus and methods for operating a computer storage system
TW573295B (en) 1999-04-23 2004-01-21 Koninkl Philips Electronics Nv Apparatus and method for scanning a rotating information carrier
US6883066B2 (en) * 2001-09-14 2005-04-19 Seagate Technology Llc Method and system for cache management algorithm selection
US6792504B2 (en) 2002-01-25 2004-09-14 Seagate Technology Llc Read on arrival scheme for a disc drive
US20050166012A1 (en) * 2004-01-26 2005-07-28 Yong Liu Method and system for cognitive pre-fetching
US10606754B2 (en) 2012-04-16 2020-03-31 International Business Machines Corporation Loading a pre-fetch cache using a logical volume mapping
US10459892B2 (en) 2014-04-23 2019-10-29 Qumulo, Inc. Filesystem hierarchical aggregate metrics
US11360936B2 (en) 2018-06-08 2022-06-14 Qumulo, Inc. Managing per object snapshot coverage in filesystems
US10795796B1 (en) 2020-01-24 2020-10-06 Qumulo, Inc. Predictive performance analysis for file systems
US11151001B2 (en) 2020-01-28 2021-10-19 Qumulo, Inc. Recovery checkpoints for distributed file systems
CN111400976B (zh) * 2020-03-16 2022-05-06 天津水运工程勘察设计院有限公司 波浪作用下圆柱阵列中j柱对k柱激振力影响的计算方法
US11775481B2 (en) 2020-09-30 2023-10-03 Qumulo, Inc. User interfaces for managing distributed file systems
US11157458B1 (en) 2021-01-28 2021-10-26 Qumulo, Inc. Replicating files in distributed file systems using object-based data storage
US11461241B2 (en) 2021-03-03 2022-10-04 Qumulo, Inc. Storage tier management for file systems
US11132126B1 (en) 2021-03-16 2021-09-28 Qumulo, Inc. Backup services for distributed file systems in cloud computing environments
US11567660B2 (en) 2021-03-16 2023-01-31 Qumulo, Inc. Managing cloud storage for distributed file systems
US11669255B2 (en) 2021-06-30 2023-06-06 Qumulo, Inc. Distributed resource caching by reallocation of storage caching using tokens and agents with non-depleted cache allocations
US11354273B1 (en) * 2021-11-18 2022-06-07 Qumulo, Inc. Managing usable storage space in distributed file systems
US11599508B1 (en) 2022-01-31 2023-03-07 Qumulo, Inc. Integrating distributed file systems with object stores
US12346290B2 (en) 2022-07-13 2025-07-01 Qumulo, Inc. Workload allocation for file system maintenance
US11722150B1 (en) 2022-09-28 2023-08-08 Qumulo, Inc. Error resistant write-ahead log
US11729269B1 (en) 2022-10-26 2023-08-15 Qumulo, Inc. Bandwidth management in distributed file systems
US11966592B1 (en) 2022-11-29 2024-04-23 Qumulo, Inc. In-place erasure code transcoding for distributed file systems
US12292853B1 (en) 2023-11-06 2025-05-06 Qumulo, Inc. Object-based storage with garbage collection and data consolidation
US11921677B1 (en) 2023-11-07 2024-03-05 Qumulo, Inc. Sharing namespaces across file system clusters
US11934660B1 (en) 2023-11-07 2024-03-19 Qumulo, Inc. Tiered data storage with ephemeral and persistent tiers
US12222903B1 (en) 2024-08-09 2025-02-11 Qumulo, Inc. Global namespaces for distributed file systems
US12481625B1 (en) 2024-11-12 2025-11-25 Qumulo, Inc. Integrating file system operations with network infrastructure
US12443568B1 (en) 2024-11-12 2025-10-14 Qumulo, Inc. Verifying performance characteristics of network infrastructure for file systems
US12585563B1 (en) 2025-12-01 2026-03-24 Qumulo, Inc. Caching for object stores

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE2853501A1 (de) * 1978-12-12 1980-06-26 Ibm Deutschland Speicherhierarchie mit ladungsverschiebungsspeicher
JPS5943786B2 (ja) * 1979-03-30 1984-10-24 パナフアコム株式会社 記憶装置のアクセス方式
EP0080878A3 (de) * 1981-11-27 1985-06-26 Storage Technology Corporation Cache-Speicher und Steuerungsverfahren für die Verwendung mit Magnetscheiben
JPS59100964A (ja) * 1982-12-01 1984-06-11 Hitachi Ltd ディスク制御システム及びその並列データ転送方法
US4607346A (en) * 1983-03-28 1986-08-19 International Business Machines Corporation Apparatus and method for placing data on a partitioned direct access storage device
JPS61190638A (ja) * 1985-02-20 1986-08-25 Hitachi Ltd 仮想計算機のフアイル制御方式
JP2636212B2 (ja) * 1985-05-27 1997-07-30 株式会社日立製作所 磁気デイスク装置
US4835686A (en) * 1985-05-29 1989-05-30 Kabushiki Kaisha Toshiba Cache system adopting an LRU system, and magnetic disk controller incorporating it
US5113512A (en) * 1988-06-21 1992-05-12 Matsushita Electric Industrial Co., Ltd. System for managing a storage medium reducing physical space needed
US5018095A (en) * 1990-02-15 1991-05-21 Seagate Technology, Inc. Universal disk drive type emulation for IBM PC-AT computers

Also Published As

Publication number Publication date
DE69128807D1 (de) 1998-03-05
EP0452019A3 (en) 1992-02-26
US5283875A (en) 1994-02-01
EP0452019B1 (de) 1998-01-28
EP0452019A2 (de) 1991-10-16
JPH04227523A (ja) 1992-08-17
CA2039296A1 (en) 1991-10-14

Similar Documents

Publication Publication Date Title
DE69128807T2 (de) Verfahren und Gerät zur Optimierung von Vorausholungscachespeicherung
DE69414556T2 (de) Schnell loeschbare datei
DE102013022051B4 (de) Verfahren und Vorrichtung zum Austausch defekter Sektoren bei SMR-Festplatten
DE69533058T2 (de) Speicherplattenanordnung mit redundanter Speicherung und Verfahren zur inkrementalen Redundanzerzeugung während des Datenschreibens auf die Speicherplattenanordnung
DE69627134T2 (de) Verfahren und anordnung zur steuerung des zugriffs auf eine aufzeichnungsplatte
DE69722991T2 (de) Aufzeichnungsbereichsverwaltungsverfahren und Speichergerät
DE19859529C2 (de) Optische Scheibe und Vorrichtung zum Behandeln einer optischen Scheibe
DE69230204T2 (de) Pufferspeicher und Verwaltungsverfahren dafür
DE3390315T1 (de) Anpassungsfähige Unterteilung eines Chachespeicherraums in Domainen
DE69626569T2 (de) Datenkompressionsverfahren und Struktur für eine Speichereinheit mit direktem Zugriff
DE69527594T2 (de) Flashspeicherkarte
DE69533575T2 (de) Verfahren der und System zur Speicherplatzreservierung für Datenmigration in einem hierarchischen Datenspeicherungssystem durch dynamische Berechnung maximalen Speicherplatzes für Spiegelredundanz
DE69431186T2 (de) Verfahren und Dateisystem zur Zuordnung von Datei-Blöcken zu Speicherplatz in einem RAID-Plattensystem
DE69125862T2 (de) Plattenantriebssystem und Methode zur Zugriffssteuerung einer physikalischen Speicherstelle darin
DE60025749T2 (de) Dateisystemabbildübertragung zwischen ungleichen dateisystemen
DE69533077T2 (de) Speichersystem mit hierarchischer Speicherplattenanordnung und Abbildungsspeicher zur Dauerspeicherung der virtuellen Abbildungsinformation
DE69233228T2 (de) Datenverwaltungssystem für Halbleiterspeicher mit beschränkter Programmierung und I.C. Speicherkarte mit solchem Datenverwaltungssystem
DE19782041B4 (de) Verfahren zum Durchführen eines kontinuierlichen Überschreibens einer Datei in einem nicht-flüchtigen Speicher
DE69714324T2 (de) Bandvorformatierung
EP0704803B1 (de) Verfahren zur Speicherverwaltung eines Flash-Speichers
DE69126108T2 (de) Rotierende Speicheranordnung
EP0195324B1 (de) Kontrolleinheit für einen Magnetplattenspeicher
DE60310530T2 (de) Eine Speicherplattenanordnung basierend auf Festplatten mit Zugriffseinheiten fester Länge
DE4345432B4 (de) Magnetplattenvorrichtung
DE69227219T2 (de) Verfahren zur wahlweise Aufzeichnung oder Wiedergabe von Daten unter Verwendung eines Informationsverarbeitungssystems

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8339 Ceased/non-payment of the annual fee