DE19723909A1 - Verfahren zum Erzielen einer geteilten Paritätsersatzplatte in einem RAID-Untersystem - Google Patents
Verfahren zum Erzielen einer geteilten Paritätsersatzplatte in einem RAID-UntersystemInfo
- Publication number
- DE19723909A1 DE19723909A1 DE19723909A DE19723909A DE19723909A1 DE 19723909 A1 DE19723909 A1 DE 19723909A1 DE 19723909 A DE19723909 A DE 19723909A DE 19723909 A DE19723909 A DE 19723909A DE 19723909 A1 DE19723909 A1 DE 19723909A1
- Authority
- DE
- Germany
- Prior art keywords
- data
- parity
- drive
- disk drive
- group
- 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.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1076—Parity data used in redundant arrays of independent storages, e.g. in RAID systems
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Description
Die vorliegende Erfindung bezieht sich auf ein Speichersystem
großer Kapazität und insbesondere auf ein Verfahren zum
Erzielen einer geteilten Paritätsersatzplatte zur Verbesserung
der Fehlerfestigkeit und des Betriebs eines RAID-(Redundant
Arrays of Inexpensive Disks = redundante Anordnungen aus
billigen Platten) Untersystems.
Die Leistungsfähigkeit eines Rechnersystems hängt von einer
zentralen Prozessoreinheit und einem Eingabe/Ausgabe-Unter
system ab. In letzter Zeit führt die Entwicklung einer VLSI-
(Hochintegrations-)Technik zu einer großen Verbesserung einer
Arbeitsgeschwindigkeit der zentralen Prozessoreinheit. Da das
Eingabe/Ausgabe-Untersystem jedoch nur eine leichte
Leistungsverbesserung aufweist, ist das Verhältnis der
Eingabe/Ausgabe-Verarbeitungszeit zur Gesamtverarbeitungszeit
des Systems allmählich größer geworden. Weil außerdem eine
allmähliche Steigerung der Datenwiedergewinnungskosten auf
Auftreten von Fehlern im Eingabe/Ausgabe-Untersystem
stattgefunden hat, besteht Bedarf für die Entwicklung eines
Eingabe/Ausgabe-Untersystems, das gesteigerte Leistung und
Zuverlässigkeit aufweist. Eine der Forschungen zur Verbesserung
der Leistung des Eingabe/Ausgabe-Untersystems dreht sich um ein
RAID-Untersystem. Ein allgemeines Eingabe/Ausgabe-Untersystem
gibt Daten in ein Plattenlaufwerk sequentiell ein und davon
aus, während das RAID-Untersystem einen Eingabe/Ausgabe-Betrieb
parallel ausführt, indem Daten in einer Plattengruppe verteilt
gespeichert werden, die aus mehreren Plattenlaufwerken besteht.
Der Eingabe/Ausgabe-Betrieb wird dadurch schnell ausgeführt,
selbst wenn ein Fehler auftritt, weil es möglich ist, Daten
wiederzugewinnen, indem einfache Paritätsinformation verwendet
wird. Damit ist auch die Zuverlässigkeit verbessert.
Konkurrierend damit ist eine Technik, die sich auf das RAID-
Untersystem bezieht, über den theoretischen Zustand hinaus eine
kommerziell verwertbare Form entwickelt worden. In
Universitäten sind aktive theoretische Studien unternommen
worden über eine Studie am RAID-Algorithmus und ein Experiment
unter Verwendung von Simulation. Unternehmen haben sich der
Verbesserung der Eingabe/Ausgabe-Leistung und der Verbesserung
der Zuverlässigkeit durch Ableitung von Dingen gewidmet, die
durch zahlreiche Verbesserungsmaßnahmen reformiert werden
sollen. Die Plattenanordnung ist in einem Superrechner, wie
Cray, für die Eingabe/Ausgabe-Verbesserung des Plattenlaufwerks
verwendet worden. Das Konzept des RAID wurde durch die
Veröffentlichung durch drei Recherwissenschaftler der Berkeley-
Universität 1988 geschaffen.
Fig. 1 zeigt ein typische RAID-Untersystem. Das RAID-
Untersystem enthält einen Plattengruppensteuerer 4 und eine
Plattengruppe 6 aus mehreren Plattenlaufwerken 6-0, . . . 6-n.
Der Plattengruppensteuerer 4, der zwischen ein Wirts-System 2
und die Plattengruppe 6 geschaltet ist, liest/schreibt Daten
von/in die Plattenlaufwerke 6-0, . . . 6-n der Plattengruppe 6
gemäß einem Datenlese-/-schreibbefehl vom Wirts-System 2. In
diesem Falle speichert der Plattengruppensteuerer 4 die Daten
in verteilter Weise in jedes Plattenlaufwerk der Plattengruppe
6, verarbeitet einen Eingabe/Ausgabe-Betrieb parallel, und beim
Auftreten eines Fehlers wiedergewinnt er die Daten durch
Verwendung einfacher Paritätsinformation.
Fig. 2 zeigt den Plattengruppensteuerer 4 im Detail. Der
Plattengruppensteuerer 4 enthält eine Wirts-
Schnittstellensteuerer 10, einen Prozessor 12, einen Speicher
14, einen Pufferspeicher 16 und einen Gruppensteuerer 18. Der
Wirts-Schnittstellensteuerer 10 vermittelt die gesendeten und
empfangenen Daten zwischen dem Wirts-System 2 und dem Prozessor
12. Der Prozessor 12 steuert den Gesamtbetrieb des
Plattengruppenuntersystems. Der Speicher 14, der mit dem Wirts-
Schnittstellensteuerer 10 verbunden ist, hat einen Festspeicher
ROM zur Speicherung eines Steuerprogramms des Prozessors 12 und
einen Arbeitsspeicher (Speicher mit wahlfreiem Zugriff) RAM zum
Zwischenspeichern von Daten, die während eines Steuervorgangs
erzeugt werden. Der Pufferspeicher 16 speichert vorübergehend
einen Datenlese-/Regenerierbefehl und Daten, die zwischen dem
Wirts-System 2 und der Plattengruppe 6 gesendet und empfangen
werden, unter der Steuerung des Prozessors 12. Der
Gruppensteuerer 18 vermittelt und steuert zahlreiche Daten, die
zwischen dem Prozessor 12 und der Plattengruppe 6 gesendet und
empfangen werden.
Das in der oben beschriebenen Art aufgebaute RAID-Untersystem
dient der Verbesserung der Leistung einer Eingabe/Ausgabe-
Vorrichtung, vergrößert deren Kapazität und schafft deren
Zuverlässigkeit durch Dezentralisierung oder Streifenzerlegung
von Daten zum Plattenlaufwerk, die Spiegelung der Platte mit
wiederholten Daten usw. Die RAID-Theorie ist auf eine
Vorrichtung mit sequentiellem Zugriffs, wie beispielsweise eine
Bandkassette, als Eingabe/Ausgabe-Vorrichtung anwendbar, jedoch
ist ihre Hauptanwendung bei Festplatten.
Eine RAID-Struktur ist in sechs RAID-Niveaus vom Niveau 0 zum
Niveau 5 entsprechend ihrer Eigenschaften klassifiziert. Die
sechs RAID-Niveaus haben Vorteile und Nachteile, je nach
Umgebung, die für jede Charakteristik geeignet sind, und werden
in zahlreichen Anwendungsgebieten eingesetzt. Jedes RAID-
Niveau schafft eine Lösung für zahlreiche
Datenspeichervorrichtungen oder ein Zuverlässigkeitsproblem.
Der Inhalt jedes RAID-Niveaus wird nun beschrieben.
Das RAID-Niveau 0 ist bei der Verarbeitung von Interesse
anstatt der Zuverlässigkeit der Daten. Die Daten werden
verteilt in allen Datenlaufwerken der Datengruppe gespeichert.
Unterschiedliche Steuerer werden dazu verwendet, die
Plattenlaufwerke der Plattengruppe miteinander zu verbinden.
Das RAID-Niveau 0 hat einen Vorteil dahingehend, daß die
Eingabe/Ausgabe-Leistung durch gleichzeitigen Datenzugriff
wegen der Verwendung verschiedener Steuerer verbessert ist.
Die Inhalte aller Plattenlaufwerke werden identisch in einem
Kopieplattenlaufwerk gespeichert. Ein solches Verfahren nennt
man Spiegelung. Das Spiegelungsverfahren verbessert die
Leistung des Plattenlaufwerks, hat jedoch einen
wirtschaftlichen Nachteil. Das RAID-Niveau 1 hat nämlich den
Nachteil, daß nur 50% der Platte in einem System verwendet
werden, das eine Plattengröße großer Kapazität verlangt, wie
beispielsweise einem Datenbanksystem. Da die gleichen Daten im
Kopieplattenlaufwerk vorhanden sind, ist das RAID-1-Niveau
jedoch für die Aufrechterhaltung der Zuverlässigkeit
vorteilhaft.
Das RAID-Niveau 2 wird dazu verwendet, die wirtschaftlichen
Nachteile des RAID-Niveaus 1 zu vermindern. Das RAID-Niveau 2
speichert Daten in verteilter Weise in jedem Plattenlaufwerk,
die die Plattengruppe bilden, mit der Einheit eines Byte. Ein
Hamming-Code wird dazu verwendet, einen Fehler zu erkennen und
zu korrigieren. RAID-2-Niveau hat somit mehrere
Prüfplattenlaufwerke zusätzlich zu den Datenplattenlaufwerken.
Wenn Notwendigkeit eines Eingabe/Ausgabevorgangs ist, wird der
Dateneingabe/-ausgabevorgang am Plattenlaufwerk parallel
ausgeführt. Paritätsdaten werden in einem zusätzlichen
Plattenlaufwerk gespeichert. Ein Spindelmotor zum Antreiben der
Platte wird so synchronisiert, daß alle Plattenlaufwerke
gleichzeitig Daten eingeben/ausgeben können. Es ist daher
möglich, die Daten schnell zu übertragen, selbst wenn der
Eingabe/Ausgabe-Vorgang der Daten nicht gleichzeitig ausgeführt
wird. Wenn in einem Plattenlaufwerk ein Fehler auftritt, können
die verloren gegangenen Daten durch Verwendung des
Plattenlaufwerks, das normalerweise betrieben wird, und des
Paritätsplattenlaufwerks wiedergewonnen werden. In diesem Falle
ist die Gesamtdatenrate herabgesetzt.
Das RAID-Niveau 3 wird in einem Superrechner, einem
Bildmanipulationsprozessor usw. verwendet, der eine sehr
schnelle Datenübertragungsrate verlangt. Das RAID-Niveau 3 hat
hohe Wirksamkeit bei der Aussendung eines langen Datenblocks
(beispielsweise etwa 50 Datenblöcke), ist aber ineffektiv bei
einem kurzen Datenblock (beispielsweise etwa fünf Datenblöcke).
Das RAID-Niveau 3 verwendet ein Plattenlaufwerk zur Redundanz
zusammen mit dem Datenplattenlaufwerk. Das RAID-Niveau 3
benötigt daher der Zahl nach weniger Plattenlaufwerke als das
RAID-Niveau 1, jedoch wird der Steuerer kompliziert und teuer.
Im RAID-Niveau 4 werden Daten über mehrere Plattenlaufwerke
verteilt, die eine Plattengruppe bilden. Mit anderen Worten,
ein Speicherbereich jedes Plattenlaufwerks wird in mehrere
Regionen unterteilt, die jeweils eine Streifengröße der Einheit
eines Blocks haben, und die Daten, die der Streifengröße
entsprechen, werden in jedem Plattenlaufwerk verteilt
gespeichert. Paritätsdaten, die unter Verwendung der Daten
berechnet werden, werden in einem zusätzlichen Plattenlaufwerk
innerhalb der Plattengruppe gespeichert.
Das RAID-Niveau 4 kann wiedergewonnen werden, wenn Daten
ausfallen, und seine Leseleistung ist vergleichbar dem RAID-
Niveau 1. Die Schreibleistung ist jedoch beachtlich
herabgesetzt im Vergleich zu einem Einzelplattenlaufwerk, weil
die Paritätsinformation zu einem speziell vorgesehenen
Plattenlaufwerk geleitet werden muß (in diesem Falle wird ein
Flaschenhalsphänomen erzeugt). Das RAID-Niveau 4 wird durch das
RAID-Niveau 5 kompensiert, dessen Schreibleistung verbessert
ist.
Im RAID-Niveau 5 werden die Daten in Streifen zerlegt und über
alle Plattenlaufwerke der Plattengruppe verteilt. Um das
Flaschenhalsphänomen beim Einschreiben zu beseitigen, werden
die Paritätsdaten verteilt in allen Plattenlaufwerken
gespeichert. Beim Einschreiben der Daten ist die
Geschwindigkeit so niedrig wie beim RAID-Niveau 4, weil die in
alle Plattenlaufwerke eingeschriebenen Daten gelesen werden
müssen, um wieder die Paritätsdaten zu berechnen. Es ist jedoch
möglich, die Dateneingabe/-ausgabe-Übertragung simultan
auszuführen. Die Daten des ausgefallenen Plattenlaufwerks
können wiedergewonnen werden.
Das RAID-5-Niveau ist wirksam beim Schreiben langer Daten. Wenn
der Datenauslesung in einem Anwendungsfall mehr Gewicht gegeben
wird oder wenn der Schreibleistung bei der Gestaltung der
Gruppe viel Bedeutung beigemessen wird, dann kann das RAID-
Niveau 5 beim Schreiben kurzer Daten wirkungsvoll sein. Wenn
die Größe des Datenblocks vermindert wird, dann kann die
geeignete Leistung und Datenverfügbarkeit erreicht werden. Das
RAID-5-Niveau ist sehr effektiv bei den Kosten im Vergleich zu
einer nichtgruppierten Vorrichtung.
Das RAID-5-Niveau hat eine Struktur ohne Datenverlust, selbst
wenn ein Plattenlaufwerk, das die Plattengruppe bildet,
ausfällt. Wenn das Plattenlaufwerk ausfällt und keine
augenblickliche Wiedergewinnungsarbeit ausgeführt wird, dann
können jedoch zusätzliche Ausfälle auftreten und somit ein
Verlust an Daten hervorgerufen werden. Um den Datenverlust zu
verhindern, hat das RAID-5-Niveau ein Online-
Ersatzplattenlaufwerk oder ein Heißersatzplattenlaufwerk.
Fig. 5 zeigt ein Beispiel der Plattengruppe, an der die
Struktur des RAID-Niveaus 5 angewendet ist. Die Plattengruppe
hat fünf Plattenlaufwerke (nachfolgend als Datenlaufwerke
bezeichnet) S1 bis S5 zum Speichern von Daten und ein
Ersatzplattenlaufwerk (nachfolgend als Ersatzlaufwerk
bezeichnet) SP. Ein Speicherbereich jedes Datenlaufwerks
besteht aus n-Blöcken BLK0, . . . BLKn-1. Die Größe eines
Einheitsblocks wird Streifengröße genannt und hat
typischerweise 512 Bytes oder ähnlich. Die Daten werden
sequentiell im ersten Block BLK0 eines jeden der Datenlaufwerke
S1 bis S5 gespeichert. Anschließend werden die Daten
sequentiell im zweiten Block BLK1 eines jeden der
Datenlaufwerke S1 bis S5 gespeichert. Die Daten werden nämlich
in der Plattengruppe in der Reihenfolge vom ersten Block BLK0
des ersten Datenlaufwerks S1 über den ersten Block BLK0 des
zweiten Datenlaufwerks S2 zum . . . . und zum ersten Block BLK0
des fünften Datenlaufwerks S5, zum zweiten Block BLK1 des
ersten Datenlaufwerks S1, zum zweiten Block BLK1 des zweiten
Datenlaufwerks S2, zum . . . zum n-ten Block BLKn-1 des fünften
Datenlaufwerks S5 gespeichert.
Wenn die Daten in den Datenlaufwerken S1 bis S5 gespeichert
werden, dann werden auch Prioritätsdaten verteilt in jedem
Datenlaufwerk gespeichert. In Fig. 3 sind die Paritätsdaten
durch die von Kreisen umgebenen Daten im ersten Block BLK0
eines jeden Datenlaufwerks angegeben. Das Paritätsbit ist
verteilt in dem ersten Bit des ersten Datenlaufwerks S1, im
zweiten Bit des zweiten Datenlaufwerks S2, dem dritten Bit des
dritten Datenlaufwerks S3 und dergleichen angeordnet. Die k-ten
Paritätsdaten, die verteilt in den Datenlaufwerken S1 bis S5
gespeichert sind, werden durch Exclusiv- oder -Verknüpfung der
k-ten Daten von Laufwerken mit Ausnahme des Laufwerks erzeugt,
in dem jene Paritätsdaten gespeichert sind. Dies wird im Detail
unter Bezugnahme auf Fig. 4 erläutert.
Fig. 4 ist ein beispielhaftes Diagramm zur Beschreibung eines
Verfahrens zur Erzeugung und Anordnung der Paritätsdaten in
verteilter Speicherung in den Datenlaufwerken S1 bis S5. Gemäß
Fig. 4 befindet sich die Paritätsdate "1" unter den ersten
Bitdaten im ersten Datenlaufwerk S1 und wird durch Exclusiv-
oder -Verknüpfung der ersten Bitdaten der Datenlaufwerke S2 bis
S5, ausgenommen das erste Datenlaufwerk S1, erhalten. Die
Paritätsdate "0" aus den zweiten Bitdaten befindet sich im
zweiten Datenlaufwerk S2 und wird durch Exclusiv- oder
-Verknüpfung der zweiten Bitdaten der Datenlaufwerke S1 und S3
bis S5 mit Ausnahme des zweiten Datenlaufwerks S2 erhalten. Die
Paritätsdate "0" aus den dritten Bitdaten, die Paritätsdate "1"
aus den vierten Bitdaten, die Paritätsdate "1" aus den fünften
Bitdaten werden in der oben beschriebenen Weise erhalten. Das
Verfahren zum Erzeugen der Paritätsdaten kann durch den
folgenden mathematischen Ausdruck (1) dargestellt werden, in
dem ⊕ ein Symbol ist, das eine Exclusiv- oder -Verknüpfung
darstellt.
Mathematischer Ausdruck (1):
Paritätsdate des ersten Datenlaufwerks S1 = S2⊕S3⊕S4⊕S5 =
1⊕0⊕1⊕1 = 1,
Paritätsdate des zweiten Datenlaufwerks S2 = S1⊕S3⊕S4⊕S5 =
0⊕1⊕0⊕1 0 = 0,
Paritätsdate des dritten Datenlaufwerks S3 = S1⊕S2⊕S4⊕S5 =
0⊕1⊕0⊕1 = 0,
Paritätsdate des vierten Datenlaufwerks S4 = S1⊕S2⊕S3⊕S5 =
1⊕1⊕1⊕ 0 = 1, und
Paritätsdate des fünften Datenlaufwerks S5 = S1⊕S2⊕S3⊕S4 =
0⊕0⊕0⊕1 = 1.
Die Paritätsdate, die nach dem oben beschriebenen Verfahren
erzeugt wird, wird verteilt in den Datenlaufwerken S1 bis S5
gespeichert.
In der Plattengruppe mit dem Aufbau des RAID-Niveaus 5 werden
die Datenlaufwerke S1 bis S5 dazu benutzt, die Daten und die
Paritätsdaten zu speichern. Das Ersatzlaufwerk SP wird jedoch
nicht benutzt, wenn die Plattengruppe normal betrieben wird.
Das Ersatzlaufwerk SP befindet sich in einem
Bereitschaftszustand während des Normalbetriebs der
Plattengruppe. Wenn ein spezielles Datenlaufwerk ausfällt, wird
das Ersatzlaufwerk anstelle des fehlerhaften Datenlaufwerks
eingesetzt. Nimmt man an, daß das erste Datenlaufwerk S1 in
Fig. 3 ausfällt, gewinnt der Plattengruppensteuerer 4 die Daten
des ersten Datenlaufwerks S1 durch Exclusiv- oder -Verknüpfung
der Daten der Datenlaufwerke S2 bis S5 rück und schreibt die
rückgewonnenen Daten in das Ersatzplattenlaufwerk SP.
Da jedoch das Ersatzplattenlaufwerk SP innerhalb der
Plattengruppe nicht verwendet wird, wenn die Plattengruppe
normal betrieben wird, ist dieses unwirtschaftlich. Die
Leistung des RAID-Untersystems ist folglich herabgesetzt.
Es ist daher eine Aufgabe der vorliegenden Erfindung, ein
Verfahren zum Verbessern der Fehlerausfallsicherung und der
Leistung eines RAID-Untersystems anzugeben.
Eine weiteres Ziel der vorliegenden Erfindung besteht darin,
ein Verfahren zum Verbessern des ineffektiven Einsatzes eines
Ersatzlaufwerks in der Struktur eines RAID-Niveaus 5 anzugeben.
Eine noch weitere Aufgabe der vorliegenden Erfindung besteht
darin, ein geteiltes Paritätsersatzplattenerzielungsverfahren
zum Lösen eines Flaschenhalsphänomens, das in einem Aufbau des
RAID-Niveaus 4 erzeugt wird, anzugeben.
Gemäß einem Aspekt der vorliegenden Erfindung wird die
gestellte Aufgabe durch die im Anspruch 1 angegebenen Merkmale
gelöst. Vorteilhafte Ausgestaltungen der Erfindung und weitere,
dem gleichen Grundgedanken unterworfene Lösungen der Aufgabe
sind Gegenstand weiterer Ansprüche.
In der vorliegenden Erfindung und Beschreibung sind ein
"Datenplattenlaufwerk" zum Speichern von Daten, ein
"Ersatzplattenlaufwerk", das verwendet wird, wenn ein
Plattenlaufwerk ausfällt, und "Paritätsplattenlaufwerk" zur
Speicherung von Paritätsdaten mit "Datenlaufwerk",
"Ersatzlaufwerk" und "Paritätslaufwerk" bezeichnet.
Die vorliegende Erfindung wird unter Bezugnahme auf die
Zeichnungen anhand von Ausführungsbeispielen nachfolgend näher
erläutert. In den Zeichnungen sind gleiche Bezugszeichen oder
Symbole für gleiche Elemente verwendet.
Fig. 1 ist ein Blockdiagramm eines typischen RAID-Untersystems,
das an einem Festplattenlaufwerk angewendet ist;
Fig. 2 ist ein detaillierteres Blockschaltbild eines
Plattenlaufwerksteuerers nach Fig. 1;
Fig. 3 zeigt ein Beispiel einer Plattengruppe, an der die
Struktur eine RAID-Niveaus 5 angewendet ist;
Fig. 4 ist ein beispielhaftes Diagramm, das der Beschreibung
eines Verfahrens zum Erzeugen und zur Anordnung von
Paritätsdaten dient, die verteilt in Datenlaufwerken der
Struktur des RAID-Niveaus 5 gespeichert werden;
Fig. 5 ist ein Blockdiagramm eines RAID-Untersystems, das bei
der vorliegenden Erfindung angewendet ist;
Fig. 6A und 6B sind ein Flußdiagramm eines Initialisierungs
steuermodes, der in einem Plattengruppensteuerer gemäß der
vorliegenden Erfindung ausgeführt wird;
Fig. 7 zeigt den Zustand einer Plattengruppe gemäß dem
Initialisierungssteuermode der Fig. 6A und 6B;
Fig. 8 zeigt den formatierten Zustand der Plattenlaufwerke
innerhalb der Plattengruppe gemäß einem Ergebnis des
Initialiserungssteuermodes der Fig. 6A und 6B;
Fig. 9 ist ein Flußdiagramm, das einen
Datenwiedergewinnungsvorgang zeigt, der stattfindet, wenn ein
spezielles Datenlaufwerk unter den Datenlaufwerken ausfällt;
Fig. 10A und 10B sind ein Flußdiagramm, das den
Datenwiedergewinnungsvorgang im Falle zeigt, daß ein
Datenlaufwerk pro kleiner Paritätsgruppe ausfällt;
Fig. 11 ist ein Flußdiagramm, das einen
Datenwiedergewinnungsvorgang zeigt im Falle, daß entweder ein
Paritätslaufwerk oder ein Ersatzlaufwerk ausfällt;
Fig. 12 ist ein Flußdiagramm eines
Datenwiedergewinnungsvorgangs im Falle, daß ein Datenlaufwerk
innerhalb einer zweiten Paritätsgruppe und ein Ersatzlaufwerk
ausfallen;
Fig. 13A und 13B zeigen einen Vorgang zum Lesen/Schreiben von
Daten in einem RAID-Niveau 4 während einer normalen
Betriebsart;
Fig. 14A und 14B zeigen einen Betrieb zum Schreiben/Lesen von
Daten von/in ein Datenlaufwerk in einer ersten Paritätsgruppe
während einer normalen Betriebsart gemäß der vorliegenden
Erfindung; und
Fig. 15A und 15B zeigen einen Betrieb zum Schreiben von Daten
in ein Datenlaufwerk in einer zweiten Paritätsgruppe während
einer normalen Betriebsart gemäß der vorliegenden Erfindung.
In der folgenden Beschreibung sind zahlreiche spezielle
Details, wie beispielsweise die Anzahl der Plattenlaufwerke,
die eine Plattengruppe, hervorgehoben, um ein vollständiges
Verständnis der vorliegenden Erfindung zu bieten. Es ist für
den Fachmann jedoch augenscheinlich, daß die vorliegende
Erfindung auch ohne diese speziellen Details ausgeführt werden
kann. Im übrigen sind gutbekannte Merkmale und Konstruktionen
nicht beschrieben, weil diese für die Erläuterung der
vorliegenden Erfindung nicht erforderlich sind und die
Beschreibung nur belasten würden.
In der bevorzugten Ausführungsform der vorliegenden Erfindung
hat eine Plattengruppe, die aus mehreren Plattenlaufwerken
besteht, einen Aufbau, in dem ein RAID-Niveau 4 und ein RAID-
Niveau 5 miteinander kombiniert sind. Das heißt, die
Plattengruppe verwendet ein Paritätslaufwerk, das in der
Struktur des RAID-Niveaus 4 verwendet wird, und ein
Ersatzlaufwerk, das in der Struktur des RAID-Niveaus 5
verwendet wird, zusammen mit mehreren Datenlaufwerken.
Fig. 5 zeigt ein RAID-Untersystem, das an der vorliegenden
Erfindung angewendet ist. Ein Plattengruppensteuerer 4 ist mit
einem Wirts-System 2 verbunden und mit einer Plattengruppe 6
über Vielfachleitungen (BUS) verbunden. Der
Plattengruppensteuerer 4 speichert in verteilter Weise Daten in
jedem Plattenlaufwerk der Plattengruppe 6, führt einen
Eingabe/Ausgabe-Betrieb parallel aus und wiedergewinnt bei
Auftreten eines Fehlers die Daten durch Verwendung von
Paritätsdaten. Eine Hauptaufgabe des Plattengruppensteuerers 4
ist es, eine Geteiltparitätsersatzplatte zu steuern. Die
Steuerung der Geteiltparitätsersatzplatte, die später im Detail
erläutert wird, ist in einen Initialisierungssteuermodeteil,
einen normalen Steuermodeteil und einen
Datenwiedergewinnungssteuermodeteil zum Restaurieren von Daten,
wenn das Laufwerk ausfällt, klassifiziert.
Die Plattengruppe 6 besteht aus vier Datenlaufwerken S1 bis S4,
einem Paritätslaufwerk PR und einem Ersatzlaufwerk SP. Wie in
Fig. 5 gezeigt, ist die Plattengruppe 6 der Bequemlichkeit
halber aus sechs Plattenlaufwerken aufgebaut. Die Konstruktion
der Plattenlaufwerke der Plattengruppe 6 kann daher in
Übereinstimmung mit den Wünschen des Benutzers variieren. Ein
entsprechender Speicherbereich der Plattenlaufwerke S1 bis S4,
PR und SP der Plattengruppe 6 ist in Blöcke mit einer
Streifengröße unterteilt (beispielsweise 512 Byte).
Nachfolgend wird der Betrieb eines Initialisierungssteuermode,
eines Normalbetriebsmode und eines
Datenwiedergewinnungssteuermode im Detail erläutert.
Während des Initialisierungssteuermode des
Plattengruppensteuerers 4 werden die Plattenlaufwerke S1 bis
S4, PR und SP in kleine Paritätsgruppen unterteilt, und ein
entsprechender Speicherbereich wird in einen oberen Block und
einen unteren Block unterteilt. Die Fig. 6A und 6B sind ein
Flußdiagramm des Initialisierungssteuermode, der in dem
Plattengruppensteuerer 4 ausgeführt wird. Fig. 7 zeigt den
Zustand der Plattengruppe 6 gemäß dem
Initialisierungssteuermode der Fig. 6A und 6B. Fig. 8 zeigt den
formatierten Zustand der Plattenlaufwerke innerhalb der
Plattengruppe 6 gemäß einem Ergebnis des
Initialisierungssteuermode der Fig. 6A und 6B.
Der Initialisierungssteuerbetrieb des Plattengruppensteuerers 4
und der Zustand der Plattenlaufwerke innerhalb der
Plattengruppe 6 wird nun unter Bezugnahme auf die Fig. 5 bis 8
erläutert. Wenn der Plattengruppensteuerer 4 einen
Systeminitialisierungsbefehl vom Wirts-System 2 empfängt,
bestätigt der Plattengruppensteuerer 4 dieses im Schritt 100.
Im Schritt 102 gibt der Plattengruppensteuerer 4 eine
Initialisierungssteuerfunktion frei und setzt ein
Teilungskennzeichen SOF. Im Schritt 104 berechnet der
Plattengruppensteuerer 4 einen Zwischenzylinderwert der
Plattenlaufwerke, die die Plattengruppe 6 bilden, das heißt von
den Datenlaufwerken S1 bis S4, dem Paritätslaufwerk PR und dem
Ersatzlaufwerk SP, und teilt jedes Plattenlaufwerk in einen
oberen Block und einen unteren Block. Gemäß Fig. 7 oder 8 geben
Bezugszeichen 50A, 52A, 54A, 56A, 58A und 60A die oberen Blöcke
der Plattenlaufwerke an, und 50B, 52B, 54B, 56B, 58B und 60B
bezeichnen die unteren Blöcke der Plattenlaufwerke. In Fig. 8
sind die oberen und unteren Blöcke der Datenlaufwerke S1 bis S4
jeweils in Blöcke unterteilt, und ihre Blockdaten UBD_0, UBD_1,
. . . UBD_m, LBD_0, LBD_1, . . . LBD_m (wobei m ein Mehrfaches von
vier ist) werden in Querrichtung verteilt. Die Blockdaten geben
Daten an, die in einem Einheitsblock gespeichert sind
(beispielsweise 512 Byte).
Gemäß Fig. 6A prüft der Plattengruppensteuerer 4 im Schritt 106
den Zustand des Ersatzlaufwerks SP. Im Schritt 108 prüft der
Plattengruppensteuerer 4, ob ein Fehler im Ersatzlaufwerk SP
vorliegt. Liegt ein Fehler vor, informiert der
Plattengruppensteuerer 4 im Schritt 110 das Wirts-System 2
hierüber. Liegt kein Fehler vor, kopiert der
Plattengruppensteuerer 4 im Schritt 112 die unteren
Blockparitätsdaten LPR, die im unteren Block 58B des
Paritätslaufwerks PR gespeichert sind, in den oberen Block 60A
des Ersatzlaufwerks SP. Die im Paritätslaufwerk PR
gespeicherten Paritätsdaten werden durch Exclusiv- oder
-Verknüpfung der Daten der Datenlaufwerke S1 bis S4 berechnet.
Gemäß Fig. 7 werden die oberen Blockdaten UBD (angedeutet durch
Dreiecke) der Datenlaufwerke S1 bis S4 exclusiv- oder
-verknüpft, um die oberen Blockparitätsdaten UPR zu erzeugen.
Die oberen Blockparitätsdaten UPR (angedeutet durch Dreiecke)
werden in dem oberen Block 58A des Paritätslaufwerks PR
gespeichert. Die unteren Blockdaten LBD (angedeutet durch
Quadrate) der Datenlaufwerke S1 bis S4 werden exclusiv- oder
-verknüpft, um die unteren Blockparitätsdaten LPR zu erzeugen.
Die unteren Blockparitätsdaten LPR (angedeutet durch Quadrate)
werden in den unteren Block 58B des Paritätslaufwerks PR
gespeichert. Durch die Kopiersteuerung am Schritt 112 von Fig.
6 werden die unteren Blockparitätsdaten LPR in den oberen Block
60A des Ersatzlaufwerks SP gespeichert.
Der Plattengruppensteuerer 4 prüft am Schritt 114, ob der
Kopiervorgang abgeschlossen worden ist. Wenn dieses so ist,
definiert der Plattengruppensteuerer 4 am Schritt 116 die
Laufwerke mit Ausnahme des Ersatzlaufwerks SP, das heißt die
Datenlaufwerke S1 bis S4 und das Paritätslaufwerk PR als zwei
kleine Paritätsgruppen. Beispielsweise werden die
Datenlaufwerke S1 und S2 als eine erste Paritätsgruppe 30 und
die Datenlaufwerke S3 und S4 und das Paritätslaufwerk PR werden
als eine zweite Paritätsgruppe 40 definiert, wie in den Fig.
7 und 8 gezeigt.
Im Schritt 118 erzeugt der Plattengruppensteuerer 4
Kleingruppenoberblockparitätsdaten GUPR durch Verwendung der
oberen Blockdaten UBD und UPR (in Fig. 4 durch Nullen
angegeben) der Laufwerke S3, S4 und PR, die in der kleinen
Paritätsgruppe einschließlich des Paritätslaufwerks PR, das
heißt in der zweiten Paritätsgruppe 40, enthalten sind. Im
Schritt 120 schreibt der Plattengruppensteuerer 4 die
Kleingruppenoberblockparitätsdaten GUPR (in Fig. 7 durch Nullen
eingezeichnet) in den unteren Block 60B des Ersatzlaufwerks SP.
Der Plattengruppensteuerer 4 prüft am Schritt 122, ob der
Einschreibvorgang abgeschlossen ist.
Wenn das Schreiben abgeschlossen ist, erzeugt der
Plattengruppensteuerer 4 am Schritt 124
Kleingruppenunterblockparitätsdaten GLPR durch Verwendung der
unteren Blockdaten LBD und LPR (in Fig. 7 durch X angedeutet)
der Plattenlaufwerke S3, S4 und PR, die in der zweiten
Paritätsgruppe 40 enthalten sind. Im Schritt 126 schreibt der
Plattengruppensteuerer 4 die
Kleingruppenunterblockparitätsdaten GLPR (in Fig. 7 durch X
angedeutet) in den unteren Block 58B des Paritätslaufwerks PR.
Der Plattengruppensteuerer 4 prüft im Schritt 128, ob das
Einschreiben abgeschlossen worden ist. Ist dieses der Fall,
setzt der Plattengruppensteuerer 4 das Teilungskennzeichen SOF
rück und setzt ein Paritätsteilungsersatzkennzeichen SPSF, das
anzeigt, daß das Paritätsteilen abgeschlossen worden ist, im
Schritt 130. Im Schritt 132 ändert der Plattengruppensteuerer 4
den Initialisierungssteuermode zum Normalsteuermode um.
Der Zustand der Plattengruppe 6 nach dem
Initialisierungssteuerbetrieb ist in den Fig. 7 und 8
abgeschlossen dargestellt. Die Oberblockparitätsdaten UPR sind
im oberen Block 58A des Paritätslaufwerks PR gespeichert. Die
Kleingruppenunterblockparitätsdaten GLPR sind im unteren Block
58B des Paritätslaufwerks PR gespeichert. Die unteren
Blockparitätsdaten LPR sind im oberen Block 60A des
Ersatzlaufwerks SP gespeichert. Die
Kleingruppenunterblockparitätsdaten GUPR sind im unteren Block
60B des Ersatzlaufwerks SP gespeichert.
Nach der Beendigung des Initialisierungssteuermodes wird der
Normalsteuermode ausgeführt, der nun beschrieben wird.
Zum Vergleich, der normale Betrieb beim RAID-Niveau 4 ist unter
Bezugnahme auf die Fig. 13A und 13B beschrieben. Im
Datenlesebetrieb liest der Datengruppensteuerer Daten OD direkt
von einem entsprechenden Datenlaufwerk S2, wie in Fig. 13A
gezeigt. Ein Datenschreibvorgang ist wie folgt. Der
Plattengruppensteuerer schreibt neue Daten ND in das
entsprechende Datenlaufwerk S2. Zur Erzeugung der Paritätsdaten
für die neuen Daten ND liest der Plattengruppensteuerer Daten
OD und OP aus den Speicherbereichen aus, die dem
Speicherbereich der neuen Daten ND auf den Plattenlaufwerken
mit Ausnahme des Datenlaufwerks S2 entsprechen, das heißt von
den Plattenlaufwerken S1, S3, S4 und PR. Die Daten OD und OP
werden miteinander exclusiv- oder -verknüpft, um geänderte
Daten EX zu erzeugen. Die Daten EX und die Daten ND, die neu im
Datenlaufwerk S2 gespeichert sind, werden miteinander exclusiv-
oder -verknüpft, um neue Paritätsdaten NP zu erzeugen. Die
erzeugten Paritätsdaten NP werden im Paritätslaufwerk PR
gespeichert.
Der Datenlese/Schreib-Vorgang während des Normalbetriebsmodes
gemäß der vorliegenden Erfindung ist in den Fig. 14A, 14B,
15A und 15B gezeigt. In den Fig. 14A und 14B werden Daten
von/in die Datenlaufwerke S2 oder S3 in der ersten
Paritätsgruppe 30 während des Normalbetriebsmodes
gelesen/geschrieben. In den Fig. 15A und 15B werden Daten in
den Datenlaufwerken S3 oder S4 in der zweiten Paritätsgruppe 40
während des Normalbetriebsmodes gelesen/geschrieben.
Der Betrieb zum Lesen/Schreiben der Daten von/in das
Datenlaufwerk S1 oder S2 in der ersten Paritätsgruppe 30 wird
nun unter Bezugnahme auf die Fig. 14A und 14B erläutert. Im
Datenlesebetrieb liest der Plattengruppensteuerer 4 die Daten
OD direkt aus dem entsprechenden Datenlaufwerk S2 aus, wie in
Fig. 14A angegeben.
Im Datenschreibbetrieb schreibt der Plattengruppensteuerer 4
die neuen Daten ND in das entsprechende Datenlaufwerk S2, wie
in Fig. 14B gezeigt. Um die Paritätsdaten für die neuen Daten
ND zu erzeugen, liest der Plattengruppensteuerer 4 die Daten OD
aus den Speicherbereichen aus, die dem Speicherbereich der
neuen Daten ND der Datenlaufwerke S1, S3 und S4 mit Ausnahme
des Datenlaufwerks S2 entsprechen. Wenn der Speicherbereich der
gelesenen Daten OD der obere Block ist, weil die gelesenen
Daten obere Blockdaten UBD sind, dann werden die oberen
Blockdaten UBD mit den oberen Blockparitätsdaten 0_UPR, die aus
dem oberen Block 58A des Paritätslaufwerks PR ausgelesen
werden, exclusiv- oder -verknüpft, um Daten EX1 zu erzeugen.
Die Daten EX1 werden mit den neuen Daten ND, die im
Datenlaufwerk S2 gespeichert sind, exclusiv- oder -verknüpft,
um neue obere Blockparitätsdaten N_UPR zu erzeugen. Die
erzeugten oberen Blockparitätsdaten N_UPR werden in den oberen
Block 58A des Paritätslaufwerks GR eingeschrieben. Wenn der
Speicherbereich der gelesenen Daten OD, die aus den
Datenlaufwerken S1, S3 und S4 gelesen werden, der untere Block
ist, weil die gelesenen Daten untere Blockdaten LBD sind, dann
werden die unteren Blockdaten LBD mit den unteren
Blockparitätsdaten 0_PR, die aus dem oberen Block 60A des
Ersatzlaufwerks SP ausgelesen werden, exclusiv- oder
-verknüpft, um Daten EX2 zu erzeugen. Die Daten EX2 werden mit
den neuen Daten ND, die im Datenlaufwerk S2 gespeichert sind,
exclusiv- oder -verknüpft, um neue unter Blockparitätsdaten
N_LPR zu erzeugen. Die erzeugten unteren Blockparitätsdaten
N_LPR werden in den oberen Block 60A des Ersatzlaufwerks SP
eingeschrieben.
Wenn die neuen Daten ND in eines der Datenlaufwerke S3 oder S4
eingeschrieben werden, die in der zweiten Paritätsgruppe 40
enthalten sind, denn ist der Schreibvorgang wie in den Figuren
15A und 15B gezeigt. Es wird angenommen, daß die neuen Daten ND
in das Datenlaufwerk S3 eingeschrieben werden. Der
Schreibvorgang von Fig. 15A ist ähnlich jenem von Fig. 14B. Die
oberen und unteren Blockparitätsdaten, die in die oberen Blöcke
des Paritätslaufwerks PR und des Ersatzlaufwerks SP
eingeschrieben sind, werden daher in die neuen oberen und
unteren Blockparitätsdaten N_UPR bzw. N_LPR geändert. Die
Kleingruppenunter- und Oberblockparitätsdaten, die in die
unteren Blöcke des Paritätslaufwerks PR und des Ersatzlaufwerks
SP eingeschrieben sind, werden in neue Kleingruppen Unter- und
-Oberblockparitätsdaten N_GLPR bzw. N_GUPR geändert. Dieser
Vorgang ist in Fig. 15B dargestellt.
Bezug nehmend auf Fig. 15B: um die Paritätsdaten für die neuen
Daten ND, die im Datenlaufwerk S3 gespeichert sind, zu
erzeugen, werden die neuen Daten ND mit den Daten OD des
Speicherbereichs, der dem Speicherbereich der neuen Daten ND im
Datenlaufwerk S4 entspricht, exclusiv- oder -verknüpft, um
geänderte Daten GEX zu erzeugen.
Wenn die Speicherbereiche der Daten ND und OD im oberen Block
sind, weil die geänderten Daten GEX ober Blockdaten GUBD sind,
werden die oberen Blockdaten GUBD mit oberen Blockparitätsdaten
0_UPR, die vom oberen Block 58A des Paritätslaufwerks PR
ausgelesen werden, exclusiv- oder -verknüpft, um die neuen
Kleingruppenoberblockparitätsdaten N_GUPR zu erzeugen. Die
neuen Kleingruppenoberblockparitätsdaten N_GUPR werden im
unteren Block 60B des Ersatzlaufwerks SP gespeichert.
Wenn die Speicherbereiche der Daten ND und OD im unteren Block
sind, sind die geänderten Daten GEX untere Blockdaten GLBD. Da
die unteren Blockdaten LGBD die neuen
Kleingruppenunterblockparitätsdaten N_GLPR bedeuten, schreibt
der Plattengruppensteuerer 4 die erzeugten
Kleingruppenunterblockparitätsdaten N_GLPR in den unteren Block
58B des Paritätslaufwerks PR.
Im Falle, daß irgendein Plattenlaufwerk innerhalb der
Plattengruppe 6 ausfällt, tritt ein
Datenwiedergewinnungssteuermode in Aktion. Dieser wird nun im
Detail erläutert.
Während des Betriebs des RAID-Untersystems ist es möglich,
Daten wiederzugewinnen im Falle, daß:
- (1) ein spezifisches Datenlaufwerk unter den Datenlaufwerken S1 bis S4 ausfällt; (2) ein Datenlaufwerk pro Kleinparitätsgruppe ausfällt; (3) entweder das Paritätslaufwerk PR oder das Ersatzlaufwerk SP ausfällt; und (4) sowohl ein Datenlaufwerk innerhalb der zweiten Paritätsgruppe 40 als auch das Ersatzlaufwerk SP ausfallen.
Im Falle, daß ein spezielles Datenlaufwerk unter den
Datenlaufwerken S1 bis S4 ausfällt, ist der
Datenwiedergewinnungsvorgang wie in Fig. 9 gezeigt. Es sei
angenommen, daß das Datenlaufwerk S3 innerhalb der
Plattengruppe 6 ausfällt.
Wenn das Datenlaufwerk S1 ausfällt, ist ein Ersatzlaufwerk SP
vorgesehen, um Daten des Datenlaufwerks S1 zu speichern. Die
Daten des ausgefallenen Datenlaufwerks S1 werden
wiedergewonnen, und die wiedergewonnenen Daten werden im
Ersatzlaufwerk SP gespeichert.
Detaillierter erläutert, der Datengruppensteuerer 4 entdeckt
den Ausfall am Datenlaufwerk S1 im Schritt 200 von Fig. 9. Im
Schritt 202 setzt der Datengruppensteuerer 4 ein
Wiedergewinnungskennzeichen RCVF. Im Schritt 204 kopiert der
Datengruppensteuerer 4 die unteren Blockparitätsdaten LPR, die
im oberen Block 60A des Ersatzlaufwerks SP gespeichert sind, in
den unteren Block 58B des Paritätslaufwerk PR. Das
Ersatzlaufwerk SP hat somit den Speicherbereich, der in der
Lage ist, die Daten des Datenlaufwerks S1 zu speichern.
Der Plattengruppensteuerer 4 wiedergewinnt im Schritt 206 die
Daten des ausgefallenen Datenlaufwerks S1 durch Exclusiv- oder
-Verknüpfung der Daten von den Datenlaufwerken S2, S3 und S4
und des Paritätslaufwerks PR. Im Schritt 208 werden die
wiedergewonnenen Daten des Datenlaufwerks S1 in das
Ersatzlaufwerk SP eingeschrieben. Der Datengruppensteuerer 4
prüft im Schritt 210, ob das Einschreiben abgeschlossen worden
ist. Wenn dieses der Fall ist, rekonstruiert der
Plattengruppensteuerer 4 ein Laufwerkstabelle im Schritt 212.
Dies bedeutet, die Laufwerkstabelle wird so rekonstruiert, daß
sie das Datenlaufwerk S1 durch das Ersatzlaufwerk SP ersetzt.
Im Schritt 214 wird das Geteiltparitätsersatzkennzeichen SPSF
rückgesetzt. Im Schritt 216 wird das
Wiedergewinnungskennzeichen RCVF rückgesetzt. Da das
Geteiltparitätsersatzkennzeichen SPSF rückgesetzt ist, wird
eine Paritätsprüfung, die das Ersatzlaufwerk SP verwendet,
nicht mehr ausgeführt.
Im Falle, daß ein Datenlaufwerk pro Kleinparitätsgruppe
ausfällt, wird eine Datenwiedergewinnung nach Fig. 10
ausgeführt. Es sei angenommen, daß das Datenlaufwerk S1
innerhalb der ersten Paritätsgruppe 30 und das Datenlaufwerk S3
innerhalb der zweiten Paritätsgruppe 40 ausfallen.
Wenn die Datenlaufwerke S1 und S3 ausfallen, ist ein
Ersatzlaufwerk SP vorgesehen, um Daten des Datenlaufwerks S3 zu
speichern. Die Daten des ausgefallenen Datenlaufwerks S3 werden
unter Verwendung der Laufwerke S4 und PR, die innerhalb der
zweiten Paritätsgruppe 40 nicht ausfallen, und des
Ersatzlaufwerks SP wiedergewonnen. Die wiedergewonnen Daten des
ausgefallenen Datenlaufwerks S3 werden im Ersatzlaufwerk SP
gespeichert. Die Daten des ausgefallenen Datenlaufwerks S1
werden unter Verwendung der Datenlaufwerke S2 und S4, des
Paritätslaufwerks PR und des Ersatzlaufwerks SP, das die
wiedergewonnenen Daten des Datenlaufwerks S3 speichert,
wiedergewonnen. Die wiedergewonnenen Daten des ausgefallenen
Datenlaufwerks S1 werden im Paritätslaufwerk PR gespeichert.
Detaillierter erläutert, der Plattengruppensteuerer 4 ermittelt
den Ausfall der Datenlaufwerke S1 und S3 aus jeder
Paritätsgruppe im Schritt 300 von Fig. 10. Im Schritt 302 setzt
der Plattengruppensteuerer 4 das Wiedergewinnungskennzeichen
RCVF. Im Schritt 304 setzt der Plattengruppensteuerer 4 ein
Ersatzparitätskennzeichen RPPF. Im Schritt 306 wechselt der
Plattengruppensteuerer 4 die unteren Blockparitätsdaten LPR,
die im oberen Block 60a des Ersatzlaufwerks SP gespeichert
sind, und die Kleingruppenunterblockparitätsdaten GLPR, die im
unteren Block 58B des Paritätslaufwerks PR gespeichert sind,
gegeneinander aus. Die unteren Blockparitätsdaten LPR werden
daher im unteren Block 58B des Paritätslaufwerks PR
gespeichert, und die Kleingruppenunterblockparitätsdaten GLPR
werden im oberen Block 60A des Ersatzlaufwerks SP gespeichert.
Im Schritt 308 setzt der Plattengruppensteuerer 4 das
Ersatzparitätskennzeichen RPPF rück.
Im Schritt 310 wiedergewinnt der Plattengruppensteuerer 4 die
Daten des ausgefallenen Datenlaufwerks S3 innerhalb der zweiten
Paritätsgruppe 40 durch Verwendung der Daten vom Datenlaufwerk
S4, dem Paritätslaufwerk PR und dem Ersatzlaufwerk SP. Die
oberen Blockdaten des ausgefallenen Datenlaufwerks S3 werden
nämlich wiedergewonnen durch Exclusiv- oder -Verknüpfung der
oberen Blockdaten UBD des Datenlaufwerks S4, der oberen
Blockparitätsdaten UPR des Paritätslaufwerks PR und der
Kleingruppenoberblockparitätsdaten GUPR, die im unteren Block
60B des Ersatzlaufwerks SP gespeichert sind. Die unteren
Blockdaten des ausgefallenen Datenlaufwerks S3 werden
wiedergewonnen durch Exclusiv- oder -Verknüpfung der unteren
Blockdaten LBD des Datenlaufwerks S4, der unteren
Blockparitätsdaten LPR des Paritätslaufwerks PR und der
Kleingruppenunterblockparitätsdaten GLPR, die im oberen Block
60A des Ersatzlaufwerks SP gespeichert sind. Im Schritt 312
schreibt der Plattengruppensteuerer 4 die wiedergewonnenen
Daten, das heißt die oberen und unteren Blockdaten des
ausgefallenen Datenlaufwerks S3 in das Ersatzlaufwerk SP ein.
Der Plattengruppensteuerer 4 prüft im Schritt 314, ob das
Einschreiben abgeschlossen worden ist.
Ist das Einschreiben abgeschlossen worden, wiedergewinnt der
Plattengruppensteuerer 4 im Schritt 316 die Daten des
ausgefallenen Datenlaufwerks S1 innerhalb der ersten
Paritätsgruppe 30 durch Verwendung der Daten des
Paritätslaufwerks PR, der Datenlaufwerke S2 und S4 und des
Ersatzlaufwerks SP, das die wiedergewonnenen Daten des
ausgefallenen Datenlaufwerks S3 speichert. Das heißt, die
oberen Blockdaten des ausgefallenen Datenlaufwerks S1 werden
wiedergewonnen durch Exclusiv- oder -Verknüpfung der oberen
Blockdaten UBD der Datenlaufwerke S1 und S4, der oberen
Blockparitätsdaten UPR des Paritätslaufwerks PR und der
wiedergewonnenen oberen Blockdaten des Datenlaufwerks S3, die
im oberen Block 60A des Ersatzlaufwerks SP gespeichert sind.
Die unseren Blockdaten des ausgefallenen Datenlaufwerks S1
werden durch Exclusiv- oder -Verknüpfung der unteren Blockdaten
LBD der Datenlaufwerke S1 und S3, der unteren
Blockparitätsdaten LPR des Paritätslaufwerks PR und der
wiedergewonnenen unteren Blockdaten des Datenlaufwerks S3, die
im unteren Block 30B des Ersatzlaufwerks SP gespeichert sind,
wiedergewonnen.
Der Plattengruppensteuerer 4 schreibt die wiedergewonnenen
oberen und unteren Blockdaten des ausgefallenen Datenlaufwerks
S1 in das Paritätslaufwerk PR im Schritt 316. Im Schritt 320
wird dann geprüft, ob das Einschreiben abgeschlossen worden
ist. Wenn letzteres der Fall ist, rekonstruiert der
Plattengruppensteuerer 4 die Laufwerkstabelle. Die
Laufwerkstabelle wird nämlich rekonstruiert, um das
Datenlaufwerk S1 durch das Paritätslaufwerk PR und das
Datenlaufwerks S3 durch das Ersatzlaufwerk SP zu ersetzen. Im
Schritt 324 setzt der Plattengruppensteuerer 4 das
Geteiltparitätsersatzkennzeichen SPSF rück. Im Schritt 326
setzt der Plattengruppensteuerer 4 das
Wiedergewinnungskennzeichen RCVF rück. Da das
Geteiltparitätsersatzkennzeichen SPSF rückgesetzt ist, wird die
Paritätsprüfung unter Verwendung des Paritätslaufwerks PR und
des Ersatzlaufwerks SP nicht ausgeführt.
Im Falle, daß entweder das Paritätslaufwerk oder das
Ersatzlaufwerk SP ausfällt, ist der
Datenwiedergewinnungsvorgang wie in Fig. 11 gezeigt.
Wenn das Paritätslaufwerk PR ausfällt, werden die oberen
Blockparitätsdaten UPR des Paritätslaufwerks PR durch
Verwendung der oberen Blockdaten UBD der Datenlaufwerke S1, S2,
S3 und S4 rückgewonnen, weil die unteren Blockparitätsdaten LPF
im oberen Block 60A des Ersatzlaufwerks SP gespeichert sind.
Die wiedergewonnenen Daten werden im Ersatzlaufwerk SP
gespeichert. Wenn das Ersatzlaufwerk SP ausfällt, werden die
unteren Blockparitätsdaten LPR durch Verwendung der unteren
Blockdaten LBD der Datenlaufwerke S1, S2, S3 und S4
wiedergewonnen, weil nur die unteren Blockparitätsdaten LPR,
die im Ersatzlaufwerk SP gespeichert sind, ausfallen. Die
wiedergewonnenen Daten werden im Paritätslaufwerk PR
gespeichert.
Detaillierter erläutert, der Plattengruppensteuerer 4 ermittelt
das ausgefallene Laufwerk (das heißt das Paritätslaufwerk PR
oder das Ersatzlaufwerk SP) im Schritt 400, wie in Fig. 11
gezeigt. Im Schritt 402 setzt der Plattengruppensteuerer 4 das
Rückgewinnungskennzeichen RCVF. Der Plattengruppensteuerer 4
prüft im Schritt 404, ob das Paritätslaufwerk PR ausfällt. Ist
dieses der Fall, kopiert der Plattengruppensteuerer 4 im
Schritt 406 die unteren Blockparitätsdaten PR, die im oberen
Block 60A des Ersatzlaufwerks SP gespeichert sind, in dessen
unteren Block 60B. Im Schritt 408 wiedergewinnt der
Plattengruppensteuerer 4 die oberen Blockparitätsdaten UPR des
Paritätslaufwerks PR durch Exclusiv- oder -Verknüpfung der
oberen Blockdaten UBD aller Datenlaufwerke S1, S2, S3 und S4
innerhalb der Plattengruppe 6. Die wiedergewonnenen oberen
Blockparitätsdaten UPR werden in den oberen Block 60A des
Ersatzlaufwerks SP im Schritt 410 eingeschrieben. Im Schritt
412 wird geprüft, ob das Einschreiben abgeschlossen worden ist.
Wenn dieses der Fall ist, rekonstruiert der
Plattengruppensteuerer 4 im Schritt 414 die Laufwerkstabelle,
um das Paritätslaufwerk PR durch das Ersatzlaufwerk SP zu
ersetzen.
Wenn indessen das Ersatzlaufwerk SP im Schritt 404 ausfällt,
wiedergewinnt der Plattengruppensteuerer 4 im Schritt 416 die
unteren Blockparitätsdaten LPR durch Exclusiv- oder
-Verknüpfung der unteren Blockdaten LBD aller Datenlaufwerke
S1, S2, S3 und S4 innerhalb der Plattengruppe 6. Die
wiedergewonnenen unteren Blockparitätsdaten LPR werden in den
unteren Block 58B des Paritätslaufwerks PR im Schritt 418
eingeschrieben. Im Schritt 420 wird geprüft, ob der
Einschreibvorgang abgeschlossen ist. Wenn dieses der Fall ist,
rekonstruiert der Plattengruppensteuerer 4 im Schritt 422 die
Laufwerkstabelle so, daß das Ersatzlaufwerk SP nicht verwendet
wird. Im Schritt 424 wird das Geteiltparitätsersatzkennzeichen
SPSF rückgesetzt, und im Schritt 426 wird das
Rückgewinnungskennzeichen RCVF rückgesetzt.
Im Falle, daß ein Plattenlaufwerk innerhalb der zweiten
Paritätsgruppe 40 und das Ersatzlaufwerk SP ausfallen, erfolgt
die Datenrückgewinnung nach Fig. 12. Es sei angenommen, daß das
Datenlaufwerk S3 innerhalb der zweiten Gruppe 40 und das
Ersatzlaufwerk SP ausfallen.
Wenn das Datenlaufwerk S3 und das Ersatzlaufwerk SP ausfallen,
werden die oberen Blockdaten des ausgefallenen Datenlaufwerks
S3 unter Verwendung der oberen Blockdaten UBD und UPR der
Datenlaufwerke S1, S2 und S3 und des Paritätslaufwerks PR
wiedergewonnen. Die wiedergewonnenen oberen Blockdaten werden
im oberen Block 58A des Paritätslaufwerks PR gespeichert. Die
unteren Blockdaten das ausgefallenen Datenlaufwerks S3 werden
unter Verwendung der unteren Blockdaten LBD des Datenlaufwerks
S4 und der Kleingruppenunterblockparitätsdaten GLPR, die im
unteren Block 58B des Paritätslaufwerks PR gespeichert sind,
wiedergewonnen. Die wiedergewonnenen unteren Blockdaten werden
im unteren Block 58B des Paritätslaufwerks PR gespeichert.
Detaillierter erläutert, der Plattengruppensteuerer 4 ermittelt
das ausgefallene Datenlaufwerk S3 und das ausgefallene
Paritätslaufwerk PR im Schritt 500 von Fig. 12. Im Schritt 502
setzt der Plattengruppensteuerer das
Wiedergewinnungskennzeichen RCVF.
Im Schritt 504 wiedergewinnt der Plattengruppensteuerer 4 die
oberen Blockdaten des ausgefallenen Datenlaufwerks S3 durch
Exclusiv- oder -Verknüpfung von UBD und UPR der Datenlaufwerke
S1, S2 und S4 und des Paritätslaufwerks PR, die innerhalb der
Plattengruppe 6 nicht ausfallen. Im Schritt 506 werden die
wiedergewonnenen oberen Blockdaten des Datenlaufwerks S3 in den
oberen Block 58A des Paritätslaufwerks PR eingeschrieben. Im
Schritt 508 wird geprüft, ob das Einschreiben abgeschlossen
ist.
Wenn dieses der Fall ist, wiedergewinnt der
Plattengruppensteuerer 4 im Schritt 510 die unteren Blockdaten
des ausgefallenen Datenlaufwerks S3 durch Exclusiv- oder
-Verknüpfung der unteren Blockdaten LBD des Datenlaufwerks S4,
das innerhalb der zweiten Paritätsgruppe 40 nicht ausfällt, mit
den Kleingruppenunterparitätsdaten GLPR, die im unteren Block
58B des Paritätslaufwerks PR gespeichert sind. Die
wiedergewonnenen unteren Blockdaten des Datenlaufwerks S3
werden in den unteren Block 58B des Paritätslaufwerks im
Schritt 512 eingeschrieben. Der Plattengruppensteuerer 4 prüft,
ob das Einschreiben abgeschlossen worden ist, und zwar im
Schritt 514. Ist dieses der Fall, rekonstruiert der
Plattengruppensteuerer 4 die Laufwerkstabelle, um das
Datenlaufwerk S3 durch das Paritätslaufwerk PR zu ersetzen. Im
Schritt 518 wird das Geteiltparitätsersatzkennzeichen SPSF
rückgesetzt, und im Schritt 520 wird das
Wiedergewinnungskennzeichen RCVF rückgesetzt. Da das
Geteiltparitätsersatzkennzeichen SPSF rückgesetzt ist, wird
eine Paritätsprüfung, die das Paritätslaufwerk PR und das
Ersatzlaufwerk SP verwendet, nicht ausgeführt.
Wie oben erwähnt, hat das erfindungsgemäße Verfahren zur
Erzielung einer geteilten Paritäts/Ersatz-Platte die folgenden
Vorteile: zunächst werden die Quellen wirksam verwaltet, weil
die Ersatzplatte auch im Normalbetrieb verwendet wird. Zweitens
ist die Auslastung des Paritätslaufwerks herabgesetzt, und die
Gesamtleistung des Systems ist verbessert, indem die
Paritätsdaten des Paritätslaufwerks verteilt gespeichert
werden. Drittens ist es möglich, die Daten unter vorhersehbaren
Ausfallumständen wiederzugewinnen, indem das Datenlaufwerk auf
Kleinparitätsgruppen aufgeteilt wird und der
Paritätsresultatswert in einem unbenutzten Bereich gespeichert
wird.
Es versteht sich, daß die vorliegende Erfindung nicht auf die
hier speziell als beste erläuterte Ausführungsform beschränkt
ist, sondern daß sie auch davon abweichend realisiert werden
kann, solange sie unter dem Geist der anhängenden Ansprüche
fällt.
Claims (7)
1. Verfahren zum Verbessern der Fehlerfestigkeit und
Leistungsfähigkeit eines RAID-Untersystems, das Daten in einer
Plattengruppe, die aus mehreren Plattenlaufwerken besteht,
verteilt speichert und einen parallelen Eingabe/Ausgabebetrieb
ausführt, umfassend die folgenden Schritte:
Aufbauen der Plattengruppe mit wenigstens zwei Datenplattenlaufwerken zum Speichern von Daten, einem Ersatzplattenlaufwerk, das beim Ausfall eines Plattenlaufwerks eingesetzt wird, und ein Paritätsplattenlaufwerk zum Speichern von Paritätsdaten; und
das Aufteilen der Paritätsdaten des Paritätsplattenlaufwerks und Speichern der geteilten Daten in dem Paritätsplattenlaufwerk und dem Ersatzplattenlaufwerk.
Aufbauen der Plattengruppe mit wenigstens zwei Datenplattenlaufwerken zum Speichern von Daten, einem Ersatzplattenlaufwerk, das beim Ausfall eines Plattenlaufwerks eingesetzt wird, und ein Paritätsplattenlaufwerk zum Speichern von Paritätsdaten; und
das Aufteilen der Paritätsdaten des Paritätsplattenlaufwerks und Speichern der geteilten Daten in dem Paritätsplattenlaufwerk und dem Ersatzplattenlaufwerk.
2. Verfahren nach Anspruch 1, bei dem die Plattengruppe 4
Datenplattenlaufwerke, ein Paritätsplattenlaufwerk und ein
Ersatzplattenlaufwerk umfaßt.
3. Verfahren zur Verbesserung der Fehlerfestigkeit und
Leistungsfähigkeit eines RAID-Untersystems, das Daten in einer
Plattengruppe, die aus einem Paritätsplattenlaufwerk, einem
Ersatzplattenlaufwerk und mehreren Datenplattenlaufwerken
besteht, verteilt speichert und einen parallelen Eingabe/
Ausgabebetrieb ausführt, umfassend die folgenden Schritte:
Teilen von Paritätsdaten, die in dem Paritätsplattenlaufwerk gespeichert sind, in obere Blockparitätsdaten und untere Blockparitätsdaten und Speichern der oberen Blockparitätsdaten und der unteren Blockparitätsdaten in einen oberen Blockspeicherbereich des Paritätsplattenlaufwerks und einen unteren Blockspeicherbereich des Ersatzplattenlaufwerks,
Definieren der vorbeschriebenen Anzahl von Plattenlaufwerken mit Ausnahme des Ersatzplattenlaufwerks als Kleinparitätsgruppen und Erzeugen von Kleingruppenparitätsdaten unter Verwendung von Plattenlaufwerken einer Kleinparitätsgruppe, die das Paritätsplattenlaufwerk enthält, und
Teilen der Kleingruppenparitätsdaten in Kleingruppenoberblockparitätsdaten und Kleingruppenunterblockparitätsdaten und Speichern der Kleingruppenoberblockparitätsdaten und der Kleingruppenunterblockparitätsdaten in einen unteren Blockspeicherbereich des Ersatzplattenlaufwerks bzw. einen unteren Blockspeicherbereich des Paritätsplattenlaufwerks.
Teilen von Paritätsdaten, die in dem Paritätsplattenlaufwerk gespeichert sind, in obere Blockparitätsdaten und untere Blockparitätsdaten und Speichern der oberen Blockparitätsdaten und der unteren Blockparitätsdaten in einen oberen Blockspeicherbereich des Paritätsplattenlaufwerks und einen unteren Blockspeicherbereich des Ersatzplattenlaufwerks,
Definieren der vorbeschriebenen Anzahl von Plattenlaufwerken mit Ausnahme des Ersatzplattenlaufwerks als Kleinparitätsgruppen und Erzeugen von Kleingruppenparitätsdaten unter Verwendung von Plattenlaufwerken einer Kleinparitätsgruppe, die das Paritätsplattenlaufwerk enthält, und
Teilen der Kleingruppenparitätsdaten in Kleingruppenoberblockparitätsdaten und Kleingruppenunterblockparitätsdaten und Speichern der Kleingruppenoberblockparitätsdaten und der Kleingruppenunterblockparitätsdaten in einen unteren Blockspeicherbereich des Ersatzplattenlaufwerks bzw. einen unteren Blockspeicherbereich des Paritätsplattenlaufwerks.
4. Verfahren nach Anspruch 3, bei dem die Kleinparitätsgruppe
enthält:
eine erste Paritätsgruppe, die aus mehreren Datenplattenlaufwerken besteht und das Paritätsplattenlaufwerk nicht enthält, und
eine zweite Paritätsgruppe, die aus mehreren Datenplattenlaufwerken und dem Paritätsplattenlaufwerk besteht.
eine erste Paritätsgruppe, die aus mehreren Datenplattenlaufwerken besteht und das Paritätsplattenlaufwerk nicht enthält, und
eine zweite Paritätsgruppe, die aus mehreren Datenplattenlaufwerken und dem Paritätsplattenlaufwerk besteht.
5. Verfahren nach Anspruch 4, bei dem die Plattenlaufwerke in
einen oberen Block und einen unteren Block auf der Basis eines
Zwischenzylinderwertes jedes Plattenlaufwerks unterteilt sind.
6. Datenwiedergewinnungsverfahren für den Fall des Ausfalls
eines Datenplattenlaufwerks, das nicht in einer
Kleinparitätsgruppe enthalten ist, in einem RAID-Untersystem,
das eine Plattengruppe enthält, die besteht aus: mehreren
Datenplattenlaufwerken zum Speichern von Daten in oberen und
unteren Blockspeicherbereichen; einem Paritätsplattenlaufwerk
zum Speichern in seinem oberen Blockspeicherbereich obere
Blockparitätsdaten für obere Blockdaten, die in oberen
Blockspeicherbereichen der Datenplattenlaufwerke gespeichert
sind, und zum Speichern in ihrem unteren Blockspeicherbereich
Kleingruppenunterblockparitätsdaten für untere Blockdaten, die
in unteren Blockspeicherbereichen von Datenplattenlaufwerken
innerhalb der Kleinparitätsgruppe gespeichert sind, die so
definiert sind, daß Kleingruppenober- und
-unterblockparitätsdaten erzeugt werden; und ein
Ersatzplattenlaufwerk zum Speichern in seinem oberen
Blockspeicherbereich untere Blockparitätsdaten für untere
Blockdaten, die in unteren Blockspeicherbereichen der
Datenplattenlaufwerke gespeichert sind und zum Speichern in
ihrem unteren Blockspeicherbereich von
Kleingruppenoberparitätsdaten für obere Blockdaten, die in
oberen Blockspeicherbereichen der Datenplattenlaufwerke
innerhalb der Kleinparitätsgruppe und des
Paritätsplattenlaufwerks gespeichert sind, wobei das Verfahren
die Schritte umfaßt:
Kopieren der unteren Blockparitätsdaten, die in dem oberen Blockspeicherbereich des Ersatzlaufwerks gespeichert sind, in den unteren Blockspeicherbereich des Paritätslaufwerks, um obere und untere Blockdaten des ausgefallenen Datenplattenlaufwerks zu speichern;
Wiedergewinnen der oberen und unteren Blockdaten des ausgefallenen Datenplattenlaufwerks durch Verwendung der oberen und unteren Blockdaten anderer Plattenlaufwerke der Plattengruppe, die nicht ausfallen, und
Einschreiben der wiedergewonnenen oberen und unteren Blockdaten in die oberen und unteren Blockspeicherbereiche des Ersatzplattenlaufwerks.
Kopieren der unteren Blockparitätsdaten, die in dem oberen Blockspeicherbereich des Ersatzlaufwerks gespeichert sind, in den unteren Blockspeicherbereich des Paritätslaufwerks, um obere und untere Blockdaten des ausgefallenen Datenplattenlaufwerks zu speichern;
Wiedergewinnen der oberen und unteren Blockdaten des ausgefallenen Datenplattenlaufwerks durch Verwendung der oberen und unteren Blockdaten anderer Plattenlaufwerke der Plattengruppe, die nicht ausfallen, und
Einschreiben der wiedergewonnenen oberen und unteren Blockdaten in die oberen und unteren Blockspeicherbereiche des Ersatzplattenlaufwerks.
7. Datenwiedergewinnungsverfahren für den Fall, daß ein
Datenplattenlaufwerk innerhalb einer kleinen Paritätsgruppe und
ein Datenplattenlaufwerk, das nicht in der Kleinparitätsgruppe
enthalten ist, in einem RAID-Untersystem ausfallen, wobei die
Plattengruppe enthält: mehrere Datenplattenlaufwerke zum
Speichern von Daten in oberen und unteren
Blockspeicherbereichen, ein Paritätsplattenlaufwerk zum
Speichern in seinem oberen Blockspeicherbereich von oberen
Blockparitätsdaten für obere Blockdaten, die in oberen
Blockspeicherbereichen der Datenplattenlaufwerke gespeichert
sind, und zum Speichern in seinem unteren Blockspeicherbereich
von Kleingruppenunterblockparitätsdaten für untere Blockdaten,
die in unteren Blockspeicherbereichen von
Datenplattenlaufwerken innerhalb der Kleinparitätsgruppe
gespeichert sind, die definiert sind, um Kleingruppenober- und
-unterblockparitätsdaten zu erzeugen; und ein
Ersatzplattenlaufwerk zum Speichern in seinem oberen
Blockspeicherbereich von unteren Blockparitätsdaten für untere
Blockdaten, die in unteren Blockspeicherbereichen der
Datenplattenlaufwerke gespeichert sind und zum Speichern in
seinem oberen Speicherbereich von
Kleingruppenoberblockparitätsdaten über obere Blockdaten, die
in oberen Blockspeicherbereichen von Datenplattenlaufwerken
innerhalb der Kleinparitätsgruppe und des
Paritätsplattenlaufwerks gespeichert sind, wobei das Verfahren
die folgenden Schritte umfaßt:
Austauschen der unteren Blockparitätsdaten, die in dem oberen Blockspeicherbereich des Ersatzplattenlaufwerks gespeichert sind, und der Kleingruppenunterblockparitätsdaten, die in dem unteren Blockspeicherbereich des Paritätsplattenlaufwerks gespeichert sind, gegeneinander;
Rückgewinnen der oberen und unteren Blockdaten des ausgefallenen Datenplattenlaufwerks innerhalb der Kleinparitätsgruppe durch Verwendung der oberen und unteren Blockdaten des Datenplattenlaufwerks, das innerhalb der Kleinparitätsgruppe, des Paritätsplattenlaufwerks und des Ersatzplattenlaufwerks nicht ausfällt;
Einschreiben der wiedergewonnenen oberen und unteren Blockdaten in die oberen und unteren Blockspeicherbereiche des Ersatzplattenlaufwerks;
Wiedergewinnen der oberen und unteren Blockdaten des ausgefallenen Datenplattenlaufwerks, das nicht in der Kleinparitätsgruppe enthalten ist, durch Verwenden der oberen und unteren Blockdaten der nicht ausfallenden Datenplattenlaufwerke des Paritätsplattenlaufwerks und des Ersatzplattenlaufwerks, und
Einschreiben der wiedergewonnenen oberen und unteren Blockdaten des ausgefallenen Datenplattenlaufwerks, das nicht in der Kleinparitätsgruppe enthalten ist, in die oberen und unteren Blockspeicherbereiche des Paritätsplattenlaufwerks.
Austauschen der unteren Blockparitätsdaten, die in dem oberen Blockspeicherbereich des Ersatzplattenlaufwerks gespeichert sind, und der Kleingruppenunterblockparitätsdaten, die in dem unteren Blockspeicherbereich des Paritätsplattenlaufwerks gespeichert sind, gegeneinander;
Rückgewinnen der oberen und unteren Blockdaten des ausgefallenen Datenplattenlaufwerks innerhalb der Kleinparitätsgruppe durch Verwendung der oberen und unteren Blockdaten des Datenplattenlaufwerks, das innerhalb der Kleinparitätsgruppe, des Paritätsplattenlaufwerks und des Ersatzplattenlaufwerks nicht ausfällt;
Einschreiben der wiedergewonnenen oberen und unteren Blockdaten in die oberen und unteren Blockspeicherbereiche des Ersatzplattenlaufwerks;
Wiedergewinnen der oberen und unteren Blockdaten des ausgefallenen Datenplattenlaufwerks, das nicht in der Kleinparitätsgruppe enthalten ist, durch Verwenden der oberen und unteren Blockdaten der nicht ausfallenden Datenplattenlaufwerke des Paritätsplattenlaufwerks und des Ersatzplattenlaufwerks, und
Einschreiben der wiedergewonnenen oberen und unteren Blockdaten des ausgefallenen Datenplattenlaufwerks, das nicht in der Kleinparitätsgruppe enthalten ist, in die oberen und unteren Blockspeicherbereiche des Paritätsplattenlaufwerks.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR41479/96 | 1996-09-21 | ||
KR1019960041479A KR100275900B1 (ko) | 1996-09-21 | 1996-09-21 | 알에이아이디 서브시스템에 있어서 분할패러티 예비 디스크 구현방법 |
Publications (2)
Publication Number | Publication Date |
---|---|
DE19723909A1 true DE19723909A1 (de) | 1998-04-02 |
DE19723909B4 DE19723909B4 (de) | 2004-04-01 |
Family
ID=19474748
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE19723909A Expired - Fee Related DE19723909B4 (de) | 1996-09-21 | 1997-06-06 | Verfahren zum Verbessern der Fehlerfestigkeit und Leistungsfähigkeit eines RAID-Untersystems |
Country Status (4)
Country | Link |
---|---|
US (1) | US6070249A (de) |
JP (1) | JP3742494B2 (de) |
KR (1) | KR100275900B1 (de) |
DE (1) | DE19723909B4 (de) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE10101805A1 (de) * | 2001-01-17 | 2002-07-18 | Siemens Ag | Netzwerk mit mehreren Teilnehmern sowie Teilnehmer für ein derartiges Netzwerk |
Families Citing this family (39)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6272442B1 (en) * | 1999-02-04 | 2001-08-07 | Dell Usa, L.P. | Taking in-use computer drives offline for testing |
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 |
US6532548B1 (en) * | 1999-09-21 | 2003-03-11 | Storage Technology Corporation | System and method for handling temporary errors on a redundant array of independent tapes (RAIT) |
US6675318B1 (en) * | 2000-07-25 | 2004-01-06 | Sun Microsystems, Inc. | Two-dimensional storage array with prompt parity in one dimension and delayed parity in a second dimension |
KR100363221B1 (ko) * | 2000-11-10 | 2002-12-05 | 디스크뱅크(주) | 대용량 디스크 저장 장치 및 이를 위한 폴트 톨로런스제공 방법 |
US6862692B2 (en) | 2001-01-29 | 2005-03-01 | Adaptec, Inc. | Dynamic redistribution of parity groups |
US20020165942A1 (en) * | 2001-01-29 | 2002-11-07 | Ulrich Thomas R. | Data path accelerator with variable parity, variable length, and variable extent parity groups |
US7054927B2 (en) * | 2001-01-29 | 2006-05-30 | Adaptec, Inc. | File system metadata describing server directory information |
US20020124137A1 (en) * | 2001-01-29 | 2002-09-05 | Ulrich Thomas R. | Enhancing disk array performance via variable parity based load balancing |
US6990667B2 (en) | 2001-01-29 | 2006-01-24 | Adaptec, Inc. | Server-independent object positioning for load balancing drives and servers |
JP2002259062A (ja) * | 2001-02-28 | 2002-09-13 | Hitachi Ltd | 記憶装置システム及び記憶装置システムにおけるデータの複写方法 |
US7222257B1 (en) * | 2001-06-12 | 2007-05-22 | Emc Corporation | Method and system for repairing a redundant array of disk drives |
CN1241120C (zh) * | 2001-08-31 | 2006-02-08 | 联想(北京)有限公司 | 计算机硬盘数据备份及恢复方法 |
KR100463841B1 (ko) * | 2002-02-25 | 2004-12-29 | 한국전자통신연구원 | 레이드 서브 시스템과 이를 이용한 디스크 에러 모드에서데이터 입출력 및 복구 방법 |
JP2004326357A (ja) * | 2003-04-23 | 2004-11-18 | Internatl Business Mach Corp <Ibm> | 冗長化ブロックを有する記憶システム、並びに、当該記憶システムの制御装置、制御方法、プログラム及び記録媒体 |
US7281177B2 (en) * | 2003-07-14 | 2007-10-09 | International Business Machines Corporation | Autonomic parity exchange |
US7379974B2 (en) * | 2003-07-14 | 2008-05-27 | International Business Machines Corporation | Multipath data retrieval from redundant array |
US7533325B2 (en) * | 2003-07-14 | 2009-05-12 | International Business Machines Corporation | Anamorphic codes |
US7254754B2 (en) * | 2003-07-14 | 2007-08-07 | International Business Machines Corporation | Raid 3+3 |
CN101566931B (zh) | 2003-08-14 | 2011-05-18 | 克姆佩棱特科技公司 | 虚拟磁盘驱动系统和方法 |
US9489150B2 (en) | 2003-08-14 | 2016-11-08 | Dell International L.L.C. | System and method for transferring data between different raid data storage types for current data and replay data |
JP2005100259A (ja) * | 2003-09-26 | 2005-04-14 | Hitachi Ltd | ドライブの2重障害を防止するアレイ型ディスク装置、プログラム、及び方法 |
US7302603B2 (en) * | 2003-11-20 | 2007-11-27 | International Business Machines Corporation | Host-initiated data reconstruction for improved RAID read operations |
JP4634049B2 (ja) * | 2004-02-04 | 2011-02-16 | 株式会社日立製作所 | ディスクアレイ装置における異常通知制御 |
US8601035B2 (en) | 2007-06-22 | 2013-12-03 | Compellent Technologies | Data storage space recovery system and method |
US20060112219A1 (en) * | 2004-11-19 | 2006-05-25 | Gaurav Chawla | Functional partitioning method for providing modular data storage systems |
CN102880424B (zh) | 2006-05-24 | 2015-10-28 | 克姆佩棱特科技公司 | 用于raid管理、重新分配以及重新分段的系统和方法 |
US20080091877A1 (en) * | 2006-05-24 | 2008-04-17 | Klemm Michael J | Data progression disk locality optimization system and method |
WO2009140700A1 (en) | 2008-05-16 | 2009-11-19 | Fusion Multisystems, Inc. | Apparatus, system, and method for detecting and replacing failed data storage |
WO2010005421A2 (en) * | 2008-07-07 | 2010-01-14 | Hewlett-Packard Development Company, L.P. | Dynamically expanding storage capacity of a storage volume |
US8281227B2 (en) * | 2009-05-18 | 2012-10-02 | Fusion-10, Inc. | Apparatus, system, and method to increase data integrity in a redundant storage system |
US8307258B2 (en) * | 2009-05-18 | 2012-11-06 | Fusion-10, Inc | Apparatus, system, and method for reconfiguring an array to operate with less storage elements |
US8468292B2 (en) * | 2009-07-13 | 2013-06-18 | Compellent Technologies | Solid state drive data storage system and method |
US9146851B2 (en) | 2012-03-26 | 2015-09-29 | Compellent Technologies | Single-level cell and multi-level cell hybrid solid state drive |
US20150089328A1 (en) * | 2013-09-23 | 2015-03-26 | Futurewei Technologies, Inc. | Flex Erasure Coding of Controllers of Primary Hard Disk Drives Controller |
CN103810062B (zh) * | 2014-03-05 | 2015-12-30 | 华为技术有限公司 | 慢盘检测方法和装置 |
KR20170099161A (ko) * | 2016-02-23 | 2017-08-31 | 에스케이텔레콤 주식회사 | 빠른 데이터 복원을 위한 데이터 읽기 또는 쓰기 방법 |
US11334434B2 (en) | 2020-02-19 | 2022-05-17 | Seagate Technology Llc | Multi-level erasure system with cooperative optimization |
US11372553B1 (en) | 2020-12-31 | 2022-06-28 | Seagate Technology Llc | System and method to increase data center availability using rack-to-rack storage link cable |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5130992A (en) * | 1990-04-16 | 1992-07-14 | International Business Machines Corporaiton | File-based redundant parity protection in a parallel computing system |
US5258984A (en) * | 1991-06-13 | 1993-11-02 | International Business Machines Corporation | Method and means for distributed sparing in DASD arrays |
US5331646A (en) * | 1992-05-08 | 1994-07-19 | Compaq Computer Corporation | Error correcting code technique for improving reliablility of a disk array |
DE4392143C1 (de) * | 1992-05-21 | 1996-11-21 | Fujitsu Ltd | Platten-Array-Vorrichtung |
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 |
JP2912802B2 (ja) * | 1993-10-14 | 1999-06-28 | 富士通株式会社 | ディスクアレイ装置の故障対処方法および装置 |
US5530948A (en) * | 1993-12-30 | 1996-06-25 | International Business Machines Corporation | System and method for command queuing on raid levels 4 and 5 parity drives |
US5488701A (en) * | 1994-11-17 | 1996-01-30 | International Business Machines Corporation | In log sparing for log structured arrays |
US5533190A (en) * | 1994-12-21 | 1996-07-02 | At&T Global Information Solutions Company | Method for maintaining parity-data consistency in a disk array |
-
1996
- 1996-09-21 KR KR1019960041479A patent/KR100275900B1/ko not_active IP Right Cessation
-
1997
- 1997-06-06 DE DE19723909A patent/DE19723909B4/de not_active Expired - Fee Related
- 1997-09-22 JP JP25686297A patent/JP3742494B2/ja not_active Expired - Lifetime
- 1997-09-22 US US08/935,201 patent/US6070249A/en not_active Expired - Lifetime
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE10101805A1 (de) * | 2001-01-17 | 2002-07-18 | Siemens Ag | Netzwerk mit mehreren Teilnehmern sowie Teilnehmer für ein derartiges Netzwerk |
Also Published As
Publication number | Publication date |
---|---|
KR19980022356A (ko) | 1998-07-06 |
JP3742494B2 (ja) | 2006-02-01 |
US6070249A (en) | 2000-05-30 |
DE19723909B4 (de) | 2004-04-01 |
JPH10111767A (ja) | 1998-04-28 |
KR100275900B1 (ko) | 2000-12-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE19723909B4 (de) | Verfahren zum Verbessern der Fehlerfestigkeit und Leistungsfähigkeit eines RAID-Untersystems | |
DE69626947T2 (de) | Reservekopie-Generierung in einem RAID-Untersystem | |
DE69323225T2 (de) | Datenbehandlung in einem System mit Prozessor zur Steuerung des Zugangs zu einer Mehrzahl von Datenspeicherplatten | |
DE69219208T2 (de) | Verteilter Ersatz in DASD-Feldern | |
DE69632219T2 (de) | Speicherplattenanordnungssystem | |
DE60304194T2 (de) | Verfahren und vorrichtung zur tolerierung von mehreren abhängigen oder zwei beliebigen fehlern in einer speicherplattenanordnung | |
DE102013210642B4 (de) | Vorrichtung zum Wiederherstellen von Redundanz | |
DE69533764T2 (de) | Verfahren zum Gebrauch von Speicherplatten unterschiedlicher Inhalte in einem Einzelvolumen einer hierarchischen Speicherplattenanordnung | |
DE69615611T2 (de) | Externes Speichersystem mit redundanten Speichersteuerungen | |
DE69727083T2 (de) | Überprüfungssystem um die integrität der parität einer speicherplattenmatrix aufrechtzuerhalten | |
DE69911930T2 (de) | Hochverfügbare dateiprozessoren | |
DE69131480T2 (de) | Speicher für platteneinheit | |
DE69533077T2 (de) | Speichersystem mit hierarchischer Speicherplattenanordnung und Abbildungsspeicher zur Dauerspeicherung der virtuellen Abbildungsinformation | |
DE69324974T2 (de) | Optimierte Stricherkennung für redundante Speicherplattenanordnung | |
DE69224589T2 (de) | Speicherplattenanordnung und Verfahren zur Bestimmung des Vorhandenseins korrekter Speichervorrichtungen | |
DE69129444T2 (de) | On-Line-Wiederherstellung von Redundanz-Information in einem redundanten Matrixsystem | |
DE69631106T2 (de) | On-line-Rekonfiguration einer Speicherplattenanordnung | |
DE69131562T2 (de) | Verfahren und Anordnung zur Wiederherstellung von durch Parität geschützten Daten | |
DE69528443T2 (de) | Betriebsverfahren einer Speicherplattenanordnung | |
DE69130669T2 (de) | Netzwerkplattensystem und methode | |
DE69132511T2 (de) | Verfahren und vorrichtung zur zuordnung von erkennungszeichen an die glieder einer gruppe von massenspeichern | |
DE69434381T2 (de) | Verfahren zur Paritätsdarstellung in einem Raid-Untersystem unter Verwendung eines nichtflüchtigen Speichers | |
DE69112110T2 (de) | Verfahren zum Schutz mittels Parität in einem parallelen Rechnersystem. | |
DE69838898T2 (de) | Doppelte Plattenspeichersteuerungen | |
DE69804209T2 (de) | Verfahren um die speicherkapazität von level fünf raid plattenanordnung zu vergrössern und expandierte matrize hergestellt durch solch ein verfahren |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
OP8 | Request for examination as to paragraph 44 patent law | ||
8364 | No opposition during term of opposition | ||
R119 | Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee |