DE4345320A1 - Platten-Array-Vorrichtung - Google Patents
Platten-Array-VorrichtungInfo
- Publication number
- DE4345320A1 DE4345320A1 DE4345320A DE4345320A DE4345320A1 DE 4345320 A1 DE4345320 A1 DE 4345320A1 DE 4345320 A DE4345320 A DE 4345320A DE 4345320 A DE4345320 A DE 4345320A DE 4345320 A1 DE4345320 A1 DE 4345320A1
- Authority
- DE
- Germany
- Prior art keywords
- data
- disk
- new
- parity
- old
- 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/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1415—Saving, restoring, recovering or retrying at system level
- G06F11/1441—Resetting or repowering
-
- 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/1008—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
-
- 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
-
- 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/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1415—Saving, restoring, recovering or retrying at system level
- G06F11/1435—Saving, restoring, recovering or retrying at system level using file system or storage system metadata
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/70—Masking faults in memories by using spares or by reconfiguring
- G11C29/88—Masking faults in memories by using spares or by reconfiguring with partially good memories
-
- 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/1008—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
- G06F11/1012—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using codes or arrangements adapted for a specific type of error
-
- 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/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1415—Saving, restoring, recovering or retrying at system level
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0866—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache
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)
- Techniques For Improving Reliability Of Storages (AREA)
Description
Die Erfindung betrifft eine Platten-Array-Vorrichtung
nach dem Anspruch 1.
Aus der EP 0 493 984 A2 ist eine Speicher-Array-Archi
tektur mit einer Copyback-Cache-Speichereinrichtung be
kannt. Gemäß einer Ausführungsform dieser bekannten Spei
cher-Array-Architektur sind Rückschreib-Cache-Speicher in
einer Spiegelkonfiguration in bezug auf einen Regler vor
handen. Bei dieser bekannten Speicher-Array-Architektur
sind jedoch keinerlei Maßnahmen getroffen, um bei einem
plötzlichen Stromausfall während eines Einschreib- oder Le
sevorganges den Verlust von Daten zu vermeiden.
In den letzten Jahren findet die Etablierung von LAN
(lokales Netz) rasche Verbreitung, um Ressourcen effizient
einzusetzen, indem es einer Vielzahl von Benutzern ermög
licht wird, teure Peripherievorrichtungen, wie eine externe
Speicheranordnung, einen Drucker und dgl., und Ressourcen,
wie Dateien oder dgl., gemeinsam zu verwenden. In einem
derartigen LAN ist ein Kunden-Server-Modell vom Standpunkt
der gemeinsamen Verwendung von Ressourcen ausgezeichnet.
Das Kunden-Server-Modell ist ein Modell zur Realisierung
eines verteilten Verarbeitungssystems, indem eine Kunden
vorrichtung, die Dienste anfordert, und eine Server-Vor
richtung, die Dienste liefert, verbunden werden, und eine
gegenseitige Kommunikation zwischen der Kundenvorrichtung
und der Server-Vorrichtung erfolgt. Als typische Server-
Vorrichtungen im Kunden/Server-Modell gibt es eine Druck-
Server-Vorrichtung, eine Terminal-Server-Vorrichtung, eine
Platten-Server-Vorrichtung und dgl. Unter diesen Server-
Vorrichtungen ist die Platten-Server-Vorrichtung ein Knoten
zum Vorsehen einer externen Speicheranordnung mit großer
Kapazität für jede an die LAN-Leitung angeschlossene Kun
denvorrichtung. Für die Platten-Server-Vorrichtung sind die
Verwaltung einer großen Datenmenge und eine hohe Zuverläs
sigkeit der Datenverwaltung erforderlich. Als externe Spei
cheranordnung mit großer Kapazität, die mit der Platten-
Server-Vorrichtung verbunden ist, um derartige Anforderun
gen zu bewältigen, ist eine Platten-Array-Vorrichtung mit
einer Plattenvorrichtung, wie einer Nagnetplattenvorrich
tung, magnetooptischen Plattenvorrichtung oder dgl., vor
gesehen, auf die direkt zugegriffen werden kann, und die
überschreibbar ist. Gemäß einer derartigen Platten-Array-
Vorrichtung können durch das parallele Transferieren von
Daten zu den in Array-Form angeordneten Plattenvorrichtun
gen Daten bei hoher Geschwindigkeit oder der Anzahl von
Platten entsprechend viele Male, verglichen mit dem Fall
einer Vorrichtung mit einer Platte, transferiert werden.
Andererseits kann, zusätzlich zu den Daten, durch das
Addieren und Aufzeichnen von Redundanzinformationen, wie
Paritätsdaten oder dgl., ein Datenfehler, der auf Grund
eines Ausfalls der Plattenvorrichtung oder dgl. als Ursache
auftritt, detektiert und korrigiert werden. Eine hohe Zu
verlässigkeit, die jener gemäß dem Verfahren zur zweifachen
Aufzeichnung des Inhalts der Platte nahezu gleicht, kann
durch eine derartige doppelte Aufzeichnung bei niedrigen
Kosten realisiert werden.
Bisher haben David A. Patterson et al., University of
California, Barkeley, eine Arbeit vorgelegt, welche die Er
gebnisse der Auswertung durch eine Klassifikation in die
Stufen 1 bis 5 in bezug auf eine Platten-Array-Vorrichtung
behandelt, in der auf eine große Datenmenge auf Platten bei
hoher Geschwindigkeit zugegriffen wird, und eine Redundanz
der Daten im Fall eines Ausfalls der Platte realisiert
wird, ("ACM SIGMOD Conference", S. 109-116, Chicago,
Illinois, 1.-3. Juni, 1988). Die Stufen 1 bis 5 zur Klassi
fikation der Platten-Array-Vorrichtung, die von David A.
Patterson et al. vorgeschlagen wurde, werden mit RAID (re
dundante Arrays billiger Platten) 1 bis 5 abgekürzt. RAID1
bis 5 werden nun nachstehend kurz erläutert.
Fig. 1 zeigt eine Platten-Array-Vorrichtung ohne Daten
redundanz. Obwohl nicht in der Klassifikation von David A.
Patterson enthalten, wird sie vorübergehend RAID0 genannt.
Gemäß der RAID0 Platten-Array-Vorrichtung, wie in den Daten
A bis I gezeigt, verteilt eine Platten-Array-Steuervorrich
tung 10 nur jeweils die Daten an die Plattenvorrichtungen
31-1 bis 32-3 auf Basis von Eingabe/Ausgabeanforderungen
von einem Hostcomputer 18. Im Fall eines Plattenausfalls
besteht keine Datenredundanz.
Wie in Fig. 2 gezeigt, weist eine RAID1 Platten-Array-
Vorrichtung eine Spiegelplattenvorrichtung 32-2 auf, in der
Kopien A′ bis C′ von Daten A bis C, die in der Plattenvor
richtung 32-1 gespeichert sind, gespeichert wurden. Obwohl
die Nutzungseffizienz der Plattenvorrichtung niedrig ist,
hat RAID1 eine geringe Redundanz und kann durch eine ein
fache Steuerung realisiert werden, so daß sie weit verbrei
tet ist.
Eine RAID2 Platten-Array-Vorrichtung isoliert (teilt)
die Daten auf Basis von Bit- oder Byte-Einheiten und liest
oder schreibt die Daten aus der/in die Plattenvorrichtun
gen. Alle isolierten Daten werden in den gleichen Sektor
aller Plattenvorrichtungen physikalisch aufgezeichnet. Als
Fehlerkorrekturcode wird ein aus den Daten erzeugter
Hammingcode verwendet. Zusätzlich zur Plattenvorrichtung
für Daten weist die Vorrichtung eine weitere Plattenvor
richtung zur Aufzeichnung des Hammingcodes auf. Die ausge
fallene Plattenvorrichtung wird vom Hammingcode erkannt,
und die Daten werden rekonstruiert. Durch das Vorsehen der
Redundanz durch den Hammingcode können, auch wenn die Plat
tenvorrichtung ausfällt, korrekte Daten sichergestellt
werden. Sie wird jedoch noch nicht praktisch verwendet, da
die Nutzungseffizienz der Plattenvorrichtung schlecht ist.
Eine RAID3 Platten-Array-Vorrichtung weist die in
Fig. 3 gezeigte Konstruktion auf. Das heißt, wie in Fig. 4
gezeigt, es werden beispielsweise die Daten a, b und c in
die Daten a1 bis a3, b1 bis b3 und c1 bis c3 auf Basis von
Bit- oder Sektor-Einheiten geteilt. Ferner wird eine Pari
tät P1 aus den Daten a1 bis a3 berechnet. Eine Parität P2
wird aus den Daten b1 bis b3 berechnet. Eine Parität P3
wird aus den Daten c1 bis c3 berechnet. Auf die Plattenvor
richtungen 32-1 bis 32-4 in Fig. 3 wird parallel zugegrif
fen, und die Daten werden geschrieben. In RAID3 wird die
Datenredundanz durch die Parität gehalten. Die Daten-
Schreibzeit kann durch die Parallelprozesse der geteilten
Daten reduziert werden. Es ist notwendig, die parallelen
Suchoperationen aller Plattenvorrichtungen 32-1 bis 32-4
durch die eine Schreib- oder Lesezugriffsoperation aus zu
führen. Obwohl sie im Fall einer kontinuierlichen Bearbei
tung einer großen Datenmenge effizient ist, kann daher im
Fall eines derartigen Transaktionsprozesses, daß auf eine
kleine Datenmenge direkt zugegriffen wird, keine hohe
Datentransfergeschwindigkeit verwendet werden, und die
Effizienz verschlechtert sich.
Wie in Fig. 5 gezeigt, teilt eine RAID4 Platten-Array-
Vorrichtung Daten auf Basis von Sektor-Einheiten und
schreibt in die gleiche Plattenvorrichtung. Wenn beispiels
weise die Plattenvorrichtung 32-1 herangezogen wird, werden
die Daten a in Sektordaten a1 bis a4 geteilt, und diese
vier Datenwerte werden geschrieben. Die Paritäten werden in
der Plattenvorrichtung gespeichert, die festgelegt wurde.
Die Parität P1 wird aus den Daten a1, b1 und c1 berechnet.
Die Parität P2 wird aus den Daten a2, b2 und c2 berechnet.
Die Parität P3 wird aus den Daten a3, b3 und c3 berechnet.
Die Parität P4 wird aus den Daten a4, b4 und c4 berechnet.
Die Daten können parallel aus den Plattenvorrichtungen 32-1
bis 32-3 ausgelesen werden. Beim Lesen der Daten a und b
wird, wenn die Daten a als Beispiel herangezogen werden,
auf die Sektoren 0 bis 3 der Plattenvorrichtung 32-1 zuge
griffen, und die Sektordaten a1 bis a4 werden sequentiell
ausgelesen und synthetisiert. Beim Schreiben von Daten
werden, nachdem die Daten und Paritäten vor dem Schreiben
ausgelesen wurden, neue Paritäten berechnet und geschrie
ben, so daß insgesamt viermal Zugriffsoperationen in bezug
auf eine Schreiboperation notwendig sind. Beispielsweise
sind im Fall der Aktualisierung (Rückschreiben) der Sektor
daten a1 der Plattenvorrichtung 32-1 die Operationen zum
Auslesen alter Daten (a1)old an der Aktualisierungsstelle
und einer alten Parität (P1)old der Plattenvorrichtung 32-4
entsprechend diesen und zum Erhalten und Schreiben neuer
Daten (a1)new und einer neuen Parität (P1)new, die an diese
angepaßt ist, zusätzlich zur Daten-Schreiboperation für
eine Aktualisierung erforderlich. Andererseits ist es beim
Schreiben, da auf die Plattenvorrichtung 32-4 für Paritäten
sicherlich zugegriffen wird, unmöglich, gleichzeitig Daten
in eine Vielzahl von Plattenvorrichtungen zu schreiben.
Auch wenn beispielsweise das Schreiben der Daten a1 in die
Plattenvorrichtung 32-1 und das Schreiben der Daten b2 in
die Plattenvorrichtung 32-2 gleichzeitig ausgeführt werden,
da es notwendig ist, die Paritäten P1 und P2 aus der
gleichen Plattenvorrichtung 32-4 auszulesen und zu be
rechnen, und diese anschließend zu schreiben, können sie
nicht gleichzeitig geschrieben werden. Obwohl RAID4 wie
oben erwähnt definiert wurde, ist die Tendenz zur prakti
schen Verwendung derzeit gering, da wenige Vorteile
bestehen.
Eine RAID5 Platten-Array-Vorrichtung kann die Lese-
oder Schreiboperationen parallel durchführen, da die Plat
tenvorrichtung für Paritäten nicht festgelegt ist. Wie in
Fig. 6 gezeigt, sind nämlich die Plattenvorrichtungen, in
denen die Paritäten eingestellt werden, für jeden Sektor
verschieden. Die Parität P1 wird aus den Daten a1, b1 und
c1 berechnet. Die Parität P2 wird aus a2, b2 und d2 berech
net. Die Parität P3 wird aus den Daten a3, c3 und d3 be
rechnet. Die Parität P4 wird aus den Daten b4, c4 und d4
berechnet. Bei den parallelen Lese/Schreiboperationen
können daher, da beispielsweise die Daten a1 des Sektors 0
der Plattenvorrichtung 32-1 und die Daten b2 des Sektors 1
der Plattenvorrichtung 32-2 einander nicht überlappen, weil
die Paritäten P1 und P2 in den unterschiedlichen Platten
vorrichtungen 32-4 und 32-3 eingestellt sind, die Daten
gleichzeitig gelesen oder geschrieben werden. Der Aufwand,
der insgesamt viermal Zugriffsoperationen beim Schreiben
erfordert, ist im wesentlichen gleich wie jener in RAID4.
Wie oben erwähnt, ist RAID5, da asynchron auf eine Vielzahl
von Plattenvorrichtungen zugegriffen wird, und die Lese/
Schreiboperationen ausgeführt werden können, für einen
Transaktionsprozeß geeignet, in dem direkt auf eine kleine
Datenmenge zugegriffen wird. In der Platten-Array-Vorrich
tung, wie in RAID3 bis RAID5 gezeigt, wird eine Kombination
der Plattenvorrichtungen hinsichtlich der Bildung der re
dundanten Informationen Rang genannt. In dem Fall, wo bei
spielsweise (k) Plattenvorrichtungen für eine Datenauf
zeichnung und (m) Plattenvorrichtungen für die Aufzeichnung
der redundanten Informationen bezüglich der Daten vorlie
gen, werden die (k + m) Plattenvorrichtungen als Rang be
zeichnet.
In derartigen herkömmlichen Platten-Array-Vorrich
tungen entsprechend RAID4 und RAID5 ist es im Fall des
Rückschreibens und Aktualisierens eines Teils der oder
aller Daten, die in den Plattenvorrichtungen im Rang ge
speichert sind, ebenfalls notwendig, die redundanten Infor
mationen bezüglich der zu aktualisierenden Daten zu aktua
lisieren. In diesem Fall sind, um neue redundante Informa
tionen zu erhalten, die Daten vor der Aktualisierung und
die redundanten Informationen erforderlich. Es wird nun an
genommen, daß die Paritätsdaten als redundante Informa
tionen verwendet werden, wenn die Daten einer Plattenvor
richtung im Rang der Platten-Array-Vorrichtung aktualisiert
werden, können neue Paritäten aus der folgenden Gleichung
(1) berechnet werden.
alte Daten (+) alte Parität (+) neue Daten =
neue Parität . . . (1),
worin (+) das Exklusiv-ODER bezeichnet.
Wie aus der Gleichung (1) hervorgeht, müssen bei der
Aktualisierung von Daten die Daten vor der Aktualisierung
und die redundanten Informationen aus den jeweiligen Plat
tenvorrichtungen ausgelesen werden, bevor die Aktualisie
rungsdaten geschrieben werden. Folglich besteht ein derar
tiges Problem, daß die Zeit des Daten-Aktualisierungspro
zesses nur um die Zeit, die zum Auslesen der Daten vor der
Aktualisierung und der redundanten Informationen aus der
Plattenvorrichtung erforderlich ist, länger ist als jene
der gewöhnlichen Plattenvorrichtung.
Andererseits kann in der herkömmlichen Platten-Array-
Vorrichtung für den Fall, daß die Energiezufuhr auf Grund
irgendwelcher Ursachen während des Daten-Schreibbetriebs
eingestellt wird, in der herkömmlichen Plattenvorrichtung
oder den RAID1 bis RAID3 Platten-Array-Vorrichtungen die
gleiche Schreiboperation auch von Beginn an nach der Wie
derherstellung der Energiequelle ausgeführt werden. In den
RAID4 und RAID5 Platten-Array-Vorrichtungen ist es jedoch
aus folgenden Gründen nicht zulässig, daß die gleiche
Schreiboperation erneut von Beginn an nach der Wiederher
stellung der Energiequelle ausgeführt wird. Beim Schreiben
von Daten in RAID4 und RAID5 wird, wie durch die folgende
Gleichung gezeigt, das Exklusiv-ODER der Daten in einer
Vielzahl von Plattenvorrichtungen berechnet, auf eine
Parität gesetzt und in der Plattenvorrichtung für Paritäten
gehalten.
Daten a (+) Daten b (+) . . . = Parität P,
worin (+) ein Symbol für Exklusiv-ODER ist.
Speicherstellen der Daten und Parität werden in den
spezifischen Plattenvorrichtungen 32-1 bis 32-4 festgelegt,
wie in Fig. 5 im Fall von RAID4 gezeigt. Andererseits werden
in RAID5, wie in Fig. 6 gezeigt, die Paritäten in den Plat
tenvorrichtungen 32-1 bis 32-4 verteilt, wodurch die Kon
zentration der Zugriffe auf die speziellen Plattenvorrich
tungen durch die Paritäts-Schreib/Leseoperation verhindert
wird. Beim Lesen von Daten in RAID4 und RAID5 wird, da die
Daten in den Plattenvorrichtungen 32-1 bis 32-4 nicht
rückgeschrieben werden, die Paritätsanpassung gehalten.
Beim Schreiben müssen jedoch auch die Paritäten in Überein
stimmung mit den Daten geändert werden. Wenn beispielsweise
alte Daten (a1)old in der Plattenvorrichtung 32-1 in neue
Daten (a1)new rückgeschrieben werden, wird, um die Anpas
sung der Parität P1 zu erhalten, die in der Gleichung (1)
gezeigte Berechnung ausgeführt und die Parität aktuali
siert, wodurch die Anpassung der Paritäten der gesamten
Daten der Plattenvorrichtungen ermöglicht wird, die zu
halten sind. Wie aus der Gleichung (1) hervorgeht, ist es
im Daten-Schreibprozeß notwendig, zuerst die alten Daten
und alte Parität in der Plattenvorrichtung auszulesen, und
danach werden die neuen Daten geschrieben, und wird die
neue Parität erzeugt und geschrieben. Wenn die Energiequel
le während des Schreibens neuer Daten oder einer neuen Pa
rität ausfällt, kann die Stelle, bis zu der die Daten tat
sächlich richtig geschrieben wurden, nicht erkannt werden,
und die Anpassung der Paritäten geht verloren. Wenn der
gleiche Daten-Schreibprozeß zur Zeit der Wiederherstellung
der Energiequelle in diesem Zustand erneut ausgeführt wird,
werden die alten Daten und alte Parität aus der Plattenvor
richtung ausgelesen, in der die Anpassung der Parität nicht
erhalten wird, so daß das derartige Problem besteht, daß
die neue Parität, die nicht angepaßt ist, erzeugt wird, und
die Schreiboperation beendet wird.
Die der Erfindung zugrundeliegende Aufgabe besteht
darin, eine Platten-Array-Anordnung zu schaffen, in wel
cher, auch wenn ein Ausfall oder eine Unterbrechung der
Stromversorgungsquelle während des Daten-Schreibprozesses
auftritt, der Daten-Schreibprozeß, der unterbrochen wurde,
jederzeit neu gestartet und vom halben Wege nach der Wie
derherstellung der Stromversorgung vollendet werden kann.
Diese Aufgabe wird erfindungsgemäß durch die im An
spruch 1 aufgeführten Merkmale gelöst.
Besonders vorteilhafte Ausgestaltungen und Weiterbil
dungen der Erfindung ergeben sich aus den Unteransprüchen.
Die Platten-Array-Anordnung nach der Erfindung ist
derart ausgebildet, daß dann, wenn ein Energieausfall wäh
rend der Daten-Schreiboperation auftritt, der unterbrochene
Daten-Schreibprozeß erneut gestartet und vom halben Wege
nach der Wiederherstellung der Energiequelle vollendet wer
den kann, umfaßt: einen Platten-Array-Nechanismus; eine Da
ten-Schreibsektion; eine Paritätsaktualisierungssektion;
einen nichtflüchtigen Speicher; und eine Wiederherstel
lungssektion. Wenn der Schreibprozeß von der oberen Vor
richtung angeordnet wird, liest die Daten-Schreibsektion
des Platten-Array-Mechanismus die alten Daten, die in der
Schreibposition einer willkürlich bezeichneten Plattenvor
richtung gespeichert sind, aus und schreibt danach die
neuen Daten, die von der oberen Vorrichtung transferiert
werden. Die Paritätsaktualisierungssektion liest die alte
Parität von der Speicherposition in der Plattenvorrichtung
für Paritäten entsprechend der Platten-Schreibposition von
der Daten-Schreibsektion aus und, spezifisch ausgedrückt,
bildet eine neue Parität aus dem Exklusiv-ODER auf Basis
der alten Parität, alten Daten und neuen Daten. Danach wird
die neue Parität an die Platten-Speicherposition der alten
Parität geschrieben. Ferner ist ein nichtflüchtiger Spei
cher vorgesehen. Verarbeitungsstufendaten, welche die Ver
arbeitungsstufen der Daten-Schreibsektion und Paritätsaktu
alisierungssektion anzeigen, und die neuen Daten, die von
der oberen Vorrichtung transferiert werden, werden in den
nichtflüchtigen Speicher gespeichert. Wenn die Energiequel
le eingeschaltet wird, nimmt die Wiederherstellungssektion
auf die Verarbeitungsstufendaten im nichtflüchtigen Spei
cher Bezug. Wenn der Schreibprozeß auf halbem Wege unter
brochen wurde, führt die Wiederherstellungssektion einen
Wiederherstellungsprozeß unter Verwendung der neuen Daten,
die im nichtflüchtigen Speicher gehalten werden, aus.
Die Paritätsaktualisierungssektion enthält eine Stufe
zur Bildung einer Zwischenparität beispielsweise vom Exklu
siv-ODER der alten Daten und alten Parität. Der Verarbei
tungsmodus der Wiederherstellungssektion wird auf einen der
folgenden zwei Modi im Fall der Speicherung der neuen Daten
und der Verarbeitungsstufendaten in den nichtflüchtigen
Speicher eingestellt.
Dieser Modus bezieht sich auf den Fall, wo der Ener
gieausfall bereits vor der Vollendung der Schreiboperation
der neuen Daten in die Plattenvorrichtung aufgetreten ist.
Im Modus 1 wird, nachdem die alten Daten, die in der
Schreibposition in der von der Daten-Schreibsektion be
zeichneten Plattenvorrichtung gespeichert wurden, ausgele
sen werden, ein Prozeß zum Schreiben der neuen Daten, die
aus dem nichtflüchtigen Speicher ausgelesen werden, ausge
führt. Nach der Beendigung des Schreibens der neuen Daten
wird die alte Parität aus der Speicherposition in der Plat
tenvorrichtung für Paritäten entsprechend der Platten-
Schreibposition der Daten von der Paritätsaktualisierungs
sektion ausgelesen. Die neue Parität wird auf Basis der
alten Parität, alten Daten und neuen Daten gebildet. Danach
wird der Prozeß zum Schreiben der neuen Parität in die
Platten-Speicherposition der alten Parität ausgeführt.
Dieser Modus bezieht sich auf den Fall, wo ein Ener
gieausfall bereits vor der Vollendung des Schreibens der
neuen Parität in die Plattenvorrichtung für Paritäten auf
getreten ist. Im Fall des Modus 2 wird der Prozeß zum Aus
lesen der Daten, die in den entsprechenden Positionen in
den anderen Plattenvorrichtungen als jener, in welche die
Daten durch die Daten-Schreibsektion geschrieben werden,
und der Plattenvorrichtung für Paritäten gespeichert sind,
ausgeführt. Die Paritätsaktualisierungssektion bildet die
neue Parität aus den Daten, die aus den anderen Plattenvor
richtungen ausgelesen werden, und den neuen Daten, die aus
dem nichtflüchtigen Speicher ausgelesen werden. Danach wird
der Prozeß zum Schreiben der neuen Parität in die Platten-
Speicherposition der alten Parität ausgeführt.
Erfindungsgemäß wird ferner eine Zwischenparität in
den nichtflüchtigen Speicher gespeichert. In diesem Fall
wird ein Wiederherstellungsprozeß, wenn ein Energieausfall
vor der Vollendung des Speicherns der Zwischenparität nach
der Vollendung des Schreibens der neuen Daten aufgetreten
ist, als neuer Modus hinzugefügt. Außerdem kann gemäß der
Erfindung die neue Parität auch in den nichtflüchtigen
Speicher gespeichert werden, und zur Wiederherstellung nach
dem Energieausfall ist es ausreichend, den Prozeß von der
nächsten Stufe auf Basis der Daten in der letzten Stufe,
die im nichtflüchtigen Speicher verbleiben, neu zu starten.
In diesem Fall können, indem auch eine Not-Energiequelle
für einen Platten-Adapter vorgesehen ist, der für jede
Plattenvorrichtung vorliegt, sowohl die alten Daten als
auch die alten Paritäten zur Zeit des Energieausfalls eben
falls gehalten werden. Die Notwendigkeit des Prozesses zum
neuerlichen Auslesen der Daten im Wiederherstellungsprozeß
kann entfallen. Gemäß der Platten-Array-Vorrichtung der Er
findung mit einer derartigen Konstruktion kann, wenn der
Energieausfall in den Platten-Array-Vorrichtungen mit den
Konstruktionen gemäß RAID4 und RAID5 auftritt, durch einen
Neustart des Prozesses auf halbem Wege des Schreibprozesses
unter Verwendung der im nichtflüchtigen Speicher gehaltenen
Informationen der Schreibprozeß normal abgeschlossen wer
den. Nachdem die Energiequelle wiederhergestellt wurde, be
steht keine Notwendigkeit, die Prozesse von Beginn an aus
zuführen, so daß der Wiederherstellungsprozeß bei höherer
Geschwindigkeit durchgeführt werden kann. Die Art der Da
ten, die für den Wiederherstellungsprozeß durch den Ener
gieausfall gehalten werden, kann in Übereinstimmung mit der
Kapazität des nichtflüchtigen Speichers, der vom Kosten
standpunkt verwendet werden kann, ausgewählt werden.
Im folgenden wird die Erfindung anhand von Ausfüh
rungsbeispielen unter Hinweis auf die Zeichnung näher er
läutert, in der:
Fig. 1 ist eine erläuternde Darstellung einer RAID0
Platten-Array-Vorrichtung;
Fig. 2 ist eine erläuternde Darstellung einer RAID1
Platten-Array-Vorrichtung;
Fig. 3 ist eine erläuternde Darstellung einer RAID3
Platten-Array-Vorrichtung;
Fig. 4 ist eine erläuternde Darstellung der Datentei
lung durch RAID3;
Fig. 5 ist eine erläuternde Darstellung einer RAID4
Platten-Array-Vorrichtung;
Fig. 6 ist eine erläuternde Darstellung einer RAID5
Platten-Array-Vorrichtung;
Fig. 7 ist ein Konstruktionsbild einer Ausführungsform,
das eine Hardware-Konstruktion der Erfindung zeigt;
Fig. 8 ist ein Konstruktionsbild einer Ausführungsform
der Cachesteuersektion von Fig. 7;
Fig. 9 ist ein funktionelles Blockbild, das die erste
Ausführungsform der Erfindung zeigt;
Fig. 10 ist eine erläuternde Darstellung, die den In
halt eines Cachespeichers der ersten Ausführungsform zeigt;
Fig. 11 ist eine erläuternde Darstellung, die einen
anderen Inhalt im Cachespeicher der ersten Ausführungsform
zeigt;
Fig. 12 ist ein Flußdiagramm, das die gesamte Verarbei
tungsoperation der Erfindung zeigt;
Fig. 13 ist ein Flußdiagramm, das die Details eines
Leseprozesses der ersten Ausführungsform zeigt;
Fig. 14 ist ein Flußdiagramm, das die Details eines
Schreibprozesses der ersten Ausführungsform zeigt;
Fig. 15 ist ein Flußdiagramm, das die Details eines
anderen Schreibprozesses der ersten Ausführungsform zeigt;
Fig. 16 ist eine erläuternde Darstellung, die eine
Änderung im Speicherzustand in einem Platten-Array zeigt,
wenn es eine Vielzahl von Malen aktualisiert wird;
Fig. 17 ist ein Flußdiagramm, das die Details des
Überschreibprozesses von Fig. 15 zeigt;
Fig. 18 ist eine erläuternde Darstellung, die den In
halt in einem Cachespeicher der zweiten Ausführungsform
zeigt;
Fig. 19 ist ein Flußdiagramm, das die Details eines
Leseprozesses der zweiten Ausführungsform zeigt;
Fig. 20 ist ein Flußdiagramm, das die Details eines
Schreibprozesses der zweiten Ausführungsform zeigt;
Fig. 21 ist ein Flußdiagramm, das die Details eines
anderen Schreibprozesses der zweiten Ausführungsform zeigt;
Fig. 22 zeigt ein Flußdiagramm, das die Details des
Überschreibprozesses von Fig. 21 zeigt;
Fig. 23 ist ein funktionelles Blockbild, das die dritte
Ausführungsform der Erfindung zeigt;
Fig. 24 ist eine erläuternde Darstellung, die den In
halt im Cachespeicher der dritten Ausführungsform zeigt;
Fig. 25 ist eine erläuternde Darstellung, die einen
anderen Inhalt in einem Cachespeicher der dritten Ausfüh
rungsform zeigt;
Fig. 26 ist ein Flußdiagramm, das die Details eines
Schreibprozesses der dritten Ausführungsform zeigt;
Fig. 27 ist ein Flußdiagramm, das die Details eines
anderen Schreibprozesses der dritten Ausführungsform zeigt;
Fig. 28 ist ein Flußdiagramm, das die Details des
Überschreibprozesses von Fig. 27 zeigt;
Fig. 29 ist ein funktionelles Blockbild, das die vierte
Ausführungsform der Erfindung zeigt;
Fig. 30 ist eine erläuternde Darstellung, die einen
anfänglichen Dummy-Speicherzustand in einem Platten-Array
der vierten Ausführungsform zeigt;
Fig. 31 ist eine erläuternde Darstellung, die einen
Löschprozeß des Platten-Arrays der vierten Ausführungsform
zeigt;
Fig. 32 ist: eine erläuternde Darstellung, die einen Zu
stand des Platten-Arrays nach der Beendigung des Löschpro
zesses von Fig. 31 zeigt;
Fig. 33 ist eine erläuternde Darstellung, die einen
Löschprozeß des Platten-Arrays zeigt;
Fig. 34 ist eine erläuternde Darstellung, die einen An
ordnungszustand des Platten-Arrays nach der Beendigung des
Löschprozesses von Fig. 33 zeigt;
Fig. 35 ist ein funktionelles Blockbild, das einen
Löschprozeß in einem Cachespeicher der vierten Ausführungs
form zeigt;
Fig. 36 ist ein funktionelles Blockbild eines Lösch-
Endzustands des Cachespeichers von Fig. 35;
Fig. 37 ist ein funktionelles Blockbild, das einen Pro
zeß zur Aktualisierung einer Vielzahl von Daten der
gleichen Segmente in einem Rang in der vierten Ausführungs
form zeigt;
Fig. 38 ist ein funktionelles Blockbild eines Zustands
nach der Beendigung des Aktualisierungsprozesses von
Fig. 37;
Fig. 39 ist ein Ausführungsform-Konstruktionsbild, das
die erste Ausführungsform der Erfindung zeigt, in welcher
ein Wiederherstellungsprozeß zur Zeit des Energieausfalls
unter Verwendung eines nichtflüchtigen Speichers ausgeführt
wird;
Fig. 40 ist ein funktionelles Blockbild, das Verarbei
tungsinhalte von Fig. 39 zeigt;
Fig. 41 ist ein Flußdiagramm, das die gesamte Verarbei
tungsoperation der Ausführungsform von Fig. 40 zeigt;
Fig. 42 ist ein Flußdiagramm, das die Details eines
Daten-Leseprozesses von Fig. 41 zeigt;
Fig. 43 ist ein Flußdiagramm, das die Details eines
Daten-Schreibprozesses von Fig. 41 zeigt;
Fig. 44 ist ein Flußdiagramm, das die Details eines
Paritätsaktualisierungsprozesses von Fig. 41 zeigt;
Fig. 45 ist ein Flußdiagramm, das die Details eines
Wiederherstellungsprozesses von Fig. 41 zeigt;
Fig. 46 ist ein funktionelles Blockbild, das den Verar
beitungsinhalt der zweiten Ausführungsform der Erfindung
zeigt, in welcher der Wiederherstellungsprozeß zur Zeit des
Energieausfalls unter Verwendung des nichtflüchtigen Spei
chers ausgeführt wird;
Fig. 47 ist ein Flußdiagramm, das die Details eines
Wiederherstellungsprozesses in der Ausführungsform von
Fig. 46 zeigt;
Fig. 48 ist ein Ausführungsform-Konstruktionsbild, das
die dritte Ausführungsform der Erfindung zeigt, in welcher
der Wiederherstellungsprozeß zur Zeit des Energieausfalls
unter Verwendung des nichtflüchtigen Speichers ausgeführt
wird; und
Fig. 49 ist ein funktionelles Blockbild, das den Verar
beitungsinhalt der Ausführungsform von Fig. 48 zeigt.
Fig. 7 ist ein Ausführungsform-Konstruktionsbild, das
eine Hardware-Konstruktion einer Platten-Array-Vorrichtung
zeigt. In Fig. 7 weist die Platten-Array-Steuervorrichtung 10
einen MPU 12 auf, der als Steuereinrichtung dient. Ein
ROM 20, in dem Verarbeitungsprogramme gespeichert wurden,
ein RAM 22, der als Steuerspeicher oder dgl. verwendet
wird, ein Cachespeicher 26, der durch eine Cachesteuersek
tion 24 angeschlossen ist, und ein Datentransferpuffer 28
sind mit einem internen Bus 14 vom MPU 12 verbunden. Eine
Host-Schnittstelle 16 ist vorgesehen, um mit dem Host
computer 18 als obere Vorrichtung zu kommunizieren. In der
Ausführungsform ist ein Platten-Array 46 mit einer 2-Rang-
Konstruktion der Ränge 48-1 und 48-2 unter der Steuerung
der Platten-Array-Steuervorrichtung 10 vorgesehen. Fünf
Plattenvorrichtungen 32-1 bis 32-5 sind für den Rang 48-1
im Platten-Array 46 vorgesehen. Es sind auch ähnlich fünf
Plattenvorrichtungen 32-6 bis 32-10 für den Rang 48-2 vor
gesehen. Ferner sind die Plattenvorrichtungen 32-11 und 32-
12, die sich in einem Wartemodus befinden, als Ersatzvor
richtungen für die Ränge 48-1 bzw. 48-2 vorgesehen. Von den
fünf Plattenvorrichtungen, die jeden der Ränge 48-1 und 48-
2 bilden, werden vier Plattenvorrichtungen zum Aufzeichnen
von Daten und-die verbleibende Plattenvorrichtung zum Auf
zeichnen von Paritäten verwendet. Die Plattenvorrichtung
zum Aufzeichnen von Paritäten ist im Fall des in Fig. 5 ge
zeigten RAID4 Platten-Arrays festgelegt. Im in Fig. 6 ge
zeigten RAID5 Platten-Array werden die
Aufzeichnungspositionen der Paritäten im Rang jedesmal ge
ändert, wenn die Sektorposition als Aufzeichnungseinheit in
die Platte unterschiedlich ist.
Die Plattenvorrichtungen 32-1 bis 32-10, welche die
Ränge 48-1 und 48-2 bilden, und die Ersatz-Plattenvorrich
tungen 32-11 und 32-12 sind mit dem internen Bus 14 des MPU
12 durch die Geräteadapter 30-1 bis 30-6 verbunden, die für
die Platten-Array-Steuervorrichtung 10 vorgesehen sind. Die
Plattenadapter 30-1 bis 30-6 führen die Zugriffe auf die
Plattenvorrichtungen an den gleichen Positionen der Ränge
48-1 und 48-2 aus, beispielsweise führt der Geräteadapter
30-1 die Zugriffe der Plattenvorrichtungen 32-1 und 32-6
unter der Steuerung des MPU 12 aus.
Fig. 8 zeigt eine Konstruktion der Cachesteuersektion
24 in Fig. 7. Die Cachesteuersektion 24 umfaßt: einen MPU 60
zum Steuern der gesamten Vorrichtung; einen Steuerspeicher
62, der unter der Steuerung des MPU 60 verwendet wird; eine
Bussteuerschaltung 64 Rum Steuern der Transmission und des
Empfangs von Daten mit dem Bus 14 und Instruktionen mit dem
MPU 60; eine Speichersteuerschaltung 68 zum Senden und Emp
fangen von Daten mit dem Cachespeicher 26; und eine Puffer
schaltung 66 zum Durchführen der Transmission und des Emp
fangs von Daten zwischen der Bussteuerschaltung 64 und der
Speichersteuerschaltung 68. Die vom MPU 12 der Platten-
Array-Steuervorrichtung 10 gesendete Instruktion geht durch
den Bus 14, wird zur Bussteuerschaltung 64 gesendet und
wird zum MPU 60 der Cachesteuersektion 24 gesendet. Der MPU
60 zeigt eine Speicheradresse eines Ziels an, auf das die
Speichersteuerschaltung 68 zuzugreifen hat. Ferner liefert
der MPU 60 eine Instruktion bezüglich des Datentransfers an
die Speichersteuerschaltung 68, Pufferschaltung 66 und Bus
steuerschaltung 64. Im Fall des Auslesens aus dem Cache
speicher wird der Inhalt in der angezeigten Speicheradresse
zum Bus 14 durch die Speichersteuerschaltung 68, Puffer
schaltung 66 und Bussteuerschaltung 64 transferiert. Im
Fall des Schreibens in den Cachespeicher 26 werden die
Daten, die vom Bus 14 zur Bussteuerschaltung 64 gesendet
werden, über die Pufferschaltung 66 zur Speichersteuer
schaltung 68 gesendet und in die bezeichnete Adresse im
Cachespeicher 26 geschrieben.
Fig. 9 ist ein funktionelles Blockbild gemäß einem
ersten Ausführungsbeispiel. Das erste Ausführungsbeispiel
ist dadurch gekennzeichnet, daß nur die Daten, die zur Ak
tualisierung des Platten-Arrays 46 des für die Platten-
Array-Steuervorrichtung 10 vorgesehenen Cachespeichers 26
verwendet werden, gespeichert werden. In Fig. 9 wird die für
die Platten-Array-Steuervorrichtung 10 vorgesehene Zu
griffsverarbeitungssektion 34 durch die Programmsteuerung
der MPU 12 realisiert und führt den Zugriffsprozeß auf das
Platten-Array 46 auf Basis des Befehls als Eingabe/Ausgabe
anforderung vom Hostcomputer 18 durch. Als Platten-Array 46
ist eine 1-Rang-Konstruktion dargestellt, in der die fünf
Plattenvorrichtungen 32-1 bis 32-5 aufgenommen und gezeigt
sind. Die Plattenvorrichtungen 32-1 bis 32-5, die einen
Rang bilden, sind auf Basis einer vorherbestimmten Daten
aufzeichnungs-Einheit, beispielsweise auf Basis von Sektor-
Einheiten, wie durch strichlierte Linien gezeigt, geteilt.
Eine physikalische ID wurde in jeder der Plattenvorrich
tungen 32-1 bis 32-5 voreingestellt. Eine logische ID vom
Hostcomputer 18 wird in die physikalische ID durch eine Ge
räte-ID-Verwaltungstabelle umgewandelt, die in der Zu
griffsverarbeitungssektion 34 vorgesehen ist, und die Plat
tenvorrichtung als Ziel, auf das zuzugreifen ist, kann be
zeichnet werden. Durch das Decodieren des Befehls zwischen
dem Hostcomputer 18 und der Zugriffsverarbeitungssektion 34
durch die Zugriffsverarbeitungssektion 34 werden nämlich
eine Platten-ID und eine Datenadresse erhalten. Eine spe
zielle Plattenvorrichtung wird durch die Platten-ID be
zeichnet, und der Leseprozeß oder Schreibprozeß auf Basis
einer Anforderung vom Hostcomputer 18 wird für die Daten
adresse ausgeführt. Als Speicherdaten für jede Sektorposi
tion der Daten-Plattenvorrichtungen 32-1 bis 32-5 des Plat
ten-Arrays 46 in der Ausführungsform wird nun ein Fall, wo
die Paritätsplatte als Plattenvorrichtung 32-5 in RAID4
festgelegt wurde, als Beispiel behandelt. Beispielsweise
werden Paritätsdaten Pol, die als Exklusiv-ODER der Spei
cherdaten D01 bis D04 an den ersten Sektorpositionen der
Plattenvorrichtungen 32-1 bis 32-4 erhalten wurden, in der
gleichen Sektorposition der Plattenvorrichtung 32-5 gespei
chert. Eine Trefferbeurteilungssektion 36 und eine Cache
zugriffssektion 38, Die durch die Programmsteuerung im in
Fig. 8 gezeigten MPU 60 realisiert werden, sind für die
Cachesteuersektion 24 vorgesehen. Die Trefferbeurteilungs
sektion 36 empfängt die Notifikation der Platten-ID und
Datenadresse, die durch das Decodieren des Befehls vom
Hostcomputer 18 durch die Zugriffsverarbeitungssektion 34
erhalten wurden, und durchsucht den Cachespeicher 26. In
der ersten Ausführungsform wurden nur die Aktualisierungs
daten, die in den Plattenvorrichtungen 32-1 bis 32-4 zur
Datenaufzeichnung im Platten-Array 46 gespeichert wurden,
im Cachespeicher 26 gespeichert. Die Trefferbeurteilungs
sektion 36 nimmt auf eine Cachetabelle auf Basis der Gerä
te-ID und Datenadresse von der Zugriffsverarbeitungssektion
34 Bezug. Wenn die Trefferbeurteilungssektion 36 die Cache
registrierung, nämlich den Treffer der entsprechenden Daten
in der Cachetabelle, beurteilt, werden die entsprechenden
alten Daten vor der Aktualisierung aus dem Cachespeicher 26
ausgelesen und an die Zugriffsverarbeitungssektion 34 ge
liefert. Vor der Aktualisierung der alten Daten der be
zeichneten Plattenvorrichtung des Platten-Arrays 46 zu den
neuen Daten bildet die Zugriffsverarbeitungssektion 34 eine
neue Parität auf Basis der alten Daten vor der Aktualisie
rung, die aus dem Cachespeicher 26 ausgelesen werden, der
alten Parität, die in der Plattenvorrichtung gespeichert
ist, und der neuen Daten, die zu aktualisieren sind. Nach
dem die neue Parität gebildet wurde, werden die neuen Daten
in die Plattenvorrichtung geschrieben und aktualisiert. Die
neue Parität wird in den Aktualisierungssektor der Platten
vorrichtung 32-5 für Paritäten geschrieben und aktuali
siert. Die neue Parität wird in den Sektor in der gleichen
Position wie der Aktualisierungssektor der Plattenvorrich
tung 32-5 für Paritäten geschrieben, wodurch die Parität
aktualisiert wird. Im Fall einer derartig fehlerhaften Be
urteilung, daß die registrierten Zieldaten auch durch das
Durchsuchen der Cacheverwaltungstabelle durch die Treffer
beurteilungssektion 36 nicht erhalten werden können, werden
keine Daten aus dem Cachespeicher 26 ausgelesen, sondern
werden die alten Daten vor der Aktualisierung, die im ent
sprechenden Sektor der Plattenvorrichtung als Aktualisie
rungsziel des Platten-Arrays 46 gespeichert wurden, und die
alte Parität vor der Aktualisierung im gleichen Segment der
Plattenvorrichtung 32-5 für Paritäten auf ähnliche Weise
wie das gewöhnliche Verfahren ausgelesen, und eine neue
Parität wird aus diesen alten Daten und der alten Parität
sowie den neuen Daten gebildet. Danach werden die Daten und
Paritäten für die Plattenvorrichtung aktualisiert.
Fig. 10 zeigt ein Beispiel des Speicherinhalts im
Cachespeicher 26 von Fig. 9. Die Speicheradresse kann durch
die Sektornummer entsprechend der Platten-ID-Nr. und der
Datenadresse spezifiziert werden. Die Daten D01, D02, D03,
werden in der entsprechenden Beziehung zu den Platten
vorrichtungen 32-1 bis 32-4 des Platten-Arrays 46 gespei
chert.
Fig. 11 zeigt den Speicherinhalt im Cachespeicher 26
entsprechend dem Platten-Array 46 entsprechend RAID5, in
dem die Plattenvorrichtung zum Speichern der Paritätsdaten
jedesmal verschieden ist, wenn sich die Sektorposition än
dert. Ähnlich kann der Speicherbereich durch die Platten-
ID-Nr. und die Sektor-Nr. entsprechend den Datenadressen
spezifiziert werden. Die Bereiche, die mit schrägen Linien
durchgestrichen sind und durch die Platten-ID-Nr. und die
Sektor-Nr. bezeichnet werden, entsprechen den Paritätsda
ten. Daher werden derartige Bereiche im Fall des Speicherns
nur der Daten in der ersten Ausführungsform in den Cache
speicher 26 eliminiert.
Fig. 12 ist ein Flußdiagramm, das die gesamte Verarbei
tungsoperation in der Platten-Array-Steuervorrichtung 10
von Fig. 9 zeigt. In Fig. 12, in Schritt S1, prüft die Zu
griffsverarbeitungssektion 34 zuerst das Vorliegen oder
Fehlen des Empfangs eines Befehls vom Hostcomputer 18. Wenn
der Befehl empfangen wird, folgt Schritt S2, und es wird
ein Befehlsanalyseprozeß ausgeführt. In Schritt S3 wird
eine Prüfung vorgenommen, um zu sehen, ob der decodierte
Befehlsinhalt die Leseoperation oder Schreiboperation an
zeigt. Im Fall der Leseoperation geht die Verarbeitungs
routine zu einem Leseprozeß in Schritt S4. Im Fall des
Schreibbetriebs geht die Verarbeitungsroutine zu einem
Schreibprozeß in Schritt S5. Es gibt die folgenden Ein
gabe/Ausgabeanforderungen vom Hostcomputer 18 an das Plat
ten-Array 46.
- (1) Schreiben neuer Daten.
- (2) Aktualisierung zum Überschreiben der bestehenden Daten.
- (3) Löschen der bestehenden Daten.
Der Leseprozeß in Schritt S4 und der Schreibprozeß in
Schritt S5 werden in Übereinstimmung mit dem Inhalt jeder
Eingabe/Ausgabeanforderung ausgeführt.
Fig. 13 ist ein Flußdiagramm, das die Details des in
Schritt S4 von Fig. 12 gezeigten Leseprozesses zeigt. In
Fig. 13, in Schritt S1, notifiziert die Zugriffsverarbei
tungssektion 34 die Trefferbeurteilungssektion 36 der
Cachesteuersektion 24 von der Platten-ID, die als Analyse
ergebnis des Hostbefehls erhalten wurde, und der Sektor-
Nr., die durch die Datenadressen festgelegt wird. Die Tref
ferbeurteilungssektion 36 durchsucht die Cacheverwaltungs
tabelle auf Basis der Platten-ID und der Sektor-Nr. in
Schritt S2, wodurch das Vorliegen oder Fehlen der Regi
strierung der Lesezieldaten für den Cachespeicher 26 beur
teilt wird. Als Verarbeitungsergebnis der Trefferbeurtei
lung in Schritt S2, wenn keine entsprechend Datenregistrie
rung in Schritt S3 erfolgt und ein Fehler vorliegt, folgt
Schritt S4. Die Daten werden aus dem Sektor der Plattenvor
richtung, der durch die Platten-ID und Datenadresse be
zeichnet wird, ausgelesen und zum in Fig. 2 gezeigten Daten
transferpuffer 28 transferiert. Anschließend, in Schritt
S5, werden die Daten zum Hostcomputer 18 transferiert und
die Lesedaten ferner in den Cachespeicher 26 gespeichert.
In Schritt S6 werden im Fall des Speicherns von Daten in
den Cachespeicher 26, wenn ein Bereich zum Speichern neuer
Daten im Cachespeicher 26 fehlt, die Daten, die für nicht
notwendig gehalten werden, aus dem Cachespeicher 26 ent
fernt, und ein neuer Bereich wird sichergestellt, und die
neuen Daten werden darin gespeichert. Als Verwaltung des
Cachespeichers 26 ist es ausreichend, ein LRU-Verfahren zu
verwenden, wodurch die zuletzt eingesetzten Daten an das
Ende einer Liste gesetzt werden, die von einer Cacheverwal
tungstabelle bestimmt wird, und die ältesten Daten, die
nicht verwendet wurden, werden entfernt. Andererseits geht
in Schritt S3, wenn die Datenregistrierung entsprechend der
Cache-Verwaltungstabelle vorliegt und die Trefferbeurtei
lung erhalten wird, die Verarbeitungsroutine von Schritt S3
zu S7, und die entsprechenden Daten werden aus dem Cache
speicher 26 ausgelesen und zum Datentransferpuffer 28
transferiert. In Schritt S8 werden die Daten zum Hostcompu
ter transferiert. Im Leseprozeß von Fig. 13 besteht, da die
Daten nur aus dem Platten-Array ausgelesen werden, keine
Notwendigkeit zur Aktualisierung der Paritätsdaten.
Fig. 14 ist ein Flußdiagramm, das die Details des in
Schritt S5 von Fig. 12 dargestellten Schreibprozesses zeigt.
In Fig. 14 notifiziert zuerst die Zugriffsverarbeitungssek
tion 34 die Trefferbeurteilungssektion 36 der Cachesteuer
sektion 24 von der Platten-ID, die als Analyseergebnis des
Hostbefehls in Schritt S1 erhalten wurde, und der Sektor-
Nr. entsprechend der Datenadresse. Der Trefferbeurteilungs
prozeß wird in Schritt S2 ausgeführt. Als Folge der Tref
ferbeurteilung folgt, wenn in Schritt S3 ein Fehler auf
tritt, da keine alten Daten vor der Aktualisierung im
Cachespeicher 26 vorliegen, Schritt S4. Die alten Daten vor
der Aktualisierung werden aus der entsprechenden Platten
vorrichtung zur Datenaufzeichnung auf Basis der Platten-ID
und der Datenadresse ausgelesen. Die alten Paritätsdaten
vor der Aktualisierung werden aus dem Sektor an der
gleichen Position wie jener der alten Daten der Plattenvor
richtung zur Paritätsaufzeichnung ausgelesen und zum Daten
transferpuffer 28 transferiert. In Schritt S5 bildet die
Zugriffsverarbeitungssektion 34 eine neue Parität Pnew aus
den alten Daten Dold und der alten Parität Pold, die aus
der Plattenvorrichtung ausgelesen wurden, und neuen Daten
Dnew. Die neue Parität wird nämlich aus dem Exklusiv-ODER
der alten Daten, alten Parität und neuen Daten in Überein
stimmung mit der vorstehenden Gleichung (1) gebildet. In
Schritt S6 werden die neuen Daten bzw. die neue Parität in
die entsprechenden Plattenvorrichtungen geschrieben und ak
tualisiert. In Schritt S7 werden die neuen Daten in den
Cachespeicher 26 gespeichert, wodurch der nächste Zugriff
vorbereitet wird. Zeigt andererseits das Ergebnis der Tref
ferbeurteilung in Schritt S3 den Treffer an, folgt Schritt
S8, und die alten Daten vor der Aktualisierung werden aus
dem Cachespeicher 26 ausgelesen. Anschließend, in Schritt
S9, wird die alte Parität vor der Aktualisierung aus dem
Sektor in der gleichen Position wie jener des Sektors, in
dem die alten Daten der Plattenvorrichtung zur Paritätsauf
zeichnung gespeichert wurden, ausgelesen und zum Daten
transferpuffer 28 transferiert. In nachfolgenden Prozessen
wird auf eine dem Fall eines Fehltreffers ähnliche Weise
die neue Parität in Schritt S5 gebildet, werden die neuen
Daten bzw. neue Parität in Schritt S6 in die Plattenvor
richtung geschrieben, werden die neuen Daten nach der Been
digung der Aktualisierung in Schritt S7 in den Cachespei
cher gespeichert, und wartet die Vorrichtung auf den näch
sten Zugriff.
Fig. 5 ist ein Flußdiagramm, das ein weiteres Ausfüh
rungsbeispiel des Schreibprozesses im in Fig. 12 darge
stellten Schritt S6 zeigt. Der Schreibprozeß ist dadurch
gekennzeichnet, daß in Schritt S8 ein derartiger Prozeß
vorgesehen wird, daß, wenn die Trefferbeurteilung in der
Cachesteuersektion 24 erhalten wird, die Daten im gleichen
Bereich eine Vielzahl von Malen am Cachespeicher 26 aktua
lisiert werden, und danach die Daten in die Plattenvorrich
tung rückgeschrieben werden. Im Schreibprozeß von Fig. 13
werden nämlich jedesmal, wenn die Daten aktualisiert
werden, die neuen Daten und neue Parität in die Plattenvor
richtung überschrieben, so daß der Datenaktualisierungspro
zeß Zeit braucht. Andererseits kann in der Ausführungsform
von Fig. 15, da der Rückschreibprozeß nur einmal für die
Plattenvorrichtung für eine Vielzahl von Malen der Aktuali
sierung ausgeführt wird, die Zeit, die für den Aktualisie
rungsprozeß erforderlich ist, reduziert werden. Das Prinzip
zur Bildung der Paritätsdaten, die nach der Beendigung
einer Anzahl von Malen der Aktualisierung in die Platten
vorrichtung geschrieben werden, wird nun nachstehend
erläutert.
Fig. 16 zeigt der einfachen Erläuterung halber das
Platten-Array. 46 mit drei Plattenvorrichtungen 32-1 bis
32-3. Die Daten D0 werden in die Plattenvorrichtung 32-1 im
Zustand vor der Aktualisierung gespeichert, die Daten D1
werden in die Plattenvorrichtung 32-2 gespeichert, und fer
ner wird die Parität P0 in die Plattenvorrichtung 32-3 für
Paritäten gespeichert. In diesem Zustand wird nun angenom
men, daß der Aktualisierungsprozeß dreimal an den Daten D0
der Plattenvorrichtung 32-1 auf eine Weise wie neue Daten
D01, D02 und D03 vorgenommen wurde. Die neuen Paritäten P1
bis P3 in der Datenaktualisierung für die Plattenvorrich
tung 32-1 des ersten bis dritten Males können in Überein
stimmung mit den folgenden Gleichungen erhalten werden.
- 1. Mal: neue Daten D01 (+) alte Daten D1 = neue Parität P1 . . . (2)
- 2. Mal: neue Daten D02 (+) alte Daten D1 = neue Parität P2 . . . (3)
- 3. Mal: neue Daten D03 alte Daten D1 = neue Parität P3 . . . (4).
Unter der Annahme, daß nun die Anzahl von Malen der
Aktualisierung, die ausgeführt werden, bis die Daten in die
Plattenvorrichtung in Schritt S8 von Fig. 15 überschrieben
werden, auf 3 eingestellt wird, wird die neue Parität P3,
die durch die Aktualisierung beim dritten Mal erhalten
wird, in die Plattenvorrichtung 32-3 gespeichert, und
werden die neuesten Aktualisierungsdaten D03 in die Plat
tenvorrichtung 32-1 gespeichert. In bezug auf die alten
Daten D1 der Gleichung (4), die das Ergebnis der Aktuali
sierung beim dritten Mal anzeigen, besteht die folgende Be
ziehung vom Speicherzustand vor der Aktualisierung:
alte Daten D0 (+) alte Daten D1 = alte Parität P0 . . . (5)
Die alten Daten D1 werden wie folgt in bezug auf die
Gleichung (5) erhalten:
alte Daten D0 = alte Daten D0 (+) alte Parität P0 . . . (6)
Daher kann durch das Einsetzen der Gleichung (6) in
die Gleichung (4): die neue Parität P3, die durch die Aktua
lisierung beim dritten Mal erhalten wird, wie folgt ausge
drückt werden:
neue Parität P3 = alte Daten D0 (+) alte Parität P0 (+)
neueste Daten D03 . . . (7)
Im Verfahren in Schritt S8 von Fig. 15 werden die in
Fig. 16 gezeigten Aktualisierungsprozesse beim ersten bis
dritten Mal am Cachespeicher 26 ausgeführt. Nachdem die Ak
tualisierung beim dritten Mal abgeschlossen wurde, wird die
neue Parität P3 aus der Gleichung (7) gebildet. Ein Prozeß
zum Überschreiben der neuesten Daten D03 und der neuen
Parität P3 in die Plattenvorrichtung wird ausgeführt. Zur
Bildung der neuen Parität P3 in der Gleichung (7) ist es
ausreichend, die alten Daten D0 vor der Aktualisierung und
die alte Parität P0 vor der Aktualisierung zu erhalten, und
die anderen Daten sind nicht nötig. Gemäß der Erfindung
werden daher Bereiche zur sequentiellen Aktualisierung der
Daten D01, D02 und D03 am Cachespeicher 26 neu sicherge
stellt, und die Daten werden aktualisiert. Am Endzeitpunkt
des Datenaktualisierungsprozesses beim dritten Mal werden
die alten Daten D0 vor der Aktualisierung, die bereits im
Cachespeicher gespeichert wurden, zusammen mit den neuesten
Daten D03 ausgelesen. Die alte Parität P0 vor der Aktuali
sierung wird aus der Plattenvorrichtung 32-3 ausgelesen,
und die neue Parität P3 wird in Übereinstimmung mit der
Gleichung (7) gebildet. Die neuen Daten D03 bzw. die neue
Parität P3 werden in die Plattenvorrichtungen über
schrieben.
Fig. 17 ist ein Flußdiagramm, das die Details des Über
schreibprozesses in Schritt S8 von Fig. 15 zeigt. In Fig. 17
wird zuerst, in Schritt S1, der Zählwert des Zählers N zum
Einstellen der Anzahl von Malen der Aktualisierung um 1 er
höht. Der Zähler N wurde im anfänglichen Zustand auf N = 0
zurückgesetzt. In Schritt 2 wird eine Prüfung durchgeführt,
um zu sehen, ob die Anzahl von Malen der Aktualisierung das
erste Mal ist oder nicht. Wenn NEIN, wird der Bereich der
Aktualisierungsdaten im Cachespeicher 26 in Schritt S3 neu
sichergestellt. Die neuen Daten werden zum ersten Mal in
dem neu im Cachespeicher 26 sichergestellten Bereich in
Schritt S4 aktualisiert. In Schritt S wird eine Prüfung
durchgeführt, um zu sehen, ob der Zähler N, der die Anzahl
von Malen der Aktualisierung anzeigt, eine eingestellte An
zahl von Malen, beispielsweise dreimal, erreicht hat oder
nicht. Wenn diese weniger als 3 beträgt, werden die Prozes
se in Schritt S6 bis S9 übergangen, und die Verarbeitungs
routine springt zu (1) in der Hauptroutine von Fig. 12 zu
rück. Wenn der Zähler N, der die Anzahl von Malen der Ak
tualisierung anzeigt, die eingestellte Anzahl von Malen in
Schritt S5 erreicht hat, folgt Schritt S6, und die alte
Parität vor der Aktualisierung des gleichen Segments wie
jenes der Aktualisierungsdaten wird aus der Plattenvorrich
tung für Paritäten ausgelesen, und die alten Daten vor der
Aktualisierung und die neuesten aktualisierten Daten werden
aus dem Cachespeicher 26 ausgelesen. In Schritt S7 wird die
neue Parität in Übereinstimmung mit der Gleichung (7) ge
bildet. Anschließend, in Schritt S8, werden die neuen Daten
bzw. die neue Parität in die entsprechenden Plattenvorrich
tungen geschrieben. Danach wird der Zähler N in Schritt S9
zurückgesetzt. Die Verarbeitungsroutine springt zu Schritt
S7 von Fig. 15 zurück. Die neuesten Aktualisierungsdaten
werden, nachdem sie überschrieben wurden, in den Cachespei
cher 26 gespeichert, und die Vorrichtung wartet auf den
nächsten Zugriff.
Fig. 18 ist eine erläuternde Darstellung, die den Spei
cherinhalt in dem Fall zeigt, wo nur die Paritätsdaten als
redundante Informationen im Cachespeicher 26 der in Fig. 9
dargestellten Platten-Array-Steuervorrichtung 10 gespei
chert wurden. Im Cachespeicher 26, der in dem zweiten Aus
führungsbeispiel verwendet wird, werden nur die Paritäts
daten P01, P02, P03, in den Bereichen gespeichert, die
durch das ODER der Platten-ID-Nummern 1 bis 5 und der Sek
tornummern bezeichnet werden. Die gesamte Verarbeitungs
operation in der Platten-Array-Steuervorrichtung 10 im Fall
des Speicherns nur der Paritätsdaten in den Cachespeicher
26 ist im wesentlichen gleich wie jene des Flußdiagramms
von Fig. 12. Ein Leseprozeß wird wie in Fig. 19 gezeigt aus
geführt. Ein Schreibprozeß wird wie in Fig. 20 dargestellt
ausgeführt.
Fig. 19 ist ein Flußdiagramm, das die Details des Lese
prozesses in dem Fall zeigt, wo nur die Paritätsdaten im
Cachespeicher 26 gespeichert wurden. In Schritt S1 notifi
ziert die Zugriffsverarbeitungssektion 34 die Plattenvor
richtung über den entsprechenden Geräteadapter von der
Platten-ID, die vom Ergebnis der Analyse des Hostbefehls
erhalten wurde, und der Segment-Nr., welche die Datenadres
se für anzeigt. In Schritt S2 werden die Daten aus der be
zeichneten Plattenvorrichtung ausgelesen und zum Daten
transferpuffer 28 transferiert. In Schritt S3 werden die
Daten zum Hostcomputer transferiert, und die Serie von
Prozessen wird abgeschlossen. Das heißt, in dem Fall, wo
nur die Paritätsdaten im Cachespeicher 26 gespeichert
wurden, wird im Leseprozeß nicht auf den Cachespeicher
zugegriffen.
Fig. 20 ist ein Flußdiagramm, das die Details des
Schreibprozesses in dem Fall zeigt, in dem nur die Pari
tätsdaten im Cachespeicher 26 registriert wurden. Im
Schreibprozeß von Fig. 20 beurteilt, ansprechend auf die
Notifikation von der Platten-ID und der Sektor-Nr. entspre
chend der Datenadresse in Schritt S1, die Trefferbeurtei
lungssektion 36 der Cachesteuersektion 24 den Treffer in
Schritt S2. In bezug auf eine Cacheverwaltungstabelle, die
den im Cachespeicher 26 registrierten Inhalt anzeigt, wie
in Fig. 18 dargestellt, da auf Grund der Platten-ID keine
Unterscheidung vorliegt, wird nämlich das Vorliegen oder
Fehlen der Cache-Registrierung nur durch die Sektornummer
diskriminiert. Im Fall eines Fehltreffers in Schritt S3
werden auf eine der ersten Ausführungsform ähnliche Weise
in Schritt S4 die alten Daten und alte Parität vor der Ak
tualisierung als der Plattenvorrichtung ausgelesen und zum
Datentransferpuffer 28 transferiert. In Schritt S5 wird die
neue Parität in Übereinstimmung mit der Gleichung (1) ge
bildet. In Schritt S6 werden die neuen Daten bzw. die neue
Parität in die entsprechenden Plattenvorrichtungen ge
schrieben. Ferner wird die neue Parität in Schritt S7 neu
in den Cachespeicher 26 gespeichert. Andererseits geht in
dem Fall, wo das Ergebnis der Trefferbeurteilung in S2 den
Treffer anzeigt, die Verarbeitungsroutine von Schritt S3 zu
S8, und die entsprechende alte Parität wird aus dem Cache
speicher 26 ausgelesen. In Schritt S9 werden die alten
Daten aus der entsprechenden Plattenvorrichtung ausgelesen
und zum Datentransferpuffer 28 transferiert. Auf dem obigen
ähnliche Weise werden die Bildung der neuen Parität in
Schritt S5, das Schreiben der neuen Daten und neuen Parität
in die Plattenvorrichtungen in Schritt S6 und die Speiche
rung der neuen Parität in den Cachespeicher 26 in Schritt
S7 ausgeführt.
Fig. 21 ist ein Flußdiagramm, das eine weitere Ausfüh
rungsform des Schreibprozesses im Fall des Speicherns nur
der Paritätsdaten in den Cachespeicher 26 zeigt, und diese
ist dadurch gekennzeichnet, daß Daten nach der Beendigung
des Datenaktualisierungsprozesses eine Vielzahl von Malen
in Schritt S8 von Fig. 15 in die Plattenvorrichtung ge
schrieben werden. Die Details des Datenüberschreibprozesses
in Schritt S8 sind wie in Fig. 22 gezeigt. Obwohl der Über
schreibprozeß in Fig. 22 grundsätzlich gleich ist wie jener
im Fall des in Fig. 17 gezeigten ersten Ausführungsbei
spiels, da nur die Paritätsdaten im Cachespeicher 26 ge
speichert wurden, unterscheidet er sich von dem ersten Aus
führungsbeispiel in bezug auf die Punkte, daß die alten
Daten aus der Plattenvorrichtung in Schritt S6 ausgelesen
werden, nachdem die Anzahl von Malen der Aktualisierung die
eingestellte Anzahl von Malen erreicht hat, und daß die
alte Parität und die neuesten Daten aus dem Cachespeicher
ausgelesen werden. Die anderen Prozesse sind im wesentli
chen gleich wie jene in der ersten Ausführungsform.
Fig. 23 zeigt ein funktionelles Blockbild des dritten
Ausführungsbeispiels der Erfindung. Das dritte Ausführungs
beispiel ist dadurch gekennzeichnet, daß sowohl die Daten
als auch die Paritätsdaten als redundante Informationen in
den Cachespeicher 26 gespeichert werden. Zuerst wird der
Cachespeicher 26 in einen Datenspeicherbereich 50 und einen
Paritätsspeicherbereich 52 geteilt.
Fig. 24 zeigt den Speicherinhalt im Cachespeicher 26.
In bezug auf die Platten-ID-Nr.1 bis 4 werden Daten im Da
tenspeicherbereich 50 gespeichert. In bezug auf die Plat
ten-ID-Nr. 5 werden Daten im Paritätsspeicherbereich 52 ge
speichert. Fig. 24 zeigt den Fall, wo die Plattenvorrichtung
für Paritäten auf die Plattenvorrichtung 32-5 festgelegt
ist. Der Grund, warum der Cachespeicher 26 in den Daten
speicherbereich 50 und den Paritätsspeicherbereich 52 ge
teilt wird, ist, da es in bezug auf das erste Ausführungs
beispiel ausreicht, nur den Datenspeicherbereich 50 zu ver
wenden, und in bezug auf das zweite Ausführungsbeispiel
ausreicht, nur den Paritätsspeicherbereich 52 zu verwenden,
es im Fall eines weiteren neuen Hinzufügens des Paritäts
speicherbereichs 52 und des Datenspeicherbereichs 50 zum
ersten und zweiten Ausführungsbeispiel zweckmäßig ist, den
Bereich zu teilen.
Fig. 25 ist eine erläuternde Darstellung, die den Spei
cherinhalt im Cachespeicher 26 in bezug auf ein Platten-
Array zeigt, in dem die Plattenvorrichtung zum Aufzeichnen
von Paritäten jedesmal verschieden ist, wenn sich die Sek
torposition ändert. In dem Fall, wo die Paritätsdaten in
den unterschiedlichen Plattenvorrichtungen gespeichert
wurden, die in jedem Segment verschieden sind, besteht
keine Notwendigkeit, den in Fig. 23 gezeigten Cachespeicher
26 einzeln in den Datenspeicherbereich 50 und den Paritäts
speicherbereich 52 zu teilen, und es ist ausreichend, Daten
und Paritätsdaten zu speichern, wobei der gesamte Cache
speicher als ein Bereich verwendet wird.
Die Details der gesamten Verarbeitungsoperation und
des Leseprozesses der Platten-Array-Steuervorrichtung 10 in
dem in Fig. 23 gezeigten dritten Ausführungsbeispiel sind im
wesentlichen gleich wie jene in dem ersten Ausführungsbei
spiel von Fig. 12 und 13. Die Details des Schreibprozesses
sind wie im Flußdiagramm von Fig. 26 dargestellt. Im
Schreibprozeß von Fig. 26 werden, wenn es zu einem Fehltref
fer in Schritt S3 kommt, in Schritt S7 sowohl die neuen Da
ten als auch die neuen Paritätsdaten in den Cachespeicher
26 gespeichert, und dieser Punkt unterscheidet sich von dem
ersten und zweiten Ausführungsbeispiel. Wenn es in Schritt
S3 zu einem Fehltreffer kommt, können sowohl die alten Da
ten als auch die alte Parität vor der Aktualisierung aus
dem Cachespeicher 26 in Schritt S8 ausgelesen werden, so
daß keine Notwendigkeit besteht, auf die Plattenvorrichtung
zuzugreifen, um die alten Daten und alte Parität auszule
sen. Der Datenaktualisierungsprozeß kann bei einer weit hö
heren Geschwindigkeit ausgeführt werden.
Fig. 27 zeigt ein weiteres Ausführungsbeispiel des
Schreibprozesses in dem dritten Ausführungsbeispiel, und
dieses ist dadurch gekennzeichnet, daß die Daten in die
Plattenvorrichtung geschrieben werden, nachdem die Daten
eine Vielzahl von Malen in Schritt S8 aktualisiert wurden.
Die Details dem Schreibprozesses sind wie im Flußdiagramm
von Fig. 28 gezeigt. Im Überschreibprozeß von Fig. 28 werden
in Schritt S6, in dem die Anzahl von Malen der Aktualisie
rung die eingestellte Anzahl von Malen erreicht hat, die
alte Parität und alten Daten vor der Aktualisierung und
ferner die neuesten Aktualisierungsdaten aus dem Cache
speicher 26 ausgelesen, und dieser Punkt unterscheidet sich
von dem ersten und zweiten Ausführungsbeispiel.
Fig. 29 ist ein funktionelles Blockbild des vierten
Ausführungsbeispiels. Das vierte Ausführungsbeispiel ist
dadurch gekennzeichnet, daß eine Dummy-Datenverarbeitungs
sektion 40 in der Platten-Steuervorrichtung 10 neu vorgese
hen ist, und Dummy-Daten Ddummy und Dummy-Paritätsdaten
Pdummy in die Plattenvorrichtungen 32-1 bis 32-5 des Plat
ten-Arrays 46 und Leerbereiche im Cachespeicher 26 gespei
chert werden. Wie oben erwähnt, kann durch das Speichern
der Dummy-Daten und Dummy-Paritätsdaten, die in den Plat
tenvorrichtungen 32-1 und 32-5 sowie den unbenutzten Be
reichen im Cachespeicher 26 festgelegt wurden, die Lese
operation der alten Daten und alten Parität in der Schreib
operation in bezug auf die Dummy-Daten und Dummy-Paritäts
daten entfallen.
Fig. 30 ist eine erläuternde Darstellung, die anfängli
che Zustände der Plattenvorrichtungen 32-1 bis 32-5 in dem
vierten Ausführungsbeispiel zeigt. Die Dummy-Daten und
Dummy-Paritätsdaten werden vorher in alle Sektoren als
Leerbereiche gespeichert, beispielsweise zur Zeit des Ver
sands der Platten-Array-Vorrichtung von der Fabrik oder
dgl. Die Plattenvorrichtungen 32-1 bis 32-5 in Fig. 29 sind
in bezug auf das Beispiel in dem Fall entsprechend RAID5
gezeigt und beschrieben, in dem die Plattenvorrichtung zum
Speichern von Paritätsdaten jedesmal verschieden ist, wenn
sich die Sektorposition ändert.
Fig. 31 zeigt Löschzustände der bestehenden Daten in
den Plattenvorrichtungen 32-1 bis 32-5 in dem vierten Aus
führungsbeispiel. Sogar in dem Fall, wo ein derartiges
Löschen durchgeführt wurde, werden die Dummy-Daten in den
Löschpositionen gespeichert, wie in Fig. 32 dargestellt. In
dem Fall, wo die Dummy-Daten in den Löschpositionen gespei
chert wurden, wird eine neue Parität in bezug auf die
Paritätsdaten des gleichen Segments gebildet.
Fig. 33 zeigt einen weiteren Löschprozeß der Platten
vorrichtungen 32-1 bis 32-5 in dem vierten Ausführungsbei
spiel. In dem Fall, wo ein derartiges Löschen von Daten
durchgeführt wurde, wie in Fig. 34 dargestellt, wird ein
Sortierprozeß zum Überschreiben der Daten ausgeführt, um
die gelöschten Leerbereiche zu den oberen Stellen zu be
wegen, werden Leersektorbereiche zusammen in den unteren
Stellen gebildet, und werden die Dummy-Daten und Dummy-
Paritätsdaten gespeichert.
Was die Prozesse bezüglich der Dummy-Daten und Dummy-
Paritätsdaten betrifft, wie in Fig. 29 bis 34 gezeigt, ist
es ausreichend, die Aktualisierung nach der Vollendung des
Lösch- und Sortierprozesses in bezug auf die effektiven
Daten und Paritätsdaten ohne die Dummy-Daten und Dummy-
Paritätsdaten in bezug auf die Seite des Cachespeichers 26
auszuführen.
Fig. 35 zeigt die Verarbeitungsoperation in dem Fall,
wo beispielsweise ein Löschbefehl der in der Plattenvor
richtung 32-1 gespeicherten Daten D1 vom Hostcomputer 18 in
dem vierten Ausführungsbeispiel empfangen wurde. Wenn der
Löschbefehl der Daten D1 vom Hostcomputer 18 empfangen
wird, werden die alten Daten D1 und die alte Parität P1 vor
der Aktualisierung, die im Cachespeicher 26 gespeichert
wurden, zuerst durch die Paritätsbildungsektion 42 ausge
lesen. Da die neuen Daten auf die Dummy-Daten Ddummy auf
Grund des Löschens der Daten D1 eingestellt werden, wird
eine neue Parität P1new durch das Exklusiv-ODER dieser drei
Daten gebildet. Anschließend werden, wie in Fig. 36 gezeigt,
die alten Daten D1 in der Plattenvorrichtung 32-1 in die
Dummy-Daten Ddummy überschrieben. Die alte Parität P1 in
der Plattenvorrichtung 32-4 wird in die neue Parität P1new,
die neu gebildet wurde, überschrieben. Ferner werden die im
Cachespeicher 26 gespeicherten Daten D1 gelöscht, und die
alte Parität P1 wird auf die neue Parität P1new aktuali
siert.
Fig. 37 ist eine erläuternde Darstellung, die Prozesse
im Fall der Aktualisierung einer Vielzahl von Dummy-Daten
zeigt, die in den gleichen Segmenten im Rang in dem vierten
Ausführungsbeispiel vorliegen. In Fig. 37 wird nun ange
nommen, daß die im Datentransferpuffer 28 gespeicherten
Daten D1 in den Leerbereich in der Plattenvorrichtung 32-1
geschrieben werden, und die Daten D2 in den Leerbereich in
der gleichen Sektorposition in der Plattenvorrichtung 32-2
geschrieben werden. In diesem Fall werden, um schließlich
die Parität P1 zu bilden, wenn die Schreiboperation der
Daten D2 abgeschlossen ist, die Daten D1 und D2, zwei
Dummy-Datenwerte, und ein Paritäts-Dummy-Datenwert in die
Paritätsbildungssektion 42 eingegeben, und die neue Parität
P1 wird durch das Exklusiv-ODER dieser Daten gebildet. An
schließend werden, wie in Fig. 38 gezeigt, die Daten D1 in
die Plattenvorrichtung 32-1 geschrieben, werden die Daten
D2 in die Plattenvorrichtung 32-2 geschrieben, und wird die
neue Parität P1, die durch die Paritätsbildungssektion 42
gebildet wurde, in die Plattenvorrichtung 32-5 geschrieben.
Die neuen Daten D1 und D2 sowie die Parität P1 werden auch
in den Cachespeicher 26 (nicht gezeigt) gespeichert, wo
durch der nächste Zugriff vorbereitet wird. Als Cachespei
cher, der in jedem der obigen Ausführungsbeispiele verwen
det wird, kann auch ein nichtflüchtiger Speicher mit einer
Not-Energiequelle verwendet werden, so daß die Vorrichtung
einen Energieausfall aus irgendwelchen Gründen bewältigen
kann. Durch die Verwendung des nichtflüchtigen Speichers
als Cachespeicher, wie oben erwähnt, werden, auch wenn es
zu einem Energieausfall kommt, die Cachedaten nicht ge
löscht, und es ist möglich zu verhindern, daß sich die Zugriffsleistung
unter Verwendung des Cachespeichers auf den
anfänglichen Zustand durch den Energieausfall verschlech
tert. Die Verwendung des nichtflüchtigen Speichers für den
gesamten Cachespeicher führt zu hohen Kosten. Daher kann
beispielsweise auch ein Teil des Cachespeichers aus einem
nichtflüchtigen Speicher konstruiert sein.
Fig. 39 zeigt eine Ausführungsform einer Platten-Array-
Vorrichtung der Erfindung mit einer Funktion eines Wieder
herstellungsprozesses, wenn die Energiequelle ausfällt. In
Fig. 39 ist der MPU 12 in der Platten-Array-Steuervorrich
tung 10 vorgesehen. Der ROM 20, in dem Steuerprogramme und
festgelegte Daten gespeichert wurden, der flüchtige Spei
cher 22 unter Verwendung eines RAM, der durch die Cache
steuersektion 24 vorgesehene Cachespeicher 26, der Daten
transferpuffer 28 und ein nichtflüchtiger Speicher 70, der
sogar auch bei Energieausfall durch eine Not-Energiequelle
72 arbeiten kann, sind mit dem internen Bus 14 des MPU 12
verbunden. Die Host-Schnittstelle 16 ist vorgesehen. Der
Hostcomputer 18, der als obere Vorrichtung dient, ist mit
der Host-Schnittstelle 16 verbunden. Andererseits sind in
der Ausführungsform sechs Plattenvorrichtungen 32-1 bis 32-6
für die Platten-Array-Steuervorrichtung 10 vorgesehen.
Die Plattenvorrichtungen 32-1 bis 32-6 sind jeweils mit dem
hinteren Bus 14 des MPU 12 durch die Geräteadapter 30-1 bis
30-6 verbunden. Von den sechs Plattenvorrichtungen 32-1 bis
32-6 werden vier Plattenvorrichtungen zum Speichern von
Daten verwendet, wird eine Plattenvorrichtung für Paritäten
eingesetzt und ist die verbleibende Plattenvorrichtung eine
Ersatzvorrichtung.
Da die Platten-Array-Vorrichtung der Erfindung die
gleiche Funktion realisiert wie jene von RAID4, in Fig. 5
gezeigt, oder RAID5, in Fig. 6 dargestellt, werden, wenn nun
beispielsweise angenommen wird, daß die Plattenvorrichtung
32-6 als Ersatz-Plattenvorrichtung eingestellt wird, im
Fall von RAID4 die Plattenvorrichtungen 32-1 bis 32-4 für
eine Datenspeicherung verwendet und wird die Plattenvor
richtung 32-5 für Paritäten eingesetzt. Andererseits werden
im Fall von RAID5 bei den Plattenvorrichtungen 32-1 bis
32-5 die gleichen Daten-Einheiten auf eine RAID4 ähnliche
Weise zusammen in eine Plattenvorrichtung gespeichert. Die
Plattenvorrichtung für Paritäten ist jedoch nicht festge
legt, und die Plattenvorrichtung für Paritäten wird sequen
tiell in Übereinstimmung mit einer vorherbestimmten Reihen
folge jedesmal umgeschaltet, wenn sich die gleiche Spei
cherposition in den Plattenvorrichtungen 32-1 bis 32-5
ändert.
Fig. 40 ist ein funktionelles Blockbild, das den Verar
beitungsinhalt in der ersten Ausführungsform von Fig. 39
zeigt. In Fig. 40 sind als Plattenvorrichtungen für die
Platten-Array-Steuervorrichtung 10 (n) Plattenvorrichtungen
32-1 bis 32-n als Beispiel dargestellt. Es wird nun ange
nommen, daß die Plattenvorrichtung 32-2 als Vorrichtung für
Paritäten verwendet wurde. Im Fall von RAID4 ist die Plat
tenvorrichtung 32-2 als Vorrichtung für Paritäten vorherbe
stimmt. In bezug auf RAID5 wird die Plattenvorrichtung 32-2
im Datenzugriff am vorliegenden Zeitpunkt für Paritäten po
sitioniert. Die für die Platten-Array-Steuervorrichtung 10
vorgesehene Zugriffsverarbeitungssektion 34 realisiert die
Funktionen als Datenschreibsektion 74, Paritätsaktualisie
rungssektion 76 und Datenwiederherstellungssektion 78 durch
die Programmsteuerung vom MPU 12. Der flüchtige Speicher 22
und der nichtflüchtige Speicher 70 sind mit der Zugriffs
verarbeitungssektion 34 verbunden. Die Zugriffsverarbei
tungssektion 34 weist darin einen Speicher zum temporären
Speichern der Daten auf, die unter den Plattenvorrichtungen
der Geräteadapter 30-1 bis 30-n, die für jede Plattenvor
richtung 32-1 bis 32-n vorgesehen sind, gesendet oder emp
fangen werden.
In der ersten Ausführungsform von Fig. 40 werden Verar
beitungsstufendaten 80, welche die Verarbeitungsstufen der
Datenschreibsektion 74 und Paritätsaktualisierungssektion
76 anzeigen, in den nichtflüchtigen Speicher 70 gespei
chert. Neue Daten 82, die vom Hostcomputer 18 transferiert
wurden und zum Schreiben in die bezeichnete Plattenvorrich
tung verwendet werden, werden in den Speicher 70 gespei
chert. Andererseits werden eine Zwischenparität 88 und eine
neue Parität 90, die durch Prozesse der Paritätsaktualisie
rungssektion 76 gebildet werden, in den flüchtigen Speicher
22 gespeichert. Ferner werden in bezug auf die Geräteadap
ter 30-1 bis 30-n die neuen Daten 82, die vom Hostcomputer
18 transferiert wurden, und die alten Daten 84, die von
einem Bereich ausgelesen wurden, in den neue Daten zur Ak
tualisierung der Parität geschrieben werden, beispielsweise
in den Geräteadapter 30-1 der Plattenvorrichtung 32-1 als
Ziel für das Schreiben von Daten gespeichert. Eine alte Pa
rität 86, die aus der gleichen Position entsprechend einem
Bereich, in den neue Daten in der Plattenvorrichtung 32-1
geschrieben werden, ausgelesen wird, und die neue Parität
90, die durch die Paritätsaktualisierungssektion 76 gebil
det wird, werden in den Geräteadapter 30-2 der Plattenvor
richtung 32-2 für Paritäten geschrieben. In dem Fall, wo
alle Speicher, die in der Platten-Array-Steuervorrichtung
10 verwendet werden, durch nichtflüchtige Speicher gebildet
werden, erhöht sich die Speicherkapazität und sind die Ko
sten hoch. Daher ist der nichtflüchtige Speicher 70 in der
ersten Ausführungsform dazu bestimmt, die Verarbeitungsstu
fendaten 80 und die neuen Daten 82 zu speichern, und der
nichtflüchtige Speicher 22 wird zum Speichern der Zwischen
parität 88 und der neuen Parität 90, die von den Daten 80
und 82 verschieden sind, verwendet. Wenn die neuen Daten 82
auf der Seite des Hostcomputers 18 zum Zeitpunkt des Ener
gieausfalls gehalten werden können, können auch die neuen
Daten 82 in den flüchtigen Speicher 22 gespeichert werden.
Fig. 41 ist ein Flußdiagramm, das die gesamte Verarbei
tungsoperation in der Zugriffsverarbeitungssektion 34 von
Fig. 40 zeigt. In Fig. 41 wird, wenn die Energiequelle der
Platten-Array-Vorrichtung zuerst eingeschaltet wird, ein
vorherbestimmter Initialisierungsprozeß auf Basis eines
Initialprogrammladens (IPL) in Schritt S1 ausgeführt. In
Schritt S2 wird eine Prüfung vorgenommen, um zu sehen, ob
die Energiequelle ausgefallen ist oder nicht. In dem Fall,
wo Netz ein durch die Anmeldung nach der Beendigung der
Unterbrechung der Energiequelle durch die gewöhnliche
Abmeldungsoperation gestartet wird, wird bestimmt, daß kein
Energieausfall vorliegt, so daß Schritt S3 folgt, und die
Vorrichtung wartet auf den Empfang des Befehls vom Hostcom
puter 18. Wenn der Befehl vom Hostcomputer 18 in Schritt S3
empfangen wird, wird der Befehl in Schritt S4 decodiert.
Wenn eine Anforderung für einen Lesezugriff in Schritt S5
diskriminiert wird, wird ein Datenleseprozeß in Schritt S8
ausgeführt. Andererseits wird, wenn eine Anforderung für
einen Schreibzugriff diskriminiert wird, ein Datenschreib
prozeß in Schritt S6 ausgeführt. Ein Paritätsaktualisie
rungsprozeß wird in Schritt S7 ausgeführt. In dem Fall, wo
der Energieausfall in Schritt S2 beim Start von Netz ein
diskriminiert wird, wird der Wiederherstellungsprozeß in
Schritt S9 ausgeführt. Danach werden die gewöhnlichen Pro
zesse in Schritt S3 und die nachfolgenden Schritte ausge
führt. Der Datenschreibprozeß in Schritt S6 im Flußdiagramm
von Fig. 41 werden durch die in der Zugriffsverarbeitungs
sektion 34 in Fig. 40 vorgesehene Datenschreibsektion 74
ausgeführt. Der Paritätsaktualisierungsprozeß in Schritt S7
wird durch die Paritätsaktualisierungssektion 76 ausge
führt. Der Wiederherstellungsprozeß in Schritt S9 wird fer
ner durch die Datenwiederherstellungssektion 78 ausgeführt.
Fig. 42 ist ein Flußdiagramm, das die Details des in
Schritt S8 von Fig. 41 gezeigten Datenleseprozesses dar
stellt. In Fig. 42 werden, wenn der Lesebefehl vom Hostcom
puter decodiert wird, Daten aus der Plattenvorrichtung
durch den Geräteadapter als Ziel für ein Lesen von Daten
ausgelesen. Die ausgelesenen Daten werden in Schritt S2 in
den Geräteadapter gespeichert. Danach werden die Daten in
Schritt S3 zum Hostcomputer 18 transferiert. In diesem Fall
werden, wenn sich eine Transferrate auf der Seite der Plat
tenvorrichtung von einer Transferrate auf der Seite des
Hostcomputers 18 unterscheidet, die ausgelesenen Daten, die
über den Datentransferpuffer 28, der in der in Fig. 39 ge
zeigten Platten-Array-Steuervorrichtung 10 vorgesehen ist,
gesendet wurden, zum Hostcomputer 18 transferiert.
Fig. 43 ist ein Flußdiagramm, das die Details des in
Schritt S6 in Fig. 41 gezeigten Datenschreibprozesses dar
stellt. In Fig. 43 werden, da neue Daten, die in die Plat
tenvorrichtung geschrieben werden, ansprechend auf einen
Schreibbefehl vom Hostcomputer 18 transferiert werden, in
Schritt S1 die neuen Daten 82 vom Hostcomputer 18 in den
Speicher, nämlich den nichtflüchtigen Speicher 70, gespei
chert. Anschließend werden unter der Annahme, daß bei
spielsweise die Plattenvorrichtung 32-1 als Schreibziel
bezeichnet wurde, in Schritt S2 die neuen Daten 82 trans
feriert und in den Geräteadapter 30-1 gespeichert. Der
Inhalt in einem Bereich, in den die neuen Daten in der
Plattenvorrichtung 32-1 geschrieben werden, wird als alte
Daten 84 ansprechend auf eine Instruktion vom Geräteadapter
30-1 ausgelesen und in den Geräteadapter 30-1 gespeichert.
Nachdem die alten Daten 84 gespeichert wurden, werden in
Schritt S5 die neuen Daten 82 im Geräteadapter 30-1 zur
Plattenvorrichtung 32-1 transferiert. Die neuen Daten 82
werden in einen Bereich geschrieben, in den die neuen Daten
in Schritt S6 geschrieben werden.
Fig. 44 ist ein Flußdiagramm, das die Details des in
Schritt S7 in Fig. 41 dargestellten Paritätsaktualisierungs
prozesses zeigt. In Fig. 44 wird der Inhalt im gleichen Be
reich in der Plattenvorrichtung 32-2 für Paritäten wie der
Bereich, in den neue Daten in der Plattenvorrichtung 32-1
geschrieben werden, zuerst als alte Parität 86 in Schritt
S1 ausgelesen. In Schritt S2 wird die ausgelesene alte Pa
rität 86 in den Geräteadapter 30-2 gespeichert. Anschlie
ßend, in Schritt S3, wird die Zwischenparität 88 aus den
alten Daten 84 und der alten Parität 86 in Schritt S3 ge
bildet und in den flüchtigen Speicher 22 gespeichert. Die
neuen Daten 82 im nichtflüchtigen Speicher 70 und die Zwi
schenparität 88 im flüchtigen Speicher 22 werden anschlie
ßend ausgelesen, und die neue Parität 90 wird gebildet und
in den flüchtigen Speicher 22 gespeichert. Die Zwischen
parität 88 wird aus dem Exklusiv-ODER der alten Daten 84
und der alten Parität 86 gebildet. Die neue Parität 90 wird
ähnlich aus dem Exklusiv-ODER der neuen Daten 82 und der
Zwischenparität 88 gebildet. Nachdem die neue Parität 90 in
Schritt S4 gebildet und gespeichert wurde, wird die neue
Parität 90 in Schritt S5 aus dem flüchtigen Speicher 22
ausgelesen und transferiert und in den Geräteadapter 30-2
gespeichert. Anschließend wird die neue Parität 90 in
Schritt S6 zur Plattenvorrichtung 32-2 für Paritäten trans
feriert. In Schritt S7 wird die neue Parität 90 in den
gleichen Bereich in der Plattenvorrichtung 32-2 wie den
Schreibbereich der neuen Daten in der Plattenvorrichtung
32-1 geschrieben. Der Paritätsaktualisierungsprozeß ist ab
geschlossen. Die neue Parität 90 wird grundsätzlich aus dem
Exklusiv-ODER der neuen Daten 82, alten Daten 84 und alten
Parität 86 gebildet. In der Ausführungsform von Fig. 43 wird
die neue Parität 90 über die Bildungsstufe der Zwischen
parität 88 gebildet. Als Bildungsschritt der neuen Parität
über die Stufe der Zwischenparität 88 gibt es die folgenden
drei Fälle, die den Fall von Fig. 41 beinhalten.
Das Exklusiv-ODER der neuen Daten 82 und der alten
Daten 84 wird berechnet, und die Zwischenparität 88 wird
gebildet und in den flüchtigen Speicher 22 gespeichert.
Nachdem die Zwischenparität 88 in den flüchtigen Speicher
22 gespeichert wurde, werden die alten Daten 84 unnötig, so
daß der Speicherbereich, in dem die alten Daten im Geräte
adapter 30-1 gespeichert wurden, freigegeben wird. Das
Exklusiv-ODER der Zwischenparität 88 im flüchtigen Speicher
22 und der alten Parität 86 des Geräteadapters 30-2 wird
realisiert, und die neue Parität 90 wird gebildet und in
den nichtflüchtigen Speicher 70 gespeichert. Es werden
nämlich die Prozesse der folgenden Gleichung ausgeführt:
neue Daten (+) alte Daten = Zwischenparität
Zwischenparität (+) alte Parität = neue Parität
neue Daten (+) alte Daten = Zwischenparität
Zwischenparität (+) alte Parität = neue Parität
Das Exklusiv-ODER der alten Daten 84 und der alten Pa
rität 86 wird realisiert, und die Zwischenparität 88 wird
gebildet und in den flüchtigen Speicher 22 gespeichert.
Nachdem die Zwischenparität 88 in den flüchtigen Speicher
22 gespeichert wurde, werden die Speicherbereiche, in
welche die alten Daten 84 des Geräteadapters 30-1 und die
alte Parität 86 des Geräteadapters 30-2 gespeichert wurden,
freigegeben. Anschließend wird das Exklusiv-ODER der Zwi
schenparität 88 im flüchtigen Speicher 22 und der neuen
Daten 82 im nichtflüchtigen Speicher 70 realisiert, und die
neue Parität 90 wird gebildet und in den flüchtigen Spei
cher 22 gespeichert. Die vorstehenden Prozesse entsprechen
den Prozessen in der Ausführungsform von Fig. 44, und es
werden die Prozesse der folgenden Gleichung ausgeführt:
alte Daten (+) alte Parität = Zwischenparität
Zwischenparität (+) neue Daten = neue Parität
alte Daten (+) alte Parität = Zwischenparität
Zwischenparität (+) neue Daten = neue Parität
Das Exklusiv-ODER der alten Parität 86, die im
Speicher des Geräteadapters 30-2 gespeichert ist, und der
neuen Daten 82 im nichtflüchtigen Speicher 70 wird reali
siert, und die Zwischenparität 88 wird gebildet und in den
flüchtigen Speicher 22 gespeichert. Nachdem die Zwischen
parität 88 in den flüchtigen Speicher 22 gespeichert wurde,
da die alte Parität 86 unnötig ist, wird der Speicherbe
reich im Geräteadapter 30-2, in dem die alte Parität ge
speichert würde, freigegeben. Anschließend wird das Exklu
siv-ODER der Zwischenparität 88 im flüchtigen Speicher 22
und der alten Daten 84 im Geräteadapter 30-1 realisiert,
und die neue Parität 90 wird gebildet und in den flüchtigen
Speicher 22 gespeichert. Das heißt, es werden die Prozesse
der folgenden Gleichung ausgeführt:
alte Parität (+) neue Daten = Zwischenparität
Zwischenparität (+) alte Daten = neue Parität.
alte Parität (+) neue Daten = Zwischenparität
Zwischenparität (+) alte Daten = neue Parität.
Ferner ist die Bildung der neuen Parität über die Bil
dungsstufe der Zwischenparität nicht auf die obigen Fälle 1
bis 3 beschränkt. Es ist ausreichend, die Prozesse in den
Fällen 1 bis 3, in Übereinstimmung mit der Reihenfolge der
Zeitpunkte zum Auslesen und Speichern der alten Daten 14848 00070 552 001000280000000200012000285911473700040 0002004345320 00004 1472984
des Geräteadapters 30-1 und der Zeitpunkte zum Auslesen und
Speichern der alten Parität 86 des Geräteadapters 30-2 vom
früheren Zeitpunkt sequentiell auszuwählen. Das heißt, im
Flußdiagramm von Fig. 41 wird, nachdem der Datenschreibpro
zeß in Schritt S6 ausgeführt wurde, der Paritätaktualisie
rungsprozeß sequentiell in Übereinstimmung mit der Reihen
folge in Schritt S7 ausgeführt. Tatsächlich wird jedoch,
nachdem der Plattenvorrichtung 30-1 ein Suchbefehl erteilt
und diese Plattenvorrichtung abgeschaltet wurde, der Plat
tenvorrichtung 32-2 für Paritäten ein Suchbefehl erteilt
und diese Plattenvorrichtung abgeschaltet. Die alten Daten
oder alte Parität werden aus einer der Plattenvorrichtungen 32-1
und 32-2 ausgelesen, die eine Notifikation empfangen
hat, welche die Vollendung der Suchoperation zum ersten Mal
anzeigt. Daher wird in dem Fall, wo die alten Daten 84 zu
erst ausgelesen wurden, die Zwischenparität aus den neuen
Daten und den alten Daten gebildet, wie in Fall 1 gezeigt.
In dem Fall, wo die alte Parität 86 zuerst ausgelesen
wurde, wird die Zwischenparität aus der alten Parität und
den neuen Daten gebildet, wie in Fall 3 gezeigt. Nachdem
die Zwischenparität gebildet wurde, wird in bezug auf Fall
1, wenn die alte Parität ausgelesen wird, die neue Parität
gebildet, und in bezug auf Fall 3 wird, wenn die alten
Daten ausgelesen werden, die neue Parität gebildet. Zu
einem Zeitpunkt, wenn alle neuen Daten, alten Daten und die
alte Parität erhalten werden, wird das Exklusiv-ODER pau
schal realisiert durch
neue Daten (+) alte Daten (+) alte Parität = neue Parität,
und die neue Parität wird gebildet, und der Bildungsschritt der Zwischenparität kann auch weggelassen werden.
neue Daten (+) alte Daten (+) alte Parität = neue Parität,
und die neue Parität wird gebildet, und der Bildungsschritt der Zwischenparität kann auch weggelassen werden.
Fig. 45 ist ein Flußdiagramm, das die Details des in
Schritt S9 in Fig. 41 dargestellten Wiederhersteilungsprozesses
zeigt. In der ersten Ausführungsform von Fig. 40
werden nur die Verarbeitungsstufendaten 80 und die neuen
Daten 82 im nichtflüchtigen Speicher 70 zur Zeit des
Energieausfalls gehalten. Daher ist der Inhalt des Wieder
herstellungsprozesses in Abhängigkeit davon unterschied
lich, ob der Zeitpunkt des Energieausfalls vor oder nach
dem Ende des Schreibens der neuen Daten 82 in die Platten
vorrichtung 32-1 liegt. Im Wiederherstellungsprozeß in
Fig. 45 erfolgt zuerst eine Prüfung in Schritt S1, um zu
sehen, ob das Schreiben der neuen Daten abgeschlossen
worden ist oder nicht. Wenn das Schreiben der neuen Daten
noch nicht abgeschlossen ist, bedeutet dies, daß die Ener
gie bereits vor der Vollendung des Schreibens der neuen
Daten ausgefallen ist. Daher geht die Verarbeitungsroutine
zu den Prozessen in Schritt S2 und den folgenden Schritten.
In Schritt S2 werden nämlich die neuen Daten 82, die im
nichtflüchtigen Speicher 70 gehalten werden, ausgelesen und
transferiert und in den Geräteadapter 30-1 gespeichert. Im
nächsten Schritt S3 wird der Inhalt in dem Bereich, in den
die neuen Damen geschrieben werden, als alte Daten 84 aus
der Plattenvorrichtung 32-1 ausgelesen. Die alten Daten 84
werden in Schritt S4 in den Geräteadapter 30-1 gespeichert.
Anschließend, in Schritt S5, werden die neuen Daten 82 im
Geräteadapter 30-1 zur Plattenvorrichtung 32-1 transfe
riert. In Schritt S6 werden die neuen Daten 82 in die Plat
tenvorrichtung 32-1 geschrieben. Das heißt, in dem Fall, wo
die Energie vor der Vollendung des Schreibens der neuen
Daten ausfällt, werden die gleichen Prozesse wie jene in
den Schritten S2 bis S6 mit Ausnahme von Schritt S1 im in
Fig. 43 gezeigten Datenschreibprozeß als Wiederherstel
lungsprozeß ausgeführt. Da die neuen Daten 82 im nicht
flüchtigen Speicher 70 gehalten wurden, wie oben erwähnt,
besteht keine Notwendigkeit, die neuen Daten 82 vom Host
computer 18 zur Zeit des Wiederherstellungsprozesses neu
erlich zu transferieren, und der Wiederherstellungsprozeß
kann bei hoher Geschwindigkeit nur bei einer diesem ent
sprechenden Geschwindigkeit ausgeführt werden. Nachdem in
Schritt S6 das Schreiben der neuen Daten 82 beendet wurde,
wird in Schritt S7 der Paritätsaktualisierungsprozeß ausge
führt. Der Paritätsaktualisierungsprozeß hat den gleichen
Inhalt wie der im Flußdiagramm von Fig. 44 gezeigte.
Andererseits folgt, wenn das Ende des Schreibens der
neuen Daten in Schritt S1 diskriminiert wird, Schritt S8,
und es wird eine Prüfung durchgeführt, um zu sehen, ob das
Schreiben der neuen Parität abgeschlossen ist oder nicht.
Wenn das Schreiben der neuen Parität noch nicht abgeschlos
sen ist, werden die Prozesse in Schritt S9 und den folgen
den Schritten ausgeführt. Zuerst wird, da das Schreiben der
neuen Daten in die Plattenvorrichtung 32-1 bereits abge
schlossen wurde, die neue Parität durch das Exklusiv-ODER
der Daten, die aus den anderen Plattenvorrichtungen 32-3
bis 32-n mit Ausnahme der Plattenvorrichtung 32-2 für Pari
täten ausgelesen wurden, und der neuen Daten in Schritt S9
gebildet. Die neue Parität wird nämlich nur aus den neuen
Daten und den Daten der anderen Plattenvorrichtungen gebil
det, ohne die alte- Parität zu verwenden. Anschließend, in
Schritt S10, wird die neue Parität transferiert und in den
Geräteadapter 30-2 gespeichert. Danach, in Schritt S11,
wird die neue Parität zur Plattenvorrichtung 32-2 transfe
riert. In Schritt S12 wird die neue Parität in die Platten
vorrichtung 32-2 geschrieben, und die Serie der Wiederher
stellungsprozesse ist abgeschlossen. Ferner springt in dem
Fall, wo das Ende des Schreibens der neuen Parität in
Schritt S8 diskriminiert wird, da der Wiederherstellungs
prozeß unnötig ist, die Verarbeitungsroutine direkt zur
Hauptroutine zurück.
Fig. 46 ist ein funktionelles Blockbild, das den Verar
beitungsinhalt der zweiten Ausführungsform des Wiederher
stellungsprozesses der Erfindung zeigt. Die zweite Ausfüh
rungsform ist dadurch gekennzeichnet, daß zusätzlich zu den
Verarbeitungsstufendaten 80 und den neuen Daten 82 jedoch
auch die Zwischenparität 88 in den nichtflüchtigen Speicher
70 gespeichert wird. Zu diesem Zweck wird die Speicherkapa
zität des nichtflüchtigen Speichers 70 nur um die Kapazität
zum Speichern der Zwischenparität 88 erhöht, und die Kosten
sind höher als jene der ersten Ausführungsform. Da jedoch
die Zwischenparität 88 auf Grund des Energieausfalls gehal
ten werden kann, kann der Wiederherstellungsprozeß weiter
bei hoher Geschwindigkeit ausgeführt werden. Der gesamte
Steuerprozeß in der zweiten Ausführungsform von Fig. 46 ist
grundsätzlich gleich wie jener der in Fig. 41 gezeigten
ersten Ausführungsform. Die Prozesse von der Datenschreib
sektion 74 und der Paritätsaktualisierungssektion 76 sind
auch im wesentlichen gleich wie jene in den Flußdiagramen
von Fig. 43 und 44, außer daß die Zwischenparität 88 in den
nichtflüchtigen Speicher 70 gespeichert wird. Andererseits
wird der Wiederherstellungsprozeß durch die Datenwiederher
stellungssektion 78 wie im Flußdiagramm von Fig. 47 gezeigt
ausgeführt, da die Zwischenparität 88 neu in den nicht
flüchtigen Speicher 70 gespeichert wurde. In Fig. 47 wird
der Zeitpunkt des Auftretens des Energieausfalls in den
Schritten S1, S8 bzw. S13 diskriminiert. Wenn in Schritt S1
bestimmt wird, daß das Schreiben der neuen Daten auf Grund
des Energieausfalls noch nicht abgeschlossen ist, werden
die Prozesse in den Schritten S2 bis S7 ausgeführt. Der
obige Punkt ist gleich wie jener im Fall der in Fig. 45 ge
zeigten ersten Ausführungsform. Wenn das Ende des Schrei
bens der neuen Daten in Schritt S1 beurteilt wird, erfolgt
anschießend eine Prüfung in Schritt S8, um zu sehen, ob die
Speicherung der Zwischenparität abgeschlossen wurde oder
nicht. Wenn die Zwischenparität noch nicht gespeichert ist,
nämlich in dem Fall, wo die Energie während eines Zeitraums
ausgefallen ist, bevor die Zwischenparität nach der Beendi
gung des Schreibens der neuen Daten gespeichert wird,
werden die Prozesse in den Schritten S9 bis S12 ausgeführt.
Diese Prozesse sind die gleichen wie die Prozesse in den
Schritten S9 bis S12 in der ersten Ausführungsform von
Fig. 47. Da die neuen Daten bereits geschrieben wurden, wird
die neue Parität gebildet, indem das Exklusiv-ODER der Da
ten, die aus den anderen Plattenvorrichtungen mit Ausnahme
der Plattenvorrichtung für Paritäten ausgelesen wurden, und
der neuen Daten realisiert wird und in die Plattenvorrich
tung für Paritäten geschrieben wird. Ferner folgt in dem
Fall, wo das Ende der Speicherung der Zwischenparität in
Schritt S8 beurteilt wird, Schritt S13, und es wird eine
Prüfung durchgeführt, um zu sehen, ob die neue Parität ge
schrieben wurde oder nicht. In dem Fall, wo die neue Pari
tät in Schritt S13 noch nicht geschrieben wurde, nämlich in
dem Fall, wo die Energie ausgefallen ist, bevor die neue
Parität nach der Beendigung der Speicherung der Zwischen
parität geschrieben wird, werden die Prozesse in den
Schritten S14 bis S17 ausgeführt. Zuerst, in Schritt S14,
wird die neue Parität aus dem Exklusiv-ODER der neuen Daten
82 und der Zwischenparität 88, die im nichtflüchtigen Spei
cher 70 gehalten werden, gebildet und in den nichtflüchti
gen Speicher 70 gespeichert. Im nächsten Schritt S15 wird
die neue Parität 90 aus dem nichtflüchtigen Speicher 70
ausgelesen und in den Geräteadapter 30-2 transferiert und
gespeichert. In Schritt S16 wird die neue Parität 90 zur
Plattenvorrichtung 32-2 transferiert. Die neuen Daten
werden in Schritt S17 geschrieben. Zur Zeit des Energie
ausfalls ist es, wenn die neuen Daten 82 und die Zwischen
parität 88 im nichtflüchtigen Speicher 70 gehalten werden
konnten, wie oben erwähnt, ausreichend, nur die Prozesse
derart auszuführen, daß die neue Parität 90 aus den neuen
Daten 82 und der Zwischenparität 88 gebildet wird und in
die Plattenvorrichtung 32-2 für Paritäten geschrieben wird.
Der Wiederherstellungsprozeß kann bei höherer Geschwindig
keit verglichen mit jener im Fall des neuerlichen Ausfüh
rens der Prozesse von Beginn an ausgeführt werden.
Fig. 48 zeigt eine Konstruktion der dritten Ausfüh
rungsform des Wiederherstellungsprozesses gemäß der Erfin
dung. Die Ausführungsform ist dadurch gekennzeichnet, daß
zusätzlich zu den Verarbeitungsstufendaten 80, neuen Daten
82 und der Zwischenparität 88 ferner auch die neue Parität 90
im nichtflüchtigen Speicher 70 gehalten wird, wie im
funktionellen Blockbild von Fig. 49 gezeigt. Ferner besteht
ein derartiges Merkmal, daß eine Not-Energiequellenleitung
94 von einer Not-Energiequelle 72 mit allen Geräteadaptern
530-1 bis 30-6 verbunden ist, die Geräteadapter 30-1 bis
30-6 zur Zeit des Energieausfalls operativ gemacht werden,
und die Wiederherstellungsdaten 84 und alte Parität 86, die
von der Seite-der Plattenvorrichtung ausgelesen wurden,
gehalten werden können, oder die neuen Daten 82 und die
neue Parität 90, die von der Seite der Zugriffsverarbei
tungssektion 34 transferiert wurden, gehalten werden
können. Gemäß der in Fig. 48 und 49 gezeigten dritten Aus
führungsform werden, wenn die Prozesse zur Zeit des Auf
tretens des Energieausfalls unterbrochen werden, die gerade
vor der Unterbrechung erhaltenen Daten wie sie sind im
nichtflüchtigen Speicher 70 und den Geräteadaptern 30-1 und
30-2 gehalten. Daher ist es ausreichend, den Prozeß von der
Stufe, die der Stufe, in welcher der Energieausfall aufge
treten ist, vorausgeht, als Wiederherstellungsprozeß, nach
dem die Energiequelle wiederhergestellt wurde, neu zu star
ten. Überlappende Prozesse vor und nach dem Energieausfall
können minimiert werden, und der Wiederherstellungsprozeß
kann bei hoher Geschwindigkeit ausgeführt werden.
Als weitere Ausführungsform der Erfindung ist es auch
möglich, die Ausführungsformen von Fig. 7 und 39 zu kombi
nieren. Als Hardware-Konstruktion wird für diesen Zweck ein
nichtflüchtiger Speicher als Cachespeicher 26 in der Aus
führungsform von Fig. 7 verwendet, und die Daten, welche die
Verarbeitungsstufe anzeigen und im nichtflüchtigen Speicher
70 in der Ausführungsform von Fig. 39 gespeichert wurden,
werden gespeichert. Als Verarbeitungsfunktion ist es aus
reichend, die Funktionen beider Ausführungsformen durch den
MPU 12 vorzusehen.
Obwohl die obigen Ausführungsformen in bezug auf ein
Beispiel beschrieben wurden, in dem eine Magnetplattenvor
richtung als Plattenvorrichtung eingesetzt wird, kann auch
ein Platten-Array unter Verwendung anderer optischer Plat
tenvorrichtungen als Magnetplattenvorrichtungen konstruiert
werden. Die Erfindung wird auch nicht durch die in den Aus
führungsformen gezeigten Zahlenwerte eingeschränkt.
Wenn die Energiequelle während des Schreibprozesses
des Platten-Arrays mit den Konstruktionen entsprechend
RAID4 und RAID5 ausfällt, kann durch das Neustarten des
Schreibprozesses vom halbem Wege nach der Wiederherstellung
der Energiequelle der Schreibprozeß unter Aufrechterhaltung
der Datenredundanz vollendet werden. Die Zuverlässigkeit
der Platten-Array-Vorrichtung kann weiter verbessert wer
den. Außerdem kann durch das Halten durch die Speicherung
der Daten in den nichtflüchtigen Speicher der Wiederher
stellungsprozeß nach dem Ausfall der Energiequelle bei hö
herer Geschwindigkeit ausgeführt werden, und kann die Vor
richtung bei höherer Geschwindigkeit operativ gemacht wer
den.
Claims (16)
1. Platten-Array-Vorrichtung, mit:
einem Platten-Array mit einer Vielzahl von Plattenvor richtungen zum Speichern von Daten und einer Plattenvor richtung zum Speichern redundanter Informationen;
einer Schreibeinrichtung zum Auslesen alter Daten, die in einer Schreibposition in der bezeichneten Plattenvor richtung gespeichert sind, wenn ein Schreibprozeß von einer oberen Vorrichtung angewiesen wird, und danach Schreiben neuer Daten, die von der oberen Vorrichtung transferiert werden;
einer Einrichtung zur Aktualisierung redundanter In formationen zum Auslesen der alten redundanten Informa tionen aus einer Speicherposition in der Plattenvorrichtung für redundante Informationen entsprechend der Platten- Schreibposition von der genannten Schreibeinrichtung, Bilden neuer redundanter Informationen auf Basis der ge nannten alten redundanten Informationen, alter Daten und neuer Daten, und anschließend Schreiben der neuen redundan ten Informationen in die Platten-Speicherposition der alten redundanten Informationen;
einer nichtflüchtigen Speichereinrichtung zum Spei chern von Verarbeitungsstufendaten, die Verarbeitungsstufen der genannten Schreibeinrichtung und genannten Einrichtung zur Aktualisierung redundanter Informationen anzeigen, und der neuen Daten, die von der oberen Vorrichtung transferiert werden, und
einer Wiederherstellungseinrichtung für eine Bezug nahme auf die Verarbeitungsstufendaten in der genannten nichtflüchtigen Speichereinrichtung zur Zeit des Einschal tens einer Energiequelle, und für den Fall, daß der Schreibprozeß auf halbem Wege unterbrochen wurde, zum Ausführen eines Wiederherstellungsprozesses unter Verwen dung der neuen Daten, die in der nichtflüchtigen Speichereinrichtung gehalten werden.
einem Platten-Array mit einer Vielzahl von Plattenvor richtungen zum Speichern von Daten und einer Plattenvor richtung zum Speichern redundanter Informationen;
einer Schreibeinrichtung zum Auslesen alter Daten, die in einer Schreibposition in der bezeichneten Plattenvor richtung gespeichert sind, wenn ein Schreibprozeß von einer oberen Vorrichtung angewiesen wird, und danach Schreiben neuer Daten, die von der oberen Vorrichtung transferiert werden;
einer Einrichtung zur Aktualisierung redundanter In formationen zum Auslesen der alten redundanten Informa tionen aus einer Speicherposition in der Plattenvorrichtung für redundante Informationen entsprechend der Platten- Schreibposition von der genannten Schreibeinrichtung, Bilden neuer redundanter Informationen auf Basis der ge nannten alten redundanten Informationen, alter Daten und neuer Daten, und anschließend Schreiben der neuen redundan ten Informationen in die Platten-Speicherposition der alten redundanten Informationen;
einer nichtflüchtigen Speichereinrichtung zum Spei chern von Verarbeitungsstufendaten, die Verarbeitungsstufen der genannten Schreibeinrichtung und genannten Einrichtung zur Aktualisierung redundanter Informationen anzeigen, und der neuen Daten, die von der oberen Vorrichtung transferiert werden, und
einer Wiederherstellungseinrichtung für eine Bezug nahme auf die Verarbeitungsstufendaten in der genannten nichtflüchtigen Speichereinrichtung zur Zeit des Einschal tens einer Energiequelle, und für den Fall, daß der Schreibprozeß auf halbem Wege unterbrochen wurde, zum Ausführen eines Wiederherstellungsprozesses unter Verwen dung der neuen Daten, die in der nichtflüchtigen Speichereinrichtung gehalten werden.
2. Platten-Array-Vorrichtung nach Anspruch 1, dadurch ge
kennzeichnet, daß für den Fall, daß ein Energieausfall vor
der Vollendung des Schreibens der neuen Daten in die Plat
tenvorrichtung aufgetreten ist, die Schreibeinrichtung Pro
zesse derart ausführt, daß die alten Daten, die in der
Schreibposition in der bezeichneten Plattenvorrichtung ge
speichert sind, ausgelesen werden, und danach die neuen
Daten, die aus der nichtflüchtigen Speichereinrichtung aus
gelesen werden, eingeschrieben werden, und daß anschließend
die Einrichtung zur Aktualisierung redundanter Informatio
nen Prozesse derart ausführt, daß die alten redundanten In
formationen aus der Speicherposition in der Plattenvorrich
tung für redundante Informationen entsprechend der Platten-
Schreibposition von der genannten Schreibeinrichtung ausge
lesen werden, und neue redundante Informationen auf Basis
der alten redundanten Informationen, alter Daten und neuer
Daten gebildet werden, und danach die neuen redundanten In
formationen in die Platten-Speicherposition der alten re
dundanten Informationen geschrieben werden.
3. Platten-Array-Vorrichtung nach Anspruch 1, dadurch ge
kennzeichnet, daß für den Fall, daß der Energieausfall vor
der Vollendung des Schreibens der neuen redundanten Infor
mationen in die Plattenvorrichtung für redundante Informa
tionen aufgetreten ist, die Schreibeinrichtung einen Prozeß
ausführt, um die Speicherdaten in den entsprechenden Posi
tionen in den anderen Plattenvorrichtungen als der Platten
vorrichtung, in die die neuen Daten geschrieben werden, und
der Plattenvorrichtung für redundante Informationen aus zu
lesen, und daß anschließend die Einrichtung zur Aktualisie
rung redundanter Informationen Prozesse derart ausführt,
daß neue redundante Informationen aus den Daten, die aus
den anderen Plattenvorrichtungen ausgelesen werden, und den
neuen Daten, die aus der nichtflüchtigen Speichereinrich
tung ausgelesen werden, gebildet werden, und danach die
neuen redundanten Informationen in die Platten-Speicher
position der alten redundanten Informationen geschrieben
werden.
4. Platten-Array-Vorrichtung nach Anspruche 1, dadurch
gekennzeichnet, daß die genannte Einrichtung zur Aktuali
sierung redundanter Informationen redundante Zwischenin
formationen aus den alten redundanten Informationen und den
alten Daten bildet, und danach neue redundante Informa
tionen aus den redundanten Zwischeninformationen und den
neuen Daten bildet, und zusätzlich zu den Verarbeitungs
stufendaten und den neuen Daten die redundanten Zwischen
informationen in der nichtflüchtigen Speichereinrichtung
gespeichert werden.
5. Platten-Array-Vorrichtung nach einem der Ansprüche 1
bis 4, dadurch gekennzeichnet, daß diese ferner eine Wie
derherstellungseinrichtung für eine Bezugnahme auf Verar
beitungsstufendaten der genannten nichtflüchtigen Speicher
einrichtung zur Zeit des Einschaltens einer Energiequelle,
und für den Fall, daß der Schreibprozeß auf halbem Wege
unterbrochen wurde, zum Ausführen des Wiederherstellungs
prozesses unter Verwendung der neuen Daten und redundanter
Zwischeninformationen, die in der genannten nichtflüchtigen
Speichereinrichtung gehalten wurden, aufweist.
6. Platten-Array-Vorrichtung nach Anspruch 5, dadurch ge
kennzeichnet, daß für den Fall, daß der Energieausfall vor
der Vollendung des Schreibens der neuen Daten in die Plat
tenvorrichtung aufgetreten ist, es die genannte Wiederher
stellungseinrichtung ermöglicht, daß die Schreibeinrichtung
Prozesse derart ausführt, daß die alten Daten, die in der
Schreibposition in der bezeichneten Plattenvorrichtung ge
speichert sind, ausgelesen werden, und danach die neuen
Daten, die aus der nichtflüchtigen Speichereinrichtung aus
gelesen werden, eingeschrieben werden, und es die genannte
Wiederherstellungseinrichtung anschließend ermöglicht, daß
die Einrichtung zur Aktualisierung redundanter Informatio
nen Prozesse derart ausführt, daß die alten redundanten In
formationen aus der Speicherposition in der Plattenvorrich
tung für redundante Informationen entsprechend der Platten-
Schreibposition von der genannten Schreibeinrichtung ausge
lesen werden, und neue redundante Informationen auf Basis
der alten redundanten Informationen, alter Daten und neuer
Daten über die Bildung der redundanten Zwischeninformatio
nen gebildet werden, und danach die neuen redundanten In
formationen in die Platten-Speicherposition der alten re
dundanten Informationen eingeschrieben werden.
7. Platten-Array-Vorrichtung nach Anspruch 5, dadurch ge
kennzeichnet, daß für den Fall, daß der Energieausfall auf
getreten ist, bevor die redundanten Zwischeninformationen
in die nichtflüchtige Speichereinrichtung nach der Vollen
dung des Schreibens der neuen Daten gespeichert werden, es
die genannte Wiederherstellungseinrichtung ermöglicht, daß
die Schreibeinrichtung einen Prozeß ausführt, um die Spei
cherdaten in den entsprechenden Positionen in den anderen
Plattenvorrichtungen als der Plattenvorrichtung, in die die
neuen Daten geschrieben werden, und der Plattenvorrichtung
für redundante Informationen auszulesen, und es die genann
te Wiederherstellungseinrichtung anschließend ermöglicht,
daß die Einrichtung zur Aktualisierung redundanter Informa
tionen Prozesse derart ausführt, daß neue redundante Infor
mationen aus den Daten, die aus den anderen Plattenvorrich
tungen ausgelesen werden, und den neuen Daten, die aus der
nichtflüchtigen Speichereinrichtung ausgelesen werden, ge
bildet werden, und danach die neuen redundanten Informatio
nen in die Platten-Speicherposition der alten redundanten
Informationen eingeschrieben werden.
8. Platten-Array-Vorrichtung nach Anspruch 5, dadurch ge
kennzeichnet, daß für den Fall, daß der Energieausfall vor
der Vollendung des Schreibens der neuen Daten aufgetreten
ist, nachdem die redundanten Zwischeninformationen gespei
chert worden waren, es die genannte Wiederherstellungsein
richtung ermöglicht, daß die Einrichtung zur Aktualisierung
redundanter Informationen Prozesse derart ausführt, daß
neue Daten und redundante Zwischeninformationen aus der
nichtflüchtigen Speichereinrichtung ausgelesen werden, und
neue redundante Informationen gebildet werden, und danach
die neuen redundanten Informationen in die Platten-Spei
cherposition der alten redundanten Informationen einge
schrieben werden.
9. Platten-Array-Vorrichtung nach Anspruch 1, dadurch ge
kennzeichnet, daß die genannte nichtflüchtige Speicherein
richtung ferner die neuen redundanten Informationen zusätz
lich zu den Verarbeitungsstufendaten und den neuen Daten
speichert.
10. Platten-Array-Vorrichtung nach Anspruch 9, dadurch ge
kennzeichnet, daß diese ferner eine Wiederherstellungsein
richtung für eine Bezugnahme auf Verarbeitungsstufendaten
der genannten nichtflüchtigen Speichereinrichtung zur Zeit
des Einschaltens einer Energiequelle, und für den Fall, daß
der Schreibprozeß auf halbem Wege unterbrochen wurde, zum
Ausführen eines Wiederherstellungsprozesses unter Verwen
dung der neuen Daten und der neuen redundanten Informatio
nen, die in der nichtflüchtigen Speichereinrichtung gehal
ten werden, aufweist.
11. Platten-Array-Vorrichtung nach Anspruch 9, dadurch ge
kennzeichnet, daß eine Not-Energiequelle einen Platten-
Adapter versorgt, der für jede der genannten Vielzahl von
Plattenvorrichtungen vorgesehen ist, so daß, wenn die Ener
giequelle ausfällt, die alten Daten und die alten redundan
ten Informationen gehalten werden können.
12. Platten-Array-Vorrichtung nach einem der vorherigen
Ansprüche, dadurch gekennzeichnet, daß die genannte nicht
flüchtige Speichereinrichtung eine Not-Energiequelle
aufweist.
13. Platten-Array-Vorrichtung nach einem der vorherigen
Ansprüche, dadurch gekennzeichnet, daß jede der genannten
Vielzahl von Plattenvorrichtungen das Schreiben der
gleichen Daten, die zu einer Dateneinheit gehören,
akzeptiert und eine vorherbestimmte Plattenvorrichtung zum
Speichern der redundanten Informationen verwendet.
14. Platten-Array-Vorrichtung nach einem der vorherigen
Ansprüche, dadurch gekennzeichnet, daß jede der Vielzahl
von Plattenvorrichtungen das Einschreiben von den gleichen
Daten, die zu einer Dateneinheit gehören, annimmt und die
Plattenvorrichtungen so ausgebildet sind, daß die Platten
vorrichtung, welche dafür verwendet wird, um die redundan
ten Informationen zu speichern, eine andere ist, und zwar
jedesmal dann, wenn die genannten Daten eingeschrieben
werden.
15. Platten-Array-Vorrichtung nach einem der vorherigen
Ansprüche, dadurch gekennzeichnet, daß die genannte
Schreibeinrichtung und die genannte Einrichtung zur
Aktualisierung redundanter Informationen parallel betrieben
werden.
16. Platten-Array-Vorrichtung nach einem der vorherigen
Ansprüche, dadurch gekennzeichnet, daß Paritätsdaten als
genannte redundante Informationen verwendet werden.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE4392143A DE4392143C1 (de) | 1992-05-21 | 1993-05-20 | Platten-Array-Vorrichtung |
Applications Claiming Priority (7)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP4-128975 | 1992-05-21 | ||
JP4128975A JPH05324206A (ja) | 1992-05-21 | 1992-05-21 | ディスクアレイ装置 |
JP4-269824 | 1992-10-08 | ||
JP4-269823 | 1992-10-08 | ||
JP4269823A JP2857288B2 (ja) | 1992-10-08 | 1992-10-08 | ディスクアレイ装置 |
JP04269824A JP3122252B2 (ja) | 1992-10-08 | 1992-10-08 | ディスクアレイ制御方式 |
DE4392143A DE4392143C1 (de) | 1992-05-21 | 1993-05-20 | Platten-Array-Vorrichtung |
Publications (2)
Publication Number | Publication Date |
---|---|
DE4345320A1 true DE4345320A1 (de) | 1995-11-09 |
DE4345320B4 DE4345320B4 (de) | 2006-12-28 |
Family
ID=37546894
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE4345320A Expired - Fee Related DE4345320B4 (de) | 1992-05-21 | 1993-05-20 | Platten-Array-Vorrichtung |
Country Status (1)
Country | Link |
---|---|
DE (1) | DE4345320B4 (de) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE19826091A1 (de) * | 1998-06-12 | 1999-12-16 | Alcatel Sa | Verfahren zum gesicherten Ändern von in einer Datenbank gespeicherten Daten, Datenbanksystem und damit ausgestattetes Netzelement |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO1991013405A1 (en) * | 1990-03-02 | 1991-09-05 | Sf2 Corporation | Non-volatile memory storage of write operation identifier in data storage device |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB1545169A (en) * | 1977-09-22 | 1979-05-02 | Burroughs Corp | Data processor system including data-save controller for protection against loss of volatile memory information during power failure |
-
1993
- 1993-05-20 DE DE4345320A patent/DE4345320B4/de not_active Expired - Fee Related
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO1991013405A1 (en) * | 1990-03-02 | 1991-09-05 | Sf2 Corporation | Non-volatile memory storage of write operation identifier in data storage device |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE19826091A1 (de) * | 1998-06-12 | 1999-12-16 | Alcatel Sa | Verfahren zum gesicherten Ändern von in einer Datenbank gespeicherten Daten, Datenbanksystem und damit ausgestattetes Netzelement |
Also Published As
Publication number | Publication date |
---|---|
DE4345320B4 (de) | 2006-12-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP0163096B1 (de) | Einrichtung zur Rettung eines Rechnerzustandes | |
DE69034227T2 (de) | EEprom-System mit Blocklöschung | |
DE69434381T2 (de) | Verfahren zur Paritätsdarstellung in einem Raid-Untersystem unter Verwendung eines nichtflüchtigen Speichers | |
DE69817696T2 (de) | Warmaustausch von gespiegeltem Nachschreib-Cachespeicher | |
DE69630624T2 (de) | EEPROM-Matrix mit einem, dem "Flash"-Speicher ähnlichen Kern | |
DE60213867T2 (de) | Vorrichtung zur verwaltung von datenreplikation | |
DE69937768T2 (de) | Externe Speichervorrichtung und Verfahren zur Datensicherung | |
DE69632219T2 (de) | Speicherplattenanordnungssystem | |
DE19740525C1 (de) | Verfahren zur Abspeicherung und Wiedergewinnung von Daten in einem Steuersystem, insbesondere in einem Kraftfahrzeug | |
DE60038364T2 (de) | Computersystem und Speicherauszugsdatenverwaltungsverfahren | |
DE69821426T2 (de) | Speicheranordung, und Datenverarbeitungssystem und -Verfahren | |
DE69727083T2 (de) | Überprüfungssystem um die integrität der parität einer speicherplattenmatrix aufrechtzuerhalten | |
DE60318687T2 (de) | Herstellen einer gespiegelten kopie unter verwendung inkrementeller divergenz | |
DE60121697T2 (de) | Verfahren zum ansteuern von remapping in einem flash-speicher und in einer dafür geeigneten flash-speicher-architektur | |
DE602005000819T2 (de) | Aufrechterhaltung der konsistenz einer fernkopie unter verwendung von virtualisierung | |
DE10238566A1 (de) | Fenster-basierendes Flashspeicher-Speichersystem und Management und Zugriffsverfahren darauf | |
DE19615948A1 (de) | Flash-Festkörper-Plattenspeicher-Karte | |
EP1190324B1 (de) | Verfahren zum gesicherten schreiben eines zeigers für einen ringspeicher | |
DE4220198A1 (de) | Wiederherstellungsprotokollieren bei vorliegen von schnappschuss-dateien durch ordnen des pufferspeicherladens | |
DE69820164T2 (de) | Speichervorrichtung sowie Datenlese- und Schreibverfahren | |
DE602004007925T2 (de) | Verwalten einer beziehung zwischen einem zielvolumen und einem quellenvolumen | |
DE19960258A1 (de) | Flash-Speicher-Einheit und Verfahren zur Steuerung des Flash-Speichers | |
DE69627918T2 (de) | Verfahren und System der inkrementellen Speicherung für ein Rechnerarchiv | |
EP1514171B1 (de) | Verfahren zur wiederherstellung von verwaltungsdatensätzen eines blockweise löschbaren speichers | |
DE4392143C1 (de) | Platten-Array-Vorrichtung |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AH | Division in |
Ref country code: DE Ref document number: 4392143 Format of ref document f/p: P |
|
OP8 | Request for examination as to paragraph 44 patent law | ||
AH | Division in |
Ref country code: DE Ref document number: 4392143 Format of ref document f/p: P |
|
AC | Divided out of |
Ref document number: 4392143 Country of ref document: DE Kind code of ref document: P |
|
8364 | No opposition during term of opposition | ||
8328 | Change in the person/name/address of the agent |
Representative=s name: SEEGER SEEGER LINDNER PARTNERSCHAFT PATENTANWAELTE |
|
8339 | Ceased/non-payment of the annual fee |