DE69127895T2 - Logisches spurschreibzuordnungssystem für paralleles plattenlaufwerksmatrixdatenspeicherungsuntersystem - Google Patents

Logisches spurschreibzuordnungssystem für paralleles plattenlaufwerksmatrixdatenspeicherungsuntersystem

Info

Publication number
DE69127895T2
DE69127895T2 DE69127895T DE69127895T DE69127895T2 DE 69127895 T2 DE69127895 T2 DE 69127895T2 DE 69127895 T DE69127895 T DE 69127895T DE 69127895 T DE69127895 T DE 69127895T DE 69127895 T2 DE69127895 T2 DE 69127895T2
Authority
DE
Germany
Prior art keywords
data
disk drives
redundancy
data records
storage space
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 - Lifetime
Application number
DE69127895T
Other languages
English (en)
Other versions
DE69127895D1 (de
DE69127895T4 (de
Inventor
Charles Milligan
George Rudeseal
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.)
Storage Technology Corp
Original Assignee
Storage Technology 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
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=24026794&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=DE69127895(T2) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by Storage Technology Corp filed Critical Storage Technology Corp
Application granted granted Critical
Publication of DE69127895T2 publication Critical patent/DE69127895T2/de
Publication of DE69127895T4 publication Critical patent/DE69127895T4/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/18Error detection or correction; Testing, e.g. of drop-outs
    • G11B20/1833Error detection or correction; Testing, e.g. of drop-outs by adding special lists or symbols to the coded information
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1076Parity data used in redundant arrays of independent storages, e.g. in RAID systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2053Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
    • G06F11/2094Redundant storage or storage space
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2002Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where interconnections or communication control functionality are redundant
    • G06F11/2007Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where interconnections or communication control functionality are redundant using redundant communication media
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2002Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where interconnections or communication control functionality are redundant
    • G06F11/2007Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where interconnections or communication control functionality are redundant using redundant communication media
    • G06F11/201Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where interconnections or communication control functionality are redundant using redundant communication media between storage system components
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2053Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
    • G06F11/2089Redundant storage control functionality
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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/0673Single storage device

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Human Computer Interaction (AREA)
  • Signal Processing (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)
  • Table Devices Or Equipment (AREA)
  • Automatic Analysis And Handling Materials Therefor (AREA)

Description

    SACHGEBIET DER ERFINDUNG
  • Diese Erfindung bezieht sich auf ein kostengünstiges, hoch leistungsfähiges, hoch zuverlässiges Parallel-Plattenlaufwerk-Feld-Datenspeicher-Untersystem, das ein effizientes Datenspeicher-Management-System umfaßt, um dynamisch virtuelle Datenspeichervorrichtungen zu logischen Datenspeichervorrichtungen aufzulisten und das Schreiben von Daten auf diesen Vorrichtungen ablaufmäßig zu planen.
  • PROBLEM
  • Es ist ein Problem auf dem Gebiet von Computersystemen, einen kostengünstigen, hoch leistungsfähigen, hoch zuverlässigen Speicher zu schaffen, der effizient Änderungen in Bezug auf die Daten, die darin gespeichert sind, verarbeiten kann. Dieses Problem ist besonders ernsthaft in dem Fall von Plattenlaufwerk-Speichersystemen. Das typischerweise kommerziell erhältliche Plattenlaufwerk ist eine 14 Inch Formfaktor-Einheit, wie beispielsweise das Plattenlaufwerk IBM 3380K, das eine Dual-Aktuator-Einheit ist, die in zwei Abschnitte pro Spindel unterteilt ist. Die Datenspeicherkapazität des Plattenlaufwerks IBM 3380K beträgt 3,6 Gigabyte an Daten, die in zwei Abschnitten unterteilt sind, wobei jeder davon mit einem Einzel-Aktuator ausgestattet ist und Daten in der Größenordnung von 1,8 Gigabyte speichern kann. Um eine Zugriffszeit auf die am häufigsten verwendeten Daten, die auf dem Plattenlaufwerk gespeichert sind, zu verbessern, werden mit einem Cache-Speicher versehene DASD- Steuereinheiten, wie beispielsweise die IBM 3990 Modell 3 Speichersteuerung, verwendet, um eine Vielzahl dieser Plattenlaufwerke mit den Host-Prozessoren zu verbinden. Modifikationen in Bezug auf die Daten-Aufzeichnungen, die auf dem Laufwerk gespeichert sind, werden typischerweise in dem Cache-Speicher vorgenommmen und jede modifizierte Daten-Aufzeichnung wird dann in ihrer zugeordneten Stelle auf dem Plattenlaufwerk wieder eingeschrieben. Der zugeordnete Host- Prozessor speichert typischerweise Datendateien auf dem Plattenlaufwerk-Speicher durch Schreiben einer gesamten Datendatei auf ein einzelnes Plattenlaufwerk. In diesen typischen Plattenlaufwerk-Speichersystemen ist eine festgelegte Auflistung von Datenspeicheradressen, die durch den zugeordneten Host-Prozessor verwendet wird, zu physikalischen Stellen auf dem Plattenlaufwerk-Speicher vorhanden. Dies vereinfacht das Datenspeicher-Management, das die Plattenspeichersteuerung vornehmen muß.
  • Eine Alternative zu einer mittels Host-Prozessor gesteuerten Speicherauflistung ist in dem virtuellen Speichersystem des US-Patents Nr. 4,467,421 offenbart. Dieses virtuelle Speichersystem empfängt Datendateien von zugeordneten Host-Prozessoren. Der Umfang einer bestimmten Datendatei wird weder durch den Benutzer spezifiziert noch durch den Host-Prozessor in Erwartung zukünftiger Speicherraumerfordernisse spezifiziert. Die Datendatei wird in einem Cache-Speicher in dem virtuellen Speichersystem gespeichert, dessen Größe bestimmt wird, und die Datendatei kann auch komprimiert werden. Das virtuelle Speichersystem teilt dann durch den Benutzer definierte Datensätze in Blöcke einer Größe, die für eine Speicherung auf magnetischen Medien, wie beispielsweise Plattenlaufwerken, passend ist. Diese Blöcke werden Datenspeicherstellen in den Plattenlaufwerken zugeordnet, die durch einen Steuerprozessor in dem virtuellen Speichersystem bestimmt sind.
  • Eine Alternative zu Plattenlaufwerken mit großem Formfaktor zur Speicherung von Daten ist die Verwendung einer Vielzahl von Plattenlaufwerken mit kleinem Formfaktor, die in einem parallelen Feld miteinander verbunden sind. Eine solche Anordnung ist das Micropolis Parallel Drive Array, Modell 1804 SCSI (offenbart in dem US-Patent Nr. 4,870,643, herausgegeben am 26. September 1989), das vier parallele, synchronisierte Plattenlaufwerke und ein redundantes Paritäts-Plattenlaufwerk verwendet. Diese Anordnung verwendet einen Paritäts-Schutz, der durch das Paritäts-Plattenlaufwerk geschaffen ist, um eine Datenzuverlässigkeit zu erhöhen. Der Fehler eines der vier Daten-Plattenlaufwerke kann durch die Verwendung von Paritäts-Bits behoben werden, die auf dem Paritäts-Plattenlaufwerk gespeichert sind. Die Daten-Plattenlaufwerke bilden, wenn sie miteinander verbunden sind, ein "logisches Plattenlaufwerk", das durch das Datenspeichersystem als ein virtuelles Plattenlaufwerk verwendet wird, um die Charakteristika der Plattenlaufwerke mit großem Formfaktor zu emulieren. Diese Architektur multipliziert die Daten-Übertragungsrate eines einzelnen Daten-Plattenlaufwerks durch die Zahl der Daten-Plattenlaufwerke, die parallel verbunden sind, um hohe Daten-Übertragungsraten zu erreichen. Allerdings erfordert ein Lesen/Schreiben von Daten einen Zugriff auf alle Plattenlaufwerke in der Paritäts-Gruppe und es sind dort zu wenig unabhängige Aktuatoren vorhanden. Für kleine Daten-Übertragungen wird die Systemfunktion bzw. -leistung durch eine Daten-Zugriffszeit und nur mit einem einzelnen Aktuator dominiert, wobei dieses System eine hohe Daten-Übertragungsrate, allerdings eine schlechte Daten-Zugriffszeit, besitzt. Diese Architektur leidet auch darunter, daß die Paritäts- Daten auf der Paritäts-Platte für alle Datendatei-Modifikationen aktualisiert werden müssen.
  • Ein ähnliches System ist in dem US-Patent Nr. 4,722,085 offenbart, wobei ein Plattenlaufwerk-Speicher mit einer hohen Kapazität offenbart wird. Dieser Plattenlaufwerk-Speicher verwendet eine Vielzahl von relativ kleinen, synchron arbeitenden Plattenuntersystemen, um als ein großes Plattenlaufwerk mit einer hohen Kapazität zu funktionieren, das eine ungewöhnlich hohe Ausfalltoleranz und eine sehr hohe Daten-Übertragungsbandbreite besitzt. Ein Daten-Organisierer fügt sieben Fehler- Prüf-Bits zu jedem 32 Bit Datenwort hinzu, um eine Fehlerprüfungs- und eine Fehlerkorrekturfähigkeit zu schaffen. Das sich ergebende Wort mit 39 Bit wird, und zwar ein Bit pro Plattenlaufwerk, auf 39 Plattenlaufwerken geschrieben. In dem Fall, daß eines der 39 Plattenlaufwerke fehlerhaft arbeitet, können die verbleibenden 38 Bits des gespeicherten Worts mit 39 Bit dazu verwendet werden, das Datenwort mit 32 Bit auf einer Basis Wort für Wort zu rekonstruieren, wenn jedes Datenwort aus dem Speicher gelesen wird, um dadurch eine Fehlertoleranz zu erhalten. Eine Einschränkung des Plattenlaufwerk-Speichersystems des US-Patents 4,722,085 ist diejenige, daß diese Parallel-Plattenlaufwerk-Feld-Architektur eng gekoppelte Platten-Aktuatoren verwendet. Diese Anordnung besitzt eine hohe Daten-Übertragungsbandbreite, allerdings effektiv nur eine einzelne, logische Aktuator-Position für 2,75 Gigabyte an Speicher. Dies beeinflußt nachteilig die Direktzugriffsspeicher-Funktion bzw. Leistung dieses Festpiatten-Speichersystems, da auf alle Speicher nur über den einzelnen, logischen Aktuator zugegriffen werden kann.
  • Eine andere Plattenlaufwerk-Feld-Architektur ist in dem Aufsatz mit dem Titel "A Case for Redundant Arrays of Inexpensive Disks (RAID)" von David A. Patterson et al, veröffentlicht am 1-3. Juni 1988 in den Proceedings der ACM SIGMOD Conference, offenbart. Die RAID-Veröffentlichung diskutiert fünf Plattenfeldkonfigurationen. Die Zweit- und Dritt-Niveau-RAIDs verwenden dicht gekoppelte Aktuatoren auf einer Vielzahl von Plattenlaufwerken innerhalb einer Redundanz-Gruppe, um eine Daten- Übertragung über alle Plattenlaufwerke innerhalb der Redundanz-Gruppe zu spreizen, im Gegensatz dazu, Daten auf ein einzelnes Plattenlaufwerk zu schreiben. Diese parallele Daten-Übertragung erhöht die Daten-Übertragungsbandbreite, erfordert allerdings einen synchronisierten Zugriff auf alle Plattenlaufwerke in einer Redundanz-Gruppe, um Daten zu lesen/zu schreiben. Ein Beispiel eines Zweit-Niveau- RAID-Systems ist dasjenige, das in dem vorstehend erwähnten US-Patent Nr. 4,722,085 offenbart ist, während das US-Patent Nr. 4,870,643 ein Beispiel eines Dritt-Niveau-RAID-Systems ist. Das Viert-Niveau-RAID vermeidet dieses Problem unter Verwendung lose gekoppelter Aktuatoren auf der Vielzahl der Plattenlaufwerke in der Paritäts-Gruppe und durch Schreiben eines Daten-Blocks auf einen einzelnen Sektor auf einem Plattenlaufwerk im Gegensatz zu einem Verteilen des Daten- Blocks über alle Plattenlaufwerke innerhalb der Paritäts-Gruppe. Das Fünft-Niveau- RAID ist eine Variation des Viert-Niveau-RAIDS, wobei die Paritäts-Daten über alle Plattenlaufwerke innerhalb der Paritäts-Gruppe verteilt werden, im Gegensatz dazu, ein zugeordnetes Paritäts-Plattenlaufwerk zu verwenden.
  • Eine signifikante Schwierigkeit mit dem Viert- und Fünft-Niveau-RAID-System ist dasjenige, daß die Parität für die Paritäts-Gruppe zu jedem Zeitpunkt aktualisiert werden muß, zu dem Daten in die Paritäts-Gruppe eingeschrieben werden. In diesen Platten-Feldsystemen müssen zu jedem Zeitpunkt, zu dem eine Daten-Aufzeichnung von einer der n Daten-Platten in einer Paritäts-Gruppe gelesen und modifiziert werden, die entsprechenden Daten-Aufzeichnungen auf den verbleibenden n-1 Datenplatten auch von der Paritäts-Gruppe gelesen werden, um das Paritäts-Segment zu regenerieren. Wenn einmal eine neue Parität berechnet ist, müssen die n+1 Segmente alle auf die n+1 Plattenlaufwerke in der Paritäts-Gruppe zurückgeschrieben werden. Das Viert- und Fünft-Niveau-RAID-System verknüpft mit Exklusiv-ODER die alten Daten, die alte Parität und die neuen Daten, um das Paritäts-Segment zu regenerieren, um dadurch die n+1 Lesungen und Schreibvorgänge auf zwei konkurrierende Lesungen und Schreibvorgänge zu reduzieren. Falls vielfache Prüf-Bits, wie beispielsweise für einen Reed-Solomon-Code, anstelle eines einzelnen Paritäts- Bits, verwendet werden, ist der Leistungs- bzw. Funktionseinfluß einer Prüf-Bit-Aktualisierung vervielfacht. Der negative Einfluß auf die Funktion erhöht sich mit der Zahl der Prüf-Bits. Eine Funktion bzw. Leistung eines solchen Vielfach-Prüf-Bit-RAID-Systems ist schlecht und nicht mit existierenden DASD-Produkten mit großem Formfaktor konkurrenzfähig. Existierende Systeme opfern die zusätzliche Datenintegrität, die potentiell durch vielfache Prüf-Bits geschaffen ist, gegen die geringere Funktionsherabsetzung, die durch Beibehalten nur eines einzelnen Paritäts-Bits geliefert wird.
  • LÖSUNGEN
  • Die vorstehend beschriebenen Probleme werden in einer vorteilhaften Art und Weise grundsätzlich durch Anwenden der Merkmale gelöst, die in den unabhängigen Ansprüchen angegeben sind. Weitere Verbesserungen sind durch die Unteransprüche angegeben. Ein technischer Fortschrift wird auf dem Gebiet durch das Logik- Spur-Schreib-Ablaufplanungssystem für ein Parallel-Plattenlaufwerk-Feld- Datenspeicher-Untersystem erreicht, das eine große Vielzahl von Plattenlaufwerken mit kleinem Formfaktor verwendet, um einen kostengünstigen, hoch leistungsfähigen, hoch zuverlässigen Plattenlaufwerk-Speicher zu verwenden, der das Format und die Fähigkeit von Plattenlaufwerken mit großem Formfaktor emuliert. Dieses System vermeidet das Paritäts-Aktualisierungsproblem des Stands der Technik, indem niemals die Parität einer Daten-Redundanz-Gruppe aktualisiert wird. Anstelle davon werden alle neuen oder modifizierten Daten aufleere, logische Spuren eingeschrieben und die alten Daten werden als veraltet mit einem Kennzeichen versehen. Die sich ergebenden "Löcher" in den logischen Spuren, die durch alte Daten verursacht sind, werden durch einen Hintergrund-Freiraum-Sammel-Prozeß entfernt, der leere, logische Spuren durch Sammeln gültiger Daten in zuvor geleerten logischen Spuren erzeugt. Durch Schreiben der modifizierten Daten in leere Spuren wird die Zahl der Lese- und Schreibvorgänge verglichen mit dem Viert- und Fünft-Niveau-RAID-System halbiert und die Erzeugung neuer Paritäts-Segmente wird auf dem Flug vorgenommen, wenn Daten empfangen werden, um dadurch weniger Verarbeitungszeit als eine Paritäts-Regeneration zu erfordern.
  • Die Vielzahl Plattenlaufwerke in dem Parallel-Plattenlaufwerk-Feld- Datenspeicher-Untersystem sind in eine Vielzahl von Redundanz-Gruppen variabler Größe von N+M parallel verbundener Plattenlaufwerke konfiguriert, um Daten darauf zu speichern. Jede Redundanz-Gruppe, auch als logisches Plattenlaufwerk bezeichnet, ist in eine Zahl logischer Zylinder unterteilt, wobei jeder i logische Spuren enthält, wobei eine logische Spur für jede der i physikalischen Spuren in einem Zylinder eines physikalischen Plattenlaufwerks enthalten ist. Jede logische Spur ist aus N+M physikalischer Spuren aufgebaut, eine physikalische Spur von jedem Plattenlaufwerk in der Redundanz-Gruppe. Die N+M Plattenlaufwerke werden dazu verwendet, N Datensegmente zu speichern, und zwar eines auf jeder der N physikalischen Spuren pro logischer Spur, und um M Redundanz-Segmente zu speichern, eines auf jeder der M physikalischen Spuren pro logischer Spur in der Redundanz-Gruppe. Die N+M Plattenlaufwerke in einer Redundanz-Gruppe besitzen nicht synchronisierte Spindeln und lose gekoppelte Aktuatoren. Die Daten werden zu den Plattenlaufwerken über unabhängige Lese- und Schreibvorgänge übertragen, da alle Plattenlaufwerke unabhängig arbeiten. Weiterhin werden die M Redundanz-Segmente, für aufeinanderfolgende, logische Zylinder, über alle der Plattenlaufwerke in der Redundanz-Gruppe verteilt, im Gegensatz dazu, zugeordnete Redundanz-Plattenlaufwerke zu verwenden. Die Redundanz-Segmente werden so verteilt, daß jeder Aktuator in einer Redundanz-Gruppe dazu verwendet wird, auf einige der Daten-Segmente zuzugreifen, die auf den Plattenlaufwerken gespeichert sind. Wenn zugeordnete Laufwerke für Redundanz-Segmente vorgesehen werden würden, dann würden diese Plattenlaufwerke inaktiv sein, ohne daß Redundanz-Segmente von diesen Laufwerken gelesen oder darauf geschrieben werden würden. Allerdings sind mit einer verteilten Redundanz alle Aktuatoren in einer Redundanz-Gruppe für einen Datenzugriff verfügbar. Zusätzlich wird ein Pool aus R global schaltbaren Sicherungs- bzw. Backup-Plattenlaufwerken in dem Datenspeicher-Untersystem aufrechterhalten, um automatisch ein Ersatz-Plattenlaufwerk für ein Laufwerk in irgendeiner Redundanz- Gruppe zu substituieren, das während des Betriebs fehlerhaft arbeitet bzw. ausfällt. Der Pool der R Sicherungs-Plattenlaufwerke liefert eine hohe Zuverlässigkeit unter geringen Kosten.
  • Jedes physikalische Plattenlaufwerk ist so aufgebaut, daß es einen Fehler in seiner Betriebsweise erfassen kann, was ermöglicht, daß die M Redundanz-Segmente pro logischer Spur für eine Multi-Bit-Fehlerkorrektur verwendet werden können. Eine Identifikation des ausgefallenen, physikalischen Plattenlaufwerks liefert Informationen über die Bit-Position der Fehler in der logischen Spur und die Redundanz-Daten liefern Informationen, um die Fehler zu korrigieren. Wenn einmal ein ausgefallenes Plattenlaufwerk in einer Redundanz-Gruppe identifiziert ist, wird ein Sicherungs- Laufwerk von dem gemeinsam geteilten Pool der Sicherungs-Laufwerke automatisch an die Stelle des ausgefallenen Plattenlaufwerks eingeschaltet. Ein Steuerschaltkreis rekonstruiert die Daten, die auf jeder physikalischen Spur des ausgefallenen Plattenlaufwerks gespeichert sind, unter Verwendung der verbleibenden N-1 physikalischen Spuren der Daten plus der zugeordneten M physikalischen Spuren, die Redundanz-Segmente jeder logischen Spur enthalten. Ein Fehler bzw. Ausfall in den Redundanz-Segmenten erfordert keine Daten-Rekonstruktion, sondern benötigt eine Regeneration der Redundanz-Informationen. Die rekonstruierten Daten werden dann auf das substituierte Plattenlaufwerk geschrieben. Die Verwendung von Sicherungs-Plattenlaufwerken erhöht die System-Zuverlässigkeit der N+M Parallel-Plattenlaufwerk-Architektur, während die Verwendung eines gemeinsam geteilten Pools aus Sicherungs-Plattenlaufwerken die Kosten zum Erzielen der verbesserten Zuverlässigkeit minimiert.
  • Das Parallel-Plattenlaufwerk-Feld-Datenspeicher-Untersystem umfaßt ein Datenspeicher-Management-System, das eine verbesserte Datenspeicherung und Suchfunktion durch dynamisches Auflisten zwischen virtuellen und physikalischen Datenspeichervorrichtungen schafft. Das Parallel-Plattenlaufwerk-Feld- Datenspeicher-Untersystem besteht aus drei abstrakten Schichten: virtuell, logisch und physikalisch. Die virtuelle Schicht funktioniert als ein herkömmlicher Festplatten- Speicher mit großem Formfaktor. Die logische Schicht funktioniert als ein Feld aus Speichereinheiten, die in eine Vielzahl von Redundanz-Gruppen gruppiert sind, wo bei jede aus N+M physikalischen Plattenlaufwerken besteht. Die physikalische Schicht funktioniert als eine Vielzahl von individuellen Plattenlaufwerken mit kleinem Formfaktor. Das Datenspeicher-Management-System arbeitet so, um die dynamische Auflistung der Daten unter diesen abstrakten Schichten zu bewirken und um die Zuordnung und das Management des tatsächlichen Raums auf den physikalischen Vorrichtungen zu steuern. Diese Datenspeicher-Management-Funktionen werden in einer Art und Weise durchgeführt, die die Betriebsweise des Parallel-Plattenlaufwerk-Feld-Datenspeicher-Untersystems transparent für den Host-Prozessor gestaltet, der nur das virtuelle Bild des Plattenlaufwerk-Feld-Datenspeicher-Untersystems wahrnimmt.
  • Die Funktion bzw. Leistung dieses Systems wird durch die Verwendung eines Cache-Speichers mit sowohl flüchtigen als auch nicht flüchtigen Bereichen und "Rückend" ("backend") Datenabstufungs- und Entstufungs-Prozesse erhöht. Daten, die von den Host-Prozessoren empfangen sind, werden in dem Cache-Speicher in der Form von Modifikationen zu Daten, die schon in der Redundanz-Gruppe des Datenspeicher-Untersystems gespeichert sind, gespeichert. Keine Daten, die in der Redundanz-Gruppe gespeichert sind, werden modifiziert. Eine virtuelle Spur wird von einer Redundanz-Gruppe in einem Cache-Speicher abgestuft. Der Host modifiziert dann einige, vielleicht alle, der Aufzeichnungen auf der virtuellen Spur. Dann wird, wie durch einen Cache-Ersetzungs-Algorithmus, wie beispielsweise der Least Recently Used, etc., die modifizierte, virtuelle Spur ausgewählt, so daß sie zu einer Redundanz-Gruppe speichermäßig entstuft wird. Wenn dies so ausgewählt ist, wird eine virtuetle Spur in verschiedene physikalische Sektoren dividiert (marked off), so daß sie auf einer oder mehrerer physikalischer Spur(en) einer oder mehrerer logischer Spur(en) gespeichert werden kann. Eine vollständige physikalische Spur kann physikalische Sektoren von einer oder mehreren virtuellen Spur(en) enthalten. Jede physikalische Spur wird mit N-1 anderen physikalischen Spuren kombiniert, um die N-Daten-Segmente einer logischen Spur zu bilden.
  • Die originalen, nicht modifizierten Daten werden einfach als veraltet mit einem Zeichen versehen. Offensichtlich enthalten, wenn Daten modifiziert werden, die Redundanz-Gruppen zunehmend zahlreiche virtuel le Spuren aus veralteten Daten. Die verbleibenden, gültigen, virtuellen Spuren in einem logischen Zylinder werden zu dem Cache-Speicher in einem Hintergrund-(Freiraumsammlungs-) "Prozeß" gelesen. Sie werden dann in einen zuvor geleerten logischen Zylinder eingeschrieben und der "gesammelte" logische Zylinder wird dann als leer mit einem Zeichen versehen. Demzufolge treten die gesamte Redundanz-Daten-Erzeugung, ein Schreiben und eine Freiraumsammlung in einem Hintergrund, im Gegensatz zu Prozessen auf Anforderung, auf. Diese Anordnung vermeidet das Paritäts-Aktualisierungsproblem existierender Platten-Feld-Systeme und verbessert die Ansprechzeit gegenüber einer Zugriffsraten-Leistung des Datenspeicher-Untersystems durch Übertragen dieser Overhead-Aufgaben auf Hintergrundprozesse.
  • KURZE BESCHREIBUNG DER ZEICHNUNG
  • Figur 1 stellt in Form eines Blockdiagramms die Architektur des Parallel-Laufwerk- Feld-Datenspeicher-Untersystems dar;
  • Figur 2 stellt die Cluster-Steuerung des Datenspeicher-Untersystems dar;
  • Figur 3 stellt den Plattenlaufwerk-Manager dar;
  • Figur 4 stellt den Plattenlaufwerk-Manager-Steuerschaltkreis dar;
  • Figur 5 stellt die Plattenlaufwerk-Manager-Plattensteuerelektroniken dar;
  • Figuren 6 und 7 stellen, in Flußdiagrammform, die betriebsmäßigen Schritte dar, die vorgenommen werden, um eine Daten-Lese- und -Schreiboperation jeweils durchzuführen;
  • Figur 8 stellt einen typischen Freiraum-Einstellsatz bzw. -Directory dar, der in dem Datenspeicher-Untersystem verwendet wird;
  • Figur 9, stellt in Flußdiagrammform, den Freiraum-Sammel-Prozeß dar.
  • Datenspeicher-Untersystem-Architektur
  • Figur 1 stellt in Blockdiagrammform die Architektur der bevorzugten Ausführungsform des Parallel-Plattenlaufwerk-Feld-Datenspeicher-Untersystems 100 dar. Das Parallel-Plattenlaufwerk-Feld-Datenspeicher-Untersystem 100 erscheint zu den zugeordneten Host-Prozessoren 11-12 so, daß es eine Sammlung von Plattenlaufwerken mit einem großen Formfaktor mit deren zugeordneter Speichersteuerung ist, da die Architektur eines Parallel-Plattenlaufwerk-Feld-Datenspeicher-Untersystems 100 zu den zugeordneten Host-Prozessoren 11-12 transparent ist. Dieses Parallel-Plattenlaufwerk-Feld-Datenspeicher-Untersystem 100 umfaßt eine Vielzahl von Plattenlaufwerken (zum Beispiel 122-1 bis 125-r), die in einer Vielzahl von Plattenlaufwerk- Untersätzen 103-1 bis 103-i angeordnet sind. Die Plattenlaufwerke 122-1 bis 125-r sind wesentlich weniger teuer, gerade obwohl sie Plattenlaufwerke, um Redundanz- Informationen zu speichern, und Plattenlaufwerke für Backup- bzw. Sicherungs- Zwecke, als das typische Formfaktor-Plattenlaufwerk mit 14 Inch mit einem zugeordneten Sicherungs-Plattenlaufwerk, schaffen. Die Vielzahl der Plattenlaufwerke 122-1 bis 125-r sind typischerweise die handelsüblichen Festplattenlaufwerke mit dem Formfaktor mit 5¼ Inch.
  • Die Architektur, die in Figur 1 dargestellt ist, ist diejenige, daß eine Vielzahl von Host-Prozessoren 11-12 über die jeweilige Vielzahl Datenkanäle 21, 22-31, 32 jeweils mit einem Datenspeicher-Untersystem 100 zwischenverbunden ist, das die Backend-Datenspeicherkapazität für die Host-Prozessoren 11-12 liefert. Diese Basiskonfiguration ist ausreichend auf dem Gebiet der Datenverarbeitung bekannt. Das Datenspeicher-Untersystem 100 umfaßt eine Steuereinheit 101, die dazu dient, die Untersätze der Plattenlaufwerke 103-1 bis 1 03-i und deren zugeordnete Laufwerkmanager 102-1 bis 102-i mit den Datenkanälen 21-22, 31-32 zwischenzuverbinden, die das Datenspeicher-Untersystem 100 mit der Vielzahl der Host-Prozessoren 11, 12 zwischenverbindet.
  • Die Steuereinheit 101 umfaßt typischerweise zwei Cluster-Steuerungen 111, 112 für Redundanz-Zwecke. Innerhalb einer Cluster-Steuerung 111 schafft der Vielfachpfad-Speicher-Direktor 110-0 eine Hardware-Schnittstelle, um Datenkanäle 21, 31 mit der Cluster-Steuerung 111 zwischenzuverbinden, die in der Steuereinheit 101 enthalten ist. In Bezug hierauf liefert der Vielfachpfad-Speicher-Direktor 110-0 eine Hardware-Schnittstelle zu den zugeordneten Datenkanälen 21, 31 und schafft eine Multiplex-Funktion, um irgendeinem zugeordneten Datenkanal, zum Beispiel 21, von irgendeinem Host-Prozessor, zum Beispiel 11, zu ermöglichen, sich mit einer ausgewählten Cluster-Steuerung 111 innerhalb der Steuereinheit 101 zwischenzuverbinden. Die Cluster-Steuerung 111 selbst liefert ein Paar Speicherpfade 200-0, 200-1, die als eine Schnittstelle zu einer Vielzahl von Optikfaser-Rückend-Kanälen 104 funktionieren. Zusätzlich umfaßt die Cluster-Steuerung 111 eine Datenkompressionsfunktion ebenso wie eine Datenführungsfunktion, um der Cluster-Steuerung 111 zu ermöglichen, die Übertragung von Daten zwischen einem ausgewählten Datenkanal 21 und einem Cache-Speicher 113 und zwischen dem Cache-Speicher 113 und einem der verbundenen Optikfaser-Rückend-Kanäle 104 zu richten. Die Steuereinheit 101 schafft die Haupt-Daten-Speicher-Untersystem-Steuerfunktionen, die die Erzeugung und Regulierung von Daten-Redundanz-Gruppen, die Rekonstruktion von Daten für ein ausgefallenes Plattenlaufwerk, Umschalten eines Ersatzlaufwerks anstelle eines ausgefallenen Plattenlaufwerks, eine Daten-Redundanz-Erzeugung, ein Raum-Management einer logischen Vorrichtung, und eine Virtuell-zu-Logik-Vorrichtungsauflistung, umfassen. Diese Untersystem-Funktionen werden in weiterem Detail nachfolgend besprochen.
  • Der Plattenlaufwerk-Manager 102-1 verbindet die Vielzahl der handelsüblichen Plattenlaufwerke 122-1 bis 1 25-r, die in dem Plattenlaufwerk-Untersatz 103-1 vorhanden sind, mit der Vielzahl der Optikfaser-Backend-Kanäle 104. Der Plattenlaufwerk-Manager 102-1 umfaßt einen Eingabelausgabe-Schaltkreis 120, der eine Hardware- Schnittstelle schafft, um die Optikfaser-Backend-Kanäle 104 mit den Datenpfaden 126 zu verbinden, die Steuer- und Antriebsschaltkreise 121 versorgen. Die Steuerund Antriebsschaltkreise 121 empfangen die Daten auf Leitern 126 von dem Eingabelausgabe-Schaltkreis 120 und wandeln die Form und das Format dieser Signale, wie dies durch die zugeordneten, handelsüblichen Plattenlaufwerke in dem Plattenlaufwerk-Untersatz 103-1 erforderlich ist. Zusätzlich schaffen die Steuer- und Antriebsschaltkreise 121 eine Steuersignalisierschnittstelle, um Signale zwischen dem Plattenlaufwerk-Untersatz 103-1 und der Steuereinheit 101 zu übertragen.
  • Die Daten, die auf die Plattenlaufwerke in dem Plattenlaufwerk-Untersatz 103-1 geschrieben sind, bestehen aus Daten, die von einem zugeordnten Host-Prozessor 11 über einen Datenkanal 21 zu einer der Cluster-Steuerungen 111, 112 in der Steuereinheit 101 übertragen werden. Die Daten werden zum Beispiel in die Cluster-Steuereinheit 111 geschrieben, die die Daten in dem Cache-Speicher 113 speichert. Die Cluster-Steuerung 111 speichert N physikalische Spuren aus Daten in einem Cache- Speicher 113 und erzeugt M Redundanz-Segmente für Fehlerkorrekturzwecke. Die Cluster-Steuerung 111 wählt dann einen Untersatz der Plattenlaufwerke (122-1 bis 122-n+m) aus, um eine Redundanz-Gruppe zu bilden, um die empfangenen Daten zu speichern. Die Cluster-Steuerung 111 wählt eine leere, logische Spur, die aus N+M physikalischen Spuren besteht, in der ausgewählten Redundanz-Gruppe aus. Jede der N physikalischen Spuren der Daten wird auf eines der N Plattenlaufwerke in der ausgewählten Daten-Redundanz-Gruppe geschrieben. Zusätzliche M Plattenlaufwerke werden in der Redundanz-Gruppe verwendet, um die M Redundanz-Segmente zu speichern. Die M Redundanz-Segmente umfassen Fehlerkorrekturzeichen und Daten, die dazu verwendet werden können, die Integrität der N physikalischen Spuren zu verifizieren, die auf den N Plattenlaufwerken gespeichert sind, ebenso, um eine oder mehrere der N physikalischen Spur(en) der Daten zu rekonstruieren, falls die physikalische Spur aufgrund eines Ausfalls bzw. Fehlers des Plattenlaufwerks verloren war, auf dem diese physikalische Spur gespeichert ist.
  • Demzufolge kann das Datenspeicher-Untersystem 100 ein oder mehrere Plattenlaufwerk(e) mit großem Formfaktor (zum Beispiel ein Typ IBM 3380K eines Plattenlaufwerks) emulieren, die eine Vielzahl von Plattenlaufwerken mit kleinerem Formfaktor verwenden, während sie eine hoch zuverlässige Fähigkeit durch Schreiben der Daten über eine Vielzahl von Plattenlaufwerken mit kleinerem Formfaktor liefern. Eine Zuverlässigkeitsverbesserung wird auch durch Vorsehen eines Pools von R Sicherungsplattenlaufwerken (125-1 bis 125-r) erhalten, die umschaltbar anstelle eines fehlerhaften Plattenlaufwerks zwischenverbindbar sind. Eine Datenrekonstruktion wird unter Verwendung der M Redundanz-Segmente durchgeführt, so daß die Daten, die auf den verbleibenden, funktionierenden Plattenlaufwerken kombiniert mit den Redundanz-Informationen, die in den Redundanz-Segmenten gespeichert sind, durch eine Steuersoftware in der Steuereinheit 101 verwendet werden können, um den Datenverlust zu rekonstruieren, wenn eines oder mehrere der Vielzahl der Plattenlaufwerk(e) in der Redundanz-Gruppe fehlerhaft arbeitet (122-1 bis 122-n+m). Diese Anordnung liefert eine Zuverlässigkeitsfähigkeit ähnlich zu derjenigen, die durch Platten-Schattierungs-Anordnungen (Disk-Shadowing-Arrangements) unter signifikant reduzierten Kosten gegenliber einer solchen Anordnung erhalten sind.
  • Plattenlaufwerk
  • Jedes der Plattenlaufwerke 122-1 bis 125-r in dem Plattenlaufwerk-Untersatz 103-1 kann als ein Platten-Untersystem betrachtet werden, das aus einem Plattenlaufwerk- Mechanismus und seinem umgebenden Steuer- und Schnittstellen-Schaltkreis besteht. Das Plattenlaufwerk besteht aus einem handelsüblichen Plattenlaufwerk, das ein kommerziell erhältliches Festplattenlaufwerk des Typs ist, der typischerweise in Personal-Computern verwendet wird. Ein Steuerprozessor, der dem Plattenlaufwerk zugeordnet ist, besitzt eine Steuerverantwortung für das gesamte Plattenlaufwerk und überwacht alle Informationen, die über die verschiedenen seriellen Datenkanäle geführt werden, die jedes Plattenlaufwerk 122-1 bis 1 25-r mit Steuer- und Antriebsschaltkreisen 121 verbinden. Irgendwelche Daten, die zu diesem Plattenlaufwerk über diese Kanäle übertragen werden, werden in einem entsprechenden Schnittstellen-Puffer gespeichert, der über einen zugeordneten seriellen Datenkanal mit einem entsprechenden Seriell-Parallel-Wandlerschaltkreis verbunden ist. Eine Platten- Steuereinheit ist auch in jedem Plattenantrieb vorgesehen, um die elektrische Schnittstelle mit niedrigem Pegel auszuführen, die durch das handelsübliche Plattenlaufwerk erforderlich ist. Das handelsübliche Plattenlaufwerk besitzt eine ESDI- Schnittstelle, die mit den Steuer- und Antriebsschaltkreisen 121 schnittstellenmäßig verbunden werden müssen. Die Platten-Steuereinheit liefert diese Funktion. Die Platten-Steuereinheit liefert eine Serialisierung und Deserial isierung von Daten, eine CRC/ECC Erzeugung, eine Prüfung und Korrektur und ein NRZ Daten-Codierung. Die adressierenden Informationen, wie beispielsweise die Kopfauswahl, und ein anderer Typ von Steuersignalen, werden durch die Steuer- und Antriebsschaltkreise 121 zu dem handelsüblichen Plattenlaufwerk 122-1 geliefert. Dieser Kommunikationspfad ist auch zu diagnostischen und Steuerzwecken vorgesehen. Zum Beispiel können die Steuer- und Antriebsschaltkreise 121 ein handelsübliches Plattenlaufwerk herunterfahren, wenn sich das Plattenlaufwerk in dem Stand-by-Modus befindet. In dieser Art und Weise verbleibt das handelsübliche Plattenlaufwerk in einem Leerlaufzustand, bis es durch die Steuer- und Antriebsschaltkreise 121 ausgewählt wird.
  • Steuereinheit
  • Figur 2 stellt in Blockdiagrammform zusätzliche Details der Cluster-Steuerung 111 dar. Ein Vielfachpfad-Speicher-Direktor 110 umfaßt eine Vielzahl von Kanal-Schnittstellen-Einheiten 201-0 bis 201-7, von denen jede an einem entsprechenden Paar von Datenkanälen 21, 31 endet. Die Steuer- und Datensignale, die durch die entsprechende Kanal-Schnittstelleneinheit 201-0 empfangen sind, werden auf irgendeinem der entsprechenden Steuer- und Daten-Busse 206-C, 206-D oder 207-C, 207-D jeweils entweder zu einem Speicherpfad 200-0 oder einem Speicherpfad 200-1 ausgegeben. Demzufolge ist dabei, wie aus der Struktur der Cluster-Steuerung 111, die in Figur 2 dargestellt ist, gesehen werden kann, eine signifikante Größe einer Symmetrie darin enthalten. Der Speicherpfad 200-0 ist identisch zu dem Speicherpfad 200-1 und nur einer von diesen wird hier beschrieben. Der Vielfachpfad-Speicher- Direktor 110 verwendet zwei Sätze von Daten- und Steuer-Bussen 206-D, C und 207-D, C,um jede Kanal-Schnittstellen-Einheit 201-0 bis 201-7 mit sowohl dem Speicherpfad 200-0 als auch 200-1 zwischenzuverbinden, so daß der entsprechende Datenkanal 21 von dem zugeordneten Host-Prozessor 11 über entweder den Speicherpfad 200-0 oder 200-1 zu der Vielzahl der Optikfaser-Backend-Kanäle 104 umgeschaltet werden kann. Innerhalb des Speicherpfads 200-0 ist ein Prozessor 204enthalten, der die Betriebsweise des Speicherpfads 200-0 reguliert. Zusätzlich ist eine Optik-Vorrichtungs-Schnittstelle 205-0 vorgesehen, um zwischen dem Optikfaser- Signalisierformat der Optikfaser-Backend-Kanäle 104 und den metallischen Leitern, die innerhalb des Speicherpfads 200-0 enthalten sind, zu wandeln. Die Kanal- Schnittstellen-Steuerung 202-0 arbeitet unter der Steuerung eines Prozessors 204-0, um den Fluß der Daten zu und von dem Cache-Speicher 113 und einer der Kanal-Schnittstellen-Einheiten 201, die momentan innerhalb des Speicherpfads 200-0 aktiv ist, zu steuern. Die Kanal-Schnittstellen-Steuerung 202-0 umfaßt eine zyklische Redundanz-Prüf-(Cyclic Redundancy Check - CRC) Generator/Prüfeinrichtung, um die CRC-Bytes für die empfangenen Daten zu erzeugen und zu prüfen. Der Kanal-Schnittstellen-Schaltkreis 202-0 umfaßt auch einen Puffer, der eine Geschwindigkeitsfehlanpassung zwischen der Daten-Übertragungsrate des Datenkanals 21 und der verfügbaren Daten-Übertragungsfähigkeit des Cache-Speichers 113 kompensiert. Die Daten, die durch den Kanal-Schnittstellen-Steuerschaltkreis 202-0 von einem entsprechenden Kanal-Schnittstellen-Schaltkreis 201 empfangen sind, werden nach vorne zu dem Cache-Speicher 113 über einen Kanal-Daten-Kompressionsschaltkreis 203-0 geführt. Der Kanal-Daten-Kompressionsschaltkreis 203-0 liefert die notwendige Hardware und den Mikrocode, um eine Kompression der Kanal- Daten für die Steuereinheit 101 bei einem Datenschreiben von dem Host-Prozessor 11 durchzuführen. Er führt auch den notwendigen Dekompressionsvorgang für die Steuereinheit 101 bei einem Datenlesebetrieb durch den Host-Prozessor 11 durch.
  • Wie aus der Architektur, die in Figur 2 dargestellt ist, gesehen werden kann, werden alle Daten-Übertragungen zwischen einem Host-Prozessor 11 und einer Redundanz-Gruppe in den Plattenlaufwerk-Untersätzen 103 über die Cache-Speicher 113 geführt. Die Steuerung des Cache-Speichers 113 ist in der Steuereinheit 101 durch den Prozessor 204-0 vorgesehen. Die Funktionen, die durch den Prozessor 204-0 geliefert werden, umfassen eine Intitialisierung des Cache-Directory-Suchens und anderer Cache-Datenstrukturen, ein Cache-Directory-Suchen und -Managens, ein Cache-Raum-Management, Cache-Funktions-Verbesserungs-Algorithmen ebenso wie andere Cache-Steuer-Funktionen. Zusätzlich erzeugt der Prozessor 204-0 die Redundanz-Gruppen von den Plattenlaufwerken in den Plattenlaufwerk-Untersätzen 103 und wartet Aufzeichnungen über den Status solcher Vorrichtungen. Der Prozessor 204-0 bewirkt auch, daß die Redundanz-Daten über die N Daten-Platten in einer Redundanz-Gruppe innerhalb eines Cache-Speichers 113 erzeugt werden und schreibt die M Segmente der Redundanz-Daten auf die M Redundanz-Platten in der Redundanz-Gruppe. Die funktionale Software in dem Prozessor 204-0 managt auch die Auflistungen von virtuellen zu logischen und von logischen zu physikalischen Vorrichtungen. Die Tabellen, die diese Auflistung beschreiben, werden aktualisiert, gewartet, gesichert und gelegentlich durch diese funktionale Software auf dem Prozessor 204-0 zurückgewonnen. Die Freiraum-Sammelfunktion wird auch durch den Prozessor 204-0, ebenso wie ein Management und eine Ablaufplanung der Optikfaser-Backend-Kanäle 104 durchgeführt. Viele dieser vorstehenden Funktionen sind ausreichend auf dem Gebiet der Datenverarbeitung bekannt und werden nicht in jedem Detail hier beschrieben.
  • Plattenlaufwerk-Manager
  • Figur 3 stellt ein weiteres Blockdiagramm-Detail des Plattenlaufwerk-Managers 102-1 dar. Ein Eingabelausgabe-Schaltkreis 120 ist so dargestellt, daß er die Vielzahl der Optikfaser-Kanäle 104 mit einer Zahl von Daten- und Steuer-Bussen verbindet, die den Eingabelausgabe-Schaltkreis 120 mit Steuer- und Antriebsschaltkreisen 121 zwischenverbinden. Der Steuer- und Antriebsschaltkreis 121 besteht aus einem Befehis- und Status-Schaltkreis 301, der den Status überwacht und steuert und Schnittstellen zu der Steuereinheit 101 hin befehligt. Der Befehls- und Status-Schaltkreis 301 sammelt auch Daten von den verbleibenden Schaltkreisen in Plattenlaufwerk-Managern 102 und den verschiedenen Plattenlaufwerken in Plattenlaufwerk- Untersätzen 103 zur Übertragung zu der Steuereinheit 101. Der Steuer- und Antriebsschaltkreis 121 umfaßt auch eine Vielzahl von Antriebselektronik-Schaltkreisen 303, einen für jeden der handelsüblichen Plattenlaufwerke, die in dem Plattenlaufwerk-Untersatz 303-1 verwendet sind. Die Antriebselektronik-Schaltkreise 303 steuern die Daten-Übertragung zu und von dem zugeordneten, handelsüblichen Antrieb über eine ESDI Schnittstelle. Der Antriebselektronik-Schaltkreis 303 ist zum Übertragen und zum Empfangen von Rahmen auf der seriellen Schnittstelle geeignet und enthält eine Mikrosteuereinheit, einen Spur-Puffer, Status- und Steuer-Register und eine Industrie-Standard-Einstellsatz-Treiberschnittstelle. Der Antriebselektronik- Schaltkreis 303 empfängt Daten von dem Eingabelausgabe-Schaltkreis 120 über einen zugeordneten Daten-Bus 304 und Steuersignale über Steuerleitungen 305. Der Steuer- und Antriebsschaltkreis 121 umfaßt auch eine Vielzahl von Untersystem- Schaltkreisen 302-1 bis 302-j, wobei jeder davon eine Vielzahl von Antriebselektronik-Schaltkreisen 303 steuert. Der Untersystem-Schaltkreis 302 steuert die Anforderungs-, Fehler- und Spin-up-Leitungen für jeden Antriebselektronik-Schaltkreis 303. Typischerweise verbindet sich ein Untersystem-Schaltkreis 302 mit zweiunddreißig Antriebselektronik-Schaltkreisen 303. Der Untersystem-Schaltkreis 302 funktioniert auch dahingehend, umgebungsmäßige Lese- bzw. Fühl-Informationen zur Übertragung zu der Steuereinheit 101 über den Befehls- und Status-Schaltkreis 301 zu sammeln. Demzufolge führt der Steuer- und Antriebsschaltkreis 121 in dem Platten- Antriebs-Manager 102-1 die Daten- und Steuersignal-Schnittstelle und Übertragungsfunkion zwischen den Industriestandard-Plattenlaufwerken des Plattenlaufwerk-Untersatzes 103-1 und der Steuereinheit 101 durch.
  • Befehis- und Status-Schaltkreis
  • Der Befehls- und Status-Schaltkreis 301 ist in weiterem Detail in Figur 4 dargestellt. Der Schaltkreis besitzt drei Hauptfunktionen: Sammeln eines Status von den verschiedenen Untersystem-Schaltkreisen 302, Berichten eines Status zu der Steuereinheit 101 und Liefern von Diagnostika für den Plattenlaufwerk-Manager 102-1. Der Befehis- und Status-Schaltkreis 301 wird durch einen Prozessor 402 und seinen zugeordneten Taktgeber 403 gesteuert. Der Prozessor 402 kommuniziert mit den Adress- und Daten-Bussen über Anschlüsse 404 und 405 jeweils. Die Richtung einer Kommunikation zwischen dem Prozessor und den Bussen und den verbleibenden Schaltkreisen in dem Befehis- und Status-Schaltkreis 301 wird durch einen bidirektionalen Anschluß 407 gesteuert, der als ein Arbiter wirkt, um einen Zugriff zu dem internen Bus des Befehis- und Status-Schaltkreises 301 zu regulieren. Ähnlich regulieren Daten- und Adress-Entscheidungs-Logik-Schaltkreise 410 und 412 den Zugriff des Schnittstellen-Schaltkreises 401 auf den internen Daten-Bus des Befehls- und Status-Schaltkreises 301. Zum Beispiel werden Daten, die von dem Eingabelausgabe-Schaltkreis 120 empfangen sind, durch den Schnittstel len-Schaltkreis 401 empfangen, der diese Daten in einem Speicher 411 über Adress- und Daten- Busse speichert, die zwischen dem Schnittstellen-Schaltkreis 401 und der Datenund Adress-Entscheidungs-Logik 410 und 412 verbunden sind. Diese Entscheidungs-Schaltkreise regulieren einen Zugriff zu dem Speicher 411 von dem internen Daten-Bus des Befehls- und Status-Schaltkreises 301 und dem Schnittstellen- Schaltkreis 401. Ähnlich kann der Prozessor 402 auf die Daten, die in dem Speicher 411 gespeichert sind, über den internen Daten-Bus des Befehls- und Status-Schaltkreises 301 und die entsprechende Daten- und Adress-Entscheidungs-Logik 410, 412 zugreifen. Diese Daten, die durch den Prozessor 402 aufgesucht sind, können dann über Adress- und Daten-Busse zu den Untersystem-Schaltkreisen 302 über Adress- und Daten-Anschlüsse 404, 405 jeweils ausgegeben werden.
  • Der Befehls- und Status-Schaltkreis 301 umfaßt eine Unterbrechungs-Handhabungseinrichtung 408. Alle Unterbrechungen in dem Plattenlaufwerk-Manager 102-1, mit Ausnahme für ein Reset, werden durch die Unterbrechungs-Handhabungseinrichtung 408 vorgenommen. Die Unterbrechungs-Handhabungseinrichtung 408 sammelt alle Unterbrechungen einer bestimmten Klasse, wobei diese Unterbrechungen durch die Unterbrechungs-Software in dem Prozessor 402 gelesen werden. Die Unterbrechungs-Software liest den speichermäßig aufgelisteten Raum in der Unterbrechungs-Handhabungseinrichtung 408, um das Bit-Muster zu bestimmen, das anzeigt, welche Unterbrechung aufgetreten ist.
  • Treiber-Elektronik-Schaltkreis
  • Der Treiber-Elektronik-Schaltkreis 303 funktioniert als eine Schnittstelle zwischen den seriellen Daten-Verbindungen 304, die den Eingabelausgabe-Schaltkreis 120 und das Industriestandard-Einstellsatz-Plattenlaufwerk, wie beispielsweise das Laufwerk 122-1, verbinden. Figur 5 stellt zusätzliche Details des Treiber-Elektronik- Schaltkreises 303 dar. Die seriellen Daten-Verbindungen 304 bestehen aus acht abgehenden Daten-Verbindungen und acht ankommenden Daten-Verbindungen, die über Multiplexer 501 und 502 jeweils mit dem internen Schaltkreis des Treiber-Elektronik-Schaltkreises 303 gekoppelt sind.
  • Ein Empfänger 503 überwacht die abgehenden Daten-Verbindungen und wandelt die Informationen, die von dem Eingabelausgabe-Schaltkreis 120 empfangen sind, in ein paralles Format zur Verwendung durch einen Deframer- bzw. Entformer- Schaltkreis 505. Der Entformer-Schaltkreis 505 prüft, ob das Bestimmungs-Adress- Feld in dem empfangenen Rahmen mit einer vorprogrammierten Auswahl-Adresse des Treiber-Elektronik-Schaltkreises korreliert. Falls die Adressen dieselben sind, bestimmt der Entformer-Schaltkreis 505, ob die Informationen, die übertragen werden, Daten oder ein Befehl sind, speichert dann die Informationen in einem Spur- Puffer 507 unter Verwendung eines der zwei DMA-Hinweiszeiger, einen für eine Daten-Speicherung und den anderen für eine Befehls-Speicherung. Der Spur-Puffer- Schaltkreis 507 ist zum Speichern einer vollständigen, physikalischen Spur aus Informationen zur Übertragung zu dem zugeordneten Einstellsatz-Plattenlaufwerk 122-1 geeginet. Der Entformer-Schaltkreis 505 erzeugt eine Unterbrechung, wenn die Übertragung einer physikalischen Spur aus Informationen abgeschlossen ist. Die Unterbrechung, die durch den Entformer 505 erzeugt ist, wird zu einem Prozessor 513 übertragen, der den Befehl oder die Daten, die in dem Spur-Puffer 507 gespeichert sind, interpretiert und entsprechend agiert. Falls der Prozessor 513 bestimmt, daß der Befehl ein Daten-Übertragungsbefehl ist, initialisiert er die Steuer-Register 512 für die Daten-Übertragung. Der Prozessor 513 aktiviert auch den ESDI-Steuerschaltkreis 509, der die physikalische Schnittstelle zwischen dem zugeordneten Industriestandard-Plattenlaufwerk 122-1 und dem internen Schaltkreis des Treiber- Elektronik-Schaltkreises 303-1 schafft. Der Prozessor 513 aktiviert auch den Platten- Daten-Steuereinheit-Schaltkreis 508, der dahingehend funktioniert, Industriestandard-Plattenlaufwerke mit mittels Mikroprozessor gesteuerten Systemen schnittstellenmäßig zu verbinden. Die Platten-Daten-Steuereinheit 508 spricht auf die Daten-Übertragung von dem Spur-Puffer 507 zu dem ESDI-Steuerschaltkreis 509 an. Deshalb führt der Datenpfad von dem Spur-Puffer 507 über die Platten-Daten-Steuereinheit 508 und den ESDI-Steuerschaltkreis 509 zu dem Industriestandard-Plattenlaufwerk 122-1. Der ESDI-Steuerschaltkreis 509 liefert einfach die elektrische Schnittstelle zwischen dem Treiber-Elektronik-Schaltkreis 303-1 und dem Plattenlaufwerk 122-1.
  • Daten-Übertragungen von dem Plattenlaufwerk 122-1 zu dem Eingabe/Ausgabe- Schaltkreis 120 werden in einer einfachen Weise ausgeführt. Die Daten werden durch den Pmzessor 513 auf eine Anforderung für ein Daten-Lesen von der Steuereinheit 101 durch Adressieren der Daten auf dem Plattenlaufwerk 122-1 über den ESDI-Steuerschaltkreis 509 hin gelesen. Das Daten-Lesen von dem Laufwerk 122-1 wird über den ESDI-Steuerschaltkreis 509 und die Platten-Daten-Steuereinheit 508 zu dem Spur-Puffer 507 geführt, wo sie gespeichert werden, bis eine vollständige, physikalische Spur oder ein bedeutungsvoller Teil davon darin gespeichert wird. Eine Rahmeneinrichtung 506 sucht nach der physikalischen Spur von dem Spur-Puffer 507 und formatiert und rahmt diese physikalische Spur und schickt sie nach vorne zu dem Sender-Schaltkreis 504. Der Sender-Schaltkreis 504 überträgt die Rahmen seriell durch eine der acht ankommenden Daten-Verbindungen über den Multiplexer 502 zu dem Eingabelausgabe-Schaltkreis 120.
  • Platten Iaufwerk-Fehlfunktion
  • Die Steuereinheit 101 bestimmt, ob ein individuelles Plattenlaufwerk in der Redundanz-Gruppe, das sie adressiert, fehlerhaft funktioniert hat. Die Steuereinheit 101, die ein schlechtes Laufwerk erfaßt hat, überträgt eine Steuernachricht zu dem Plattenlaufwerk-Manager 102-1 über die entsprechende Steuersignal-Leitung, um anzuzeigen, daß ein Plattenlaufwerk fehlerhaft gearbeitet hat. Wenn das Erfordernis für ein Ersatz-Plattenlaufwerk durch die Steuereinheit 101 erfaßt ist, wird das fehlerhafte Plattenlaufwerk aus dem Service herausgenommen und ein Ersatz-Plattenlaufwerk 125-1 wird von dem Ersatz-Pool aus R Plattenlaufwerken (125-1 bis 125-r) durch den Plattenlaufwerk-Manager 102-1 aktiviert, und zwar unter der Anforderung der Steuereinheit 101. Dies wird durch Wiedereinschreiben der Konfigurations-Definition dieser Redundanz-Gruppe, die das schlechte Plattenlaufwerk enthält, durchgeführt. Das neue, ausgewählte Plattenlaufwerk 125-1 in der Redundanz-Gruppe (122-1 bis 122-m+n) wird durch Steuersignale identifiziert, die zu allen der Cluster- Steuerungen 111-112 übertragen werden. Dies stellt sicher, daß die das System aufl istenden Informationen, die in jeder der Cluster-Steuerungen 111-112 gespeichert sind, aktualisiert gehalten werden.
  • Wenn einmal das neue Plattenlaufwerk (125-1) zu der Redundanz-Gruppe (122-1 bis 122-n+m) hinzugefügt ist, wird es getestet, und, falls befunden wird, daß es richtig arbeitet, ersetzt es das ausgefallene Plattenlaufwerk in den das System auflistenden Tabellen. Die Steuereinheit 101, die das Ersatz-Plattenlaufwerk (125-1) angefordert hat, rekonstruiert die Daten für das neue Plattenlaufwerk (125-1) unter Verwendung der verbleibenden N-1 betriebsmäßigen Daten-Plattenlaufwerken und der verfügbaren Redundanz-Informationen von den M Redundanz-Plattenlaufwerken. Bevor eine Rekonstruktion auf der Platte abgeschlossen ist, sind Daten noch für die Host-Prozessoren 11,12 verfügbar, obwohl sie im On-line-Betrieb rekonstruiert werden müsen, im Gegensatz dazu, daß sie von einer einzelnen Platte ausgelesen werden. Wenn dieser Daten-Rekonstruktions-Vorgang abgeschlossen ist, werden die rekonstruierten Segmente auf dem Austausch-Plattenlaufwerk (125-1) geschrieben und die Redundanz-Gruppe ist wieder vollständig betriebsfähig.
  • Dieses dynamisch rekonfigurierbare Attribut des Datenspeicher-Untersystems 100 ermöglicht diesem System, sehr robust zu sein. Zusätzlich ermöglicht der dynamisch konfigurierbare Aspekt des Kommunikationspfads zwischen den Cluster-Steuerungen 111, 112 und den Plattenlaufwerken (122-1), daß die Architektur sehr flexibel ist. Mit demselben physikalischen Plattenlaufwerk-Untersatz (103-1) kann der Benutzer einen Plattenlaufwerk-Speicher ausführen, der eine hohe Datenspeicher-Kapazität besitzt, und der kürzere, periodische Wiederherstellungsintervalle erfordert, oder einen Plattenlaufwerk-Speicher, der eine niedrigere Datenspeicher-Kapazität mit längeren, erforderlichen Reparaturintervallen einfach durch Änderung der Zahl der aktiven Plattenlaufwerke in jeder der Redundanz-Gruppen besitzt. Zusätzlich besitzt der Plattenlaufwerk-Speicher die Fähigkeit, neue Ersatz-Plattenlaufwerke 123 zu erfassen, wenn sie an das System angeschlossen werden, um dadurch dem Plattenlaufwerk-Speicher zu ermöglichen, zu wachsen, wenn der Speicher oder die Zuverlässigkeit eine Änderung benötigen, ohne daß man die Steuer-Software des Plattenlaufwerk-Speichers erneut programmieren muß.
  • Auflistung von einer dynamischen, virtuellen Vorrichtung zu einer logischen Vorrichtung
  • In Bezug auf Daten-Übertragungs-Vorgänge gehen alle Daten-Übertragungen über den Cache-Speicher 113. Deshalb sind die Frontend- oder Kanal-Übertragungs-Vorgänge vollständig von Backend- oder Vorrichtungs-Übertragungs-Vorgängen unabhängig. In diesem System sind Abstufungs-Vorgänge ähnlich zu einer Abstufung in anderen mit einem Cache-Speicher ausgerüsteten Platten-Untersystemen, allerdings werden Entstufungs-Übertragungen in Gruppen für Bulk-Übertragungen gesammelt. Zusätzlich führt dieses Datenspeicher-Untersystem 100 simultan eine Freiraum-Sammlung, eine Auflistungs-Tabellen-Sicherung und eine Fehler-Wiederherstellung als Hintergrundprozesse durch. Aufgrund der vollständigen Frontend-Bakkend-Separation wird das Datenspeicher-Untersystem 100 von dem exakten Ausführen von Prozessor-Zeitabstimmungs-Abhängigkeiten früherer Zähischlüsseldaten- Platten-Untersystemen befreit. Das Untersystem ist frei, um seine Verarbeitungs-Ressourcen dazu zu überlassen, um die Leistung durch eine intelligentere Ablaufplanung und Daten-Übertragungs-Steuerung zu erhöhen.
  • Das Parallel-Plattenlaufwerk-Feld-Datenspeicher-Untersystem 100 besteht aus drei abstrakten Schichten: virtuell, logisch und physikalisch. Die virtuelle Schicht funktioniert als ein herkömmlicher Plattenlaufwerk-Speicher mit großem Formfaktor. Die logische Schicht funktioniert als ein Feld aus Speichereinheiten, die in eine Vielzahl von Redundanz-Gruppen (zum Beispiel 122-1 bis 122-n+m) gruppiert sind, wobei jede N+M Plattenlaufwerke enthält, um N physikalische Spuren aus Daten und M physikalische Spuren aus Redundanz-Informationen für jede logische Spur zu speichern. Die physikalische Schicht funktioniert als eine Vielzahl von individuellen Plattenlaufwerken mit kleinem Formfaktor. Das Datenspeicher-Management-System arbeitet so, um die Auflistung der Daten unter diesen abstrakten Schichten zu bewirken und um die Zuordnung und das Management des tatsächlichen Raums auf den physikalischen Vorrichtungen zu steuern. Diese Datenspeicher-Management-Funktionen werden in einer Art und Weise ausgeführt, die die Betriebsweise des Parallel- Plattenlaufwerk-Feld-Datenspeicher-Untersystems 100 transparent gegenüber den Host-Prozessoren (11-12) gestaltet.
  • Eine Redundanz-Gruppe besteht aus N+M Plattenlaufwerken. Die Redundanz-Gruppe wird auch als ein logisches Volumen oder eine logische Vorrichtung bezeichnet. Innerhalb jeder logischen Vorrichtung ist eine Vielzahl von logischen Spuren vorhanden, wobei jede davon der Satz aller physikalischer Spuren in der Redundanz-Gruppe ist, die dieselbe physikalische Spur-Adresse besitzt. Diese logischen Spuren sind auch in logische Zylinder organisiert, wobei jeder davon die Ansammlung aller logischer Spuren innerhalb einer Redundanz-Gruppe ist, auf die unter einer gemeinsamen, logischen Aktuator-Position zugegriffen werden kann. Ein Parallel-Plattenlaufwerk-Feld-Datenspeicher-Untersystem 100 erscheint zu dem Host-Prozessor so, daß es eine Ansammlung von Plattenlaufwerken mit großem Formfaktor ist, wobei jedes davon eine vorbestimmte Anzahl von Spuren einer vorbestimmten Größe, als virtuelle Spur bezeichnet, besitzt. Deshalb werden, wenn der Host-Prozessor 11 Daten über den Datenkanal 21 zu dem Datenspeicher-Untersystem 100 überträgt, die Daten in der Form der individuellen Aufzeichnungen einer virtuellen Spur übertragen. Um die Betriebsweise des Parallel-Plattenlaufwerk-Feld- Datenspeicher-Untersystems 100 transparent für den Host-Prozessor II zu gestalten, werden die empfangenen Daten auf den aktuellen, physikalischen Plattenlaufwerken (122-1 bis 122-n+m) in der Form von virtuellen Spur-Fällen gespeichert, die die Kapazität einer Spur auf einem Plattenlaufwerk mit großem Formfaktor reflektiert, das durch das Datenspeicher-Untersystem 100 emuliert ist. Obwohl ein virtueller Spur-Fall von einer physikalischen Spur zu der nächsten physikalischen Spur überlaufen kann, wird einem virtuellen Spur-Fall nicht ermöglicht, von einem logischen Zylinder zu einem anderen überzulaufen. Dies wird vorgenommen, um das Management des Speicherraums zu vereinfachen.
  • Wenn eine virtuelle Spur durch den Host-Prozessor 11 modifiziert wird, wird der aktualisierte Fall der virtuellen Spur nicht in dem Datenspeicher-Untersystem 100 an seiner originalen Stelle wieder eingeschrieben, sondern wird anstelle davon auf einen neuen, logischen Zylinder geschrieben, und der vorherige Fall der virtuellen Spur wird als veraltete markiert. Deshalb wird über die Zeit ein logischer Zylinder mit "Löchern" aus veralteten Daten, bekannt als freier Raum, durchlöchert. Um ganze, freie, logische Zylinder zu erzeugen, werden virtuelle Spur-Fälle, die noch gültig sind und unter einem fragmentierten, freien Raum innerhalb eines logischen Zylinders vorhanden sind, innerhalb des Parallel-Plattenlaufwerk-Feld- Datenspeicher-Untersystems 100 umgeordnet, um gänzlich freie, logische Zylinder zu erzeugen. Um gleichmäßig eine Daten-Übertragungsaktivität zu verteilen, werden die Spuren jeder virtuellen Vorrichtung so gleichförmig wie möglich unter den logischen Vorrichtungen in dem Paral lel-Plattenlaufwerk-Feld- Datenspeicher-Untersystem 100 gestreut. Zusätzlich werden virtuelle Spur-Fälle heraus formatiert, falls nötig, um in eine integrale Zahl von physikalischen Vorrichtungssektoren zu passen. Dies dient dazu, sicherzustellen, daß jeder virtuelle Spur- Fall auf einer Sektorgrenze der physikalischen Vorrichtung startet.
  • Auflistungs-Tabelle
  • Es ist notwendig, akkurat die Stelle aller Daten innerhalb des Parallel-Plattenlaufwerk-Feld-Datenspeicher-Untersystems 100 aufzuzeichnen, da die Daten, die von den Host-Prozessoren 11-12 empfangen sind, von deren Adresse in dem virtuellen Raum zu einer physikalischen Stelle in dem Untersystem in einer dynamischen Weise aufgelistet werden. Ein virtueller Spur-Directory wird aufrechterhalten, um die Stelle des momentanen Falls jeder virtuellen Spur in dem Parallel-Plattenlaufwerk- Feld-Datenspeicher-Untersystem 100 aufzurufen. Der virtuelle Spur-Directory besteht aus einem Eintitt für jede virtuelle Spur, die der zugeordnete Host-Prozessor 11 adressieren kann. Der Eintritt enthält die logische Sektor-Adresse, an der der virtuelle Spur-Fall beginnt. Der virtuelle Spur-Directory-Eintritt enthält auch Daten, die für die Länge des virtuellen Spur-Falls in Sektoren indikativ ist. Der virtuelle Spur-Directory wird in nicht angrenzende Teile in dem Cache-Speicher 113 gespeichert und wird indirekt über Hinweiszeiger in einer virtuellen Vorrichtungstabelle adressiert. Der virtuelle Spur-Directory wird immer dann aktualisiert, wenn ein neuer Spur-Fall auf die Plattenlaufwerke geschrieben wird.
  • Die Speichersteuerung umfaßt auch einen Freiraum-Directory (Figur 8), der eine Liste aller der logischen Zylinder in dem Paraliel-Plattenlaufwerk-Feld- Datenspeicher-Untersystem 100 ist, geordnet durch eine logische Vorrichtung. Jede logische Vorrichtung ist in einer Liste katalogisiert, die als eine Freiraum-Liste für die logische Vorrichtung bezeichnet ist; jeder Listen-Eintritt stellt einen logischen Zylinder dar und zeigt die Menge eines Freiraums an, den dieser logische Zylinder momentan enthält. Dieser Freiraum-Directory enthält einen positionsmäßigen Eintritt für jeden logischen Zylinder; jeder Eintritt umfaßt sowohl Vorwärts- als auch Rückwärts- Hinweiszeiger für die doppelt verknüpfte Freiraum-Liste für ihre logische Vorrichtung und die Zahl von freien Sektoren, die in dem logischen Zylinder enthalten sind. Jeder dieser Hinweiszeiger zeigt entweder auf einen anderen Eintritt in die Freiraum- Liste für seine logische Vorrichtung oder ist Null. Die Sammlung von freiem Raum ist ein Hintergrundprozeß, der in dem Parallei-Plattenlaufwerk-Feld- Datenspeicher-Untersystem 100 ausgeführt wird. Der Freiraum-Sammel-Prozeß macht von dem Logik-Zylinder-Directory Gebrauch, der eine Liste ist, die in dem ersten Sektor jedes logischen Zylinders enthalten ist, die für die Inhalte dieses logischen Zylinders indikativ ist. Der Logik-Zylinder-Directory enthält einen Eintritt für jeden virtuellen Spur-Fall, der innerhalb des logischen Zylinders enthalten ist. Der Eintritt für jeden virtuellen Spur-Fall enthält den Identifizierer des virtuellen Spur-Falls und den Identifizierer des relativen Sektors innerhalb des logischen Zylinders, in dem der virtuelle Spur-Fall beginnt. Von diesem Hinweis-Satz und dem virtuellen Spur-Directory kann der Freiraum-Sammel-Prozeß bestimmen, welche virtuellen Spur-Fälle noch momentan in diesem logischen Zylinder vorhanden sind, und muß deshalb zu einer anderen Stelle bewegt werden, um den logischen Zylinder zum Schreiben neuer Daten verfügbar zu machen.
  • Datenbewegung/Kopiervorgang
  • Der Datendatei-Bewegungslkopiervorgang ordnet augenblicklich einen zweiten Fall einer ausgewählten Datendatei durch lediglich Erzeugen eines neuen Satzes Hinweiszeiger um oder erzeugt ihn, um auf dieselbe physikalische Speicherstelle wie der Original-Satz der Referenzhinweiszeiger in dem Einstellsatz der virtuellen Spur Bezug zu nehmen. In dieser Weise kann durch einfaches Erzeugen eines neuen Satzes von Hinweiszeigern, die auf denselben, physikalischen Speicherraum Bezug nehmen, die Datendatei bewegt/kopiert werden.
  • Dieses Gerät bewegt augenblicklich die Original-Datendatei ohne den Zeitabzug, um die Datendatei zu dem Cache-Speicher 13 nach unten laden zu müssen und die Datendatei in eine neue physikalische Speicherstelle schreiben zu müssen. Für den Zweck, einem Programm zu ermöglichen, einfach auf die Datendatei an einer unterschiedlichen, virtuellen Adresse zuzugreifen, schafft die Verwendung dieses Mechanismus einen signifikanten Zeitvorteil. Eine physikalische Kopie der Original-Daten- Aufzeichnung kann später als ein Hintergrundprozeß zu einer zweiten Speicherstelle geschrieben werden, falls dies so erwünscht ist. Alternativ wird, wenn eines der Programme, das auf die Datendatei zugreifen kann, in irgendeiner Weise Daten zu der Datendatei schreibt oder modifiziert, die modifizierte Kopie eines Bereichs der Original-Datendatei zu einer neuen physikalischen Speicherstelle geschrieben werden und die entsprechenden Adress-Hinweiszeiger werden geändert, um die neue Stelle dieses neu geschriebenen Bereichs der Datendatei zu reflektieren.
  • Auf diese Art und Weise kann eine Datendatei augenblicklich durch einfaches Erzeugen eines neuen Satzes von Speicherhinweiszeigern bewegt/kopiert werden und das tatsächliche, physikalische Kopieren der Datendatei kann entweder als ein Hintergrundprozeß oder als Zuwachs, falls nötig, stattfinden, wenn jede virtuelle Spur der Datendatei durch eines der Programme, das auf die Datendatei zugreifen kann, modifiziert wird.
  • Directory-Quelle für eine virtuelle Spur und Ziel-Zeichen
  • Jeder Eintritt in den virtuellen Spur-Directory (Virtual Track Directory - VTD) enthält zwei Zeichen, die der Kopie/Bewegungs- (Copy/Move) Funktion zugeordnet sind. Das "Quellen"- ("Source") Zeichen wird immer dann eingestellt, wenn ein virtueller Spur-Fall an dieser virtuellen Spur-Adresse der Ursprung einer Kopie oder Bewegung gewesen ist. Der virtuelle Spur-Fall, auf den durch diesen Eintritt hingezeigt ist, ist nicht notwendigerweise die Quelle, sondern der virtuelle Spur-Fall, der die virtuelle Adresse enthält. Falls das Quellen-Zeichen eingestellt ist, ist dabei mindestens ein Eintritt in die Kopie-Tabelle für diese virtuelle Adresse vorhanden. Das "Ziel-" ("Target") Zeichen wird immer dann eingestellt, wenn der virtuelle Spur-Fall Daten enthält, die die Bestimmung einer Kopie oder Bewegung gewesen sind. Falls das Ziel-Zeichen eingestellt ist, ist die virtuelle Adresse in dem virtuellen Spur-Fall, auf die hingezeigt ist, nicht diejenige des VTD-Eintritts.
  • Kopie-Tabelle
  • Das Format der Kopie-Tabelle ist hier graphisch dargestellt. Die bevorzugte Ausführungsform ist diejenige, eine separate Kopie-Tabelle für jede logische Vorrichtung so zu haben, daß dort ein Kopie-Tabellen-Kopf- und End-Hinweiszeiger vorhanden ist, der jeder logischen Vorrichtung zugeordnet ist; allerdings könnte die Tabelle auch so einfach wie eine einzelne Tabelle für das gesamte Untersystem ausgeführt werden. Die Tabelle wird so geordnet, daß die Quellen in einer ansteigenden logischen Adress-Reihenfolge vorhanden sind.
  • COPY TABLE SOURCE HEAD POINTER
  • SOURCE T TARGET T TARGET
  • SOURCE T TARGET
  • SOURCE T TARGET T TARGET T TARGET
  • COPY TABLE SOURCE TAIL POINTER
  • Die Tabelle ist eine einzeln verknüpfte Liste von Quellen (Sources), wobei jede Quelle der Kopf (Head) einer verknüpften Liste von Zielen (Targets) ist. Der Quellen-Eintritt (Source Entry) enthält das Folgende:
  • Logical Address (VTD Entry Copy)
  • Virtual Address
  • Next Source Pointer (NULL if last Source in list)
  • Target Pointer
  • Der Ziel-Eintritt enthält das Folgende:
  • Virtual Address
  • Next Target Pomter (NULL if last Target in list)
  • Update Count Fields Flag.
  • Auflistungs-Tabelle-Fehler-Soft-Techniken
  • Es ist aus der vorstehenden Beschreibung ersichtlich, daß der Verlust der Auflistungs-Tabellen katastrophal sein würde, da die Stelle der Daten, die in dem Parallel-Plattenlaufwerk-Feld-Datenspeicher-Untersystem 100 gespeichert sind, ohne akkurate Auflistungs-Tabellen unbekannt ist, und deshalb sind die Daten effektiv verloren. Da ein solcher Fall so katastrophal ist, müssen die Auflistungs-Tabellen in einer solchen Art und Weise gesichert werden, um das Auftreten eines Verlusts einer Auflistungs-Tabelle zu minimieren. Da die Auflistungs-Tabellen groß sind und auf einer kontinuierlichen Basis geändert werden, ist eine total akkurate, nicht flüchtige Sicherungskopie für die Auflistungs-Tabellen schwierig beizubehalten. Die Auflistungs-Tabellen werden durch ein Paar alternierender Fuzzy-Bild-Kopien und ein Paar zugeordneter Steuer-Journale gesichert. Die primäre oder momentane Kopie der Auflistungs-Tabellen wird in dem Cache-Speicher 113 gespeichert, während die Sicherungs-Fuzzy-Bild-Kopien auf redundanten Gruppen der Plattenlaufwerke 122 gespeichert werden; die Steuer-Journale werden in dem nicht flüchtigen Bereich des Cache-Speichers 113 gehalten. Eine Bild-Kopie einer Tabelle oder einer Datei hat traditionell eine vollständige, sequentiell organisierte Kopie der gesamten Datei bedeutet. Deshalb muß eine Änderung der Datei verzögert werden, während eine Bild- Kopie erstellt wird. Um das Erfordernis für diese Verzögerung zu eliminieren, kann eine Fuzzy-Bild-Kopie anstelle davon verwendet werden. Eine Fuzzy-Bild-Kopie ist eine Bild-Kopie, die genommen wird, während Änderungen potentiell in Bezug auf die Tabelle oder die Datei, die kopiert wird, vorgenommen werden. Damit die Fuzzy- Bild-Kopie von irgendeinem Wert ist, wird ein Journal der Änderung, die in Bezug auf die Datei während der Zeit, zu der die Bild-Kopie produziert wurde, auch in einem nicht flüchtigen Speicher gespeichert. Demzufolge kann, wenn einmal die Fuzzy-Bild-Kopie produziert ist, das Journal von Änderungen verwendet werden, um die Fuzzy-Bild-Kopie zu aktualisieren, so daß sie eine vollständige Bild-Kopie ist. Dies produziert das korrekte Bild der Datei, wie sie an dem Ende der am kürzesten vorher liegenden Modifikation war. Die Verwendung von zwei alternierenden Speicherbereichen wird aufgrund der Tatsache benötigt, daß dann, wenn eine Fuzzy-Bild-Kopie durch das Journal der Änderungen aktualisiert wird, der zweite Speicherbereich Speicher-Aktual isierungen speichert, die während des Journal-Änderungs-Aktualisierungs-Prozesses auftreten. Deshalb werden, für die Sicherung der Auflistungs- Tabelle, die Journale aus dem Cache-Speicher 113 ausgelesen und dazu verwendet, die Fuzzy-Bild-Kopie der Auflistungs-Tabellen, die auf redundanten Gruppen der Plattenlaufwerke 122 gespeichert sind, zu aktualisieren. Als eine weitere Speicherschutzanordnung ist jeder virtuelle Spur-Fall, der auf den Platten in dem Parallel-Plattenlaufwerk-Feld-Datenspeicher-Untersystem 100 gespeichert ist, sich selbst definierend. Jeder virtuelle Spur-Fall enthält den Identifizierer der virtuellen Vorrichtung und den virtuellen Zylinder und die Kopf-Zahlen, die alle innerhalb des virtuellen Spur-Falls geschrieben sind.
  • Daten-Lese-OPerationen
  • Figur 6 stellt in Flußdiagrammform die betriebsmäßigen Schritte dar, die durch den Prozessor 204 in der Steuereinheit 101 des Datenspeicher-Untersystems 100 vorgenommen werden, um Daten von einer Daten-Redundanz-Gruppe 122-1 bis 122-n+m in den Plattenlaufwerk-Untersätzen 103 zu lesen. Das Parallel-Plattenlaufwerk-Feld--
  • TEXT FEHLT Lesungen vervollständigt worden sind, da der angeforderte, virtuelle Spur-Fall auf mehr als einem der N+M Plattenlaufwerken in einer Redundanz-Gruppe gespeichert werden kann. Falls alle der Lesungen nicht vervollständigt worden sind, schreitet die Verarbeitung zu einem Schritt 614 fort, wo die Steuereinheit 101 für den nächsten Abschluß einer Lese-Operation durch eine der N+M Plattenlaufwerke in der Redundanz-Gruppe wartet. An einem Schritt 615 hat das nächste, lesende Plattenlaufwerk seine Operation beendet und eine Bestimmung wird vorgenommen, ob dort irgendwelche Fehler in der Lese-Operation vorhanden sind, die gerade vervollständigt worden ist. Falls dort Fehler vorhanden sind, werden an einem Schritt 616 die Fehler markiert, und die Steuerung schreitet zurück zu dem Beginn des Schritts 609, wo eine Bestimmung vorgenommen wird, ob alle der Lesungen vervollständigt worden sind. Falls an diesem Punkt alle der Lesungen vervollständigt worden sind und alle Bereiche des virtuellen Spur-Falls von der Redundanz-Gruppe durchsucht worden sind, dann schreitet die Verarbeitung zu einem Schritt 610 fort, wo eine Bestimmung vorgenommen wird, ob dort irgendwelche Fehler in den Lesungen vorhanden sind, die vervollständigt worden sind. Falls Fehler erfaßt werden, dann wird an einem Schritt 611 eine Bestimmung vorgenommen, ob die Fehler fixiert werden können. Ein Fehlerkorrekturverfahren ist die Verwendung eines Read-Solomon-Fehler-Erfassungs/Korrektur-Codes, um die Daten wieder zu erzeugen, die nicht direkt gelesen werden können. Falls die Fehler nicht repariert werden können, dann wird ein Zeichen gesetzt, um der Steuereinheit 101 anzuzeigen, daß der virtuelle Spur-Fall nicht akkurat gelesen werden kann. Falls die Fehler fixiert werden können, dann werden in einem Schritt 612 die identifizierten Fehler korrigiert und die Verarbeitung kehrt zurück zu dem Hauptprogramm an dem Schritt 604, wo eine erfolgreiche Lesung des virtuellen Spur-Falls von der Redundanz-Gruppe zu dem Cache-Speicher 113 abgeschlossen worden ist.
  • An einem Schritt 617 überträgt die Steuereinheit 101 die angeforderte Daten-Aufzeichnung von dem umgesetzten virtuellen Spur-Fall, in dem sie momentan gespeichert ist. Wenn die Aufzeichnungen, die von Interesse sind, von der umgesetzten, virtuellen Spur zu dem Host-Prozessor 11 einmal übertragen worden sind, der diese Informationen angefordert hat, dann bereinigt an einem Schritt 618 die Steuereinheit 101 die Lese-Operation, indem sie administrative Aufgaben durchführt, die notwendig sind, um das gesamte Gerät so einzustellen, wie dies erforderlich ist, um den virtuellen Spur-Fall von der Redundanz-Gruppe zu dem Cache-Speicher 113 in einem Leerlaufzustand umzustufen, und die Steuerung kehrt zu einem Schritt 619 zurück, um die nächste Operation zu bedienen, die angefordert wird.
  • Daten-Schreib-Operation
  • Figur 7 stellt in Flußdiagramform die betriebsmäßigen Schritte dar, die durch das Parallel-Plattenlaufwerk-Feld-Datenspeicher-Untersystem 100 vorgenommen werden, um eine Daten-Schreib-Operation durchzuführen. Das Parallel-Plattenlaufwerk- Feld-Datenspeicher-Untersystem 100 stützt Schreib-Operationen irgendeiner Größe, allerdings stützt wiederum die logische Schicht nur Schreibvorgänge virtueller Spur- Fälle. Deshalb wird, um eine Schreib-Operation vorzunehmen, die virtuelle Spur, die die Daten-Aufzeichnung, die erneut geschrieben werden soll, enthält, von der logischen Schicht in den Cache-Speicher 113 umgesetzt. Wenn einmal die Schreib- Operation vervollständigt ist, wird die Stelle des überholten Falls der virtuellen Spur als Freiraum markiert. Die modifizierte Daten-Aufzeichnung wird dann in die virtuelle Spur übertragen und dieser aktualisierte, virtuelle Spur-Fall wird dann so ablaufmäßig geplant, daß er von dem Cache-Speicher 113 beschrieben wird, wo die Daten- Aufzeichnungs-Modifikation in die logische Schicht stattgefunden hat. Irgendeine Bereinigung der Schreib-Operation wird dann durchgeführt, wenn einmal dieses Übertragen und Schreiben vervollständigt ist.
  • An einem Schritt 701 führt die Steuereinheit 101 die Einstellung für eine Schreib- Operation durch und an einem Schritt 702, wie bei der Lese-Operation, die vorstehend beschrieben ist, verzweigt sich die Steuereinheit 101 zu dem Cache-Directory- Such-Unterprogramm, um sicherzustellen, daß die virtuelle Spur, in die die Daten übertragen werden sollen, in dem Cache-Speicher 113 gelegen ist. Da die gesamte Daten-Aktualisierung in dem Cache-Speicher 113 durchgeführt wird, muß die virtuelle Spur, in der diese Daten geschrieben werden sollen, von der Redundanz-Gruppe, in der sie gespeichert sind, zu dem Cache-Speicher 113 übertragen werden, falls sie nicht schon in dem Cache-Speicher 113 vorhanden sind. Die Übertragung des angeforderten virtuellen Spur-Falls zu dem Cache-Speicher 113 wird für eine Schreib- Operation so durchgeführt, wie sie vorstehend in Bezug auf eine Daten-Lese-Operation beschrieben ist, und bildet Schritte 603-16, die in Figur 6 vorstehend erläutert sind.
  • An einem Schritt 703 markiert die Steuereinheit 101 den virtuellen Spur-Fall, der in der Redundanz-Gruppe gespeichert ist&sub3; als ungültig, um sicherzustellen, daß auf die logische Stelle, an der dieser virtuelle Spur-Fall gespeichert ist, nicht durch einen anderen Host-Prozessor zugegriffen wird, der versucht, dieselbe virtuelle Spur zu lesen oder zu schreiben. Da die modifizierten Aufzeichnungs-Daten in diese virtuelle Spur in dem Cache-Speicher 113 geschrieben werden sollen, ist die Kopie der virtuellen Spur, die in der Redundanz-Gruppe vorhanden ist, nun nicht akkurat und muß für eine Zugriff durch die Host-Prozessoren 11-12 entfernt werden. An einem Schritt 704 überträgt die Steuereinheit 101 die modifizierten Aufzeichnungs-Daten, die von dem Host-Prozessor 11 aufgesucht sind, in die virtuelle Spur, die von der Redundanz-Gruppe aufgesucht worden ist, in den Cache-Speicher 113, um dadurch diese modifizierten Aufzeichnungs-Daten in den ursprünglichen, virtuellen Spur-Fall übergehen zu lassen, der von der Redundanz-Gruppe aufgesucht wurde. Wenn einmal dieser Übergang vervollständigt worden ist und die virtuelle Spur nun mit den modifizierten Aufzeichnungs-Daten aktualisiert sind, die von dem Host-Prozessor 11 empfangen sind, muß die Steuereinheit 101 diesen aktualisierten, virtuellen Spur-Fall ablaufplanmäßig führen, so daß er auf eine Redundanz-Gruppe irgendwo in dem Parallel-Piattenlaufwerk-Feld-Datenspeicher-Untersystem 100 geschrieben wird.
  • Diese Ablaufplanung wird durch das Unterprogramm ausgeführt, das aus den Schritten 706-711 besteht. An dem Schritt 706 bestimmt die Steuereinheit 101, ob der virtuelle Spur-Fall, wie er aktualisiert ist, in einen verfügbaren, offenen, logischen Zylinder hineinpaßt. Falls er nicht in einen verfügbaren, offenen, logischen Zylinder hineinpaßt, dann muß an einem Schritt 707 dieser momentan offene, logische Zylinder ausgeschlossen werden und zu der physikalischen Schicht und einem anderen logischen Zylinder, der von der logischen Vorrichtung, die am meisten frei ist, oder der Redundanz-Gruppe in dem Parallel-Plattenlaufwerk-Feld-Datenspeicher- Untersystem 100 geschrieben werden. An einem Schritt 708 findet die Auswahl eines freien, logischen Zylinders von der logischen Vorrichtung, die am meisten frei ist, statt. Dies stellt sicher, daß die Datendateien, die von dem Host-Prozessor 11 empfangen sind, über die Vielzahl der Redundanz-Gruppen in dem Parallel-Platten laufwerk-Feld-Datenspeicher-Untersystem 100 in einer gleichmäßigen Art und Weise verteilt sind, um eine Überlastung bestimmter Redundanz-Gruppen zu vermeiden, während andere Redundanz-Gruppen unterbelastet sind. Wenn einmal ein freier, logischer Zylinder verfügbar ist, entweder daß er der momentan offene Zylinder ist oder ein neu ausgewählter, logischer Zylinder ist, dann schreibt, in einem Schritt 709, die Steuereinheit 101 den aktualisierten, virtuellen Spur-Fall in den logischen Zylinder und an einem Schritt 710 wird die neue Stelle der virtuellen Spur in der virtuellen zur logischen Auflistung plaziert, um sie für die Host-Prozessoren 11-12 verfügbar zu gestalten. An einem Schritt 711 kehrt die Steuerung zu dem Hauptprogramm zurück, wo an einem Schritt 712 die Steuereinheit 101 die verbleibenden, administrativen Aufgaben bereinigt, um die Schreib-Operation zu vervollständigen und zu einem verfügbaren Zustand bei 712 für weitere Lese- oder Schreib-Operationen von dem Host-Prozessor 11 zurückzukehren.
  • Freiraum-Sammlung
  • Wenn Daten in dem Cache-Speicher 113 modifiziert werden, kann er nicht zu seiner vorherigen Stelle auf einem Plattenlaufwerk in Plattenlaufwerk-Untersätzen 103 zurück geschrieben werden, da dies die Redundanz-Informationen auf dieser logischen Spur für die Redundanz-Gruppe ungültig gestalten würde. Deshalb muß, wenn einmal eine virtuelle Spur aktualisiert worden ist, diese Spur zu einer neuen Stelle in dem Datenspeicher-Untersystem 100 geschrieben werden und die Daten in der vorherigen Stelle müssen als freier Raum markiert werden. Deshalb werden in jeder Redundanz-Gruppe die logischen Zylinder mit "Löchern" aus veralteten Daten in der Form virtueller Spur-Fälle durchsiebt, die als veraltet markiert sind. Um vollständig leere, logische Zylinder für eine Zurückstufung zu erzeugen, müssen die gültigen Daten in teilweise gültigen Zylindern in den Cache-Speicher 113 gelesen und in neue, zuvor geleerte, logische Zylinder eingeschrieben werden. Dieser Prozeß wird als Freiraum-Sammlung bezeichnet. Die Freiraum-Sammlungs-Funktion wird durch die Steuereinheit 101 ausgeführt. Die Steuereinheit 101 wählt einen logischen Zylinder aus, der als eine Funktion davon sammeln muß, wieviel freier Raum er enthält. Die Freiraum-Bestimmung wird basierend auf dem Freiraum-Directory begründet, wie dies in Figur 8 dargestellt ist, der die Verfügbarkeit von unbenutztem Speicher in dem Datenspeicher-Untersystem 100 anzeigt. Die Tabelle, die in Figur 8 dargestellt ist, ist eine Auflistung aller der logischen Vorrichtungen, die in dem Datenspeicher-Untersystem 100 enthalten sind, und die Identifikation jedes der logischen Zylinder, die darin enthalten sind. Die Eintritte in dieses Diagramm stellen die Zahl freier physikalischer Sektoren in diesem bestimmten, logischen Zylinder dar. Ein Schreib-Cursor wird in einem Speicher gehalten und dieser Schreib-Cursor zeigt den verfügbaren, offenen, logischen Zylinder an, in dem die Steuereinheit 101 schreiben wird, wenn Daten von dem Cache-Speicher 113 nach einer Modfikation durch den zugeordneten Host-Prozessor 11-12 oder als Teil eines Freiraum-Samme-Prozesses zurückgestuft werden. Zusätzlich wird ein Freiraum-Sammel-Cursor aufrechterhalten, der auf den momentanen, logischen Zylinder hinweist, der freigemacht wird, und zwar als Teil eines Freiraum-Sammel-Prozesses. Deshalb kann die Steuereinheit 101 den Freiraum-Directory, der in Figur 8 dargestellt ist, als ein Backend-Prozeß durchsehen, um zu bestimmen, welcher logische Zylinder auf einer logischen Vorrichtung am meisten von einer Freiraum-Sammlung profitieren würde. Die Steuereinheit 101 aktiviert den Freiraum-Sammel-Prozeß durch Lesen aller gültiger Daten von dem ausgewählten, logischen Zylinder in den Cache-Speicher 113. Der logische Zylinder wird dann als vollständig leer aufgelistet, da alle der virtuellen Spur-Fälle darin als veraltet mit Markierung versehen sind. Zusätzliche logische Zylinder werden für Freiraum-Sammlungszwecke gesammelt oder wenn Daten von einem zugeordneten Host-Prozessor 11-12 empfangen sind, bis ein vollständiger, logischer Zylinder aufgefüllt worden ist. Wenn einmal ein vollständiger, logischer Zylinder aufgefüllt worden ist, wird ein neuer, zuvor geleerter, logischer Zylinder ausgewählt.
  • Figur 9 stellt in Flußdiagrammform die operationsmäßigen Schritte dar, die durch den Prozessor 204 vorgenommen werden, um den Freiraum-Sammel-Prozeß auszuführen. Die Verwendung von Source-(Quellen-) und Target-(Ziel-)Zeichen (Flags) wird durch den Freiraum-Sammel-Prozeß benötigt, da dieser Prozeß bestimmen muß, ob jeder virtuelle Spur-Fall gültige oder veraltete Daten enthält. Zusätzlich führt der Freiraum-Sammel-Prozeß die Bewegungslkopier-Zählfeldeinstellungs-Operationen durch, die in der Kopie-Tabelle aufgelistet sind. Der Basisprozeß wird an einem Schritt 901 initiiert, wenn der Prozessor 204 einen logischen Zylinder für eine Sammlung basierend auf der Zahl freier logischer Sektoren, wie dies in der Tabelle der Figur 8 aufgelistet ist, auswählt. Der Prozessor 204 prüft jeden virtuellen Spur-Directory-Eintritt, um zu bestimmen, ob das Quellen-Zeichen eingestellt ist. Falls dies nicht der Fall ist, geht der Prozeß an einem Schritt 909 zu der nächsten logischen Spur über. Falls das Quellen-Zeichen eingestellt ist, tastet an einem Schritt 902 der Prozessor 204 die Quellen-Liste ab, um die logische Adresse in dem Logik-Zylinder-Directory zu finden. Falls keine Adresse gefunden wird, ist dieser virtuelle Spur-Fall eine veraltete Version und wird nicht länger benötigt (ist ungültig). Diese Daten werden nicht umgeordnet.
  • Falls die Adresse gefunden wird, und zwar in einem Schritt 904, vergleicht der Prozessor 204 die logische Adresse des Logik-Zylinder-Directory mit der logischen Adresse des virtuellen Spur-Directory-Eintritts. Falls dabei eine Anpassung vorhanden ist, erzeugt der Prozessor 204 einen Logik-Zylinder-Directory-Eintritt für diesen virtuellen Spur-Fall. Falls dort keine Anpassung vorhanden ist, ist die Quelle aktualisiert worden und besteht irgendwo. Der Prozessor 204 aktualisiert an einem Schritt 906 den Deskriptor für den virtuellen Spur-Fall, um die virtuelle Quellen-Adresse zu entfernen. Unter Abschluß entweder des Schritts 905 oder des Schritts 906 aktualisiert der Prozessor 204 an einem Schritt 907 für alle Targets bzw. Ziele in dieser Ziel-Liste der Quellen den Deskriptor des virtuellen Spur-Falls, um diese virtuelle Adresse und die aktualisierten Zähl-Felder-Zeichen von der Kopie-Tabelle zu umfassen. Zusätzlich erzeugt der Prozessor 204 einen Logik-Zylinder-Directory-Eintritt für diesen virtuellen Spur-Fall. Abschließend aktualisiert der Prozessor 204 den Directory-Eintritt der virtuellen Spur für das Ziel, um auf die neue Stelle hinzuweisen, und um das Ziel-Zeichen zu löschen. Der Prozessor 204 entfernt an einem Schritt 908 diese Quelle und alle ihre Targets von der Kopie-Tabelle. Der Prozessor 204 tastet auch die Kopie-Tabelle nach Quellen mit derselben virtuellen Adresse ab und löscht das Quellen-Zeichen. Die Änderungen werden dann zu dem Directory der virtuellen Spur und zu der Kopie-Tabelle gelenkt.
  • Während eine spezifische Ausführungsform dieser Erfindung hier offenbart worden ist, wird erwartet, daß Fachleute auf dem betreffenden Fachgebiet andere Ausführungsformen aufbauen können, die sich von dieser bestimmten Ausführungsform unterscheiden, allerdings innerhalb des Schutzumfangs der beigefügten Ansprüche fallen.

Claims (27)

1. Plattenspeichersystem zum Speichern von Daten-Aufzeichnungen für mindestens einen zugeordneten Daten-Prozessor, das aufweist:
eine Vielzahl von Plattenlaufwerken, wobei ein Untersatz der Vielzahl der Plattenlaufwerke in mindestens zwei Redundanz-Gruppen konfiguriert ist, wobei jede Redundanz-Gruppe aus mindestens zwei Plattenlaufwerken besteht;
eine Einrichtung, die auf den Empfang eines Stroms aus Daten-Aufzeichnungen von dem zugeordneten Daten-Prozessor anspricht, zum Auswählen eines ersten, verfügbaren Speicherraums in einer der Redundanz-Gruppen, um den empfangenen Strom aus Daten-Aufzeichnungen darauf zu speichern;
eine Einrichtung zum Schreiben des empfangenen Stroms von Daten-Aufzeichnungen und Redundanz-Daten, die dem empfangenen Strom der Daten-Aufzeichnungen zugeordnet sind, in den ausgewählten, ersten, verfügbaren Speicherraum in der ausgewählten Redundanz-Gruppe;
eine Einrichtung, die auf den darauffolgenden Empfang von Modifikationen zu einer der Daten-Aufzeichnungen, die in dem ersten verfügbaren Speicherraum in der ausgewählten Redundanz-Gruppe von dem zugeordneten Daten-Prozessor gespeichert sind, anspricht, zum Schreiben der modifizierten Daten-Aufzeichnung, ausschließlich des Rests des empfangenen Stroms aus Daten-Aufzeichnungen und der Redundanz-Daten, die dem empfangenen Strom von Daten-Aufzeichnungen zugeordnet sind, die in dem ersten verfügbaren Speicherraum gespeichert sind, in einen zweiten verfügbaren Speicherraum in einer der Redundanz-Gruppen durch Einschließen der modifizierten Daten-Aufzeichnung mit einem Strom aus Daten-Aufzeichnungen, die darauffolgend durch die Schreibeinrichtung empfangen sind; und
eine Einrichtung zum Umwandeln des ersten verfügbaren Speicherraums, der dazu verwendet wird, die original empfangene Daten-Aufzeichnung zu speichern, zu verfügbarem Speicherraum.
2. System nach Anspruch 1, das weiterhin aufweist:
eine Einrichtung, die auf eine der Redundanz-Gruppen anspricht, die verfügbaren Speicherraum auf mindestens einem der mindestens zwei Plattenlaufwerke an einer bestimmten Speicher-Adresse enthält, wobei die entsprechende, bestimmte Speicher-Adresse auf einem der mindestens zwei Plattenlaufwerke nicht verfügbaren Speicherraum enthält, zum Entfernen von Daten-Aufzeichnungen von einer der mindestens zwei Plattenlaufwerke, das nicht verfügbaren Speicherraum an der entsprechenden Speicher-Adresse enthält, um Speicherraum auf allen der mindestens zwei Plattenlaufwerke an der bestimmten Speicher-Adresse verfügbar zu machen.
3. System nach Anspruch 2, das weiterhin aufweist:
eine Einrichtung, die auf die Entfernungseinrichtung anspricht, zum Kombinieren der entfernten Daten-Aufzeichnungen mit mindestens einer Daten-Aufzeichnung, die von dem zugeordneten Daten-Prozessor empfangen ist, um einen gemischten Strom aus Daten-Aufzeichnungen zu bilden; und
eine Einrichtung zum Schreiben aufeinanderfolgender Teile des gemischten Stroms aus Daten-Aufzeichnungen auf entsprechenden der mindestens zwei Plattenlaufwerke in einer der Redundanz-Gruppen.
4. System nach Anspruch 1, das weiterhin aufweist:
eine Einrichtung zum Reservieren mindestens eines der Vielzahl der Plattenlaufwerke als Sicherungs-Plattenlaufwerk, wobei die Sicherungs-Plattenlaufwerke gemeinsam durch die Redundanz-Gruppen geteilt werden;
eine Einrichtung zum Identifizieren eines der mindestens zwei Plattenlaufwerke in einer der Redundanz-Gruppen, die ausfällt, zu funktionieren; und
eine Einrichtung zum umschaltbaren Verbinden eines der Sicherungs-Plattenlaufwerke anstelle des identifizierten, ausgefallenen Plattenlaufwerks.
5. System nach Anspruch 4, das weiterhin aufweist:
eine Einrichtung zum Rekonstruieren des Stroms aus Daten-Aufzeichnungen, die auf dem identifizierten, ausgefallenen Plattenlaufwerk geschrieben sind, unter Verwendung der zugeordneten Redundanz-Daten; und
eine Einrichtung zum Schreiben des rekonstruierten Stroms aus Daten-Aufzeichnungen auf das eine Sicherungs-Laufwerk.
6. System nach Anspruch 5, wobei die rekonstruierende Einrichtung umfaßt:
eine Einrichtung zum Erzeugen des Stroms aus Daten-Aufzeichnungen, die auf dem identifizierten, ausgefallenen Plattenlaufwerk geschrieben sind, unter Verwendung der zugeordneten Redundanz-Daten und der Daten-Aufzeichnungen, die auf den verbleibenden Plattenlaufwerken in der Redundanz-Gruppe geschrieben sind.
7. System nach Anspruch 1, das weiterhin aufweist:
eine Einrichtung zum Aufrechterhalten von Daten, die für die Korrespondenz zwischen jedem des empfangenen Stroms aus Daten-Aufzeichnungen und der Identität des einen der mindestens zwei Plattenlauferke in der ausgewählten Redundanz-Gruppe, auf der der empfangene Strom aus Daten-Aufzeichnungen gespeichert wird, indikativ sind.
8. System nach Anspruch 6, wobei die Erzeugungseinrichtung umfaßt:
eine Einrichtung zum Erzeugen von Multi-Bit-Fehler-Coden, um mindestens zwei Redundanz-Segmente für die empfangenen Ströme aus Daten-Aufzeichnungen zu produzieren.
9. System nach Anspruch 1, wobei jede der Redundanz-Gruppe n+m Plattenlaufwerke umfaßt, wobei n und m beide positive ganze Zahlen sind mit n größer als 1 und m gleich zu oder größer als 1, wobei die Schreibeinrichtung umfaßt:
eine Einrichtung zum Speichern jedes Stroms aus Daten-Aufzeichnungen, die von den zugeordneten Datenverarbeitungsvorrichtungen auf aufeinanderfolgenden der n Plattenlaufwerke in dem ersten verfügbaren Speicherraum in der ausgewählten Redundanz-Gruppe empfangen sind;
eine Einrichtung, die auf die Speichereinrichtungs-Speicherströme aus Daten- Aufzeichnungen auf allen n Plattenlaufwerken in dem ersten verfügbaren Speicherraum in der ausgewählten Redundanz-Gruppe zum Erzeugen von m Segmenten aus Daten-Redundanz-Informationen für die Daten-Aufzeichnung, die auf den n Plattenlaufwerken gespeichert sind, anspricht; und
eine Einrichtung zum Schreiben der m Segmente der Redundanz-Daten auf die m Plattenlaufwerke in dem ersten, verfügbaren Speicherraum in der ausgewählten Redundanz-Gruppe.
10. System nach Anspruch 1, wobei jede Redundanz-Gruppe aus n+m Plattenlaufwerken besteht, wobei n und m beide positive ganze Zahlen sind mit n größer als 1 und m gleich zu oder größer als 1, wobei die Schreibeinrichtung umfaßt:
eine Einrichtung, die auf den Empfang von n Strömen aus Daten-Aufzeichnungen von dem zugeordneten Daten-Prozessor zum Speichern der n empfangenen Ströme aus Daten-Aufzeichnungen ansprechend ist;
eine Einrichtung zum Erzeugen von m Redundanz-Segmenten, unter Verwendung von n empfangenen Ströme aus Daten-Aufzeichnungen;
eine Einrichtung zum Schreiben der n empfangenen Ströme aus Daten-Aufzeichnungen und der m Redundanz-Segmente in dem ersten, verfügbaren Speicherraum in der ausgewählten einen der Redundanz-Gruppen, eines der empfangenen Ströme der Daten-Aufzeichnungen und eines Redundanz-Segments auf einem entsprechenden einen der n+ m-Plattenlaufwerke in dem ersten verfügbaren Speicherraum in der ausgewählten Redundanz-Gruppe.
11. System nach Anspruch 1, wobei jede Redundanz-Gruppe aus n+m Plattenlaufwerken besteht, wobei n und m beide positive ganze Zahlen sind mit n größer als 1 und m gleich zu oder größer als 1, wobei die Schreibeinrichtung umfaßt:
eine Einrichtung, die auf den Empfang von n Strömen aus Daten-Aufzeichnungen von dem zugeordneten Daten-Prozessor zum Speichern der n empfangenen Ströme aus Daten-Aufzeichnungen ansprechend ist;
eine Einrichtung zum Erzeugen von m Redundanz-Segmenten, unter Verwendung der n empfangenen Ströme aus Daten-Aufzeichnungen;
eine Einrichtung zum Auswählen eines ersten verfügbaren Speicherraums, der unter derselben relativen Adresse für jedes der n+m Plattenlaufwerke in der ausgewählten Redundanz-Gruppe adressierbar ist, zum Speichern der n empfangenen Ströme aus Daten-Aufzeichnungen und der m erzeugten Redundanz- Segmente; und
eine Einrichtung zum Schreiben der n empfangenen Ströme aus Daten-Aufzeichnungen und der m Redundanz-Segmente auf den n+m Plattenlaufwerken in dem ersten, verfügbaren Speicherraum in der ausgewählten Redundanz- Gruppe, wobei jeder Strom aus Daten-Aufzeichnungen und jedes Redundanz- Segment an der relativen Adresse auf einem jeweiligen einen der n+m Plattenlaufwerke ist.
12. System nach Anspruch 1, wobei jede Redundanz-Gruppe aus n+m Plattenlaufwerken besteht, wobei n und m beide positive ganze Zahlen sind größer als 1 und wobei die Plattenlaufwerke jeweils eine entsprechende Vielzahl physikalischer Spuren umfassen, um Sätze aus physikalischen Spuren zu bilden, die als logische Spuren bezeichnet sind, wobei jede logische Spur eine physikalische Spur an derselben relativen Adresse auf jedem der n+m Plattenlaufwerke besitzt, zum Speichern von Strömen aus Daten-Aufzeichnungen darauf, wobei die Schreibeinrichtung umfaßt:
eine Einrichtung, die auf den Empfang von n Strömen aus Daten-Aufzeichnungen von dem zugeordneten Daten-Prozessor zum Speichern der n empfangenen Ströme aus Daten-Aufzeichnungen ansprechend ist;
eine Einrichtung zum Erzeugen von m Redundanz-Segmenten, unter Verwendung der n empfangenen Ströme aus Daten-Aufzeichnungen;
eine Einrichtung zum Auswählen einer der logischen Spuren in einer der Redundanz-Gruppen, die eine verfügbare physikalische Spur adressierbar unter derselben relativen Adresse für jedes der n+m Plattenlaufwerke besitzt; und
eine Einrichtung zum Schreiben der n empfangenen Ströme aus Daten-Aufzeichnungen und der m Redundanz-Segmente auf den n+m Plattenlaufwerken in der ausgewählten, logischen Spur jedes Stroms aus Daten-Aufzeichnungen und jedes Redundanz-Segments an der ausgewählten, verfügbaren physikalischen Spur auf einem jeweiligen einen der n+m Plattenlaufwerke.
13. System nach Anspruch 12, wobei die modifizierte Daten-Schreibeinrichtung auf den darauffolgenden Empfang von Modifikationen zu einer der Daten-Aufzeichnungen, die auf der ausgewählten, physikalischen Spur auf einem der n+m Plattenlaufwerke in der ausgewählten, logischen Spur gespeichert sind, von dem zugeordneten Daten-Prozessor zum Schreiben der modifizierten Daten- Aufzeichnung in einer verfügbaren logischen Spur in einer der Redundanz- Gruppen, ausschließlich dem Rest der ausgewählten physikalischen Spur, auf dem einen der n+m Plattenlaufwerke in der ausgewählten, logischen Spur ansprechend ist; und
wobei die Konvertiereinrichtung die ausgewählte, physikalische Spur, adressierbar an der relativen Adresse auf dem einen der n+m Plattenlaufwerke, in der ausgewählten Redundanz-Gruppe wandelt, die dazu verwendet ist, die original empfangene Daten-Aufzeichnung an einer verfügbaren, physikalischen Spur zu speichern.
14. System nach Anspruch 13, das weiterhin aufweist:
eine Einrichtung, die auf einen der Sätze der physikalischen Spuren in einer Redundanz-Gruppe, die einen verfügbaren Speicherraum an mindestens einem der n+m Plattenlaufwerke in einer logischen Spur enthält, ansprechend ist, wobei die entsprechenden physikalischen Spuren auf den verbleibenden Plattenlaufwerken der logischen Spur verfügbaren Speicherraum nicht enthalten, zum Entfernen von Daten-Aufzeichnungen von den verbleibenden, physikalischen Spuren der logischen Spur in dem Satz, der verfügbaren Speicherraum an der entsprechenden Speicheradresse nicht enthält, um Speicherraum auf allen physikalischen Spuren auf den n+m Plattenlaufwerken an der bestimmten Speicher-Adresse verfügbar zu machen.
15. Plattenspeichersystem, das eine Vielzahl von Plattenlaufwerken besitzt, wobei eine Zahl der Vielzahl der Plattenlaufwerke in mindestens zwei Redundanz- Gruppen konfiguriert ist, wobei jede Redundanz-Gruppe aus mindestens zwei Plattenlaufwerken besteht, wobei ein Verfahren zum Speichern von Daten-Aufzeichnungen für mindestens einen zugeordneten Daten-Prozessor die Schritte aufweist:
Auswählen, in Abhängigkeit des Empfangs eines Stroms aus Daten-Aufzeichnungen von dem zugeordneten Daten-Prozessor, eines zuerst verfügbaren Speicherraums in einer der Redundanz-Gruppen, um den empfangenen Strom aus Daten-Aufzeichnungen darauf zu speichern;
Schreiben des empfangenen Stroms aus Daten-Aufzeichnungen und Redundanz-Daten, die dem empfangenen Strom aus Daten-Aufzeichnungen in dem ausgewählten, ersten, verfügbaren Speicherraum in der ausgewählten Redundanz-Gruppe zugeordnet sind;
Schreiben, in Abhängigkeit von dem darauffolgenden Empfang von Modifikationen zu einer der Daten-Aufzeichnungen, die in dem ersten, verfügbaren Speicherraum in der ausgewählten Redundanz-Gruppe von dem zugeordneten Daten-Prozessor gespeichert sind, der modifizierten Daten-Aufzeichnung, ausschließlich des Rests des empfangenen Stroms aus Daten-Aufzeichnungen und der Redundanz-Daten, die dem empfangenen Strom aus Daten-Aufzeichnungen zugeordnet sind, die in dem ersten, verfügbaren Speicherraum geschrieben sind, in den zweiten verfügbaren Speicherraum in einer der Redundanz-Gruppen durch Einschließen der modifizierten Daten-Aufzeichnung in einen Strom aus Daten-Aufzeichnungen, die darauffolgend für den Schritt eines Schreibens empfangen sind; und
Konvertieren des ersten verfügbaren Speicherraums, der dazu verwendet ist, um die original empfangene Daten-Aufzeichnung zu dem verfügbaren Speicherraum zu speichern.
16. Verfahren nach Anspruch 15, das weiterhin die Schritte aufweist:
Entfernen, in Abhängigkeit einer der Redundanz-Gruppen, die verfügbaren Speicherraum auf mindestens einer der mindestens zwei Plattenlaufwerke an einer bestimmten Speicher-Adresse enthalten, wobei die entsprechende Speicher-Adresse auf einer der mindestens zwei Plattenlaufwerke verfügbaren Speicherraum nicht enthält, von Daten-Aufzeichnungen von einem der mindestens zwei Plattenlaufwerke, das verfügbaren Speicherraum an der entsprechenden Speicher-Adresse nicht enthält, um Speicherraum an der entsprechenden Speicher-Adresse auf allen der mindestens zwei Plattenlaufwerke an der bestimmten Speicher-Adresse verfügbar zu machen.
17. Verfahren nach Anspruch 16, das weiterhin die Schritte aufweist:
Kombinieren der entfernten Daten-Aufzeichnungen mit mindestens einer Daten-Aufzeichnung, die von dem zugeordneten Daten-Prozessor empfangen ist, um einen gemischten Strom aus Daten-Aufzeichnungen zu bilden; und
Schreiben aufeinanderfolgender Teile des gemischten Stroms aus Daten-Aufzeichnungen auf entsprechende der mindestens zwei Plattenlaufwerke in einer der Redundanz-Gruppen.
18. Verfahren nach Anspruch 15, das weiterhin die Schritte aufweist:
Reservieren mindestens eines der Vielzahl der Plattenlaufwerke als Sicherungs-Laufwerk, wobei die Sicherungs-Laufwerke gemeinsam durch die Redundanz-Gruppen geteilt werden;
Identifizieren eines der mindestens zwei Plattenlaufwerke in einer der Redundanz-Gruppen, die ausfällt, zu funktionieren; und
umschaltbares Verbinden eines der Sicherungs-Plattenlaufwerke anstelle des identifizierten, ausgefallenen Plattenlaufwerks.
19. Verfahren nach Anspruch 18, das weiterhin die Schritte aufweist:
Rekonstruieren des Stroms der Daten-Aufzeichnungen, die auf dem identifizierten, ausgefallenen Laufwerk geschrieben sind, unter Verwendung der zugeordneten Redundanz-Daten; und
Schreiben des rekonstruierten Stroms aus Daten-Aufzeichnungen auf dem einen Sicherungs-Plattenlaufwerk.
20. Verfahren nach Anspruch 19, wobei der Schritt eines Rekonstruierens umfaßt: Erzeugen des Stroms aus Daten-Aufzeichnungen, die auf dem identifizierten, ausgefallenen Plattenlaufwerk geschrieben sind, unter Verwendung der zugeordneten Redundanz-Daten und der Daten-Aufzeichnung, die auf den verbleibenden Plattenlaufwerken in der Redundanz-Gruppe geschrieben sind.
21. Verfahren nach Anspruch 15, das weiterhin die Schritte aufweist:
Aufrechterhalten von Daten, die für die Korrespondenz zwischen den empfangenen Strömen aus Daten-Aufzeichnungen und der Identität des einen der mindestens zwei Plattenlaufwerke in der ausgewählten Redundanz-Gruppe, auf denen die empfangenen Ströme aus Daten-Aufzeichnungen gespeichert sind, indikativ ist.
22. Verfahren nach Anspruch 15, wobei jede Redundanz-Gruppe n+m Plattenlaufwerke umfaßt, wobei n und m beide positive ganze Zahlen sind, wobei n größer als 1 ist und m gleich zu oder größer als 1 ist, wobei der Schritt eines Schreibens umfaßt:
Speichern jedes Stroms aus Daten-Aufzeichnungen, die von den zugeordneten Datenverarbeitungsvorrichtungen empfangen sind, auf aufeinanderfolgenden der n Plattenlaufwerke in dem ersten verfügbaren Speicherraum in der ausgewählten Redundanz-Gruppe;
Erzeugen in Abhängigkeit eines Speichern von Strömen aus Daten-Aufzeichnungen auf allen n Plattenlaufwerken in dem ersten verfügbaren Speicherraum in der ausgewählten Redundanz-Gruppe zum Erzeugen von m Segmenten aus Daten von Redundanz-Informationen für die Ströme der Daten-Aufzeichnungen, die auf den n Plattenlaufwerken gespeichert sind; und
Schreiben der m Segmente aus Redundanz-Daten auf den m Plattenlaufwerken in dem ersten verfügbaren Speicherraum in der ausgewählten Redundanz-Gruppe.
23. Verfahren nach Anspruch 15, wobei jede Redundanz-Gruppe aus n+m Plattenlaufwerken besteht, wobei n und m beide positive ganze Zahlen sind, wobei n größer als 1 ist und m gleich zu oder größer als list, wobei der Schritt eines Schreibens umfaßt:
Speichern, in Abhängigkeit des Empfangs von n Strömen aus Daten-Aufzeichnungen von dem zugeordneten Daten-Prozessor, der n empfangenen Ströme aus Daten-Aufzeichnungen;
Erzeugen von m Redundanz-Segmenten unter Verwendung der n empfangenen Ströme aus Daten-Aufzeichnungen; und
Schreiben der n empfangenen Ströme aus Daten-Aufzeichnungen und der m Redundanz-Segmente in den ersten verfügbaren Speicherraum in der ausgewählten einen der Redundanz-Gruppen, eines des empfangenen Stroms aus Daten-Aufzeichnungen und eines solchen Redundanz-Segments auf einem entsprechenden einen der n+m Plattenlaufwerke in dem ersten verfügbaren Speicherraum in der ausgewählten Redundanz-Gruppe.
24. Verfahren nach Anspruch 15, wobei jede Redundanz-Gruppe aus n+m Plattenlaufwerken besteht, wobei n und m beide positive ganze Zahlen sind, wobei n größer als 1 ist und m gleich zu oder größer als 1 ist, wobei der Schritt eines Schreibens umfaßt:
Speichern, in Abhängigkeit des Empfangs von n Strömen aus Daten-Aufzeichnungen von dem zugeordneten Daten-Prozessor, die n empfangenen Ströme aus Daten-Aufzeichnungen;
Erzeugen von m Redundanz-Segmenten unter Verwendung der n empfangenen Ströme aus Daten-Aufzeichnungen;
Auswählen eines ersten verfügbaren Speicherraums, der unter derselben relativen Adresse für jedes der n+m Plattenlaufwerke in der ausgewählten Redundanz-Gruppe adressierbar ist, zum Speichern der n empfangenen Ströme aus Daten-Aufzeichnungen und der m erzeugten Redundanz-Segmente; und
Schreiben der n empfangenen Ströme aus Daten-Aufzeichnungen und der m Redundanz-Segmente auf den n+m Plattenlaufwerken in dem ersten verfügbaren Speicherraum in der ausgewählten Redundanz-Gruppe jedes Stroms aus Daten-Aufzeichnungen und jedes Redundanz-Segment an der relativen Adresse auf einem jeweiligen einen der n+m Plattenlaufwerke.
25. Verfahren nach Anspruch 15, wobei jede Redundanz-Gruppe aus n+m Plattenlaufwerken besteht, wobei n und m beide positive, ganze Zahlen sind, wobei n größer als 1 ist und m gleich zu oder größer als 1 ist, und wobei die Plattenlaufwerke jeweils eine entsprechende Vielzahl physikalischer Spuren umfassen, um Sätze aus physikalischen Spuren zu bilden, die als logische Spuren bezeichnet sind, wobei jede logische Spur eine physikalische Spur an derselben relativen Adresse auf jedem der n+m Plattenlaufwerke besitzt, wobei der Schritt eines Schreibens umfaßt:
Speichern, in Abhängigkeit des Empfangs von n Strömen aus Daten-Aufzeichnungen von dem zugeordneten Daten-Prozessor, der n empfangenen Ströme aus Daten-Aufzeichnungen;
Erzeugen von m Redundanz-Segmenten unter Verwendung der n empfangenen Ströme aus Daten-Aufzeichnungen;
Auswählen einer der logischen Spuren in einer der Redundanz-Gruppen, die mindestens einen Satz aus verfügbaren physikalischen Spuren besitzt, die unter derselben relativen Adresse für jedes der n+m Plattenlaufwerke adressierbar sind; und
Schreiben der n empfangenen Ströme aus Daten-Aufzeichnungen und der m Redundanz-Segmente auf den n+m Plattenlaufwerken in der ausgewählten logischen Spur jedes Stroms aus Daten-Aufzeichnungen und jedes Redundanz- Segments an der ausgewählten, verfügbaren, physikalischen Spur auf einem jeweiligen einen der n+m Plattenlaufwerke.
26. Verfahren nach Anspruch 25, wobei der Schritt eines Schreibens, in Abhängigkeit des darauffolgenden Empfangs von Modifikationen zu einer der Daten-Aufzeichnungen, die an der ausgewählten physikalischen Spur auf einem der n+m Plattenlaufwerke in der ausgewählten, logischen Spur gespeichert sind, von dem zugeordneten Daten-Prozessor die modifizierte Daten-Aufzeichnung in eine verfügbare logische Spur in einer der Redundanz-Gruppen, und zwar exklusiv der ausgewählten, physikalischen Spur, auf dem einen der n+m Plattenlaufwerke in der ausgewählten, logischen Spur, schreibt; und
wobei der Schritt eines Konvertierens die ausgewählte, physikalische Spur adressierbar an der relativen Adresse auf dem einen der n+m Plattenlaufwerke in der ausgewählten Redundanz-Gruppe gestaltet, die dazu verwendet wird, die original empfangene Daten-Aufzeichnung zu einer verfügbaren physikalischen Spur zu speichern.
27. Verfahren nach Anspruch 26, das weiterhin den Schritt aufweist:
Entfernen, in Abhängigkeit eines der Sätze der physikalischen Spuren in einer Redundanz-Gruppe, die verfügbaren Speicherraum auf mindestens einem der n+m Plattenlaufwerke in einer logischen Spur enthält, wobei die entsprechenden physikalischen Spuren auf den verbleibenden Plattenlaufwerken der logischen Spur verfügbaren Speicherraum nicht enthalten, von Daten-Aufzeichnungen von den verbleibenden, physikalischen Spuren der logischen Spur, die verfügbaren Speicherraum an der entsprechenden Speicher-Adresse nicht enthält, um Speicherraum auf allen der physikalischen Spuren auf den n+m Plattenlaufwerken an der bestimmten Speicheradresse verfügbar zu gestalten.
DE69127895T 1990-04-16 1991-04-05 Logisches spurschreibzuordnungssystem für paralleles plattenlaufwerksmatrixdatenspeicherungsuntersystem Expired - Lifetime DE69127895T4 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US07/509,484 US5124987A (en) 1990-04-16 1990-04-16 Logical track write scheduling system for a parallel disk drive array data storage subsystem
PCT/US1991/002358 WO1991016711A1 (en) 1990-04-16 1991-04-05 Logical track write scheduling system for a parallel disk drive array data storage subsystem

Publications (2)

Publication Number Publication Date
DE69127895T2 true DE69127895T2 (de) 1998-04-02
DE69127895T4 DE69127895T4 (de) 1998-07-16

Family

ID=24026794

Family Applications (2)

Application Number Title Priority Date Filing Date
DE69127895T Expired - Lifetime DE69127895T4 (de) 1990-04-16 1991-04-05 Logisches spurschreibzuordnungssystem für paralleles plattenlaufwerksmatrixdatenspeicherungsuntersystem
DE69127895A Expired - Fee Related DE69127895D1 (de) 1990-04-16 1991-04-05 Logisches spurschreibzuordnungssystem für paralleles plattenlaufwerksmatrixdatenspeicherungsuntersystem

Family Applications After (1)

Application Number Title Priority Date Filing Date
DE69127895A Expired - Fee Related DE69127895D1 (de) 1990-04-16 1991-04-05 Logisches spurschreibzuordnungssystem für paralleles plattenlaufwerksmatrixdatenspeicherungsuntersystem

Country Status (8)

Country Link
US (1) US5124987A (de)
EP (1) EP0526487B1 (de)
JP (1) JP3302688B2 (de)
AT (1) ATE159110T1 (de)
AU (1) AU654482B2 (de)
CA (1) CA2080579C (de)
DE (2) DE69127895T4 (de)
WO (1) WO1991016711A1 (de)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE19903963B4 (de) * 1998-06-03 2007-06-14 Mitsubishi Denki K.K. Datenübertragungsanordnung und -verfahren

Families Citing this family (266)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2830218B2 (ja) * 1989-11-22 1998-12-02 株式会社日立製作所 キャッシュ付ディスク制御装置の障害処理方法
JPH03194774A (ja) * 1989-12-25 1991-08-26 Hitachi Ltd 外部記憶装置の不良ブロック交替処理方式
US5263145A (en) * 1990-05-24 1993-11-16 International Business Machines Corporation Method and means for accessing DASD arrays with tuned data transfer rate and concurrency
US5247638A (en) * 1990-06-18 1993-09-21 Storage Technology Corporation Apparatus for compressing data in a dynamically mapped virtual data storage subsystem
US5193184A (en) * 1990-06-18 1993-03-09 Storage Technology Corporation Deleted data file space release system for a dynamically mapped virtual data storage subsystem
US5265098A (en) * 1990-08-03 1993-11-23 International Business Machines Corporation Method and means for managing DASD array accesses when operating in degraded mode
DE69132227T2 (de) * 1990-09-20 2000-09-28 Fujitsu Ltd Eingang-/Ausgangsteuerungseinrichtung
US5544347A (en) 1990-09-24 1996-08-06 Emc Corporation Data storage system controlled remote data mirroring with respectively maintained data indices
DE69131551T2 (de) * 1990-11-09 2000-02-17 Emc Corp Logische Aufteilung eines Speichersystems mit redundanter Matrix
JP3409859B2 (ja) 1991-01-31 2003-05-26 株式会社日立製作所 制御装置の制御方法
US6874101B2 (en) 1991-01-31 2005-03-29 Hitachi, Ltd. Storage unit subsystem
US5239640A (en) * 1991-02-01 1993-08-24 International Business Machines Corporation Data storage system and method including data and checksum write staging storage
US5301310A (en) * 1991-02-07 1994-04-05 Thinking Machines Corporation Parallel disk storage array system with independent drive operation mode
US5303244A (en) * 1991-03-01 1994-04-12 Teradata Fault tolerant disk drive matrix
US5257362A (en) * 1991-03-08 1993-10-26 International Business Machines Corporation Method and means for ensuring single pass small read/write access to variable length records stored on selected DASDs in a DASD array
US5345565A (en) * 1991-03-13 1994-09-06 Ncr Corporation Multiple configuration data path architecture for a disk array controller
US5239659A (en) * 1991-06-19 1993-08-24 Storage Technology Corporation Phantom duplex copy group apparatus for a disk drive array data storge subsystem
JP2913917B2 (ja) 1991-08-20 1999-06-28 株式会社日立製作所 記憶装置および記憶装置システム
US5481694A (en) * 1991-09-26 1996-01-02 Hewlett-Packard Company High performance multiple-unit electronic data storage system with checkpoint logs for rapid failure recovery
JPH0823802B2 (ja) * 1991-11-13 1996-03-06 富士通株式会社 アレイディスク装置の状態表示方式
US5802264A (en) * 1991-11-15 1998-09-01 Fujitsu Limited Background data reconstruction in a storage device array system
US5379411A (en) * 1991-11-15 1995-01-03 Fujitsu Limited Fault indication in a storage device array
US5426639A (en) * 1991-11-29 1995-06-20 At&T Corp. Multiple virtual FIFO arrangement
JP3451099B2 (ja) * 1991-12-06 2003-09-29 株式会社日立製作所 外部記憶サブシステム
JP2597060B2 (ja) * 1991-12-13 1997-04-02 富士通株式会社 アレイディスク装置
US5506977A (en) * 1991-12-17 1996-04-09 Dell Usa, L.P. Method and controller for minimizing reads during partial stripe write operations to a disk drive
US5537566A (en) * 1991-12-17 1996-07-16 Fujitsu Limited Apparatus and method for controlling background processing in disk array device
JP3160106B2 (ja) * 1991-12-23 2001-04-23 ヒュンダイ エレクトロニクス アメリカ ディスクアレーの区分け方法
US5333305A (en) * 1991-12-27 1994-07-26 Compaq Computer Corporation Method for improving partial stripe write performance in disk array subsystems
EP0551009B1 (de) * 1992-01-08 2001-06-13 Emc Corporation Verfahren zur Synchronisierung von reservierten Bereichen in einer redundanten Speicheranordnung
US5341381A (en) * 1992-01-21 1994-08-23 Tandem Computers, Incorporated Redundant array parity caching system
JP3058743B2 (ja) * 1992-01-21 2000-07-04 株式会社日立製作所 ディスクアレイ制御装置
US5398253A (en) * 1992-03-11 1995-03-14 Emc Corporation Storage unit generation of redundancy information in a redundant storage array system
US5740465A (en) * 1992-04-08 1998-04-14 Hitachi, Ltd. Array disk controller for grouping host commands into a single virtual host command
US5410667A (en) * 1992-04-17 1995-04-25 Storage Technology Corporation Data record copy system for a disk drive array data storage subsystem
US5418921A (en) * 1992-05-05 1995-05-23 International Business Machines Corporation Method and means for fast writing data to LRU cached based DASD arrays under diverse fault tolerant modes
JPH0683542A (ja) * 1992-06-01 1994-03-25 Nec Corp フロッピィ・ディスク・コントローラの制御方法
EP0582370B1 (de) * 1992-06-05 1998-10-07 Compaq Computer Corporation Plattenantriebsteuergerät mit Nachschreibcachespeicher
US5408644A (en) * 1992-06-05 1995-04-18 Compaq Computer Corporation Method and apparatus for improving the performance of partial stripe operations in a disk array subsystem
US5398331A (en) * 1992-07-08 1995-03-14 International Business Machines Corporation Shared storage controller for dual copy shared data
US5596736A (en) * 1992-07-22 1997-01-21 Fujitsu Limited Data transfers to a backing store of a dynamically mapped data storage system in which data has nonsequential logical addresses
US5309451A (en) * 1992-08-12 1994-05-03 Digital Equipment Corporation Data and parity prefetching for redundant arrays of disk drives
US5315602A (en) * 1992-08-12 1994-05-24 Digital Equipment Corporation Optimized stripe detection for redundant arrays of disk drives
JP2737562B2 (ja) * 1992-08-18 1998-04-08 日本電気株式会社 高密度磁気ディスク装置のパトロールシーク方式
JP3183719B2 (ja) * 1992-08-26 2001-07-09 三菱電機株式会社 アレイ型記録装置
US5403639A (en) * 1992-09-02 1995-04-04 Storage Technology Corporation File server having snapshot application data groups
AU5442494A (en) * 1992-10-13 1994-05-09 Compaq Computer Corporation Disk array controller having advanced internal bus protocol
US5448709A (en) * 1992-10-13 1995-09-05 Compaq Computer Corporation Disk array controller having command descriptor blocks utilized by bus master and bus slave for respectively performing data transfer operations
US5581724A (en) * 1992-10-19 1996-12-03 Storage Technology Corporation Dynamically mapped data storage subsystem having multiple open destage cylinders and method of managing that subsystem
US5418925A (en) * 1992-10-23 1995-05-23 At&T Global Information Solutions Company Fast write I/O handling in a disk array using spare drive for buffering
US5579474A (en) * 1992-12-28 1996-11-26 Hitachi, Ltd. Disk array system and its control method
US5355486A (en) * 1993-01-21 1994-10-11 Conner Peripherals, Inc. System for allocating tasks between two actuators servicing the same magnetic disk media in a single disk drive
US5463765A (en) * 1993-03-18 1995-10-31 Hitachi, Ltd. Disk array system, data writing method thereof, and fault recovering method
GB2278228B (en) * 1993-05-21 1997-01-29 Mitsubishi Electric Corp An arrayed recording apparatus
JP3200500B2 (ja) * 1993-05-27 2001-08-20 株式会社日立製作所 ディスク装置及びディスク制御方法
US5598549A (en) * 1993-06-11 1997-01-28 At&T Global Information Solutions Company Array storage system for returning an I/O complete signal to a virtual I/O daemon that is separated from software array driver and physical device driver
JP3237736B2 (ja) * 1993-09-07 2001-12-10 ヒュンダイ エレクトロニクス アメリカ データ記憶装置のマトリックス構造
JP3119978B2 (ja) * 1993-09-22 2000-12-25 株式会社東芝 ファイル記憶装置及びそのファイル管理方法
US5511227A (en) * 1993-09-30 1996-04-23 Dell Usa, L.P. Method for configuring a composite drive for a disk drive array controller
US5530850A (en) * 1993-10-25 1996-06-25 International Business Machines Corporation Data storage library array with log-structured file system which allows simultaneous write and garbage collection
US5586250A (en) * 1993-11-12 1996-12-17 Conner Peripherals, Inc. SCSI-coupled module for monitoring and controlling SCSI-coupled raid bank and bank environment
US5396620A (en) * 1993-12-21 1995-03-07 Storage Technology Corporation Method for writing specific values last into data storage groups containing redundancy
US5542066A (en) * 1993-12-23 1996-07-30 International Business Machines Corporation Destaging modified data blocks from cache memory
JP3065481B2 (ja) * 1994-04-22 2000-07-17 インターナショナル・ビジネス・マシーンズ・コーポレ−ション ディスク・アレイ装置およびデータの格納方法
US5522032A (en) * 1994-05-05 1996-05-28 International Business Machines Corporation Raid level 5 with free blocks parity cache
EP0689125B1 (de) * 1994-06-22 2004-11-17 Hewlett-Packard Company, A Delaware Corporation Verfahren zum Gebrauch von Speicherplatten unterschiedlicher Inhalte in einem Einzelvolumen einer hierarchischen Speicherplattenanordnung
US5915129A (en) 1994-06-27 1999-06-22 Microsoft Corporation Method and system for storing uncompressed data in a memory cache that is destined for a compressed file system
JP3687111B2 (ja) * 1994-08-18 2005-08-24 株式会社日立製作所 記憶装置システムおよび記憶装置の制御方法
US5412668A (en) * 1994-09-22 1995-05-02 International Business Machines Corporation Parity striping feature for optical disks
US5623595A (en) * 1994-09-26 1997-04-22 Oracle Corporation Method and apparatus for transparent, real time reconstruction of corrupted data in a redundant array data storage system
US5497457A (en) * 1994-10-17 1996-03-05 International Business Machines Corporation Redundant arrays of independent libraries of dismountable media with parity logging
US5488701A (en) * 1994-11-17 1996-01-30 International Business Machines Corporation In log sparing for log structured arrays
JPH08152976A (ja) * 1994-11-28 1996-06-11 Fujitsu Ltd 記憶装置のアクセス方法
US5537534A (en) * 1995-02-10 1996-07-16 Hewlett-Packard Company Disk array having redundant storage and methods for incrementally generating redundancy as data is written to the disk array
US5708793A (en) * 1995-03-31 1998-01-13 International Business Machines Corporation Method and apparatus using address and read head location information to provide optimal operation of a disk system
US5889795A (en) * 1995-04-21 1999-03-30 International Business Machines Corporation Disk array system and method for storing data
JP3509285B2 (ja) * 1995-05-12 2004-03-22 富士通株式会社 圧縮データ管理方式
CA2220974A1 (en) * 1995-05-22 1996-11-28 Mti Technology Corporation Disk array system including a dual-ported staging memory and concurrent redundancy calculation capability
US5671390A (en) * 1995-05-23 1997-09-23 International Business Machines Corporation Log structured array storage subsystem using LSA directory and LSA sub-directory stored in different storage media
US5657468A (en) * 1995-08-17 1997-08-12 Ambex Technologies, Inc. Method and apparatus for improving performance in a reduntant array of independent disks
JP3604466B2 (ja) * 1995-09-13 2004-12-22 株式会社ルネサステクノロジ フラッシュディスクカード
US5774643A (en) * 1995-10-13 1998-06-30 Digital Equipment Corporation Enhanced raid write hole protection and recovery
US5778426A (en) * 1995-10-23 1998-07-07 Symbios, Inc. Methods and structure to maintain a two level cache in a RAID controller and thereby selecting a preferred posting method
US5802344A (en) * 1995-11-03 1998-09-01 International Business Machines Corporation Method and apparatus for dynamic segment allocation in log structured arrays
US5862158A (en) * 1995-11-08 1999-01-19 International Business Machines Corporation Efficient method for providing fault tolerance against double device failures in multiple device systems
US6334195B1 (en) * 1995-12-29 2001-12-25 Lsi Logic Corporation Use of hot spare drives to boost performance during nominal raid operation
US5734861A (en) * 1995-12-12 1998-03-31 International Business Machines Corporation Log-structured disk array with garbage collection regrouping of tracks to preserve seek affinity
US5717850A (en) * 1996-03-12 1998-02-10 International Business Machines Corporation Efficient system for predicting and processing storage subsystem failure
US6366930B1 (en) 1996-04-12 2002-04-02 Computer Associates Think, Inc. Intelligent data inventory & asset management systems method and apparatus
US5734814A (en) * 1996-04-15 1998-03-31 Sun Microsystems, Inc. Host-based RAID-5 and NV-RAM integration
US6055577A (en) * 1996-05-06 2000-04-25 Oracle Corporation System for granting bandwidth for real time processes and assigning bandwidth for non-real time processes while being forced to periodically re-arbitrate for new assigned bandwidth
US5799324A (en) * 1996-05-10 1998-08-25 International Business Machines Corporation System and method for management of persistent data in a log-structured disk array
US5917998A (en) * 1996-07-26 1999-06-29 International Business Machines Corporation Method and apparatus for establishing and maintaining the status of membership sets used in mirrored read and write input/output without logging
US5864655A (en) * 1996-09-09 1999-01-26 International Business Machines Corporation Managing removable media in raid and rail environments
JP3228182B2 (ja) 1997-05-29 2001-11-12 株式会社日立製作所 記憶システム及び記憶システムへのアクセス方法
US7103794B2 (en) * 1998-06-08 2006-09-05 Cacheflow, Inc. Network object cache engine
US5937428A (en) * 1997-08-06 1999-08-10 Lsi Logic Corporation Method for host-based I/O workload balancing on redundant array controllers
JPH1153235A (ja) * 1997-08-08 1999-02-26 Toshiba Corp ディスク記憶装置のデータ更新方法、ならびにディスク記憶制御システム
US6041394A (en) * 1997-09-24 2000-03-21 Emc Corporation Disk array write protection at the sub-unit level
JPH11194899A (ja) * 1997-12-26 1999-07-21 Toshiba Corp ディスク記憶システム及び同システムに適用するデータ更新方法
USRE42761E1 (en) 1997-12-31 2011-09-27 Crossroads Systems, Inc. Storage router and method for providing virtual local storage
US5941972A (en) 1997-12-31 1999-08-24 Crossroads Systems, Inc. Storage router and method for providing virtual local storage
US6061753A (en) * 1998-01-27 2000-05-09 Emc Corporation Apparatus and method of accessing target devices across a bus utilizing initiator identifiers
US6170063B1 (en) * 1998-03-07 2001-01-02 Hewlett-Packard Company Method for performing atomic, concurrent read and write operations on multiple storage devices
US6351838B1 (en) * 1999-03-12 2002-02-26 Aurora Communications, Inc Multidimensional parity protection system
US6058054A (en) * 1999-03-31 2000-05-02 International Business Machines Corporation Method and system for providing an instant backup in a RAID data storage system
US6931440B1 (en) * 1999-04-21 2005-08-16 Emc Corporation Method and apparatus for dynamically determining whether access to a resource connected to a computer has changed and determining how to access the resource with a new identifier
US6581137B1 (en) * 1999-09-29 2003-06-17 Emc Corporation Data storage system
JP2001167040A (ja) * 1999-12-14 2001-06-22 Hitachi Ltd 記憶サブシステム及び記憶制御装置
JP4651230B2 (ja) * 2001-07-13 2011-03-16 株式会社日立製作所 記憶システム及び論理ユニットへのアクセス制御方法
US7657727B2 (en) * 2000-01-14 2010-02-02 Hitachi, Ltd. Security for logical unit in storage subsystem
US6684209B1 (en) * 2000-01-14 2004-01-27 Hitachi, Ltd. Security method and system for storage subsystem
JP4115060B2 (ja) * 2000-02-02 2008-07-09 株式会社日立製作所 情報処理システムのデータ復旧方法及びディスクサブシステム
US6611396B1 (en) * 2000-04-24 2003-08-26 Mobile Storage Technology Disk level servo write
JP4719957B2 (ja) * 2000-05-24 2011-07-06 株式会社日立製作所 記憶制御装置及び記憶システム並びに記憶システムのセキュリティ設定方法
JP4771615B2 (ja) * 2000-06-02 2011-09-14 コンパック インフォメーション テクノロジーズ グループ リミテッド パートナーシップ 仮想記憶システム
US6745284B1 (en) 2000-10-02 2004-06-01 Sun Microsystems, Inc. Data storage subsystem including a storage disk array employing dynamic data striping
US7158528B2 (en) * 2000-12-15 2007-01-02 Agere Systems Inc. Scheduler for a packet routing and switching system
US6546458B2 (en) * 2000-12-29 2003-04-08 Storage Technology Corporation Method and apparatus for arbitrarily large capacity removable media
US20020165942A1 (en) * 2001-01-29 2002-11-07 Ulrich Thomas R. Data path accelerator with variable parity, variable length, and variable extent parity groups
US6862692B2 (en) * 2001-01-29 2005-03-01 Adaptec, Inc. Dynamic redistribution of parity groups
US7054927B2 (en) * 2001-01-29 2006-05-30 Adaptec, Inc. File system metadata describing server directory information
US6990667B2 (en) 2001-01-29 2006-01-24 Adaptec, Inc. Server-independent object positioning for load balancing drives and servers
US7007141B2 (en) * 2001-01-30 2006-02-28 Data Domain, Inc. Archival data storage system and method
GB0104469D0 (en) 2001-02-23 2001-04-11 Ibm Log-structured array
EP1249415A3 (de) * 2001-04-14 2004-02-04 NexPress Solutions LLC Verfahren und Einrichtung zur Messung von Positionen von durchlaufenden Bogen
US6742081B2 (en) 2001-04-30 2004-05-25 Sun Microsystems, Inc. Data storage array employing block checksums and dynamic striping
US7239642B1 (en) 2001-07-16 2007-07-03 Network Appliance, Inc. Multi-protocol network interface card
US7289499B1 (en) * 2001-07-16 2007-10-30 Network Appliance, Inc. Integrated system and method for controlling telecommunication network data communicated over a local area network and storage data communicated over a storage area network
US6978283B1 (en) 2001-12-21 2005-12-20 Network Appliance, Inc. File system defragmentation technique via write allocation
US7533214B2 (en) 2002-02-27 2009-05-12 Microsoft Corporation Open architecture flash driver
US6901499B2 (en) * 2002-02-27 2005-05-31 Microsoft Corp. System and method for tracking data stored in a flash memory device
US7475098B2 (en) 2002-03-19 2009-01-06 Network Appliance, Inc. System and method for managing a plurality of snapshots
US6993539B2 (en) 2002-03-19 2006-01-31 Network Appliance, Inc. System and method for determining changes in two snapshots and for transmitting changes to destination snapshot
US7028215B2 (en) * 2002-05-03 2006-04-11 Hewlett-Packard Development Company, L.P. Hot mirroring in a computer system with redundant memory subsystems
US7873700B2 (en) * 2002-08-09 2011-01-18 Netapp, Inc. Multi-protocol storage appliance that provides integrated support for file and block access protocols
US7340486B1 (en) * 2002-10-10 2008-03-04 Network Appliance, Inc. System and method for file system snapshot of a virtual logical disk
US6928515B2 (en) * 2002-11-09 2005-08-09 International Business Machines Corporation Integrated sector format-error correction code system and method for efficient writing in a disk array system
US7809693B2 (en) * 2003-02-10 2010-10-05 Netapp, Inc. System and method for restoring data on demand for instant volume restoration
US7457982B2 (en) 2003-04-11 2008-11-25 Network Appliance, Inc. Writable virtual disk of read-only snapshot file objects
US7627780B2 (en) * 2003-04-23 2009-12-01 Dot Hill Systems Corporation Apparatus and method for deterministically performing active-active failover of redundant servers in a network storage appliance
US7401254B2 (en) * 2003-04-23 2008-07-15 Dot Hill Systems Corporation Apparatus and method for a server deterministically killing a redundant server integrated within the same network storage appliance chassis
US7380163B2 (en) 2003-04-23 2008-05-27 Dot Hill Systems Corporation Apparatus and method for deterministically performing active-active failover of redundant servers in response to a heartbeat link failure
US7565566B2 (en) * 2003-04-23 2009-07-21 Dot Hill Systems Corporation Network storage appliance with an integrated switch
US7437523B1 (en) 2003-04-25 2008-10-14 Network Appliance, Inc. System and method for on-the-fly file folding in a replicated storage system
CN1317692C (zh) * 2003-05-26 2007-05-23 深圳易拓科技有限公司 嵌入式伺服磁盘写操作方法
CN1300767C (zh) * 2003-05-30 2007-02-14 深圳易拓科技有限公司 利用伺服数据引导读/写数据磁道的方法及装置
US7401093B1 (en) 2003-11-10 2008-07-15 Network Appliance, Inc. System and method for managing file data during consistency points
US7721062B1 (en) 2003-11-10 2010-05-18 Netapp, Inc. Method for detecting leaked buffer writes across file system consistency points
US7783611B1 (en) 2003-11-10 2010-08-24 Netapp, Inc. System and method for managing file metadata during consistency points
JP4493321B2 (ja) * 2003-11-19 2010-06-30 株式会社日立製作所 ディスクアレイ装置及びデータ退避方法
US7409497B1 (en) 2003-12-02 2008-08-05 Network Appliance, Inc. System and method for efficiently guaranteeing data consistency to clients of a storage system cluster
US7698289B2 (en) * 2003-12-02 2010-04-13 Netapp, Inc. Storage system architecture for striping data container content across volumes of a cluster
JP5166735B2 (ja) * 2003-12-19 2013-03-21 ネットアップ,インコーポレイテッド 非常に短い更新インターバルで同期データ複製が可能なシステム及び方法
US7478101B1 (en) 2003-12-23 2009-01-13 Networks Appliance, Inc. System-independent data format in a mirrored storage system environment and method for using the same
US8041888B2 (en) * 2004-02-05 2011-10-18 Netapp, Inc. System and method for LUN cloning
JP2005293774A (ja) 2004-04-02 2005-10-20 Hitachi Global Storage Technologies Netherlands Bv ディスク装置の制御方法
JP2005301565A (ja) 2004-04-09 2005-10-27 Hitachi Ltd ディスクアレイ装置およびディスクアレイ装置の診断制御方法
US7334095B1 (en) 2004-04-30 2008-02-19 Network Appliance, Inc. Writable clone of read-only volume
US7430571B2 (en) * 2004-04-30 2008-09-30 Network Appliance, Inc. Extension of write anywhere file layout write allocation
US7409494B2 (en) * 2004-04-30 2008-08-05 Network Appliance, Inc. Extension of write anywhere file system layout
US7409511B2 (en) * 2004-04-30 2008-08-05 Network Appliance, Inc. Cloning technique for efficiently creating a copy of a volume in a storage system
US7334094B2 (en) * 2004-04-30 2008-02-19 Network Appliance, Inc. Online clone volume splitting technique
US7509329B1 (en) 2004-06-01 2009-03-24 Network Appliance, Inc. Technique for accelerating file deletion by preloading indirect blocks
US7519628B1 (en) 2004-06-01 2009-04-14 Network Appliance, Inc. Technique for accelerating log replay with partial cache flush
US7194595B1 (en) 2004-09-27 2007-03-20 Network Appliance, Inc. Technique for translating a hybrid virtual volume file system into a pure virtual file system data stream
US7243207B1 (en) 2004-09-27 2007-07-10 Network Appliance, Inc. Technique for translating a pure virtual file system data stream into a hybrid virtual volume
US7526692B2 (en) * 2004-09-30 2009-04-28 International Business Machines Corporation Diagnostic interface architecture for memory device
US7260678B1 (en) 2004-10-13 2007-08-21 Network Appliance, Inc. System and method for determining disk ownership model
US7603532B2 (en) 2004-10-15 2009-10-13 Netapp, Inc. System and method for reclaiming unused space from a thinly provisioned data container
US7730277B1 (en) 2004-10-25 2010-06-01 Netapp, Inc. System and method for using pvbn placeholders in a flexible volume of a storage system
US7636744B1 (en) 2004-11-17 2009-12-22 Netapp, Inc. System and method for flexible space reservations in a file system supporting persistent consistency point images
US7523286B2 (en) * 2004-11-19 2009-04-21 Network Appliance, Inc. System and method for real-time balancing of user workload across multiple storage systems with shared back end storage
US9165003B1 (en) 2004-11-29 2015-10-20 Netapp, Inc. Technique for permitting multiple virtual file systems having the same identifier to be served by a single storage system
US7707165B1 (en) 2004-12-09 2010-04-27 Netapp, Inc. System and method for managing data versions in a file system
US7506111B1 (en) 2004-12-20 2009-03-17 Network Appliance, Inc. System and method for determining a number of overwitten blocks between data containers
US7424497B1 (en) 2005-01-27 2008-09-09 Network Appliance, Inc. Technique for accelerating the creation of a point in time prepresentation of a virtual file system
US8019842B1 (en) 2005-01-27 2011-09-13 Netapp, Inc. System and method for distributing enclosure services data to coordinate shared storage
US8180855B2 (en) * 2005-01-27 2012-05-15 Netapp, Inc. Coordinated shared storage architecture
US7574464B2 (en) * 2005-02-14 2009-08-11 Netapp, Inc. System and method for enabling a storage system to support multiple volume formats simultaneously
US7535917B1 (en) 2005-02-22 2009-05-19 Netapp, Inc. Multi-protocol network adapter
US7757056B1 (en) 2005-03-16 2010-07-13 Netapp, Inc. System and method for efficiently calculating storage required to split a clone volume
WO2006116203A1 (en) 2005-04-25 2006-11-02 Network Appliance, Inc. System and method for caching network file systems
US7698501B1 (en) 2005-04-29 2010-04-13 Netapp, Inc. System and method for utilizing sparse data containers in a striped volume set
US7698334B2 (en) * 2005-04-29 2010-04-13 Netapp, Inc. System and method for multi-tiered meta-data caching and distribution in a clustered computer environment
US7617370B2 (en) 2005-04-29 2009-11-10 Netapp, Inc. Data allocation within a storage system architecture
US7904649B2 (en) * 2005-04-29 2011-03-08 Netapp, Inc. System and method for restriping data across a plurality of volumes
US7634760B1 (en) 2005-05-23 2009-12-15 Netapp, Inc. System and method for remote execution of a debugging utility using a remote management module
US7258381B2 (en) * 2005-05-23 2007-08-21 International Automotive Components Group North America, Inc. Modular vehicle interior component system and release latch mechanism for use with the system
US7739318B2 (en) 2005-06-20 2010-06-15 Netapp, Inc. System and method for maintaining mappings from data containers to their parent directories
US7516285B1 (en) 2005-07-22 2009-04-07 Network Appliance, Inc. Server side API for fencing cluster hosts via export access rights
US7653682B2 (en) * 2005-07-22 2010-01-26 Netapp, Inc. Client failure fencing mechanism for fencing network file system data in a host-cluster environment
US7650366B1 (en) 2005-09-09 2010-01-19 Netapp, Inc. System and method for generating a crash consistent persistent consistency point image set
US20070088917A1 (en) * 2005-10-14 2007-04-19 Ranaweera Samantha L System and method for creating and maintaining a logical serial attached SCSI communication channel among a plurality of storage systems
US7467276B1 (en) 2005-10-25 2008-12-16 Network Appliance, Inc. System and method for automatic root volume creation
EP1949214B1 (de) * 2005-10-28 2012-12-19 Network Appliance, Inc. System und verfahren zum optimieren der multi-pathing-unterstützung in einer verteilten speichersystemumgebung
US7325111B1 (en) 2005-11-01 2008-01-29 Network Appliance, Inc. Method and system for single pass volume scanning for multiple destination mirroring
US7376796B2 (en) 2005-11-01 2008-05-20 Network Appliance, Inc. Lightweight coherency control protocol for clustered storage system
US7693864B1 (en) 2006-01-03 2010-04-06 Netapp, Inc. System and method for quickly determining changed metadata using persistent consistency point image differencing
US8560503B1 (en) 2006-01-26 2013-10-15 Netapp, Inc. Content addressable storage system
US7734603B1 (en) 2006-01-26 2010-06-08 Netapp, Inc. Content addressable storage array element
US7395187B2 (en) * 2006-02-06 2008-07-01 International Business Machines Corporation System and method for recording behavior history for abnormality detection
US8285817B1 (en) 2006-03-20 2012-10-09 Netapp, Inc. Migration engine for use in a logical namespace of a storage system environment
US7590660B1 (en) 2006-03-21 2009-09-15 Network Appliance, Inc. Method and system for efficient database cloning
US20070233868A1 (en) * 2006-03-31 2007-10-04 Tyrrell John C System and method for intelligent provisioning of storage across a plurality of storage systems
US8260831B2 (en) * 2006-03-31 2012-09-04 Netapp, Inc. System and method for implementing a flexible storage manager with threshold control
US7769723B2 (en) * 2006-04-28 2010-08-03 Netapp, Inc. System and method for providing continuous data protection
US8165221B2 (en) * 2006-04-28 2012-04-24 Netapp, Inc. System and method for sampling based elimination of duplicate data
US9026495B1 (en) 2006-05-26 2015-05-05 Netapp, Inc. System and method for creating and accessing a host-accessible storage entity
US7921077B2 (en) * 2006-06-29 2011-04-05 Netapp, Inc. System and method for managing data deduplication of storage systems utilizing persistent consistency point images
US8412682B2 (en) * 2006-06-29 2013-04-02 Netapp, Inc. System and method for retrieving and using block fingerprints for data deduplication
US8010509B1 (en) 2006-06-30 2011-08-30 Netapp, Inc. System and method for verifying and correcting the consistency of mirrored data sets
US7987167B1 (en) 2006-08-04 2011-07-26 Netapp, Inc. Enabling a clustered namespace with redirection
US7747584B1 (en) 2006-08-22 2010-06-29 Netapp, Inc. System and method for enabling de-duplication in a storage system architecture
US7865741B1 (en) 2006-08-23 2011-01-04 Netapp, Inc. System and method for securely replicating a configuration database of a security appliance
US8116455B1 (en) 2006-09-29 2012-02-14 Netapp, Inc. System and method for securely initializing and booting a security appliance
US7739546B1 (en) 2006-10-20 2010-06-15 Netapp, Inc. System and method for storing and retrieving file system log information in a clustered computer system
US8996487B1 (en) 2006-10-31 2015-03-31 Netapp, Inc. System and method for improving the relevance of search results using data container access patterns
US8423731B1 (en) 2006-10-31 2013-04-16 Netapp, Inc. System and method for automatic scheduling and policy provisioning for information lifecycle management
US7720889B1 (en) 2006-10-31 2010-05-18 Netapp, Inc. System and method for nearly in-band search indexing
US7685178B2 (en) * 2006-10-31 2010-03-23 Netapp, Inc. System and method for examining client generated content stored on a data container exported by a storage system
US7613947B1 (en) 2006-11-30 2009-11-03 Netapp, Inc. System and method for storage takeover
US7711683B1 (en) 2006-11-30 2010-05-04 Netapp, Inc. Method and system for maintaining disk location via homeness
US20080313364A1 (en) 2006-12-06 2008-12-18 David Flynn Apparatus, system, and method for remote direct memory access to a solid-state storage device
US8935302B2 (en) 2006-12-06 2015-01-13 Intelligent Intellectual Property Holdings 2 Llc Apparatus, system, and method for data block usage information synchronization for a non-volatile storage volume
US8301673B2 (en) * 2006-12-29 2012-10-30 Netapp, Inc. System and method for performing distributed consistency verification of a clustered file system
US8489811B1 (en) 2006-12-29 2013-07-16 Netapp, Inc. System and method for addressing data containers using data set identifiers
US7853750B2 (en) * 2007-01-30 2010-12-14 Netapp, Inc. Method and an apparatus to store data patterns
US8868495B2 (en) * 2007-02-21 2014-10-21 Netapp, Inc. System and method for indexing user data on storage systems
US8312046B1 (en) 2007-02-28 2012-11-13 Netapp, Inc. System and method for enabling a data container to appear in a plurality of locations in a super-namespace
US8219821B2 (en) 2007-03-27 2012-07-10 Netapp, Inc. System and method for signature based data container recognition
US8312214B1 (en) 2007-03-28 2012-11-13 Netapp, Inc. System and method for pausing disk drives in an aggregate
US8533410B1 (en) 2007-03-29 2013-09-10 Netapp, Inc. Maintaining snapshot and active file system metadata in an on-disk structure of a file system
US8510524B1 (en) 2007-03-29 2013-08-13 Netapp, Inc. File system capable of generating snapshots and providing fast sequential read access
US7849057B1 (en) 2007-03-30 2010-12-07 Netapp, Inc. Identifying snapshot membership for blocks based on snapid
US8219749B2 (en) * 2007-04-27 2012-07-10 Netapp, Inc. System and method for efficient updates of sequential block storage
US7882304B2 (en) * 2007-04-27 2011-02-01 Netapp, Inc. System and method for efficient updates of sequential block storage
US7827350B1 (en) 2007-04-27 2010-11-02 Netapp, Inc. Method and system for promoting a snapshot in a distributed file system
US8762345B2 (en) 2007-05-31 2014-06-24 Netapp, Inc. System and method for accelerating anchor point detection
US7797489B1 (en) 2007-06-01 2010-09-14 Netapp, Inc. System and method for providing space availability notification in a distributed striped volume set
US8301791B2 (en) * 2007-07-26 2012-10-30 Netapp, Inc. System and method for non-disruptive check of a mirror
US8793226B1 (en) 2007-08-28 2014-07-29 Netapp, Inc. System and method for estimating duplicate data
US7996636B1 (en) 2007-11-06 2011-08-09 Netapp, Inc. Uniquely identifying block context signatures in a storage volume hierarchy
US7984259B1 (en) 2007-12-17 2011-07-19 Netapp, Inc. Reducing load imbalance in a storage system
US8380674B1 (en) 2008-01-09 2013-02-19 Netapp, Inc. System and method for migrating lun data between data containers
US7996607B1 (en) 2008-01-28 2011-08-09 Netapp, Inc. Distributing lookup operations in a striped storage system
US8725986B1 (en) 2008-04-18 2014-05-13 Netapp, Inc. System and method for volume block number to disk block number mapping
US8621154B1 (en) 2008-04-18 2013-12-31 Netapp, Inc. Flow based reply cache
US8161236B1 (en) 2008-04-23 2012-04-17 Netapp, Inc. Persistent reply cache integrated with file system
US8219564B1 (en) 2008-04-29 2012-07-10 Netapp, Inc. Two-dimensional indexes for quick multiple attribute search in a catalog system
US8250043B2 (en) * 2008-08-19 2012-08-21 Netapp, Inc. System and method for compression of partially ordered data sets
US8473964B2 (en) * 2008-09-30 2013-06-25 Microsoft Corporation Transparent user mode scheduling on traditional threading systems
US8171227B1 (en) 2009-03-11 2012-05-01 Netapp, Inc. System and method for managing a flow based reply cache
US8117388B2 (en) * 2009-04-30 2012-02-14 Netapp, Inc. Data distribution through capacity leveling in a striped file system
CN101567211A (zh) * 2009-05-27 2009-10-28 杭州华三通信技术有限公司 一种提高磁盘可用性的方法和磁盘阵列控制器
US8996563B2 (en) 2010-04-06 2015-03-31 Tokutek, Inc. High-performance streaming dictionary
WO2012083308A2 (en) 2010-12-17 2012-06-21 Fusion-Io, Inc. Apparatus, system, and method for persistent data management on a non-volatile storage media
US8996480B2 (en) * 2011-05-04 2015-03-31 International Business Machines Corporation Method and apparatus for optimizing data storage
US8880939B2 (en) * 2011-12-14 2014-11-04 Hitachi, Ltd. Storage subsystem and method for recovering data in storage subsystem
US10437497B1 (en) * 2015-09-30 2019-10-08 EMC IP Holding Company LLC Active-active host environment
CN111951845B (zh) * 2019-05-15 2022-06-03 上海磁宇信息科技有限公司 一种分级管理冗余存储的mram芯片
US11429564B2 (en) 2019-06-18 2022-08-30 Bank Of America Corporation File transferring using artificial intelligence
US11379150B2 (en) 2020-01-31 2022-07-05 Seagate Technology Llc Disk array using multiple actuator drives with logical units coupled to active and passive servers
EP3886093A1 (de) 2020-03-26 2021-09-29 Microsoft Technology Licensing, LLC Optische datenübertragung
EP3886091A1 (de) 2020-03-26 2021-09-29 Microsoft Technology Licensing, LLC Holografischer speicher
EP3886092A1 (de) 2020-03-26 2021-09-29 Microsoft Technology Licensing, LLC Holographische speicherung

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE2811318C2 (de) * 1978-03-16 1983-02-17 Ibm Deutschland Gmbh, 7000 Stuttgart Einrichtung zur Übertragung und Speicherung eines Teilwortes
US4254500A (en) * 1979-03-16 1981-03-03 Minnesota Mining And Manufacturing Company Single track digital recorder and circuit for use therein having error correction
US4598357A (en) * 1980-11-14 1986-07-01 Sperry Corporation Cache/disk subsystem with file number for recovery of cached data
US4638424A (en) * 1984-01-12 1987-01-20 International Business Machines Corporation Managing data storage devices connected to a digital computer
US4896259A (en) * 1984-09-07 1990-01-23 International Business Machines Corporation Apparatus for storing modifying data prior to selectively storing data to be modified into a register
US4653050A (en) * 1984-12-03 1987-03-24 Trw Inc. Fault-tolerant memory system
US4958351A (en) * 1986-02-03 1990-09-18 Unisys Corp. High capacity multiple-disk storage method and apparatus having unusually high fault tolerance level and high bandpass
US4899342A (en) * 1988-02-01 1990-02-06 Thinking Machines Corporation Method and apparatus for operating multi-unit array of memories
US4993030A (en) * 1988-04-22 1991-02-12 Amdahl Corporation File system for a plurality of storage classes
US4942575A (en) * 1988-06-17 1990-07-17 Modular Computer Systems, Inc. Error connection device for parity protected memory systems
US4914656A (en) * 1988-06-28 1990-04-03 Storage Technology Corporation Disk drive memory

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE19903963B4 (de) * 1998-06-03 2007-06-14 Mitsubishi Denki K.K. Datenübertragungsanordnung und -verfahren

Also Published As

Publication number Publication date
CA2080579A1 (en) 1991-10-17
DE69127895D1 (de) 1997-11-13
JP3302688B2 (ja) 2002-07-15
EP0526487A1 (de) 1993-02-10
JPH10511193A (ja) 1998-10-27
CA2080579C (en) 2000-01-25
AU654482B2 (en) 1994-11-10
AU7651391A (en) 1991-11-11
US5124987A (en) 1992-06-23
ATE159110T1 (de) 1997-10-15
DE69127895T4 (de) 1998-07-16
EP0526487B1 (de) 1997-10-08
WO1991016711A1 (en) 1991-10-31

Similar Documents

Publication Publication Date Title
DE69127895T2 (de) Logisches spurschreibzuordnungssystem für paralleles plattenlaufwerksmatrixdatenspeicherungsuntersystem
DE68919219T2 (de) Speicher für platteneinheit.
DE69632219T2 (de) Speicherplattenanordnungssystem
US5430855A (en) Disk drive array memory system using nonuniform disk drives
DE69631106T2 (de) On-line-Rekonfiguration einer Speicherplattenanordnung
DE69533058T2 (de) Speicherplattenanordnung mit redundanter Speicherung und Verfahren zur inkrementalen Redundanzerzeugung während des Datenschreibens auf die Speicherplattenanordnung
DE69738091T2 (de) Speicherplattenanordnung und Verfahren zu deren Steuerung
DE69833815T2 (de) Verbesserter Disk-Log mit verteiltem Schreibsystem
DE68928546T2 (de) Dateisystem für eine vielzahl von speicherklassen
DE69733076T2 (de) Hochleistungsdatenweg mit sofortigem xor
DE69219208T2 (de) Verteilter Ersatz in DASD-Feldern
US5239659A (en) Phantom duplex copy group apparatus for a disk drive array data storge subsystem
DE60025749T2 (de) Dateisystemabbildübertragung zwischen ungleichen dateisystemen
DE69533570T2 (de) Verfahren und System zum Erkennen von Datenverlust in einem hierarchischen Datenspeichersystem
DE602005004120T2 (de) System und verfahren zur übernahme von partnerbetriebsmitteln in verbindung mit coredump
DE69632424T2 (de) Server für kontinuierliche Daten und Datentransferschema für mehrfache gleichzeitige Datenzugriffe
DE68927624T2 (de) Mehrfaches plattenspeicher-system mit hoher kapazität und verfahren
DE69533764T2 (de) Verfahren zum Gebrauch von Speicherplatten unterschiedlicher Inhalte in einem Einzelvolumen einer hierarchischen Speicherplattenanordnung
DE102019132371A1 (de) Zuordnungsverwaltung logisch zu physisch unter Verwendung von nichtflüchtigem Speicher
DE19515661C2 (de) Halbleiter-Plattenvorrichtung
DE112013006655T5 (de) Speichervorrichtung und Verfahren zum Steuern der Speichervorrichtung
DE112007002175T5 (de) Optimierte Rekonstruktion und Rückkopiemethodik für ein ausgefallenes Laufwerk bei Anwesenheit einer globalen Hot Spare Platte
DE19720721C2 (de) Speichersystem
DE112013006549T5 (de) Computersystem und Datensteuerverfahren
DE19723909A1 (de) Verfahren zum Erzielen einer geteilten Paritätsersatzplatte in einem RAID-Untersystem