DE4345320A1 - Platten-Array-Vorrichtung - Google Patents

Platten-Array-Vorrichtung

Info

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
Application number
DE4345320A
Other languages
English (en)
Other versions
DE4345320B4 (de
Inventor
Suijin Takeda
Sawao Iwatani
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from JP4128975A external-priority patent/JPH05324206A/ja
Priority claimed from JP4269823A external-priority patent/JP2857288B2/ja
Priority claimed from JP04269824A external-priority patent/JP3122252B2/ja
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to DE4392143A priority Critical patent/DE4392143C1/de
Priority claimed from DE4392143A external-priority patent/DE4392143C1/de
Publication of DE4345320A1 publication Critical patent/DE4345320A1/de
Application granted granted Critical
Publication of DE4345320B4 publication Critical patent/DE4345320B4/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1441Resetting or repowering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1076Parity data used in redundant arrays of independent storages, e.g. in RAID systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1435Saving, restoring, recovering or retrying at system level using file system or storage system metadata
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/70Masking faults in memories by using spares or by reconfiguring
    • G11C29/88Masking faults in memories by using spares or by reconfiguring with partially good memories
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1012Adding 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0866Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache

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.
[Hintergrundtechnik]
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.
[RAID0]
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.
[RAID1]
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.
[RAID2]
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.
[RAID3]
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.
[RAID4]
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.
[RAID5)
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.
[Modus 1]
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.
[Modus 2]
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.
1. Hardware-Konstruktionsgrundlage für die Erfindung
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.
2. Erstes Ausführungsbeispiel, in der nur Daten in den Cachespeicher gespeichert werden
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.
3. Umschreibprozeß in der Plattenvorrichtung nach der Beendigung der Aktualisierungsprozesse eine Vielzahl von Malen
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.
4. Zweites Ausführungsbeispiel, bei dem nur redundante Informationen in den Cachespeicher gespeichert werden
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.
5. Drittes Ausführungsbeispiel, in welchem sowohl die Daten als auch die redundanten Informationen in den Cache-Speicher gespeichert werden
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.
6. Viertes Ausführungsbeispiel, in der Dummy-Daten in einen Leerbereich gespeichert werden
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.
7. Ausführungsform, in der ein Wiederherstellungsprozeß für den Energieausfall unter Verwendung eines nicht­ flüchtigen Speichers ausgeführt wird
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.
[Fall 1]
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
[Fall 2]
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
[Fall 3]
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.
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.
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.
[Industrielle Anwendbarkeit]
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.
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.
DE4345320A 1992-05-21 1993-05-20 Platten-Array-Vorrichtung Expired - Fee Related DE4345320B4 (de)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Patent Citations (1)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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