DE69528443T2 - Betriebsverfahren einer Speicherplattenanordnung - Google Patents

Betriebsverfahren einer Speicherplattenanordnung

Info

Publication number
DE69528443T2
DE69528443T2 DE69528443T DE69528443T DE69528443T2 DE 69528443 T2 DE69528443 T2 DE 69528443T2 DE 69528443 T DE69528443 T DE 69528443T DE 69528443 T DE69528443 T DE 69528443T DE 69528443 T2 DE69528443 T2 DE 69528443T2
Authority
DE
Germany
Prior art keywords
data
parity
operations
write
unfinished
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
DE69528443T
Other languages
English (en)
Other versions
DE69528443D1 (de
Inventor
Charles D. Binford
Steven P. Denny
Mark A. Gaertner
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.)
SK Hynix Inc
Original Assignee
Hyundai Electronics America Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hyundai Electronics America Inc filed Critical Hyundai Electronics America Inc
Publication of DE69528443D1 publication Critical patent/DE69528443D1/de
Application granted granted Critical
Publication of DE69528443T2 publication Critical patent/DE69528443T2/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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
    • G06F11/1084Degraded mode, e.g. caused by single or multiple storage removals or disk failures
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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
    • G06F11/1088Reconstruction on already foreseen single or plurality of spare disks
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operations
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1435Saving, restoring, recovering or retrying at system level using file system or storage system metadata
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Library & Information Science (AREA)
  • Signal Processing (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Power Sources (AREA)
  • Detection And Correction Of Errors (AREA)

Description

  • Die vorliegende Erfindung betrifft ein Verfahren zum Betreiben einer Plattenlaufwerksarray.
  • Die Erfindung betrifft insbesondere ein Verfahren zum Schützen von Plattenarray- Schreibvorgängen.
  • Plattenarrays, die eine Mehrzahl von kleinen kostenarmen Plattenlaufwerken umfassen, wie z. B. die 5 1/4 oder 3 1/4 Zoll Plattenlaufwerke, die derzeit in PCs und Workstations eingesetzt werden und die parallel geschaltet sind, sind als kostenarme Alternative für die Verwendung einzelner großer Platten für die nichtflüchtige Speicherung von Informationen in einem Computersystem entstanden. Die Plattenarray erscheint dem Host-System wie eine einzige große schnelle Platte, bietet jedoch Verbesserungen im Hinblick auf Leistung, Zuverlässigkeit, Leistungsaufnahme und Skalierbarkeit gegenüber einer einzelnen großen Magnetplatte. Von Daten abgesehen, werden in der Array auch Redundanzinformationen gespeichert, so dass bei einem Ausfall einer einzelnen Platte in der Array die Plattenarray ohne Datenverlust weiterarbeitet.
  • Mehrere Plattenarray-Alternativen werden in einem Artikel mit dem Titel "A Case for Redundant Arrays of Inexpensive Disks (BAlD)" von David A. Patterson, Garth Gibson and Randy H. Katz; University of California Report No. UCB/CSD 87/391, Dezember 1987 erörtert. Der Artikel befasst sich mit Plattenarrays und den Verbesserungen im Hinblick auf Leistung, Zuverlässigkeit, Leistungsaufnahme und Skalierbarkeit, die Plattenarrays im Vergleich zu einzelnen großen Magnetplatten bieten. Es werden fünf Plattenarray- Anordnungen beschrieben, die als RAID-Level bezeichnet werden. Die einfachste Array, ein RAID-Level 1 System, umfasst eine oder mehrere Platten zum Speichern von Daten und eine gleiche Anzahl von zusätzlichen "Spiegel"-Platten zum Speichern von Kopien der auf den Datenplatten geschriebenen Informationen. Die übrigen RAJD-Level, RAID-Level 2, 3, 4 und 5 Systeme genannt, segmentieren die Daten in Teile für die Speicherung über mehrere Datenplatten. Eine oder mehrere zusätzliche Platten werden zum Speichern von Fehlerprüfoder Paritätsinformationen verwendet.
  • Plattenarrays auf RAID-Level 2 und 3 sind als Simultanzugriffsarrays bekannt. Simultanzugriffsarrays verlangen, dass auf alle Memberplatten (Daten- und Paritätsplatten) zugegriffen wird und dass insbesondere gleichzeitig zur Ausführung einer E/A-Anforderung geschrieben wird. Plattenarrays auf RAID-Level 4 und 5 sind bekanntlich Arrays mit unabhängigem Zugriff. Arrays mit unabhängigem Zugriff verlangen nicht, dass bei der Ausführung einer einzelnen E/A-Anforderung auf alle ihre Platten gleichzeitig zugegriffen wird. Vorgänge auf Memberplatten werden sorgfältig geordnet und in Warteschlangen für die Memberplatten gesetzt. Die vorliegende Erfindung betrifft Verbesserungen beim Betrieb von RAID-Level 4 und 5 Systemen.
  • Eine Plattenarray auf RAID-Level 4 besteht aus N+1 Platten, wobei N Platten zum Speichern von Daten verwendet werden und die zusätzliche Platte zum Speichern von Paritätsinformationen dient. Zu speichernde Daten werden in Teile unterteilt, die aus einem oder vielen Datenblöcken bestehen, die unter den Platten verteilt gespeichert werden. Die entsprechenden Paritätsinformationen, die durch Durchführen eines bitweisen Exklusiv- ODER-Vorgangs entsprechender Teile der über die N Datenplatten gespeicherten Daten errechnet werden können, werden auf die dedizierte Paritätsplatte geschrieben. Diese entsprechenden Datenteile zusammen mit den damit assoziierten Paritätsinformationen werden als Redundanzgruppen bezeichnet. Die Paritätsplatte dient zum Rekonstruieren von Informationen im Falle eines Plattenausfalls. Schreibvorgänge erfordern gewöhnlich den Zugriff auf zwei Platten, d. h. eine der N Datenplatten und die Paritätsplatte, wie nachfolgend ausführlicher erörtert wird. Lesevorgänge erfordern gewöhnlich nur Zugriff auf eine einzelne der N Datenplatten, es sei denn, dass die zu lesenden Daten die auf jeder Platte gespeicherte Blocklänge überschreiten.
  • Plattenarrays auf RAID-Level 5 sind RAID-Level 4 Systemen ähnlich, mit der Ausnahme, dass zusätzlich zu den Daten auch Paritätsinformationen über die N+1 Platten in jeder Gruppe verteilt werden. Jede der N+1 Platten in der Array beinhaltet einige Blöcke zum Speichern von Daten und einige Blöcke zum Speichern von Paritätsinformationen. Der Ort, an dem Paritätsinformationen gespeichert werden, wird durch einen vom Benutzer implementierten Algorithmus gesteuert. Wie bei RAa-Level 4 Systemen, so muss gewöhnlich auch für Schreibvorgänge auf RAID-Level 5 auf zwei Platten zugegriffen werden. Es verlangt jedoch nicht mehr jeder Schreibvorgang auf die Array Zugriff auf dieselbe dedizierte Paritätsplatte, wie dies bei RAID-Level 4 Systemen der Fall ist. Dieses Merkmal bietet die Möglichkeit, parallele Schreibvorgänge durchzuführen.
  • So genannte Lese-Modifizier-Schreib-Methoden sind bekannt und werden später ausführlicher erörtert.
  • Die Lese-Modifizier-Schreib-Methode ist dahingehend von Vorteil, dass während des Schreibvorgangs nur auf die Daten- und Paritätslaufwerke, die aktualisiert werden, zugegriffen werden muss. Ansonsten müssen alle Laufwerke in der Array gelesen oder es muss darauf zugegriffen werden, um einen bitweisen Exklusiv-ODER-Vorgang entsprechender Teile der über die Plattenlaufwerke gespeicherten Daten durchzuführen, um Paritätsinformationen zu aktualisieren. Ein Nachteil des Lese-Modifizier-Schreib-Vorgangs ist der, dass ein typischer Schreibvorgang auf RAID-Level 4 oder 5 mindestens zwei Plattenlesevorgänge, gefolgt von zwei Plattenschreibvorgängen erfordert.
  • Der Laufwerksauslastungsgrad kann durch Modifizieren des Lese-Modifizier- Schreib-Prozesses verbessert werden, indem die Ausführung von Datenlese- und -schreibvorgängen von der Ausführung von Paritätslese-, -erzeugungs- und -schreibvorgängen getrennt wird. Dieser modifizierte Lese-Modifizier-Schreib-Vorgang identifiziert die Plattenlaufwerke, die die zu aktualisierenden Daten und Paritätsinformationen enthalten, und setzt die richtigen Lese- und Schreibaufforderungen in die E/A-Warteschlangen für die identifizierten Daten- und Paritätslaufwerke, wobei einige oder alle Paritätsvorgänge zeitlich geplant werden, d. h. Lesen alter Paritätsinformationen vom Paritätslaufwerk, Erzeugen neuer Paritätsinformationen und Schreiben der neuen Paritätsinformationen auf das Paritätslaufwerk; zur Ausführung an der günstigsten Stelle in der E/A-Warteschlange für das Paritätslaufwerk nach dem Lesen alter Daten vom Datenlaufwerk.
  • Sowohl in der Lese-Modifizier-Schreib-Prozedur als auch in der oben erörterten modifizierten Lese-Modifizier-Schreib-Prozedur müssen eigentliche Schreibübertragungen neuer Daten und Paritätsinformationen nicht gleichzeitig erfolgen. Wenn entweder die neuen Daten oder die neuen Paritätsinformationen vor einem Systemausfall geschrieben werden, aber die jeweils anderen nicht, dann ist der Inhalt der Redundanzgruppe nach dem Neustart des Systems uneinheitlich, d. h. die Paritätsinformationen stehen nicht im Einklang mit den in der Redundanzgruppe gespeicherten Daten. Ein Neuversuch des beim Systemausfall unterbrochenen Schreibvorgangs kann die Uneinheitlichkeiten in der Redundanzgruppe nicht korrigieren.
  • Das Dokument WO-A-93/23803 offenbart eine Lese-Modifizier-Schreib-Methode des Betreibens einer Plattenarray in der Form einer RAID, die das Protokollieren von Informationen beinhaltet, die unvollständige Schreibvorgänge und assoziierte Redundanzgruppen zwischen nichtflüchtigem Speicher zur weiteren Verarbeitung identifizieren. Das Dokument EP-A-0569313 offenbart auch ein Verfahren und eine Vorrichtung zum Betreiben eines RAID-Level 5 Systems, einschließlich einer Assistenzeinheit, umfassend einen temporären Speicherbereich zum Aufnehmen von Schreibdaten, um bei der Wiederherstellung von Daten aus einer ausgefallenen Einheit zu assistieren. Solche bekannten Systeme sind zwar in der Lage, Paritätsinformationen mit Daten in einer Redundanzgruppe in Einklang zu bringen, aber es können trotzdem nachteiligerweise Ungenauigkeiten in den Daten entstehen.
  • Es besteht Bedarf an einem Verfahren und einer Struktur zum Schützen von Plattenarray-Schreibvorgängen, um Datenverluste aufgrund des Auftretens eines Stromausfalls oder einer Arraystörung vor Abschluss aller Schreibvorgänge zu verhindern.
  • Es ist Aufgabe der vorliegenden Erfindung, ein Plattenarray-Betriebsverfahren mit Vorteilen gegenüber bekannten Verfahren bereitzustellen.
  • Gemäß einem Aspekt der vorliegenden Erfindung wird ein Verfahren zum Betreiben einer unabhängigen Plattenlaufwerksarray mit Paritätsredundanzgruppen bereitgestellt, wobei das genannte Verfahren durch die folgenden Schritte gekennzeichnet ist:
  • Untersuchen der aktuellen Laufwerksaktivität zum Identifizieren von unfertigen Schreib- E/A-Vorgängen als Reaktion auf den Empfang eines Reset-Signals von einem Host-System, das die Ausführung von einem oder mehreren der Plattenschreib-E/A-Vorgänge unterbricht, Protokollieren von Informationen zum Identifizieren der genannten unfertigen Schreib-E/A- Vorgänge und der mit den genannten unfertigen Schreib-E/A-Vorgängen assoziierten Redundanzgruppen in einem nichtflüchtigen Speicher, Prüfen auf Log-Einträge im nichtflüchtigen Speicher während einer Plattenarray-Initialisierung nach dem System-Reset, für jeden der genannten unfertigen Schreib-E/A-Vorgänge Durchführen eines bitweisen Exklusiv-ODER-Vorgangs an entsprechenden Teilen der über die Datenspeicherbereiche gespeicherten Daten innerhalb der mit dem genannten einen der genannten unfertigen Schreib-E/A-Vorgänge assoziierten Redundanzgruppe, um Parität im Einklang damit zu errechnen, Schreiben der errechneten Parität in die genannten Paritätsspeicherbereiche innerhalb der genannten, mit dem genannten einen der genannten unfertigen Schreib-E/A- Vorgänge assoziierten Redundanzgruppe, und umfassend den Schritt des Wiederholens aller unvollständigen Schreibvorgänge nach der Neuberechnung der Paritätsinformationen, um die auf den Array-Laufwerken gespeicherten Daten zu korrigieren.
  • Gemäß einem weiteren Aspekt der vorliegenden Erfindung wird ein Verfahren zum Betreiben einer unabhängigen Plattenlaufwerksarray mit Paritätsredundanzgruppen bereitgestellt, wobei das genannte Verfahren durch die folgenden Schritte gekennzeichnet ist: Untersuchen der aktuellen Laufwerksaktivität zum Identifizieren von unfertigen Schreib-E/A-Vorgängen als Reaktion auf den Empfang eines Batterieniedrigstandssignals von einer unterbrechungsfreien Stromversorgung (USV) nach einem Niederstromzustand, der die Ausführung eines oder mehrerer Plattenschreib-E/A-Vorgänge unterbricht, Protokollieren von Informationen, die zum Identifizieren der genannten unfertigen Schreib- E/A-Vorgänge und der mit den genannten unfertigen Schreib-E/A-Vorgängen assoziierten Redundanzgruppen notwendig sind, in einem nichtflüchtigen Speicher nach Ablauf eines vorbestimmten Zeitintervalls, das nach dem Empfang des genannten Niederstromsignals beginnt, Prüfen auf Log-Einträge im nichtflüchtigen Speicher während einer Plattenarray- Initialisierung im Anschluss an eine Wiederherstellung nach dem genannten Niederstromzustand, für jeden der genannten unfertigen Schreib-E/A-Vorgänge Durchführen eines bitweisen Exklusiv-ODER Vorgangs an entsprechenden Teilen der über die Datenspeicherbereiche gespeicherten Daten in der mit dem genannten einen der genannten unfertigen Schreib-E/A-Vorgänge assoziierten Redundanzgruppe, um Parität im Einklang damit zu errechnen, Schreiben der errechneten Parität auf die genannten Paritätsspeicherbereiche in der genannten, mit dem genannten einen der genannten unfertigen Schreib-E/A-Vorgänge assoziierten Redundanzgruppe, und umfassend den Schritt des Wiederholens aller unvollständigen Schreibvorgänge im Anschluss an die Neuberechnung der Paritätsinformationen, um die auf den Array-Laufwerken gespeicherten Daten zu korrigieren.
  • Es ist somit ein Vorteil der vorliegenden Erfindung, dass ein neues und nützliches Verfahren zum Wiederherstellen von Einheitlichkeit zwischen Paritätsinformationen und Daten in einer Plattenarray nach einer Unterbrechung von Schreib-E/A-Vorgängen bereitgestellt werden kann.
  • Vorteilhaflerweise kann die vorliegende Erfindung ein Verfahren zum Wiederherstellen von Einheitlichkeit zwischen Paritätsinformationen und Daten in einer Plattenarray mit unabhängigem Zugriff wie beispielsweise einer RAID-Level 4 oder 5 Plattenarray bereitgestellt werden, das einen Lese-Modifizier-Schreib-Prozess zum Aktualisieren von Daten und Paritätsinformationen verwendet.
  • Ferner kann die vorliegende Erfindung ein neues und nützliches Verfahren zum Wiederherstellen von Einheitlichkeit zwischen Paritätsinformationen und Daten in einer Plattenarray bereitstellen, die in einem herabgesetzten Modus arbeiten kann, wenn eines der Laufwerke in der Array ausgefallen ist.
  • Gemäß einer besonderen Ausgestaltung der vorliegenden Erfindung wird ein Verfahren zum Wiederherstellen von Einheitlichkeit zwischen in Redundanzgruppen gespeicherten Daten und Paritätsinformationen in einem Plattenarray-System mit unabhängigem Zugriff nach einem System-Reset oder einem Stromausfallzustand bereitgestellt, der die Ausführung von einem oder mehreren Plattenschreib-E/A-Vorgängen unterbricht. Das Verfahren beinhaltet die folgenden Schritte: Untersuchen der aktuellen Laufwerksaktivität zum Identifizieren unfertiger Schreib-E/A-Vorgänge als Reaktion auf den Empfang eines Reset-Signals von einem Host-System oder einem Niederstrom- Warnsignal von einer unterbrechungsfreien Stromversorgung (USV); Protokollieren von Informationen, die zum Identifizieren der unfertigen Schreib-E/A-Vorgänge und der mit den unfertigen Schreib-E/A-Vorgängen assoziierten Redundanzgruppen notwendig sind, in einem nichtflüchtigen Speicher; Prüfen auf Log-Einträge im nichtflüchtigen Speicher während einer Plattenarray-Subsysteminitialisierung im Anschluss an den System-Reset oder die Wiederherstellung der Stromversorgung nach einem Stromausfall; für jeden der Protokoll identifizierten unfertigen Schreib-E/A-Vorgänge Durchführen eines bitweisen Exklusiv-ODER-Vorgangs an entsprechenden Teilen der Daten, die in der mit den unfertigen Schreib-E/A-Vorgängen assoziierten Redundanzgruppe gespeichert sind, um Parität im Einklang damit zu errechnen; und Schreiben der errechneten Parität auf die Paritätsspeicherbereiche in der mit dem unfertigen Schreib-E/A-Vorgang assoziierten Redundanzgruppe.
  • In einer anderen Ausgestaltung, die besonders auf eine in einem herabgesetzten Modus, d. h. mit einem ausgefallenen Plattenlaufwerk, arbeitende Plattenarray mit unabhängigem Zugriff anwendbar ist, protokolliert das Verfahren auch Informationen, die zum Identifizieren der Daten- und Paritätsdatenspeicherbereiche notwendig sind, auf denen die unfertigen Schreib-E/A-Vorgänge neue Daten und Paritätsinformationen abbilden, und eine Form der alten Daten und Paritätsinformationen, die auf diesen Daten- und Paritätsdatenspeicherbereichen gespeichert sind. Nach dem System-Reset bzw. der Wiederherstellung der Stromversorgung wird einheitliche Parität für jede mit einem unfertigen Schreib-E/A-Vorgang assoziierte Redundanzgruppe bestimmt, indem die auf dem nichtflüchtigen Speicher gespeicherten alten Daten und Paritätsinformationen mit den derzeit im Datenspeicherbereich gespeicherten Daten kombiniert werden, auf dem der unfertige Schreib-E/A-Vorgang neue Daten abbildet.
  • Die Erfindung kann auch ein Plattenarray-Subsystem für einen unabhängigen Zugriff bereitstellen, das Daten und Paritatsinformationen mit Hilfe eines Lese-Modifizier- Schreib-Prozesses aktualisiert, die als Reaktion auf eine von einem Host-System empfangene Schreib-E/A-Anforderung auf Redundanzgruppen in der genannten Array gespeichert wurden, und bei dem die Einheitlichkeit zwischen Daten und Paritätsinformationen, die auf Daten- und Paritätsspeicherbereichen innerhalb der genannten Redundanzgruppen gespeichert wurden, nach einem System-Reset, der die Ausführung von einem oder mehreren Plattenschreib-E/A-Vorgängen unterbricht, wobei das Verfahren die folgenden Schritte umfasst: Untersuchen der aktuellen Laufwerksaktivität zum Identifizieren unfertiger Schreib-E/A-Vorgänge als Reaktion auf den Empfang eines Reset-Signals von einem Host-System, Protokollieren von Informationen, die zum Identifizieren von mit den genannten unfertigen Schreib-E/A-Vorgängen assoziierten Redundanzgruppen notwendig sind, in einem nichtflüchtigen Speicher, Informationen, die zum Identifizieren der Daten- und Paritätsspeicherbereiche notwendig sind, auf denen die genannten unfertigen Schreib-E/A-Vorgänge neue Daten und Paritätsinformationen abbilden, und eine Form der alten Daten und Paritätsinformationen, die auf den Daten- und Paritätsdatenspeicherbereichen gespeichert sind, auf denen die genannten unfertigen Schreib-E/A-Vorgänge neue Daten und Paritätsinformationen abbilden, und Prüfen auf Log-Einträge im nichtflüchtigen Speicher während einer Plattenarray- Subsysteminitialisierung nach dem System-Reset, für jeden der genannten unfertigen Schreib-E/A-Vorgänge Kombinieren der alten Daten und Parität, die damit assoziiert sind und die auf dem genannten nichtflüchtigen Speicher gespeichert sind, mit den Daten, die zum aktuellen Zeitpunkt in dem Datenspeicherbereich gespeichert sind, auf dem der genannte eine der genannten unfertigen Schreib-E/A-Vorgänge neue Daten zum Errechnen einer Parität im Einklang mit den in der genannten Redundanzgruppe gespeicherten Daten abbildet, und Schreiben der errechneten Parität auf die genannten Paritätsspeicherbereiche in der genannten, mit dem genannten einen der genannten unfertigen Schreib-E/A- Vorgänge assoziierten Redundanzgruppe.
  • Die Erfindung kann ferner in einem Plattenarray-Subsystem für unabhängigen Zugriff, das Daten und Paritätsinformationen mit Hilfe eines Lese-Modifizier-Schreib- Prozesses aktualisiert, die als Reaktion auf eine von einem Host-System empfangene Schreib-E/A-Anforderung auf Redundanzgruppen in der genannten Array gespeichert wurden, ein Verfahren zur Wiederherstellung von Einheitlichkeit zwischen Daten und Paritätsinformationen bereitstellen, die auf Daten- und Paritätsspeicherbereichen innerhalb der genannten Redundanzgruppen nach einem Niederstromzustand gespeichert wurden, der die Ausführung von einem oder mehreren Plattenschreib-E/A-Vorgängen unterbricht, wobei das genannte Verfahren die folgenden Schritte umfasst: Untersuchen der aktuellen Laufwerksaktivität zum Identifizieren unfertiger Schreib-E/A-Vorgänge als Reaktion auf den Empfang eines Batterieniedrigstandssignals von einer unterbrechungsfreien Stromversorgung nach Ablauf eines vorbestimmten Zeitintervalls, das nach dem Eingang des genannten Niederstromsignals eingeleitet wird, Protokollieren von Informationen, die zum Identifizieren von mit den genannten unfertigen Schreib-E/A-Vorgängen assoziierten Redundanzgruppen notwendig sind, in einem nichtflüchtigen Speicher, Informationen, die zum Identifizieren der Daten- und Paritätsspeicherbereiche notwendig sind, auf denen die genannten unfertigen Schreib-E/A-Vorgänge neue Daten und Paritätsinformationen abbilden, und eine Form der alten Daten und Paritätsinformationen, die auf den Daten- und Paritätsdatenspeicherbereichen gespeichert sind, auf denen die genannten unfertigen Schreib-E/A-Vorgänge neue Daten und Paritätsinformationen abbilden, Prüfen auf Log- Einträge im nichtflüchtigen Speicher während einer Plattenarray-Subsysteminitialisierung nach einer Wiederherstellung von dem genannten Niederstromzustand, für jeden der genannten unfertigen Schreib-E/A-Vorgänge Kombinieren der alten Daten und Parität, die damit assoziiert sind und die auf dem genannten nichtflüchtigen Speicher gespeichert sind, mit den Daten, die zum aktuellen Zeitpunkt in dem Datenspeicherbereich gespeichert sind, auf dem der genannte eine der genannten unfertigen Schreib-E/A-Vorgänge neue Daten zum Errechnen einer Parität im Einklang mit den in der genannten Redundanzgruppe gespeicherten Daten abbildet, und Schreiben der errechneten Parität auf die genannten Paritätsspeicherbereiche in der genannten, mit dem genannten einen der genannten unfertigen Schreib-E/A-Vorgänge assoziierten Redundanzgruppe.
  • Die Erfindung kann auch ein Verfahren zum Gewährleisten von Einheitlichkeit zwischen Daten und Paritätsinformationen in einem Plattenarray-System mit unabhängigem Zugriff nach einem System-Reset oder einem Stromausfallzustand umfassen, der die Ausführung von einem oder mehreren Plattenschreib-E/A-Vorgängen unterbricht. Das Verfahren beinhaltet die folgenden Schritte: Untersuchen der aktuellen Laufwerksaktivität zum Identifizieren unfertiger Schreib-E/A-Vorgänge als Reaktion auf den Empfang eines Reset-Signals von einem Host-System oder eines Niederstrom-Warnsignals von einer unterbrechungsfreien Stromversorgung, Protokollieren von Informationen, die zum Identifizieren der genannten unfertigen Schreib-E/A-Vorgänge und der mit den unfertigen Schreib-E/A-Vorgängen assoziierten Array-Redundanzgruppen in einem nichtflüchtigen Speicher notwendig sind; und Prüfen auf Log-Einträge im nichtflüchtigen Speicher während einer Plattenarray-Subsysteminitialisierung nach dem System-Reset oder der Wiederherstellung der Stromversorgung nach einem Stromausfall. Für jeden der in dem Protokoll identifizierten unfertigen Schreib-E/A-Vorgänge beinhaltet das Verfahren ferner die folgenden Schritte: Durchführen eines bitweisen Exklusiv-ODER-Vorgangs entsprechender Teile der Daten, die in der mit den unfertigen Schreib-E/A-Vorgängen assoziierten Redundanzgruppe gespeichert sind, um Parität im Einklang damit zu errechnen; und Schreiben der errechneten Parität auf die Paritätsspeicherbereiche in der mit dem unfertigen Schreib-E/A-Vorgang assoziierten Redundanzgruppe. Für eine in einem herabgesetzten Modus, d. h. mit einem gestörten Memberplattenlaufwerk, arbeitende Array protokolliert das Verfahren auch Informationen, die zum Identifizieren der Daten- und Paritätsdatenspeicherbereiche notwendig sind, auf denen die unfertigen Schreib-E/A- Vorgänge neue Daten und Paritätsinformationen abbilden, und eine Form der alten Daten und Paritätsinformationen, die auf den Daten- und Paritätsdatenspeicherbereichen gespeichert sind, auf denen die unfertigen Schreib-E/A Vorgänge neue Daten und Paritätsinformationen abbilden. Nach dem System-Reset oder nach der Wiederherstellung der Stromversorgung wird einheitliche Parität für jede mit einem unfertigen Schreib-E/A- Vorgang assoziierte Redundanzgruppe bestimmt, indem die auf dem nichtflüchtigen Speicher gespeicherten alten Daten und Paritätsinformationen mit den bereits in dem Datenspeicherbereich gespeicherten Daten kombiniert werden, auf denen der unfertige Schreib-E/A-Vorgang neue Daten abbildet.
  • Die Erfindung wird nachfolgend, jedoch nur beispielhaft, mit Bezug auf die Begleitzeichnungen näher beschrieben. Dabei zeigt:
  • Fig. 1 eine Blockdiagrammdarstellung einer Array auf RAID-Level 5 mit fünf Plattenlaufwerken;
  • Fig. 2 und 3 einen traditionellen Lese-Modifizier-Schreib-Vorgang auf RAID-Level 5;
  • Fig. 4 den Prozess des Protokollierens anhängiger Schreib-E/A-Vorgänge auf einen nichtflüchtigen Speicher gemäß einer Ausgestaltung der vorliegenden Erfindung;
  • Fig. 5 den Datenredundanzkorrekturprozess nach einem Host-System-Neustart gemäß einer Ausgestaltung der vorliegenden Erfindung;
  • Fig. 6 den Prozess des Protokollierens anhängiger Schreib-E/A-Vorgänge und Zwischenparität für einen RAID 4 oder 5 Betrieb im herabgesetzten Modus gemäß einer Ausgestaltung der vorliegenden Erfindung; und
  • Fig. 7 den Datenredundanzkorrekturprozess für ein RAID 4 oder 5 System, das nach einem Neustart des Host-Systems in einem herabgesetzten Modus arbeitet, gemäß einer Ausgestaltung der vorliegenden Erfindung.
  • Ein RAID-Level 5 System mit fünf Daten- und Paritätsplattenlaufwerken, das mit DRIVE A bis DRIVE E identifiziert ist, ist in Fig. 1 dargestellt. Ein Array-Controller 100 koordiniert die Übertragung von Daten zwischen dem Host-System 200 und den Array- Plattenlaufwerken. Der Controller berechnet und prüft auch Paritätsinformationen. Die Blöcke 101 bis 105 illustrieren die Art und Weise, in der Daten und Paritätsinformationen auf den fünf Array-Laufwerken gespeichert werden. Datenblöcke werden als BLOCK 0 bis BLOCK 15 bezeichnet. Paritätsblöcke sind als PARITY 0 bis PARITY 3 bezeichnet. Die Beziehung zwischen Paritäts- und Datenblöcken lautet wie folgt:
  • PARITY 0 = (BLOCK 0) XOR (BLOCK 1) XOR (BLOCK 2) XOR (BLOCK 3)
  • PARITY 1 = (BLOCK 4) XOR (BLOCK 5) XOR (BLOCK 6) XOR (BLOCK 7)
  • PARITY 2 = (BLOCK 8) XOR (BLOCK 9) XOR (BLOCK 10) XOR (BLOCK 11)
  • PARITY 3 = (BLOCK 12) XOR (BLOCK 13) XOR (BLOCK 14) XOR (BLOCK 15)
  • Wie oben angegeben, können Paritätsdaten durch Durchführen eines bitweisen Exklusiv-ODER-Vorgangs entsprechender Teile der über die N Datenlaufwerke gespeicherten Daten errechnet werden. Da jedoch jedes Paritätsbit einfach das Exklusiv- ODER-Produkt aller entsprechenden Datenbits von den Datenlaufwerken ist, lassen sich neue Paritätsinformationen leicht anhand der alten Daten und alten Paritätsinformationen sowie anhand der neuen Daten gemäß der folgenden Gleichung bestimmen:
  • neue Parität = (alte Daten XOR alte Parität) XOR neue Daten
  • Die Fig. 2 und 3 illustrieren einen Schreibvorgang auf RAID-Level 5 unter Beteiligung von DRIVE A und DRIVE B, wobei neue Daten auf DRIVE A geschrieben werden und Paritätsinformationen auf DRIVE B aktualisiert werden. Im Controller 100 enthaltene Strukturen zum Erleichtern des Lese-Modifizier-Schreib-Vorgangs beinhalten den Transferpuffer 120 und die Exklusiv-ODER- (XOR) Logik 130. Die vorliegende Erfindung betrifft ein Verfahren zum Gewährleisten von Paritätseinheitlichkeit innerhalb einer Plattenarray nach einem System-Reset oder einer Unterbrechung der Stromversorgung. Einzelheiten über den Aufbau des Controllers sind für ein Verständnis der vorliegenden Erfindung nicht notwendig. Zusätzliche Einzelheiten über Aufbau und Betrieb einer Form eines Plattenarray-Controllers, in dem die vorliegende Erfindung zur Anwendung kommen kann, befinden sich jedoch in der US-A-5,257,391 mit dem Titel "Disk Controller having Host Interface and Bus Switches for Selecting Buffer and Drive Busses Respectively Based on Configuration Control Signals".
  • Unter der Anweisung eines Controller-Prozessors (nicht dargestellt) werden zunächst alte Daten und Paritätsinformationen von den beiden in Fig. 2 gezeigten Laufwerken gelesen. Die alten Daten und Paritätsinformationen werden jeweils aus den Zielbereichen in den Laufwerken DRIVE A und DRIVE B gelesen und zur Exklusiv- ODER-Logik 130 geleitet. Die Logik 130 kombiniert die empfangenen Daten und Paritätsinformationen zum Erzeugen des Exidusiv-ODER-Produktes: alte Daten XOR alte Parität, hierin als Zwischenparität bezeichnet. Die Zwischenparität wird in einem ersten Bereich 120D im Puffer 120 gespeichert. Vom Host-System 200 empfangene neue Daten werden gleichzeitig in einem zweiten Bereich 120A im Puffer 120 gespeichert.
  • Dann werden neue Daten und Paritätsinformationen wie in Fig. 3 gezeigt auf DRIVE A und DRIVE B geschrieben. Die neuen Daten werden direkt von Bereich 120A im Speicherpuffer 120 auf DRIVE A geschrieben. Die neuen Daten und die Zwischenparität werden zur Exklusiv-ODER Logik 130 übertragen, um die neuen Paritätsinformationen zu erzeugen. Diese neuen Paritätsinformationen, alte Daten XOR alte Parität XOR neue Daten, werden auf DRIVE B geschrieben.
  • Gemäß einer Ausgestaltung der vorliegenden Erfindung beinhaltet das Plattenarray- System ferner einen nichtflüchtigen Speicher 140 und zusätzliche Logik 150 im Controller 100, wie in Fig. 4 gezeigt ist. Die Logik 150 reagiert auf den Empfang eines Reset-Signals vom Host-System 200 oder eines Batterieniedrigstandssignals von einer unterbrechungsfreien Stromversorgung (USV) 300 und untersucht die aktuelle Laufwerksaktivität, um unfertige Schreib-E/A-Vorgänge zu identifizieren. Der Controller protokolliert dann, gemäß Logik 150, relevante Informationen über die unfertigen Schreibvorgänge im nichtflüchtigen Speicher 140. Die im Speicher 140 protokollierten Informationen für jeden unfertigen Schreibvorgang, die zum Auffinden potentiell betroffener Redundanzgruppen in der Array notwendig sind, können die Identifikation von Laufwerken, Blockadressen und RAID-Level beinhalten.
  • Fig. 5 illustriert den Datenredundanzkorrektur- oder -abgleichprozess nach einem Neustart des Host-Systems. Während der Plattenarray-Subsysteminitialisierung nach dem Reset oder nach einer Wiederherstellung der Stromversorgung nach einem Stromausfall prüft der Array-Controller auf Log-Einträge im nichtflüchtigen Speicher. Wenn Einträge im Protokoll vorliegen, muss ein Array-Korrekturprozess durchgeführt werden, bevor ein Neuversuch unfertiger Schreibvorgänge oder ein Beginn neuer Schreibvorgänge zugelassen werden kann. Der Abgleichvorgang für eine Redundanzgruppe ohne gestörte Laufwerke umfasst die Durchführung eines bitweisen Exklusiv-ODER-Vorgangs entsprechender Teile der über die Datenlaufwerke gespeicherten Daten in der Redundanzgruppe, um Parität im Einklang damit zu errechnen und das Ergebnis auf dem Paritätslaufwerk DRIVE B in der in Fig. 5 dargestellten Array zu speichern. In Fig. 5 werden die auf Laufwerken DRIVE A, DRIVE C, DRIVE D und DRIVE E gespeicherten Daten gelesen, durch XOR-Logik 130 kombiniert und auf DRIVE B gespeichert.
  • Die Redundanzkorrekturprozedur gewährleistet zwar, dass die Paritätsinformationen mit den Daten in der Redundanzgruppe im Einklang stehen, aber die Daten sind möglicherweise je nach Status von Schreibvorgängen zum Zeitpunkt des Host-Reset oder des Stromausfalls nicht genau. Eine Wiederholung aller unvollständigen Schreibvorgänge nach der Neuberechnung von Paritätsinformationen, ein vom Host-System 200 durchgeführter Vorgang, ergibt eine Korrektur der auf den Array-Laufwerken gespeicherten Daten.
  • Alternativ könnte der Array-Controller zunächst eventuelle Uneinheitlichkeiten in den redundanten Daten suchen und dann korrigieren, aber aus Leistungsgründen ist es zweckdienlicher, den Korrekturvorgang wie oben beschrieben auszuführen.
  • Der oben beschriebene Abgleichprozess muss geändert werden, wenn ein Plattenlaufwerk in der Array-Redundanzgruppe nicht zur Verfügung steht und es heißt, dass die Array in einem reduzierten oder herabgesetzten Modus arbeitet. In einem herabgesetzten Betriebsmodus werden die Daten, wenn ein Lesevorgang Daten verlangt, die auf einem überlebenden Plattenlaufwerk resident sind, so zugeführt, als wenn die Array intakt wäre und in einem normalen Modus arbeiten würde. Wenn Daten vom gestörten Laufwerk angefordert werden, muss die Array-Managementsoftware die Daten durch Lesen entsprechender Blöcke aus den überlebenden Memberlaufwerken regenerieren und das Exklusiv-ODER-Produkt von deren Inhalt berechnen.
  • Schreibvorgänge in einer in einem herabgesetzten Modus arbeitenden Array variieren je nach dem Ort von Daten und Paritätsinformationen, die während des Lese- Modifizier-Schreib-Vorgangs aktualisiert werden müssen. Drei Schreibsituationen sind möglich.
  • Erstens eine Situation, in der Daten und Paritätsinformationen auf überlebende Array-Laufwerke abgebildet werden. Wenn in dieser Situation Daten auf eine Redundanzgruppe geschrieben werden, in der die zu aktualisierenden Datenblöcke und Paritätsblöcke jeweils auf überlebenden Laufwerken resident sind, dann wird die Lese- Modiflzier-Schreib-Routine so ausgeführt, als wäre die Array intakt.
  • Zweitens eine Situation, in der Paritätsinformationen auf einem gestörten Array- Laufwerk abgebildet werden. Wenn hier die aktualisierungsbedürftigen Paritätsblöcke auf dem gestörten Laufwerkselement resident sind, dann wird keine neue Parität errechnet oder geschrieben. Vom Host empfangene neue Daten werden auf das überlebende Datenlaufwerk geschrieben.
  • Drittens eine Situation, in der Daten auf ein gestörtes Array-Laufwerk abgebildet werden. Wenn in dieser Situation Daten auf das gestörte Memberlaufwerk geschrieben werden sollen, dann werden die neuen Paritätsinformationen durch Errechnen des Exklusiv- ODER-Produktes der vom Host empfangenen neuen Daten und der entsprechenden Datenblöcke (ausschließlich Paritätsblöcke) von den überlebenden Array-Laufwerken bestimmt. Die neue Parität wird dann über die alte Parität geschrieben. Die vom Host empfangenen neuen Daten werden nicht auf die Array-Laufwerke geschrieben.
  • Für unterbrochene Schreibvorgänge, bei denen Daten und Paritätsinformationen auf überlebende Array-Laufwerke abgebildet werden, ist der Paritätsabgleichprozess für eine Array, die in einem herabgesetzten Modus arbeitet, nur dann möglich, wenn eine Form der ursprünglichen redundanten Daten in einem nichtflüchtigen Speicher zusammen mit den unterbrochenen Schreibprotokollinformationen konserviert wird. Für einen unterbrochenen Schreibvorgang auf RAID-Level 5 könnten die zu konservierenden redundanten Daten die Zwischenparität (alte Daten XOR alte Parität) sein. Fig. 6 illustriert den Prozess des Protokollierens anhängiger Schreib-E/A-Vorgänge und Zwischenparität für einen herabgesetzten Modusbetrieb auf RAID-Level 4 oder 5 gemäß der vorliegenden Erfindung. Die Zwischenparität kann vom flüchtigen Speicherpuffer 120 gelesen werden. Eine Erläuterung der Zwischenparität erhält man durch Bezugnahme auf Fig. 2 und die oben gegebene zugehörige Beschreibung. Paritätsinformationen, die mit den auf der Redundanzgruppe gespeicherten Daten im Einklang stehen, können bestimmt werden, indem die Zwischenparität mit den aktuellen Daten kombiniert wird, die auf den Medien des unterbrochenen Schreibdatenlaufwerks gespeichert sind, wie in Fig. 7 gezeigt ist.
  • Für unterbrochene Schreibvorgänge, bei denen Paritätsinformationen oder Daten auf einem gestörten Array-Laufwerk abgebildet werden, ist es nicht notwendig, Zwischenparität auf dem nichtflüchtigen Speicher zu speichern.
  • Zusammenfassend, die Array-Controllerlogik zum Bewahren der Paritätseinheitlichkeit muss die folgenden Vorgänge durchführen:
  • 1. Protokollieren von Informationen über unfertige Schreibvorgänge, mit denen der Array-Controller später betroffene Bereiche zu nichtflüchtigem Speicher identifizieren kann;
  • 2. Konservieren, in einer Array mit herabgesetztem Modus, einer Kopie von einer Form der ursprünglichen redundanten Daten, die zum Korrigieren der Datenredundanz in einem nichtflüchtigen Speicher notwendig sind;
  • 3. Prüfen des Protokolls während der normalen Initialisierungsverarbeitung; und
  • 4. Korrigieren, für jeden Eintrag im Protokoll, potenzieller Uneinheitlichkeiten in den redundanten Daten wie oben beschrieben.
  • Die Array-Controller-Leistung kann bewahrt werden, wenn Einträge für unfertige Schreibvorgänge in das Protokoll nur zum Unterbrechungszeitpunkt vorgenommen werden, so dass der normale Verarbeitungsoverhead reduziert wird. Wenn der Array-Controller ein Reset-Signal vom Host erhält, dann tastet er die Array-Datenstrukturen ab, um die aktuelle Array-Aktivität zu identifizieren. Der Controller nimmt dann die benötigten Einträge über unfertige Schreibvorgänge in den nichtflüchtigen Speicher vor, bevor er die Reset- Initialisierung ausführt.
  • Ein ähnlicher Prozess erfolgt nach dem Empfang einer Niederstromwarnung von der USV. Nach einem vorbestimmten Zeitintervall führt die Array-Controller-Logik eine Routine aus, die die Ausgabe neuer Lese- oder Schreibanforderungen an die Array- Laufwerke verhindert, tastet die Array-Datenstrukturen zum Identifizieren der aktuellen Array-Aktivität ab und nimmt dann die benötigten Einträge über unfertige Schreibvorgänge in den nichtflüchtigen Speicher vor. Einige der unfertigen Schreibvorgänge wurden möglicherweise bereits vor dem Stromausfall erfolgreich beendet. Sobald Schreibvorgänge beendet sind, werden Log-Einträge in Verbindung mit diesen Schreibvorgängen entfernt, weil sie nicht mehr als unfertig angesehen werden. Alternativ führt das System zum Schutz vor einem Stromausfall in einem System, das keine Niederstromwarnung von der USV erhält, Einträge für alle unfertigen Schreibvorgänge im nichtflüchtigen Speicher. Auch hier werden, sobald Schreibvorgänge fertig sind, die mit diesen Schreibvorgängen assoziierten Log-Einträge aus dem nichtflüchtigen Speicher entfernt.
  • So wird ersichtlich, dass die vorliegende Erfindung ein neues und nützliches Verfahren zum Wiederherstellen von Einheitlichkeit zwischen Paritätsinformationen und Daten in einer Plattenarray nach einer Unterbrechung von Schreib-E/A-Vorgängen bietet, das besonders für Plattenarray-Systeme mit unabhängigem Zugriff nützlich ist, wie z. B. für Plattenarrays auf RAID-Level 4 oder 5, die Daten und Paritätsinformationen mit Hilfe eines Lese-Modifizier-Schreib-Prozesses aktualisieren.
  • Es wurde zwar nur eine Ausgestaltung der Erfindung beschrieben, aber es ist zu verstehen, dass verschiedene Änderungen innerhalb des Umfangs der beiliegenden Ansprüche möglich sind, und somit ist die Erfindung nicht auf die Einzelheiten der obigen Ausgestaltung beschränkt. So kann beispielsweise ein nichtflüchtiger Speicher 140 ein PROM-, EPROM- oder EEPROM-Gerät, ein PCMCIA-Flash-Kartengerät oder ein Magnetplattenlaufwerk sein.

Claims (7)

1. Verfahren zum Betreiben einer unabhängigen Plattenlaufwerksarray mit Paritätsredundanzgruppen, wobei das genannte Verfahren durch die folgenden Schritte gekennzeichnet ist: Untersuchen der aktuellen Laufwerksaktivität zum Identifizieren von unfertigen Schreib-E/A-Vorgängen als Reaktion auf den Empfang eines Reset-Signals von einem Host-System (200), das die Ausführung von einem oder mehreren der Plattenschreib- E/A-Vorgänge unterbricht, Protokollieren von Informationen zum Identifizieren der genannten unfertigen Schreib-E/A-Vorgänge und der mit den genannten unfertigen Schreib- E/A-Vorgängen assoziierten Redundanzgruppen in einem nichtflüchtigen Speicher (140), Prüfen auf Log-Einträge im nichtflüchtigen Speicher (140) während einer Plattenarray- Initialisierung nach dem System-Reset, für jeden der genannten unfertigen Schreib-E/A- Vorgänge Durchführen eines bitweisen Exklusiv-ODER-Vorgangs von entsprechenden Teilen der über die Datenspeicherbereiche gespeicherten Daten innerhalb der mit dem genannten einen der genannten unfertigen Schreib-E/A-Vorgänge assoziierten Redundanzgruppe, um Parität im Einklang damit zu errechnen, Schreiben der errechneten Parität in die genannten Paritätsspeicherbereiche innerhalb der genannten, mit dem genannten einen der genannten unfertigen Schreib-E/A-Vorgänge assoziierten Redundanzgruppe, und umfassend den Schritt des Wiederholens aller unvollständigen Schreibvorgänge nach der Neuberechnung der Paritätsinformationen, um die auf den Arraylaufwerken gespeicherten Daten zu korrigieren.
2. Verfahren zum Betreiben einer unabhängigen Plattenlaufwerksarray mit Paritätsredundanzgruppen, wobei das genannte Verfahren durch die folgenden Schritte gekennzeichnet ist: Untersuchen der aktuellen Laufwerksaktivität zum Identifizieren von unfertigen Schreib-E/A-Vorgängen als Reaktion auf den Empfang eines Batterieniedrigstandssignals von einer unterbrechungsfreien Stromversorgung (1255 V) nach einem Niederstromzustand, der die Ausführung eines oder mehrerer Plattenschreib-E/A- Vorgänge unterbricht, Protokollieren von Informationen, die zum Identifizieren der genannten unfertigen Schreib-E/A-Vorgänge und der mit den genannten unfertigen Schreib- E/A-Vorgängen assoziierten Redundanzgruppen notwendig sind, in einem nichtflüchtigen Speicher (140) nach Ablauf eines vorbestimmten Zeitintervalls, das nach dem Empfang des genannten Niederstromsignals beginnt, Prüfen auf Log-Einträge im nichtflüchtigen Speicher während einer Plattenarrayinitialisierung im Anschluss an eine Wiederherstellung nach dem genannten Niederstromzustand, für jeden der genannten unfertigen Schreib-E/A- Vorgänge Durchführen eines bitweisen Exklusiv-ODER-Vorgangs von entsprechenden Teilen der über die Datenspeicherbereiche gespeicherten Daten in der mit dem genannten einen der genannten unfertigen Schreib-E/A-Vorgänge assoziierten Redundanzgruppe, um Parität im Einklang damit zu errechnen, Schreiben der errechneten Parität auf die genannten Paritätsspeicherbereiche in der genannten, mit dem genannten einen der genannten unfertigen Schreib-E/A-Vorgänge assoziierten Redundanzgruppe, und umfassend den Schritt des Wiederholens aller unvollständigen Schreibvorgänge im Anschluss an die Neuberechnung der Paritätsinformationen, um die auf den Arraylaufwerken gespeicherten Daten zu korrigieren.
3. Verfahren nach Anspruch 1 oder 2, wobei die genannten Informationen, die zum Identifizieren von mit den genannten unfertigen Schreib-E/A-Vorgängen assoziierten Redundanzgruppen notwendig sind, Blockadressen beinhalten, auf denen die genannten unfertigen E/A-Vorgänge Daten und Paritätsinformationen abbilden.
4. Verfahren nach Anspruch 1 oder 2, bei dem die genannte unabhängige Plattenlaufwerksarray ein Subsystem umfasst, das Daten und Paritätsinformationen mit Hilfe eines Lese-Modifizier-Schreib-Prozesses aktualisiert, die als Reaktion auf eine von einem Hostsystem empfangene Schreib-E/A-Anforderung auf Redundanzgruppen in der genannten Array gespeichert wurden, und bei dem die Einheitlichkeit zwischen Daten und Paritätsinformationen, die auf Daten- und Paritätsspeicherbereichen innerhalb der genannten Redundanzgruppen gespeichert wurden, nach einem System-Reset wiederhergestellt wird, der die Ausführung von einem oder mehreren Plattenschreib-E/A- Vorgängen unterbricht, wobei Informationen, die zum Identifizieren von mit den genannten unfertigen Schreib-E/A-Vorgängen assoziierten Redundanzgruppen notwendig sind, in einem nichtflüchtigen Speicher zusammen mit Informationen protokolliert werden, die zum Identifizieren der Daten- und Paritätsdatenspeicherbereiche notwendig sind, auf denen die genannten unfertigen Schreib-E/A-Vorgänge neue Daten und Parität abbilden, und eine Form der alten Daten und Paritätsinformationen, die auf den Daten- und Paritätsdatenspeicherbereichen gespeichert wurden, auf denen die genannten unfertigen Schreib-E/A-Vorgänge Daten und Parität abbilden, und für jeden der genannten unfertigen Schreib-E/A-Vorgänge Kombinieren der alten Daten und Parität, die damit assoziiert sind und die auf dem genannten nichtflüchtigen Speicher gespeichert sind, mit den Daten, die zum aktuellen Zeitpunkt in dem Datenspeicherbereich gespeichert sind, auf dem der genannte eine der genannten unfertigen Schreib-E/A-Vorgänge neue Daten zum Errechnen einer Parität im Einklang mit den in der genannten Redundanzgruppe gespeicherten Daten abbildet.
5. Verfahren nach Anspruch 2, bei dem die genannte unabhängige Plattenlaufwerksarray ein Plattenarray-Subsystem umfasst, das Daten und Paritätsinformationen, die als Reaktion auf eine von einem Hostsystem empfangene Schreib-E/A-Anforderung auf Redundanzgruppen in der genannten Array gespeichert wurden, mit Hilfe eines Lese-Modifizier-Schreib-Prozesses aktualisiert, und wobei die Einheitlichkeit zwischen Daten und Paritätsinformationen wiederhergestellt wird, die auf Daten- und Paritätsspeicherbereichen in den genannten Redundanzgruppen nach einem Niederstromzustand gespeichert wurden, der die Ausführung von einem oder mehreren Plattenschreib-E/A-Vorgängen unterbricht, wobei nach dem genannten Ablauf eines vorbestimmten Zeitintervalls, das nach Empfang des genannten Niederstromsignals beginnt, Informationen, die zum Identifizieren von mit den genannten unfertigen Schreib-E/A- Vorgängen assoziierten Redundanzgruppen notwendig sind, in einem nichtflüchtigen Speicher zusammen mit Informationen protokolliert werden, die zum Identifizieren der Daten- und Paritätsdatenspeicherbereiche notwendig sind, auf denen die genannten unfertigen Schreib-E/A-Vorgänge neue Daten und Parität abbilden, und eine Form der alten Daten und Paritätsinformationen, die auf den Daten- und Paritätsdatenspeicherbereichen gespeichert sind, auf denen die genannten unfertigen Schreib-E/A-Vorgänge neue Daten und Parität abbilden, und für jeden einen der genannten unfertigen Schreib-E/A-Vorgänge Kombinieren der alten Daten und Parität, die damit assoziiert und auf dem genannten nichtflüchtigen Speicher gespeichert sind, mit den Daten, die zum aktuellen Zeitpunkt in dem Datenspeicherbereich gespeichert sind, auf den der genannte eine der genannten unfertigen Schreib-E/A-Vorgänge neue Daten abbildet, um Parität im Einklang mit den in der genannten Redundanzgruppe gespeicherten Daten zu errechnen.
6. Verfahren nach Anspruch 4 oder 5, wobei die genannte unabhängige Zugriffsplattenarray in einem qualitätsverminderten Modus arbeitet, eines der Plattenlaufwerke in der genannten Array inaktiv ist und die genannten unfertigen Schreib- E/A-Vorgänge neue Daten und Paritätsinformationen auf Daten- und Paritätsspeicherbereiche abbilden, die auf aktiven Plattenlaufwerken in dem genannten Array-Subsystem resident sind.
7. Verfahren nach Anspruch 4, 5 oder 6, bei dem die auf dem genannten nichtflüchtigen Speicher gespeicherten alten Daten und Paritätsinformationen das Exklusiv- ODER-Produkt der genannten alten Daten und der genannten alten Parität umfassen, und wobei der genannte Schritt des Berechnens von Parität im Einklang mit den in einer Redundanzgruppe gespeicherten Daten für jeden einen der genannten unfertigen Schreib- E/A-Vorgänge den Schritt des Ermittelns des Exklusiv-ODER-Produktes von (1) dem Exklusiv-ODER-Produkt der genannten alten Daten und der genannten alten Parität, die mit dem genannten einen der genannten unfertigen Schreib-E/A-Vorgänge assoziiert und auf dem genannten nichtflüchtigen Speicher gespeichert ist, mit (2) den Daten umfasst, die zum aktuellen Zeitpunkt in dem Datenspeicherbereich gespeichert sind, auf dem der genannte eine der genannten unfertigen Schreib-E/A-Vorgänge neue Daten abbildet.
DE69528443T 1994-12-21 1995-12-19 Betriebsverfahren einer Speicherplattenanordnung Expired - Fee Related DE69528443T2 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US08/360,198 US5533190A (en) 1994-12-21 1994-12-21 Method for maintaining parity-data consistency in a disk array

Publications (2)

Publication Number Publication Date
DE69528443D1 DE69528443D1 (de) 2002-11-07
DE69528443T2 true DE69528443T2 (de) 2003-11-27

Family

ID=23416985

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69528443T Expired - Fee Related DE69528443T2 (de) 1994-12-21 1995-12-19 Betriebsverfahren einer Speicherplattenanordnung

Country Status (5)

Country Link
US (1) US5533190A (de)
EP (1) EP0718766B1 (de)
JP (1) JP3164499B2 (de)
KR (1) KR100396197B1 (de)
DE (1) DE69528443T2 (de)

Families Citing this family (121)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3661205B2 (ja) * 1994-09-09 2005-06-15 株式会社日立製作所 ディスクアレイシステムおよびディスクアレイシステムのパリティデータの生成方法
JP3253473B2 (ja) * 1995-01-27 2002-02-04 富士通株式会社 二重化された共用メモリの等価性回復処理方法および装置
US5774641A (en) * 1995-09-14 1998-06-30 International Business Machines Corporation Computer storage drive array with command initiation at respective drives
US5812753A (en) * 1995-10-13 1998-09-22 Eccs, Inc. Method for initializing or reconstructing data consistency within an array of storage elements
US5774643A (en) * 1995-10-13 1998-06-30 Digital Equipment Corporation Enhanced raid write hole protection and recovery
US6067635A (en) * 1995-10-27 2000-05-23 Lsi Logic Corporation Preservation of data integrity in a raid storage device
US5829013A (en) 1995-12-26 1998-10-27 Intel Corporation Memory manager to allow non-volatile memory to be used to supplement main memory
US5790773A (en) * 1995-12-29 1998-08-04 Symbios, Inc. Method and apparatus for generating snapshot copies for data backup in a raid subsystem
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
JP3593814B2 (ja) * 1996-09-18 2004-11-24 ソニー株式会社 記録再生装置
KR100275900B1 (ko) * 1996-09-21 2000-12-15 윤종용 알에이아이디 서브시스템에 있어서 분할패러티 예비 디스크 구현방법
US5896493A (en) * 1997-01-17 1999-04-20 Dell Usa, L.P. Raid algorithm using a multimedia functional unit
US5889933A (en) * 1997-01-30 1999-03-30 Aiwa Co., Ltd. Adaptive power failure recovery
US6182188B1 (en) * 1997-04-06 2001-01-30 Intel Corporation Method of performing reliable updates in a symmetrically blocked nonvolatile memory having a bifurcated storage architecture
US6311290B1 (en) 1997-02-14 2001-10-30 Intel Corporation Methods of reliably allocating, de-allocating, re-allocating, and reclaiming objects in a symmetrically blocked nonvolatile memory having a bifurcated storage architecture
US5822245A (en) * 1997-03-26 1998-10-13 Atmel Corporation Dual buffer flash memory architecture with multiple operating modes
US6088759A (en) 1997-04-06 2000-07-11 Intel Corporation Method of performing reliable updates in a symmetrically blocked nonvolatile memory having a bifurcated storage architecture
US6148368A (en) * 1997-07-31 2000-11-14 Lsi Logic Corporation Method for accelerating disk array write operations using segmented cache memory and data logging
JP3618529B2 (ja) * 1997-11-04 2005-02-09 富士通株式会社 ディスクアレイ装置
US6516440B1 (en) * 1998-05-14 2003-02-04 Seiko Epson Corporation Printer and a control method for saving data from volatile to nonvolatile memory in the printer
US6438661B1 (en) 1999-03-03 2002-08-20 International Business Machines Corporation Method, system, and program for managing meta data in a storage system and rebuilding lost meta data in cache
US6513097B1 (en) 1999-03-03 2003-01-28 International Business Machines Corporation Method and system for maintaining information about modified data in cache in a storage system for use during a system failure
US6502174B1 (en) * 1999-03-03 2002-12-31 International Business Machines Corporation Method and system for managing meta data
JP2001344076A (ja) * 2000-06-05 2001-12-14 Fujitsu Ltd ディスクアレイ装置
US7240235B2 (en) * 2002-03-13 2007-07-03 Intel Corporation Journaling technique for write transactions to mass storage
US6928513B2 (en) * 2002-03-26 2005-08-09 Hewlett-Packard Development Company, L.P. System and method for managing data logging memory in a storage area network
US7542986B2 (en) * 2002-03-26 2009-06-02 Hewlett-Packard Development Company, L.P. System and method for maintaining order for a replicated multi-unit I/O stream
US7886298B2 (en) * 2002-03-26 2011-02-08 Hewlett-Packard Development Company, L.P. Data transfer protocol for data replication between multiple pairs of storage controllers on a san fabric
US6947981B2 (en) * 2002-03-26 2005-09-20 Hewlett-Packard Development Company, L.P. Flexible data replication mechanism
US7032131B2 (en) * 2002-03-26 2006-04-18 Hewlett-Packard Development Company, L.P. System and method for ensuring merge completion in a storage area network
US6934826B2 (en) * 2002-03-26 2005-08-23 Hewlett-Packard Development Company, L.P. System and method for dynamically allocating memory and managing memory allocated to logging in a storage area network
US7149769B2 (en) * 2002-03-26 2006-12-12 Hewlett-Packard Development Company, L.P. System and method for multi-destination merge in a storage area network
US6996672B2 (en) * 2002-03-26 2006-02-07 Hewlett-Packard Development, L.P. System and method for active-active data replication
US6880052B2 (en) * 2002-03-26 2005-04-12 Hewlett-Packard Development Company, Lp Storage area network, data replication and storage controller, and method for replicating data using virtualized volumes
US7007042B2 (en) * 2002-03-28 2006-02-28 Hewlett-Packard Development Company, L.P. System and method for automatic site failover in a storage area network
KR100740225B1 (ko) * 2002-04-30 2007-07-18 삼성전자주식회사 전원의 재공급에 따른 동작상태를 복구할 수 있는 콤보시스템 및 방법
US6859890B2 (en) * 2002-04-30 2005-02-22 Lsi Logic Corporation Method for reducing data/parity inconsistencies due to a storage controller failure
US7290168B1 (en) 2003-02-28 2007-10-30 Sun Microsystems, Inc. Systems and methods for providing a multi-path network switch system
US7383381B1 (en) 2003-02-28 2008-06-03 Sun Microsystems, Inc. Systems and methods for configuring a storage virtualization environment
US7236987B1 (en) 2003-02-28 2007-06-26 Sun Microsystems Inc. Systems and methods for providing a storage virtualization environment
US7447939B1 (en) 2003-02-28 2008-11-04 Sun Microsystems, Inc. Systems and methods for performing quiescence in a storage virtualization environment
US7380198B2 (en) 2003-06-11 2008-05-27 International Business Machines Corporation System and method for detecting write errors in a storage device
GB2402803B (en) * 2003-06-11 2006-06-28 Ibm Arrangement and method for detection of write errors in a storage system
US7308397B2 (en) * 2003-06-30 2007-12-11 Lsi Corporation Method for controlling and emulating functional and logical behaviors of an array of storage devices for different protocols
CN100350371C (zh) * 2003-10-07 2007-11-21 普安科技股份有限公司 磁盘阵列一致性初始化方法
KR20050049199A (ko) * 2003-11-21 2005-05-25 삼성전자주식회사 콤보시어터 시스템 및 그의 동작 제어방법
US7194640B2 (en) * 2003-12-08 2007-03-20 Lsi Logic Corporation Alternate non-volatile memory for robust I/O
CN100370429C (zh) * 2003-12-11 2008-02-20 鸿富锦精密工业(深圳)有限公司 确认数据完整性系统及方法
CN100340989C (zh) * 2004-04-14 2007-10-03 华为技术有限公司 随机存储器的数据保存方法
US7730257B2 (en) * 2004-12-16 2010-06-01 Broadcom Corporation Method and computer program product to increase I/O write performance in a redundant array
US7779294B2 (en) * 2005-04-15 2010-08-17 Intel Corporation Power-safe disk storage apparatus, systems, and methods
US8239735B2 (en) 2006-05-12 2012-08-07 Apple Inc. Memory Device with adaptive capacity
CN103280239B (zh) 2006-05-12 2016-04-06 苹果公司 存储设备中的失真估计和消除
US8595573B2 (en) 2006-12-03 2013-11-26 Apple Inc. Automatic defect management in memory devices
US7730347B1 (en) * 2007-01-03 2010-06-01 Board Of Governors For Higher Education, State Of Rhode Island And Providence Plantations Data recovery system and method including a disk array architecture that provides recovery of data to any point of time
US8369141B2 (en) 2007-03-12 2013-02-05 Apple Inc. Adaptive estimation of memory cell read thresholds
US20080276124A1 (en) * 2007-05-04 2008-11-06 Hetzler Steven R Incomplete write protection for disk array
WO2008139441A2 (en) * 2007-05-12 2008-11-20 Anobit Technologies Ltd. Memory device with internal signal processing unit
US8234545B2 (en) 2007-05-12 2012-07-31 Apple Inc. Data storage with incremental redundancy
US8259497B2 (en) * 2007-08-06 2012-09-04 Apple Inc. Programming schemes for multi-level analog memory cells
US8300478B2 (en) 2007-09-19 2012-10-30 Apple Inc. Reducing distortion using joint storage
US8174905B2 (en) 2007-09-19 2012-05-08 Anobit Technologies Ltd. Programming orders for reducing distortion in arrays of multi-level analog memory cells
US8527819B2 (en) 2007-10-19 2013-09-03 Apple Inc. Data storage in analog memory cell arrays having erase failures
US7827441B1 (en) * 2007-10-30 2010-11-02 Network Appliance, Inc. Disk-less quorum device for a clustered storage system
US8270246B2 (en) 2007-11-13 2012-09-18 Apple Inc. Optimized selection of memory chips in multi-chips memory devices
US8225181B2 (en) * 2007-11-30 2012-07-17 Apple Inc. Efficient re-read operations from memory devices
US8209588B2 (en) 2007-12-12 2012-06-26 Anobit Technologies Ltd. Efficient interference cancellation in analog memory cell arrays
US8456905B2 (en) * 2007-12-16 2013-06-04 Apple Inc. Efficient data storage in multi-plane memory devices
US7849356B2 (en) * 2008-01-17 2010-12-07 International Business Machines Corporation Parity data management system apparatus and method
US8230300B2 (en) 2008-03-07 2012-07-24 Apple Inc. Efficient readout from analog memory cells using data compression
US8400858B2 (en) 2008-03-18 2013-03-19 Apple Inc. Memory device with reduced sense time readout
US8493783B2 (en) 2008-03-18 2013-07-23 Apple Inc. Memory device readout using multiple sense times
US8498151B1 (en) 2008-08-05 2013-07-30 Apple Inc. Data storage in analog memory cells using modified pass voltages
US8949684B1 (en) 2008-09-02 2015-02-03 Apple Inc. Segmented data storage
US8482978B1 (en) 2008-09-14 2013-07-09 Apple Inc. Estimation of memory cell read thresholds by sampling inside programming level distribution intervals
US8239734B1 (en) 2008-10-15 2012-08-07 Apple Inc. Efficient data storage in storage device arrays
US8261159B1 (en) 2008-10-30 2012-09-04 Apple, Inc. Data scrambling schemes for memory devices
US8208304B2 (en) 2008-11-16 2012-06-26 Anobit Technologies Ltd. Storage at M bits/cell density in N bits/cell analog memory cell devices, M>N
JP4819116B2 (ja) * 2008-12-19 2011-11-24 富士通株式会社 制御装置、ストレージ装置および制御方法
US8248831B2 (en) 2008-12-31 2012-08-21 Apple Inc. Rejuvenation of analog memory cells
US8174857B1 (en) 2008-12-31 2012-05-08 Anobit Technologies Ltd. Efficient readout schemes for analog memory cell devices using multiple read threshold sets
US8924661B1 (en) 2009-01-18 2014-12-30 Apple Inc. Memory system including a controller and processors associated with memory devices
KR101512493B1 (ko) 2009-02-06 2015-04-15 삼성전자주식회사 저전력 시스템온칩
US8228701B2 (en) * 2009-03-01 2012-07-24 Apple Inc. Selective activation of programming schemes in analog memory cell arrays
US8259506B1 (en) 2009-03-25 2012-09-04 Apple Inc. Database of memory read thresholds
US8832354B2 (en) 2009-03-25 2014-09-09 Apple Inc. Use of host system resources by memory controller
US8238157B1 (en) 2009-04-12 2012-08-07 Apple Inc. Selective re-programming of analog memory cells
US8479080B1 (en) 2009-07-12 2013-07-02 Apple Inc. Adaptive over-provisioning in memory systems
US8495465B1 (en) 2009-10-15 2013-07-23 Apple Inc. Error correction coding over multiple memory pages
US8677054B1 (en) 2009-12-16 2014-03-18 Apple Inc. Memory management schemes for non-volatile memory devices
US8694814B1 (en) 2010-01-10 2014-04-08 Apple Inc. Reuse of host hibernation storage space by memory controller
US8572311B1 (en) 2010-01-11 2013-10-29 Apple Inc. Redundant data storage in multi-die memory systems
US8694853B1 (en) 2010-05-04 2014-04-08 Apple Inc. Read commands for reading interfering memory cells
US8572423B1 (en) 2010-06-22 2013-10-29 Apple Inc. Reducing peak current in memory systems
US8595591B1 (en) 2010-07-11 2013-11-26 Apple Inc. Interference-aware assignment of programming levels in analog memory cells
US9104580B1 (en) 2010-07-27 2015-08-11 Apple Inc. Cache memory for hybrid disk drives
US8767459B1 (en) 2010-07-31 2014-07-01 Apple Inc. Data storage in analog memory cells across word lines using a non-integer number of bits per cell
US8856475B1 (en) 2010-08-01 2014-10-07 Apple Inc. Efficient selection of memory blocks for compaction
US8493781B1 (en) 2010-08-12 2013-07-23 Apple Inc. Interference mitigation using individual word line erasure operations
US8694854B1 (en) 2010-08-17 2014-04-08 Apple Inc. Read threshold setting based on soft readout statistics
US9021181B1 (en) 2010-09-27 2015-04-28 Apple Inc. Memory management for unifying memory cell conditions by using maximum time intervals
JP5534024B2 (ja) 2010-10-21 2014-06-25 富士通株式会社 ストレージ制御装置およびストレージ制御方法
JP2013061799A (ja) 2011-09-13 2013-04-04 Toshiba Corp 記憶装置、記憶装置の制御方法およびコントローラ
US9053809B2 (en) 2011-11-09 2015-06-09 Apple Inc. Data protection from write failures in nonvolatile memory
CN103049220B (zh) * 2012-12-19 2016-05-25 华为技术有限公司 存储控制方法、存储控制装置和固态存储系统
US9563509B2 (en) * 2014-07-15 2017-02-07 Nimble Storage, Inc. Methods and systems for storing data in a redundant manner on a plurality of storage units of a storage system
US10684927B2 (en) 2014-07-29 2020-06-16 Hewlett Packard Enterprise Development Lp Methods and systems for storing information that facilitates the reconstruction of at least some of the contents of a storage unit on a storage system
WO2016076850A1 (en) * 2014-11-12 2016-05-19 Hewlett Packard Enterprise Development Lp Data write back
US9946607B2 (en) * 2015-03-04 2018-04-17 Sandisk Technologies Llc Systems and methods for storage error management
US10664193B2 (en) * 2016-09-16 2020-05-26 Hitachi, Ltd. Storage system for improved efficiency of parity generation and minimized processor load
US10467074B2 (en) 2016-12-30 2019-11-05 Western Digital Technologies, Inc. Conditional journal for storage class memory devices
US10459798B2 (en) 2017-09-15 2019-10-29 Seagate Technology Llc Data storage system with multiple parity redundancy
CN121680725A (zh) * 2017-10-27 2026-03-17 伊姆西Ip控股有限责任公司 用于向存储系统中的盘阵列写入数据的方法和设备
CN110058791B (zh) * 2018-01-18 2022-05-10 伊姆西Ip控股有限责任公司 存储系统以及相应的方法和计算机可读介质
US10754726B2 (en) * 2018-08-21 2020-08-25 Micron Technology, Inc. Tracking error-correction parity calculations
JP6777330B2 (ja) * 2018-12-18 2020-10-28 Necプラットフォームズ株式会社 ディスクアレイ制御装置、ディスクアレイ装置、ディスクアレイ装置の制御方法及びプログラム
US11556416B2 (en) 2021-05-05 2023-01-17 Apple Inc. Controlling memory readout reliability and throughput by adjusting distance between read thresholds
US11847342B2 (en) 2021-07-28 2023-12-19 Apple Inc. Efficient transfer of hard data and confidence levels in reading a nonvolatile memory
CN114079616B (zh) * 2021-11-02 2023-11-03 中国船舶重工集团公司第七0三研究所 一种非热备磁盘阵列服务器数据库冗余方法
CN114610244B (zh) * 2022-03-25 2025-07-11 山东云海国创云计算装备产业创新中心有限公司 一种独立冗余磁盘阵列降级方法、系统及设备
CN119782031A (zh) * 2025-03-13 2025-04-08 山东云海国创云计算装备产业创新中心有限公司 磁盘异常处理方法、装置、设备及存储介质

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5375128A (en) * 1990-10-18 1994-12-20 Ibm Corporation (International Business Machines Corporation) Fast updating of DASD arrays using selective shadow writing of parity and data blocks, tracks, or cylinders
US5235601A (en) * 1990-12-21 1993-08-10 Array Technology Corporation On-line restoration of redundancy information in a redundant array system
US5379417A (en) * 1991-11-25 1995-01-03 Tandem Computers Incorporated System and method for ensuring write data integrity in a redundant array data storage system
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
US5708668A (en) * 1992-05-06 1998-01-13 International Business Machines Corporation Method and apparatus for operating an array of storage devices
WO1993023803A1 (en) * 1992-05-21 1993-11-25 Fujitsu Limited Disk array apparatus
US5388108A (en) * 1992-10-23 1995-02-07 Ncr Corporation Delayed initiation of read-modify-write parity operations in a raid level 5 disk array
DE69434381T2 (de) * 1993-06-04 2006-01-19 Network Appliance, Inc., Sunnyvale Verfahren zur Paritätsdarstellung in einem Raid-Untersystem unter Verwendung eines nichtflüchtigen Speichers

Also Published As

Publication number Publication date
JPH08263227A (ja) 1996-10-11
DE69528443D1 (de) 2002-11-07
KR100396197B1 (ko) 2003-11-01
EP0718766A2 (de) 1996-06-26
KR960024954A (ko) 1996-07-20
EP0718766A3 (de) 1999-03-17
EP0718766B1 (de) 2002-10-02
JP3164499B2 (ja) 2001-05-08
US5533190A (en) 1996-07-02

Similar Documents

Publication Publication Date Title
DE69528443T2 (de) Betriebsverfahren einer Speicherplattenanordnung
DE69626947T2 (de) Reservekopie-Generierung in einem RAID-Untersystem
DE69331369T2 (de) Betriebsverfahren einer Speicherplattenanordnung
DE69130279T2 (de) On-line Wiederherstellung eines fehlerhaften redundanten Gruppensystems
DE69131562T2 (de) Verfahren und Anordnung zur Wiederherstellung von durch Parität geschützten Daten
DE69434381T2 (de) Verfahren zur Paritätsdarstellung in einem Raid-Untersystem unter Verwendung eines nichtflüchtigen Speichers
DE69311952T2 (de) Verfahren und System zur inkrementalen Datensicherung
DE69129444T2 (de) On-Line-Wiederherstellung von Redundanz-Information in einem redundanten Matrixsystem
DE69126416T2 (de) Speichergerätanordnungsarchitektur mit Copyback-Cachespeicher
DE69502125T2 (de) Synchrone Datenfernduplizierung
DE69629444T2 (de) Datenverarbeitungsgerät und Verfahren zur Ersetzung von ausgefallenen Speichereinheiten
DE69631106T2 (de) On-line-Rekonfiguration einer Speicherplattenanordnung
DE69937768T2 (de) Externe Speichervorrichtung und Verfahren zur Datensicherung
DE69323225T2 (de) Datenbehandlung in einem System mit Prozessor zur Steuerung des Zugangs zu einer Mehrzahl von Datenspeicherplatten
DE60304194T2 (de) Verfahren und vorrichtung zur tolerierung von mehreren abhängigen oder zwei beliebigen fehlern in einer speicherplattenanordnung
DE69632219T2 (de) Speicherplattenanordnungssystem
DE69324974T2 (de) Optimierte Stricherkennung für redundante Speicherplattenanordnung
DE69033476T2 (de) Schutz von Datenredundanz und -rückgewinnung
DE69512459T2 (de) RAID 5 - Plattenspeicheranordnung mit Paritätscachespeicher mit freien Blöcken
DE69624191T2 (de) Atomisches Aktualisieren von EDC-geschützten Daten
DE69700637T2 (de) Host-basierendes RAID-5 und nicht flüchtige RAM-Integration und Verfahren hierfür
DE69131551T2 (de) Logische Aufteilung eines Speichersystems mit redundanter Matrix
DE69228939T2 (de) Verfahren zur sicherstellung von daten zur teilwiederholung
DE3750790T2 (de) Paritätsverteilung zum verbesserten Speicherzugriff.
DE69430599T2 (de) Dynamisch ausbaubares Speichereinheitsmatrixsystem

Legal Events

Date Code Title Description
8332 No legal effect for de
8370 Indication related to discontinuation of the patent is to be deleted
8364 No opposition during term of opposition
8339 Ceased/non-payment of the annual fee
8327 Change in the person/name/address of the patent owner

Owner name: HYNIX SEMICONDUCTOR INC., ICHON, KYONGGI, KR