DE69738091T2 - Speicherplattenanordnung und Verfahren zu deren Steuerung - Google Patents

Speicherplattenanordnung und Verfahren zu deren Steuerung Download PDF

Info

Publication number
DE69738091T2
DE69738091T2 DE69738091T DE69738091T DE69738091T2 DE 69738091 T2 DE69738091 T2 DE 69738091T2 DE 69738091 T DE69738091 T DE 69738091T DE 69738091 T DE69738091 T DE 69738091T DE 69738091 T2 DE69738091 T2 DE 69738091T2
Authority
DE
Germany
Prior art keywords
data
redundant
redundant data
write
write data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
DE69738091T
Other languages
English (en)
Other versions
DE69738091D1 (de
Inventor
Eiji Katsuragi
Mikito Ogata
Akira Kurano
Toshihiko Tamiya
Akira Yamamoto
Naoya Takahashi
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.)
Hitachi Ltd
Original Assignee
Hitachi 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
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Publication of DE69738091D1 publication Critical patent/DE69738091D1/de
Application granted granted Critical
Publication of DE69738091T2 publication Critical patent/DE69738091T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime 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/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
    • G06F2211/00Indexing scheme relating to details of data-processing equipment not covered by groups G06F3/00 - G06F13/00
    • G06F2211/10Indexing scheme relating to G06F11/10
    • G06F2211/1002Indexing scheme relating to G06F11/1076
    • G06F2211/1054Parity-fast hardware, i.e. dedicated fast hardware for RAID systems with parity
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2211/00Indexing scheme relating to details of data-processing equipment not covered by groups G06F3/00 - G06F13/00
    • G06F2211/10Indexing scheme relating to G06F11/10
    • G06F2211/1002Indexing scheme relating to G06F11/1076
    • G06F2211/1066Parity-small-writes, i.e. improved small or partial write techniques in RAID systems

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)
  • Hardware Redundancy (AREA)

Description

  • HINTERGRUND DER ERFINDUNG
  • Gebiet der Erfindung
  • Die vorliegende Erfindung bezieht sich auf eine Speicherplattenanordnungstechnik und eine Technik zum Steuern der Speicherplattenanordnung und genauer auf die Technik zur wirksamen Verbesserung der Effizienz und Zuverlässigkeit eines Prozesses für beim Schreiben von Daten erzeugte redundante Daten.
  • Beschreibung des verwandten Standes der Technik
  • David A. Patterson et al. haben in "A Case for Redundant Arrays of Inexpensive Disks (RAID)", University of California Report, 1.12.1987, S. 109–116, XP000577756, ein Verfahren zum Speichern redundanter Daten in einem Teil eines Speichergeräts beschrieben. Dieses Verfahren umfasst die Schritte des Vorbereitens mehrerer Speichergeräte (Plattenlaufwerke), des Aufteilens der I/O-Daten von einem Host-Computer in die der Anzahl der Speichergeräte entsprechende Anzahl von Teilen, des Aufnehmens und Reproduzierens der aufgeteilten Daten in und aus den Speichergeräten sowie des Wiederherstellens von Fehlerdaten aus einem oder mehreren normalen Speichergeräten, wenn ein zeitweiliges oder dauerhaftes Versagen in einigen der Speichergeräte vorliegt. Laut diesem Bericht stehen die folgenden zwei Verfahren zum Erzeugen redundanter Daten bereit.
  • Das erste Verfahren zum Erzeugen der redundanten Daten, das als Verfahren des Lesens und Modifizierens bezeichnet wird, ist dazu ausgelegt, Schreibdaten von einem Host-Computer, vorherige Daten (Daten vor der Aufdatierung), die in einem Speichergerät, in dem die Schreibdaten zu speichern sind, gespeichert werden, sowie vorherige Daten (Daten vor der Aufdatierung), die in einem Speichergerät gespeichert werden, in dem die erzeugten redundanten Daten zu speichern sind, zum Zwecke der Erzeugung der redundanten Daten zu benutzen. In diesem Verfahren finden unter der Annahme, dass die Aufteilungszahl der Schreibdaten a ist, für alle Speichergeräte die I/Os zum Schreiben (a + 1)-mal und die I/Os zum Lesen ebenfalls (a + 1)-mal statt. Insgesamt erreicht die Anzahl der I/Os 2 × a + 2. Wenn das Speichergerät die redundanten Daten nicht enthält, ist die Anzahl der Zugriffe a. Das bedeutet, dass der Gebrauch der redundanten Daten einen Anstieg der Anzahl der I/Os um a + 2 mit sich bringt.
  • Das zweite Verfahren zum Erzeugen der redundanten Daten, das als All-Stripes-Verfahren bezeichnet wird, ist dazu ausgelegt, zum Zwecke der Erzeugung der redundanten Daten die aufgeteilten Teile der Schreibdaten vom Host-Computer und die Daten zu benutzen, die aus den Speichergeräten außer denjenigen zum Speichern der redundanten Daten ausgelesen wurden, die zu der ECC-Gruppe gehören, die nicht die Schreibdaten vom Host-Computer speichert.
  • Unter der Annahme, dass die Aufteilungszahl der Schreibdaten a ist und die Anzahl der eine ECC-Gruppe bildenden Speichergeräte, außer denen zum Speichern der redundanten Daten, b ist, ist die Anzahl von I/Os zu und von den Speichergeräten bei diesem Verfahren insgesamt b + 1, wobei die I/O-Anzahl zum Lesen a und die I/O-Anzahl zum Speichern der die redundanten Daten enthaltenden Daten a + 1 betragen. Für die Speichergeräte, die die redundanten Daten nicht enthalten, bringt der Gebrauch der redundanten Daten einen Anstieg der I/O-Anzahl um b + 1 – a mit sich, da die Zugriffszahl a ist.
  • Abgesehen von den vorhergehenden Verfahren wurde das Verfahren zum Erzeugen der redundanten Daten im Speichergerät im US-Patent No. 5,613,088 offenbart, bei dem die redundanten Daten in dem Steuergerät erzeugt werden, das mit zwei Köpfen zum Lesen und Schreiben versehen ist. Konkret sind der Lesekopf und der Schreibkopf auf einem gemeinsamen Aktuator befestigt, sodass der Lesekopf vor der Aufdatierung Paritätsdaten liest und anschließend der Schreibkopf die vor der Aufdatierung aus den Paritätsdaten erzeugten aufdatierten Paritätsdaten auf den gleichen Bereich schreibt, außer wenn sich die Platte einmal dreht.
  • Die zwei vorhergehenden Verfahren zum Erzeugen der redundanten Daten, d. h. das Verfahren des Lesens und Modifizierens und das All-Stripes-Verfahren, weisen eine erhöhte Anzahl von I/Os aufgrund der Benutzung der redundanten Daten beim Schreiben der Daten auf. Das bedeutet, dass das Speicherplattensteuergerät mit Redundanz weniger leistungsfähig als das Speicherplattensteuergerät ohne Redundanz ist. Daher setzt das herkömmliche Speicherplattensteuergerät mit Redundanz wahlweise das Verfahren mit der kleineren Anzahl von I/Os zu und von dem Speichergerät zum Zwecke der Verringerung der I/Os zu und von dem Speichergerät beim Schreiben der Daten ein. Diese Auswahl macht eine Verringerung der Belastung des Speichergeräts möglich und erhöht dadurch die Verarbeitungsgeschwindigkeit. Konkret weist das All-Stripes-Verfahren in dem Fall, dass a ≥ (b – 1)/2, eine geringere Erhöhung der I/O-Anzahl für das Speichergerät als das Verfahren des Lesens und Modifizierens auf, während im Falle von a < (b – 1)/2 das Verfahren des Lesens und Modifizierens eine kleinere Erhöhung aufweist. Indem das ausgenutzt wird, kann zum Beispiel im Falle eines Transaktionsprozesses das Speicherplattensteuergerät, das zur Benutzung des Verfahrens zur Erzeugung der redundanten Daten ausgelegt ist, wenn die Datenlänge der Schreibdaten vom Host-Computer im Bereich von a < (b – 1)/2 ist, so betrieben werden, dass es eine Parität mittels des Verfahrens des Lesens und Modifizierens erzeugt. Die I/O-Anzahl für das Speichergerät wird im Minimum vier, wenn a = 1, was die kleinste dem Speichergerät auferlegte Last ist. In anderen Worten bedeutet dies jedoch in solch einem Falle eines Transaktionsprozesses, dass der kritische Punkt der Leistungsfähigkeit bei a = 1 vorliegt. Die Leistungsfähigkeit kann nicht weiter verbessert werden, außer wenn das Verfahren des Prozesses zu dieser Zeit neu überdacht wird. Das Problem beim Verfahren des Lesens und Modifizierens basiert im Wesentlichen auf der Tatsache, dass zwei I/Os an das Speichergerät zum Speichern der redundanten Daten ausgegeben werden und ein mechanischer Overhead wie eine Bewegung des Kopfes und eine Rotation im Standby-Zustand bei jedem I/O auferlastet wird. Der mechanische Overhead ist ein großer Engpass für das Speicherplattensteuergerät, das im elektrischen Betrieb ist.
  • Das im US-Patent No. 5,613,088 offenbarte Verfahren macht die Erzeugung der redundanten Daten in dem mit zwei Köpfen für Lesen und Schreiben versehenen Speichergerät möglich, wodurch die Rotationsanzahlen des Laufwerks im Standby-Zustand verringert werden. Falls dieses Verfahren auf ein mit einem einzelnen Kopf versehenes allgemeines Speichergerät erweitert wird, umfasst das resultierende Verfahren den Schritt des Übertragens der aufdatierten Daten und der vom Speichergerät gelesenen Daten vor der Aufdatierung an den Speicher zum Speichern der redundanten Daten und den Schritt, bei dem dem Speichergerät zum Speichern der redundanten Daten ermöglicht wird, die redundanten Daten vor der Aufdatierung zu lesen und die redundanten Daten aus den übertragenen aufdatierten Daten, den Daten vor der Aufdatierung und den redundanten Daten vor der Aufdatierung zu erzeugen. Dieses Verfahren wird als Erzeugungsverfahren in einem Laufwerk bezeichnet. Bei diesem Verfahren wird das Schreiben gestartet, wenn der Kopf zum Lesen der redundanten Daten vor der Aufdatierung nach der Rotation im Standby-Zustand positioniert ist und die nächste Schreibposition erreicht. Diese Arbeitsweise erlaubt es, die Rotation im Standby-Zustand während des Schreibintervalls zu vermeiden, und benötigt bloß eine Bewegung des Kopfes und eine Standby-Rotation. Im Ergebnis kann, wenn die Länge der Daten vom Host-Computer gering ist, die Verarbeitungsgeschwindigkeit des Steuergeräts weiter verbessert werden.
  • Das Erzeugungsverfahren in einem Laufwerk kann jedoch die wesentlichen Wirkungen je nach Zugriffsmuster vom Host-Computer, der dem Speichergerät auferlegten Last und ähnlichem nicht notwendigerweise bieten.
  • Das heißt, wenn die Länge der erzeugten redundanten Daten länger als eine Umdrehung auf dem Laufwerk ist, das heißt, wenn die Länge der Schreibdaten vom Host-Computer länger als eine Umdrehung auf dem Laufwerk ist, ist das Erzeugungsverfahren in einem Laufwerk erforderlich, damit das Laufwerk im Standby-Zustand während des Intervalls des Lesens der redundanten Daten vor der Aufdatierung und des Schreibens der aufdatierten redundanten Daten rotiert. Die Rotation im Standby-Zustand bringt jedoch eine Erhöhung der Belegungszeit des Laufwerks zur Speicherung der redundanten Daten mit sich, wodurch eine Antwortzeit des Laufwerks zur Speicherung der redundanten Daten erhöht wird. Wenn daher die Länge der redundanten Daten eine Umdrehung ist, hat das Erzeugungsverfahren in einem Laufwerk das Problem, dass die Speicherplattenanordnung eine niedrigere Antwortzeit aufweist.
  • Das Erzeugungsverfahren in einem Laufwerk ist dazu ausgelegt, die auszulesenden Daten vor der Aufdatierung bei der Steigerung der Aufteilungszahl der Schreibdaten vom Host-Computer zu vermehren, wodurch die dem Speichergerät auferlegte Last erhöht wird. Wenn daher die Aufteilungszahl der Schreibdaten groß ist, bewirkt das Erzeugungsverfahren in einem Laufwerk in nachteilhafter Weise eine Erniedrigung des Durchsatzes der Speicherplattenanordnung.
  • Die Benutzung des Erzeugungsverfahrens in einem Laufwerk macht es möglich, die Belegungszeit des Laufwerks zur Speicherung der redundanten Daten bei jeder Umdrehung im Vergleich zum Verfahren des Lesens und Modifizierens zu erhöhen, wodurch die dem Laufwerk zur Speicherung der redundanten Daten auferlegte Last im Hoch-Multiplex- und hohem Lastbereich erhöht wird. Da her kann das Erzeugungsverfahren in einem Laufwerk die Wahrscheinlichkeit erhöhen, dass das Laufwerk zur Speicherung der redundanten Daten in Betrieb ist, wodurch der Durchsatz des Laufwerks gemindert wird.
  • Wenn die Schreibdaten vom Host-Computer zum Speicherplattensteuergerät zusammen mit einer ausdrücklichen Spezifizierung der aufeinander folgenden Datenteile übertragen werden, arbeitet das Erzeugungsverfahren in einem Laufwerk daraufhin, die redundanten Daten unverzüglich auf den übermittelten Schreibdaten zu erzeugen. Daraus ergibt sich, dass das All-Stripes-Verfahren die Chance, die redundanten Daten bezüglich der ersten Schreibdaten zu erzeugen, verlieren kann, wenn die darauf folgenden Schreibdaten vom Host-Computer übermittelt werden. Daher kann das Erzeugungsverfahren in einem Laufwerk das All-Stripes-Verfahren nicht nutzen, was in nachteiliger Weise die Effizienz der Erzeugung der redundanten Daten mindert, wodurch der Durchsatz der Speicherplattenanordnung verschlechtert wird.
  • Wenn das Erzeugungsverfahren in einem Laufwerk die Erzeugung der redundanten Daten nutzt, scheitert die Erzeugung der redundanten Daten wegen irgendeines Versagens wie eines beim Lesen der redundanten Daten vor der Aufdatierung verursachten Versagens. In diesem Fall kann die Redundanz der ECC-Gruppe auf einmal verloren werden.
  • Dokument JP-A-05046324 offenbart eine Speicherplattenanordnung, die Daten- und Paritätseinträge speichert, wobei die Paritätsdaten in den Speicherplattenlaufwerken erzeugt und gespeichert werden.
  • ZUSAMMENFASSUNG DER ERFINDUNG
  • Die Erfindung wird in den beiliegenden unabhängigen Ansprüchen 1 und 5 detailliert definiert.
  • Eine Aufgabe der vorliegenden Erfindung ist es, die Rotation im Standby-Zustand zu vermeiden, die verursacht wird, wenn die Datenlänge der Schreibdaten eines übergeordneten Systems länger als eine Umdrehung ist, und eine Antwortzeit der Speicherplattenanordnung zu verbessern, die gebraucht wird, wenn das die Speicherplattenanordnung bildende Speicherplattenlaufwerk die redundanten Daten erzeugt.
  • Eine weitere Aufgabe der vorliegenden Erfindung ist es, einen Durchsatz der Speicherplattenanordnung zu verbessern, indem das geeignetste Verfahren zur Erzeugung der redundanten Daten ausgewählt wird, sodass die notwendige Lesezahl der Daten vor der Aufdatierung entsprechend der Aufteilungszahl der vom übergeordneten System empfangenen Schreibdaten minimiert wird.
  • Noch eine weitere Aufgabe der Erfindung ist es, eine Antwortzeit der Speicherplattenanordnung zu verbessern, indem eine Belegungszeit für eine Umdrehung des Speicherplattenlaufwerks im Falle der Erzeugung der redundanten Daten durch die Wirkung des die Speicherplattenanordnung bildenden Speicherplattenlaufwerks verringert wird.
  • Eine weitere Aufgabe der vorliegenden Erfindung ist es, einen Durchsatz einer Speicherplattenanordnung zu verbessern, indem die Effizienz der Erzeugung der redundanten Daten in Verbindung mit dem Prozess für Schreibdaten entsprechend einem vom übergeordneten System verlangten Zugriffsmuster erhöht wird.
  • Noch eine weitere Aufgabe der vorliegenden Erfindung ist es, die Zuverlässigkeit eines Prozesses für die Erzeugung der redundanten Daten durch die Wirkung des die Speicherplattenanordnung bildenden Speicherplattenlaufwerks zu erhöhen.
  • Gemäß der Erfindung enthält ein Speicherplattenanordnungsgerät, das mehrere eine Speicherplattenanordnung bildende Spei cherplattenlaufwerke und ein Speicherplattensteuergerät zum Steuern dieser Speicherplattenlaufwerke aufweist, mehrere Einrichtungen zur Erzeugung der redundanten Daten auf verschiedene Weisen sowie eine Auswahlsteuerungslogikeinheit zum wahlweisen Aufrufen zumindest einer der mehreren Einrichtungen zur Erzeugung von redundanten Daten.
  • Das Speicherplattenanordnungsgerät, das mehrere eine Speicherplattenanordnung bildende Speicherplattenlaufwerke und ein Speicherplattensteuergerät zur Steuerung der Speicherplattenlaufwerke enthält, wird dynamisch von der Erzeugung der redundanten Daten im Speicherplattensteuergerät zur Erzeugung der redundanten Daten innerhalb des Speicherplattenlaufwerks entsprechend einem Operationszustand geschaltet.
  • Konkret enthält das Speicherplattenanordnungsgerät gemäß der Erfindung beispielsweise die folgenden Komponenten.
  • Das heißt, dass das mehrere Speicherplattenbetreiber bildende Speicherplattenanordnungsgerät, das dazu ausgelegt ist, eine logische Gruppe einer Teilmenge der Speicherplattenlaufwerke zu bestimmen und die redundanten Daten in einen Teil der logischen Gruppe zum Zwecke der Wiederherstellung der Fehlerdaten von den normalen Speicherplattenlaufwerken zu speichern, wenn einige der Speicherplattenlaufwerke durch zeitweiliges oder dauerhaftes Versagen außer Betrieb gesetzt sind, Einrichtungen zur Erzeugung der redundanten Daten in jedem der Speicherplattenlaufwerke bereitstellt.
  • Das Speicherplattensteuergerät enthält eine erste Schaltung zur Erzeugung redundanter Daten innerhalb eines Steuergeräts für die Erzeugung neuer redundanter Daten aus den vom übergeordneten System erhaltenen aufgeteilten Schreibdaten, den durch die aufgeteilten Schreibdaten aufzudatierenden vorherigen Daten und den redundanten Daten der Datengruppe der aufgeteilten Schreibdaten, eine zweite Schaltung zur Erzeugung redundanter Daten innerhalb des Steuergeräts für die Erzeugung neuer redundanter Daten der Datengruppe aus den Daten, die nicht durch die in der Datengruppe enthaltenen aufgeteilten Schreibdaten aufdatiert werden, sowie eine Auswahlsteuerungsschaltung zum Auswählen einer Schaltung zum Erzeugen von Differenzendaten für die Erzeugung von Differenzendaten aus den vom übergeordneten System empfangenen aufgeteilten Schreibdaten und den vorherigen Daten, die durch die aufgeteilten Schreibdaten und die Schaltung zur Erzeugung der redundanten Daten aufdatiert wurden.
  • Ferner sieht das Speicherplattensteuergerät eine Einrichtung zur Bestimmung einer Datenlänge der vom übergeordneten System empfangenen Schreibdaten, einer Einrichtung zur Erfassung einer Last des Laufwerks zum Speichern der redundanten Daten, einer Einrichtung zum Bestimmen, ob die Übermittlung aufeinander folgender Datenteile vom übergeordneten System ausdrücklich spezifiziert ist, und eine Einrichtung zum Erfassen, ob die Erzeugung der redundanten Daten innerhalb des Speicherplattenlaufwerks zum Speichern der redundanten Daten fehlgeschlagen ist, vor. Die Auswahlsteuerungsschaltung dient dazu, ein geeignetes Verfahren zur Erzeugung der redundanten Daten auszuwählen.
  • Das Speicherplattenanordnungsgerät und das Verfahren zum Steuern des Speicherplattenanordnungsgeräts, die oben beschrieben wurden, werden wie im folgenden Beispiel bedient.
  • Das Speicherplattenanordnungsgerät bestimmt im Betrieb die Datenlänge der vom übergeordneten System gesendeten Schreibdaten und erzeugt die redundanten Daten im Speicherplattenlaufwerk, wenn die Datenlänge als kleiner als eine Umdrehung der Speicherplatte bestimmt wird. Deshalb unterdrückt das Speicherplattenanordnungsgerät im Betrieb die innerhalb des Speicherplattenlaufwerks zum Speichern der redundanten Daten verursachte Rotation im Standby-Zustand, wodurch ein Durchsatz des Speicherplattenanordnungsgeräts verbessert wird.
  • Wenn die Datenlänge der vom übergeordneten System gesendeten Schreibdaten als länger als eine Umdrehung des Laufwerks bestimmt wird, werden die Differenzendaten zwischen den aufgeteilten Schreibdaten und den auf dem Speicherplattenlaufwerk zum Speichern der aufgeteilten Daten gespeicherten Daten vor der Aufdatierung auf das Speicherplattenlaufwerk zum Speichern der redundanten Daten übertragen. Das Speicherplattenlaufwerk zum Speichern der redundanten Daten erzeugt betriebsgemäß die redundanten Daten aus den Differenzendaten und den redundanten Daten vor der Aufdatierung, wodurch die im Speicherplattenlaufwerk zum Speichern der redundanten Daten verursachte Rotation im Standby-Zustand unterdrückt und der Durchsatz des Speicherplattenanordnungsgeräts demgemäß verbessert wird.
  • Das Verfahren zum Steuern des Speicherplattenanordnungsgeräts wird dazu aufgerufen, eine dem Speicherplattenlaufwerk zum Speichern der redundanten Daten auferlegte Last zu bestimmen, die redundanten Daten in einem anderen Speicherplattensteuergerät zu erzeugen, ohne das Erzeugungsverfahren in einem Laufwerk durchzuführen, wenn die Last als größer oder gleich einem vorgegebenen Wert bestimmt wird, damit die mit der Erzeugung der redundanten Daten verbundene Last verteilt wird. Im Hoch-Multiplex- und hohem Lastbereich ist es möglich, die Wahrscheinlichkeit zu unterdrücken, dass das Speicherplattenlaufwerk zum Speichern der redundanten Daten in Betrieb ist, indem die Erhöhung der dem Speicherplattenlaufwerk zum Speichern der redundanten Daten aufzuerlegenden Last unterdrückt wird, und dadurch den Durchsatz des Speicherplattenanordnungsgeräts zu verbessern.
  • Das Verfahren zum Steuern des Speicherplattenanordnungsgeräts wird dazu aufgerufen, zu bestimmen, ob die Übertragung der aufeinander folgenden Datenteile vom übergeordneten System an das Speicherplattensteuergerät ausdrücklich spezifiziert ist, und die redundanten Daten im Block zu erzeugen, kurz nachdem die Schreibdaten eine hinreichende Länge erreicht haben, ohne dass die redundanten Daten sofort erzeugt werden, wenn die ausdrückliche Übertragung der aufeinander folgenden Daten spezifiziert ist. Das ermöglicht die Verbesserung der Effizienz der Erzeugung der redundanten Daten und des Durchsatzes des Speicherplattenanordnungsgeräts.
  • Wenn das Erzeugungsverfahren in einem Laufwerk beim Erzeugen der redundanten Daten versagt, schaltet das Verfahren zur Erzeugung der redundanten Daten zu einem anderen Verfahren. Das ermöglicht es, die Wiederherstellungschancen des Fehlers zu erhöhen und dadurch die Zuverlässigkeit des Speicherplattenanordnungsgeräts zu verbessern.
  • KURZBESCHREIBUNG DER ZEICHNUNGEN
  • 1 ist ein Diagramm, das eine Einrichtung eines Informationsverarbeitungssystems zeigt, das ein Speicherplattenanordnungsgerät gemäß der vorliegenden Erfindung enthält;
  • 2 ist eine Ansicht, die eine innere Einrichtung eines im Speicherplattenanordnungsgerät gemäß der vorliegenden Erfindung benutzten Speicherplattenlaufwerks zeigt;
  • 3 ist eine Ansicht, die ein Beispiel von Abbildungsdaten zeigt, die in dem im Speicherplattenanordnungsgerät gemäß der vorliegenden Erfindung benutzten Speicherplattenlaufwerk an ein übergeordnetes System gegeben und von diesem empfangen werden;
  • 4 ist ein Diagramm, das eine Hardwareeinrichtung eines Informationsverarbeitungssystems zeigt, das ein Speicherplattenanordnungsgerät gemäß der vorliegenden Erfindung enthält;
  • 5 ist ein Flussdiagramm, das ein Beispiel eines Auswahlprozesses für ein Verfahren zum Erzeugen redundanter Daten in einem Speicherplattenanordnungsgerät gemäß der vorliegenden Erfindung zeigt;
  • 6 ist eine Konzeptansicht, die einen Datenfluss zeigt, der beim Erzeugen redundanter Daten durch die Wirkung des All-Stripes-Verfahrens in dem Speicherplattenanordnungsgerät gemäß der vorliegenden Erfindung ausgelöst wird;
  • 7 ist eine Konzeptansicht, die einen Datenfluss zeigt, der beim Erzeugen redundanter Daten durch die Wirkung des Erzeugungsverfahrens in einem Laufwerk in dem Speicherplattenanordnungsgerät gemäß der vorliegenden Erfindung ausgelöst wird;
  • 8 ist eine Konzeptansicht, die einen Datenfluss zeigt, der beim Erzeugen redundanter Daten durch die Wirkung eines Verfahrens des Lesens und Modifizierens in dem Speicherplattenanordnungsgerät gemäß der vorliegenden Erfindung ausgelöst wird;
  • 9 ist eine Konzeptansicht, die einen Datenfluss zeigt, der beim Erzeugen redundanter Daten durch die Wirkung eines Differenzenverfahrens in einem Speicherplattenanordnungsgerät gemäß einem Ausführungsbeispiel der vorliegenden Erfindung ausgelöst wird; und
  • 10 ist eine Ansicht, die eine Einrichtung eines Cache-Verzeichnisses im Speicherplattensteuergerät zeigt, das im Speicherplattenanordnungsgerät gemäß einem Ausführungsbeispiel der vorliegenden Erfindung enthalten ist.
  • BESCHREIBUNG DER BEVORZUGTEN AUSFÜHRUNGSBEISPIELE
  • Im Folgenden wird ein Ausführungsbeispiel der Erfindung detailliert unter Bezug auf die angehängten Zeichnungen beschrieben.
  • 1 ist eine Konzeptansicht, die eine Einrichtung eines Informationsverarbeitungssystems zeigt, das ein Speicherplattenanordnungsgerät gemäß einem Ausführungsbeispiel der vorliegenden Erfindung enthält. Das Informationsverarbeitungssystem gemäß diesem Ausführungsbeispiel ist so ausgelegt, dass es ein zentrales Verarbeitungsgerät 10 (bezeichnet als ein Host 10) und ein damit verbundenes Speicherplattenanordnungsgerät aufweist. Das Speicherplattenanordnungsgerät setzt sich aus einem Speicherplattensteuergerät 20 und sieben Speicherplattenlaufwerken 300 (300a bis 300g) zusammen, die unabhängig voneinander zu betreiben sind, und von denen jedes zum Beispiel eine magnetische Speicherplatteneinheit sein kann. Diese sieben Speicherplattenlaufwerke 300 bilden eine ECC-Gruppe (auf dieser Einheit werden Daten wiederhergestellt, wenn Versagen auftritt). Der Host 10 ist mit dem Speicherplattensteuergerät 20 über einen Kanalbus 60 verbunden. Das Speicherplattensteuergerät 20 ist mit jedem Speicherplattenlaufwerk 300 über den entsprechenden Laufwerksbus 70 verbunden, sodass die Speicherplattenlaufwerke 300 jeweils unabhängig voneinander betrieben werden können.
  • Das Speicherplattensteuergerät 20 ist so ausgelegt, dass es ein Host-I/F 40, einen Datenaufteiler/-wiederhersteller 80, einen Mikroprozessor 30, einen Cache-Speicher 110, ein Cache-Verzeichnis 120, einen Erzeuger 130 für redundante Daten, einen Erzeuger 140 für Differenzendaten und eine Laufwerkssteuerung 50 aufweist. Das Host-I/F 40 und der Datenaufteiler/-wiederhersteller 80 sind mit einem Kanalbus 60, dem Cache-Speicher 110 und dem Mikroprozessor 30 über Signalleitungen verbunden. Der Mikroprozessor 30 ist mit dem Cache-Speicher 110, dem Cache-Verzeichnis 120, dem Erzeuger 130 für redundante Daten, dem Erzeuger 140 für Differenzendaten und der Laufwerkssteuerung 50 über Signalleitungen verbunden. Der Cache-Speicher 110, das Cache-Verzeichnis 120, der Erzeuger 130 für redundante Daten, der Erzeuger 140 für Differenzendaten und die Laufwerkssteuerung 50 werden durch eine Cache-Speicher-Referenzfunktion 31, eine Cache-Verzeichnis-Referenzfunktion 32, eine Laufwerkszustand-Referenzfunktion 33, eine Steuerungsfunktion 34 für den Erzeuger für redundante Daten, eine Steuerungsfunktion 35 für den Erzeuger für Differenzendaten und eine Steuerungsfunktion 36 für Laufwerkssteuerungen gesteuert, die jeweils durch im Mikroprozessor 30 eingebaute Mikroprogramme ausgeführt werden.
  • Der Mikroprozessor 30 enthält eine Auswahlfunktion 37 für Verfahren zum Erzeugen redundanter Daten, die dazu dient, das Verfahren zum Erzeugen der redundanten Daten zu bestimmen, eine Bestimmungsfunktion 38 für den sequenziellen Zugriffsmodus, die zum Überprüfen dient, ob der sequenzielle Zugriff vom Host 10 spezifiziert ist, sowie eine Abbildungsfunktion 39, die zum Berechnen einer Schreibposition auf dem aktuellen Speicherplattenlaufwerk 300 aus den Schreibdaten vom Host 10 dient. Diese Funktionen werden durch im Mikroprozessor 30 selbst eingebaute Mikroprogramme ausgeführt.
  • Der Cache-Speicher 110, das Cache-Verzeichnis 120, der Erzeuger 130 für redundante Daten und der Erzeuger 140 für Differenzendaten sind durch Signalleitungen verbunden. Der Cache-Speicher 110 ist mit der Laufwerkssteuerung 50 über Signalleitungen verbunden, sodass Datenübertragung zwischen dem Cache-Speicher 110 und der Laufwerkssteuerung 50 erlaubt wird. Der Cache-Speicher 110 ist in eine Schreibebene 111, auf der die Schreibdaten vom Host 10 gespeichert werden, und eine Leseebene 112, auf der die vom Speicherplattenlaufwerk 300 gelesenen Daten gespeichert werden, aufgeteilt. Sowohl die Leseebene 112 als auch die Schreibebene 111 enthalten Slots 113 bis 118, auf denen jede Ebene in Sektoren aufgeteilt ist.
  • 10 ist eine Konzeptansicht, die eine Einrichtung eines Cache-Verzeichnisses 120 gemäß diesem Ausführungsbeispiel zeigt. Bei diesem Ausführungsbeispiel enthält das Cache-Verzeichnis 120 verschiedene Arten von dort einzusetzenden Informationen. Diese Informationsarten umfassen Cache-Verwaltungsinformationen 121 zum Verwalten der Daten des Cache-Speichers 110, Datenlängeninformationen 122 zum Speichern einer vom Host 10 empfangenen Datenlänge, Zugriffsmusterinfor mationen 123 zum Speichern des Zugriffsmusters, falls ein Zugriffsmuster wie ein wahlfreier oder ein sequenzieller Zugriff vom Host 10 spezifiziert ist, sowie Wartezeicheninformationen 124 zum Speichern eines Wartezeichens zum Anhalten eines Datenschreibvorgangs, der die Erzeugung redundanter Daten beinhaltet, bis eine Reihe von sequenziellen Zugriffen beendet sind, falls das Zugriffsmuster das sequenzielle Muster ist.
  • 2 ist eine Konzeptansicht, die eine innere Einrichtung des in diesem Ausführungsbeispiel benutzten Speicherplattenlaufwerks zeigt. Das Speicherplattenlaufwerk 300 enthält ein Speicherplatten-I/F 310 zum Steuern der Informationsübertragung zwischen dem Speicherplattenlaufwerk 300 und der Außenwelt über den Laufwerksbus 70, einen Laufwerkspuffer 330 zum zeitweiligen Aufbewahren von von der Außenwelt empfangenen Daten und von einem inneren Speichermedium 350 gelesenen Daten, einen Laufwerkssteuerungsmechanismus 340 zum Steuern einer Positionierungsoperation eines Kopfes (nicht gezeigt) bezüglich des Speichermediums 350 und einen Mikroprozessor 320 zum Steuern all dieser Komponenten. Das Laufwerks-I/F 310, der Laufwerkspuffer 330 und der Laufwerkssteuerungsmechanismus 340 sind mit dem Mikroprozessor 320 über Signalleitungen verbunden und werden vom Mikroprozessor 320 gesteuert.
  • Bei diesem Ausführungsbeispiel hat der Mikroprozessor 320 jedes Speicherplattenlaufwerks 300 die Funktion, neue redundante Daten aus den von außen empfangenen Daten und den im Laufwerksmedium 350 innerhalb des Speicherplattenlaufwerks 300 selbst gespeicherten redundanten Daten vor der Aufdatierung zu erzeugen und dann die neuen redundanten Daten im Speicherplattenmedium 350 innerhalb des Speicherplattenlaufwerks 300 zu speichern. Diese Funktion kann vom Mikroprozessor 320 oder von jeder zugeschalteten Hardware außer dem Mikroprozessor 320 ausgeführt werden.
  • 3 ist eine Konzeptansicht, die ein Beispiel für das Abbilden von I/O-Daten zeigt, die zum Host 10 auf dem innerhalb des Speicherplattenlaufwerks angeordneten Speicherplattenmedium 350 gegeben oder von diesem empfangen werden. Bei diesem Ausführungsbeispiel ist der Datensicherungsbereich des Speicherplattenmediums 350 jedes Speicherplattenlaufwerks 300 logisch in mehrere Einheitsbereiche aufgeteilt. Die Zusammenfügung aller dieser Einheitsbereiche auf den Speicherplattenlaufwerken 300a bis 300g bildet eine Datengruppe, die zumindest einen Teil redundanter Daten enthält.
  • Dabei werden die redundanten Daten P000 (Parität) auf dem Einheitsbereich auf dem Speicherplattenlaufwerk 300g der ersten Säule ganz rechts platziert. In der zweiten Säule oder den späteren werden die redundanten Daten um eins nach links von der Speicherposition der Parität auf der vorherigen Säule aus verschoben. Wenn die Speicherposition der redundanten Daten einer vorherigen Säule auf dem Speicherplattenlaufwerk 300a ganz links angeordnet ist, werden die redundanten Daten P001 auf dem Speicherplattenlaufwerk 300g ganz rechts platziert. Die Aufteilungen D000 bis D029 der Schreibdaten vom Host 10 werden von dem genau rechts von den redundanten Daten liegendem Speicherplattenlaufwerk oder dem Speicherplattenlaufwerk 300 ganz links, wenn die redundanten Daten ganz rechts angeordnet sind, sequenziell abgebildet. Die redundanten Daten jeder Säule werden so erzeugt, dass sie dem exklusiven ODER der Daten jeder Säule, zum Beispiel D000 bis D005, gleich sind und werden dann gespeichert. Wenn ein Fehler in einem Datenteil jeder Reihe vorliegt, können die Fehlerdaten durch das exklusive ODER der übrigen Daten innerhalb der Säule mit den redundanten Daten wiederhergestellt werden.
  • Darüber hinaus können die redundanten Daten für die Fehlerwiederherstellung ein exklusives ODER einer Gruppe mehrerer aufgeteilter Daten wie auch ein beliebiger Code wie ein Hamming-Code sein.
  • 4 ist eine Konzeptansicht, die die Einrichtung des Speicherplattenanordnungsgeräts gemäß diesem Ausführungsbeispiel zeigt. Der in 1 gezeigte Kanalbus 60 entspricht den 260-1 bis 260-8. Das Host-I/F 40 und der Datenaufteiler/-wiederhersteller 80, die in 1 gezeigt sind, entsprechen den Host-Adaptern 231-1 und 231-2. Der Mikroprozessor 30, die Laufwerkssteuerung 50, der Erzeuger 130 für redundante Daten und der Erzeuger 140 für Differenzendaten, die in 1 gezeigt sind, entsprechen den Laufwerksadaptern 233-1 bis 233-4. Der in 1 gezeigte Cache-Speicher 110 entspricht den Cache-Speichern 232-1 bis 232-2. Das in 1 gezeigte Cache-Verzeichnis 120 entspricht den geteilten Speichern 234-1 bis 234-2. Der in 1 gezeigte Laufwerksweg 70 entspricht den 270-1 bis 270-16.
  • Die Host-Adapter 231-1 bis 232-2, die Cache-Speicher 232-1 bis 232-2, die Laufwerksadapter 233-1 bis 233-4 und die geteilten Speicher 234-1 bis 234-2 sind miteinander über verdoppelte Datenübertragungsbusse 237-1 bis 237-2 verbunden.
  • Gesteuert vom Speicherplattensteuergerät 20 ist das Innere jeder der Speicherplattenlaufwerkskästen 241-1 bis 241-2 mit einem Speichergerät 240 verbunden, das zum Aufnehmen der Speicherplattenlaufwerke 241-1 bis 242-32 und der Speicherplattenlaufwerke 242-33 bis 242-64 ausgelegt ist.
  • Die Host-Adapter 231-1 bis 232-2, die Laufwerksadapter 233-1 bis 233-4 und die geteilten Speicher 234-1 bis 234-2 sind mit einem Dienstprozessor 235 über einen Kommunikationsweg 236 innerhalb einer Steuereinheit verbunden. Dieser Dienstprozessor 235 wird von außen über einen Wartungsanschluss 250 bedient.
  • 1 stellt eine einzelne ECC-Gruppe (Gruppe von Speicherplattenlaufwerken) dar, während 4 im Ganzen acht ECC-Gruppen (Gruppe von Speicherplattenlaufwerken) darstellt. Die Speicherplattenlaufwerke 242-1 bis 242-7, 242-9 bis 242-15, 242-17 bis 241-23 und 242-25 bis 242-31 entsprechen den ECC- Gruppen. Die Speicherplattenlaufwerke 242-8, 242-16, 242-24 und 242-32 sind freigelassene Speicherplattenlaufwerke. Das gilt ebenfalls für die Speicherplattenlaufwerke 242-33 bis 242-64.
  • Die Beschreibung wird nun darauf gerichtet, wie der Mikroprozessor bezüglich des Speicherplattensteuergeräts 20 betrieben wird, das wie oben beschrieben eingerichtet ist, wenn der Host 10 Schreibdaten zum Mikroprozessor entlang des in 5 gezeigten Flusses ausgibt. Die Schreibdaten vom Host 10 werden zum Speicherplattensteuergerät 20 über den Kanalbus 60 übertragen und vom Datenaufteiler/-wiederhersteller 80 in Sektorlängen aufgeteilt. Wenn das Host-I/F 40 dazu dient, jede Aufteilung in dem Slot der Schreibebene 111 des Cache-Speichers im Schritt 1000 von 5 zu sichern, zählt der Mikroprozessor 30 betriebsgemäß die Anzahl der vom Host-I/F 40 zum Cache-Speicher 110 übertragenen Datenlängen und speichert dann den Zählwert in einer im Cache-Verzeichnis 120 enthaltenen Datenlängeninformation 122. Weiter bei Schritt 1010 wird die Bestimmungsfunktion 38 für den sequenziellen Zugriffsmodus aufgerufen, zu bestimmen, ob die Zugriffsspezifizierung sequenziell vom Host 10 gegeben ist. Das Vorliegen oder Nicht-Vorliegen der sequenziellen Zugriffsspezifikation wird in der Zugriffsmusterinformation 123 für den Host des Cache-Verzeichnisses 120 gesichert.
  • Wenn der sequenzielle Zugriff spezifiziert ist, folgt der Arbeitsschritt 1150. In diesem Schritt wird die Beendigung des Schreibvorgangs dem Host 10 mitgeteilt, ohne sofort die redundanten Daten zu erzeugen. Dann wird, um anzuzeigen, dass die Schreibdaten nicht auf dem Speicherplattenlaufwerk 300 reflektiert werden, ein Wartezeichen in die Wartezeicheninformation 124 des Cache-Verzeichnisses 120 erhoben, und darauf wartet der Mikroprozessor 30 für eine vorgegebene Zeit. Der Grund dafür ist, dass eine hohe Wahrscheinlichkeit vorliegt, dass die darauf folgenden Schreibdaten vom Host 10 ausgegeben werden, wenn der sequenzielle Zugriff spezifiziert ist, und dass das All-Stripes-Verfahren zum Erzeugen der redundanten Daten durch das Benutzen mehrerer Teile der Schreibdaten benutzt wird. Deshalb ermöglicht die Übertragung der darauf folgenden Daten dem Mikroprozessor einfach zu warten, bis aus den Streifen (eine Menge von auf dieselbe Position der verschiedenen Speicherplattenlaufwerke zu schreibenden Slots) die Schreibdaten gemacht sind. Die geeignete Wartezeit wird berechnet durch (Datenlänge des Streifens – übertragene Datenlänge)/Datenübertragungsgeschwindigkeit vom Host. Nach dem Abwarten einer vorgegebenen Zeit geht es bei Schritt 1020 weiter.
  • Wenn im Schritt 1010 kein sequenzieller Zugriff vom Host spezifiziert wird, wird sofort der Arbeitsschritt 1020 ausgeführt. Der Mikroprozessor 30 berechnet die Positionen des Speicherplattenlaufwerks 300, in denen die Schreibdaten jedes Slots gespeichert werden, und die des Speicherplattenmediums 350 mittels der Abbildungsfunktion 39, um die Spalte auf dem Speicherplattenlaufwerk 300 herzuleiten, in die die Schreibdaten zu schreiben sind. Als Nächstes berechnet der Mikroprozessor 30 die Anzahl der Lesevorgänge der Daten vor der Aufdatierung mittels der Auswahlfunktion 37 für das Verfahren zum Erzeugen redundanter Daten. Diese Anzahl von Lesevorgängen ist erforderlich, um die redundanten Daten mittels des Verfahrens des Lesens und Modifizierens zu erzeugen. Diese wird als Anzahl der Slots der Schreibdaten plus eins berechnet. Als Nächstes berechnet der Prozessor 30 die Anzahl von Lesevorgängen mittels der Auswahlfunktion 37 für das Verfahren zum Erzeugen redundanter Daten. Diese Anzahl von Lesevorgängen ist erforderlich, um die redundanten Daten mittels des All-Stripes-Verfahrens zu berechnen. Diese ist ein Wert, der durch Subtraktion der Anzahl von Speicherplattenlaufwerken 300 zum Speichern der Schreibdaten von der Anzahl der Speicherplattenlaufwerke 300 zum Speichern der Daten berechnet wird. Dann wird die Auswahlfunktion 37 für das Verfahren zum Erzeugen der redundanten Daten ausgeführt, um die notwendige Anzahl von Lesevorgängen im All-Stripes-Verfahren mit der notwendigen Anzahl von Lesevorgängen im Verfahren des Lesens und Modifizierens zu vergleichen. Wenn der Bedingungsausdruck: (die notwendige Anzahl von Lesevorgängen im All-Stripes-Verfahren) ≤ (die notwendige Anzahl von Lesevorgängen im Verfahren des Lesens und Modifizierens) (1)erfüllt ist, wird das All-Stripes-Verfahren ausgewählt. Dann geht es bei Schritt 1160 weiter.
  • Das All-Stripes-Verfahren (zweite Einrichtung zur Erzeugung redundanter Daten) wird zu einem in 6 gezeigten Datenfluss. Zuerst wird die Leseanfrage an das für den Lesevorgang erforderliche Speicherplattenlaufwerk 300 ausgegeben, das heißt, die Laufwerkssteuerung 50 zum Steuern der Speicherplattenlaufwerke 300 (300d bis 300f) zum Speichern von Daten, die nicht für den Schreibvorgang dienen. Dann werden die Daten auf den Speicherplattenlaufwerken 300 (300d bis 300f) von der Leseebene 112 des Cache-Speichers 110 (siehe (1) von 6) gelesen. Die auf der Schreibebene 111 gespeicherten Schreibdaten und die auf der Leseebene 112 gelesenen Daten werden an den Erzeuger 130 für redundanten Daten (siehe (2) von 6) übermittelt. Der Erzeuger 130 für redundante Daten erzeugt betriebsgemäß die redundanten Daten und speichert sie in der Leseebene 112 des Cache-Speichers 100 (siehe (3) von 6). Als Nächstes wirkt die Steuerungsfunktion 36 für die Laufwerkssteuerung auf die Laufwerkssteuerung 60, sodass die redundanten Daten auf der Leseebene 112 des Cache-Speichers 110 an das Speicherplattenlaufwerk 300 (300g) zum Speichern der redundanten Daten übertragen werden. Dies schließt die Spiegelung der redundanten Daten auf dem Speicherplattenlaufwerk 300 (siehe (4) von 6) ab.
  • Wenn jedoch der Ausdruck 1 nicht erfüllt ist, geht es bei Schritt 1030 weiter. Wie in (1) von 7 oder 8 gezeigt wird die Leseanfrage für die Schreibdaten vor der Aufdatierung an die Speicherplattenlaufwerke 300 (300a bis 300b) zum Speichern der Schreibdaten ausgegeben und dann auf die Leseebene 112 des Cache-Speichers 110 übermittelt. Dann geht es bei Schritt 1040 weiter. Die Referenzfunktion 33 für den Laufwerkszustand wird ausgeführt, um zu überprüfen, ob das Speicherplattenlaufwerk 300 (300g) zum Speichern der redundanten Daten in Gebrauch ist. Wenn es in Gebrauch ist, geht es bei Schritt 1170 weiter.
  • Wenn das Speicherplattenlaufwerk 300 (300g) zum Speichern der redundanten Daten nicht in Gebrauch ist, geht es bei Schritt 1090 weiter. Die Auswahlfunktion 37 für das Verfahren zum Erzeugen der redundanten Daten wird ausgeführt, um eine Zylinderzahl (#) auf dem Speicherplattenmedium 350 aus der Position auf dem Speicherplattenmedium 350 herzuleiten, wo die redundanten Daten gespeichert werden, und zu jeder Drehung des Zylinders # (Track) eine Datenlänge zu berechnen. Im Falle einer Aufnahme mit konstanter Dichte, deren Informationsaufnahmekapazität pro Zylinder eines inneren Umfangs von der eines äußeren Umfangs verschieden ist, kann die Datenlänge für einen Umfang leicht erhalten werden, da die Datenlänge eine Funktion des Zylinders # ist. Darüber hinaus ist die Berechnung nicht notwendig, wenn die Informationsaufnahmekapazität pro Zylinder des inneren Umfangs gleich der des äußeren Umfangs ist. Die Datenlänge pro Umfang in jedem Zylinder kann sofort aus der Gerätespezifikation des Speicherplattenlaufwerks 300 erhalten werden.
  • Als Nächstes vergleicht der Mikroprozessor 30 betriebsgemäß die Datenlänge pro Umfang mit der Datenlänge der im Cache-Verzeichnis 120 gespeicherten Schreibdaten und bestimmt, ob im Standby-Zustand Spinning stattfindet. Tatsächlich liegt ein Overhead zum Bearbeiten der redundanten Daten innerhalb des Mikroprogramms vor. Unter der Annahme, dass der Overhead 1/n einer Spin-Zeit des Speicherplattenmediums 350 beträgt. Da die Schreibdatenlänge erforderlicherweise innerhalb einer die Overhead-Zeit enthaltenden Spin-Zeit liegt, ist die Bedingung für den Vergleich: Schreibdatenlänge < (Datenlänge pro Umfang des Speicherplattenmediums) × (1 – 1/n) (Ausdruck 2)
  • Wenn diese Bedingung erfüllt ist, wird die Auswahlfunktion 37 für das Verfahren zum Erzeugen der redundanten Daten ausgeführt, um das Verfahren zum Erzeugen der redundanten Daten mittels des Verfahrens der Erzeugung in einem Laufwerk (dritte Einrichtung zum Erzeugen redundanter Daten) auszuwählen. Dann geht es bei Schritt 1100 weiter. In dem in 5 gezeigten Schritt 1090 wird angenommen, dass ein Overhead (1/n) zum Bearbeiten der redundanten Daten innerhalb des Mikroprogramms 1/4 beträgt.
  • Bei dieser Annahme wird die Operation wie in 7 gezeigt ausgeführt. Die Schreibdaten auf der Schreibebene 111 und die Daten vor der Aufdatierung auf der Leseebene 112 werden zum Speicherplattenlaufwerk 300 (300g) (siehe (2) von 7) übermittelt. Die vom Speicherplattensteuerungsgerät 20 übermittelten Schreibdaten und die Daten vor der Aufdatierung werden über ein Laufwerks-I/F 310 an einen Laufwerkspuffer 330 übermittelt. Synchron dazu positioniert der innerhalb des Speicherplattenlaufwerks 300 angeordnete Mikroprozessor 320 betriebsgemäß den Kopf an der Position, an der die redundanten Daten vor der Aufdatierung durch den Festplattensteuerungsmechanismus 340 gespeichert werden. Bei der Beendigung der Positionierungsoperation werden die redundanten Daten vor der Aufdatierung in den Laufwerkspuffer 330 (siehe (3) von 7) eingelesen. Das exklusive ODER der zu lesenden redundanten Daten vor der Aufdatierung, der Schreibdaten, die im Puffer gespeichert wurden, und der Daten vor der Aufdatierung wird vom Mikroprozessor 320 berechnet, um die neuen redundanten Daten zu erzeugen und diese im Laufwerkspuffer 330 (siehe (4) von 7) zu speichern. Als Nächstes schreibt der Mikroprozessor 320 betriebsgemäß die redundanten Daten in den Laufwerkspuffer 330 (siehe (5) von 7), wenn das Speicherplattenmedium 350 einmal umgelaufen ist und den Positionierungspunkt erreicht hat. Das Speicherplattenlaufwerk 300 berichtet einen Erfolg oder ein Versagen des Erzeugens und des Schreibens der redundanten Daten an das Speicherplattensteuerungsgerät 20. Wenn das Schreiben der redundanten Daten erfolgreich ist, geht es beim nächsten Schritt 1110 weiter. Der Mikroprozessor 30 erfasst betriebsgemäß, ob die Aufdatierung der redundanten Daten erfolgreich ist oder fehlschlägt. Wenn sie erfolgreich ist, geht es bei Arbeitsschritt 1120 weiter.
  • Wenn die Aufdatierung der redundanten Daten fehlschlägt, geht es bei Schritt 1170 weiter. In diesem Schritt wird die Auswahlfunktion 37 des Verfahrens zur Erzeugung der redundanten Daten aufgerufen, um das Verfahren des Lesens und Modifizierens auszuwählen, damit ein erneuter Versuch ausgeführt wird, wenn die Aufdatierung der redundanten Daten fehlgeschlagen ist oder die redundanten Daten in Benutzung sind.
  • Das Verfahren des Lesens und Modifizierens (erste Einrichtung zum Erzeugen der redundanten Daten) wird wie in 8 gezeigt ausgeführt. Da die Daten vor der Aufdatierung in die Leseebene 112 des Cache-Speichers 110 eingelesen wurden, heißt das, dass nur die redundanten Daten vor der Aufdatierung auf dem Speicherplattenlaufwerk 300 (300g) zum Speichern der redundanten Daten auf die Leseebene 112 des Cache-Speichers 110 gelesen werden (siehe (2) von 8). Dann werden die Schreibdaten, die Daten vor der Aufdatierung und die redundanten Daten vor der Aufdatierung in den Erzeuger 130 für redundante Daten übertragen (siehe (3) von 8), um die redundanten Daten aus jenen Datenteilen zu erzeugen und dann die erzeugten redundanten Daten auf der Schreibebene 111 des Cache-Speichers 110 zu sichern (siehe (4) von 8). Als Nächstes werden die er zeugten redundanten Daten in das Speicherplattenlaufwerk 300 (300g) zum Speichern der redundanten Daten geschrieben (siehe (5) von 8). Das schließt die Aufdatierung der redundanten Daten ab.
  • Wenn keiner der Bedingungsausdrücke (1) und (2) erfüllt ist, geht es als Nächstes bei Arbeitsschritt 1140 weiter. In diesem Schritt wird die Auswahlfunktion 37 des Verfahrens zum Erzeugen redundanter Daten ausgeführt, um das Differenzenverfahren (vierte Einrichtung zur Erzeugung der redundanten Daten) als Verfahren zum Erzeugen der redundanten Daten auszuwählen. Wie in 9 gezeigt stellt sich der Prozessverlauf wie in 9 gezeigt dar. Die Steuerungsfunktion 35 für den Erzeuger der Differenzendaten wird ausgeführt, um die Schreibdaten auf der Schreibebene 111, die Daten vor der Aufdatierung auf der Leseebene 112 zum Erzeuger 140 für Differenzendaten zu übertragen (siehe (2) von 9), um die Differenzendaten zu erzeugen und sie auf der Leseebene 112 (siehe (3) von 9) des Cache-Speichers 110 zu speichern.
  • Unter der Annahme, dass die redundanten Daten die Exklusiv-ODER-Daten sind, zum Beispiel die hierin bezeichneten Differenzendaten, bedeutet dies, dass die Daten durch ein exklusives ODER der Daten A und B auf der Schreibebene 111 und der vorherigen Daten a und b auf der entsprechenden Leseebene 112 auf die Schreibebene 111 gegeben sind, von denen alle in 9 gezeigt werden.
  • Als Nächstes wird die Steuerungsfunktion 36 für die Laufwerkssteuerung ausgeführt, um die Differenzendaten auf der Leseebene 112 des Cache-Speichers 110 auf das Speicherplattenlaufwerk 300 (300g) zum Speichern der redundanten Daten unter Benutzung der Laufwerkssteuerung 50 zu übertragen (siehe (4) von 9). Die zum Laufwerkssteuerungsgerät 20 übertragenen Differenzendaten werden dann über das Laufwerks-I/F 310 zum Laufwerkspuffer 330 übertragen. Synchron dazu positioniert der inner halb des Speicherplattenlaufwerks 300 angeordnete Mikroprozessor 320 betriebsgemäß den Kopf an der Position, an der die redundanten Daten vor der Aufdatierung mittels des Speicherplattensteuerungsmechanismus 340 gespeichert werden. Wenn die Positionierung beendet ist, liest der Mikroprozessor 320 die redundanten Daten vor der Aufdatierung (siehe (5) von 9) und berechnet ein exkluxives ODER der zu lesenden redundanten Daten vor der Aufdatierung und der im Laufwerkspuffer 330 gespeicherten Differenzendaten, um die redundanten Daten zu erzeugen (siehe (6) von 9) und sie im Laufwerkspuffer 330 zu speichern. Wenn das Speicherplattenmedium 350 einmal umdreht und den Positionierungspunkt erreicht, schreibt als Nächstes der Mikroprozessor 320 betriebsgemäß die im Laufwerkspuffer 330 gespeicherten redundanten Daten auf das Speicherplattenmedium 350. Wenn das Schreiben der redundanten Daten erfolgreich ist, berichtet das Speicherplattenlaufwerk die normale Beendigung an das Speicherplattensteuerungsgerät 20.
  • Auf der anderen Seite erkennt der innerhalb des Speicherplattensteuerungsgeräts 20 angeordnete Mikroprozessor 30 betriebsgemäß, dass die Erzeugung der redundanten Daten durch die Laufwerkssteuerung erfolgreich ist. Als Nächstes geht es bei Arbeitsschritt 1120 weiter. In diesem Schritt werden die Schreibdaten im Speicherplattenlaufwerk 300 geschrieben. Dann wird, weiter in Schritt 1130, eine Reihe von Schreibvorgängen beendet.
  • Das Speicherplattenanordnungsgerät und das Verfahren zum Steuern des Speicherplattenanordnungsgeräts gemäß diesem Ausführungsbeispiel werden dazu gesteuert, das geeignetste Verfahren zum Erzeugen der redundanten Daten aus dem All-Stripes-Verfahren und dem Verfahren des Lesens und Modifizierens, von denen beide ausgeführt werden, um die redundanten Daten auf dem Speicherplattensteuerungsgerät 20 entsprechend der Länge der vom Host 10 empfangenen Schreibdaten, dem Zugriffsmuster wie etwa sequenziellen Zugriffen, ob die redundanten Daten im Speicherplattenlaufwerk 300 in Gebrauch sind oder nicht (das heißt, die Größe der Belastung), und ob ein Versagen beim Prozess des Erzeugens und Speicherns der redundanten Daten vorliegt, zu erzeugen, sowie aus dem Verfahren der Erzeugung in einem Laufwerk und dem Differenzenverfahren, von denen beide ausgeführt werden, um die redundanten Daten auf dem Speicherplattenlaufwerk 300 zu erzeugen, auszuwählen. Daher machen es das Speicherplattenanordnungsgerät und sein Steuerungsverfahren möglich, einen mit der Erzeugung der redundanten Daten bei der Verarbeitung der Schreibdaten verbundenen Overhead zu verringern, eine Antwortzeit und einen Durchsatz des Speicherplattenanordnungsgeräts beim Schreibvorgang der Daten zu verbessern und die Zuverlässigkeit der Erzeugung der redundanten Daten zu erhöhen.
  • Die vorhergehende Beschreibung wurde konkret entlang der Ausführungsbeispiele der Erfindung dargelegt. Es ist jedoch klar, dass die vorliegende Erfindung nicht auf die vorhergehenden Ausführungsbeispiele beschränkt ist.
  • Zum Beispiel kann die vorliegende Erfindung weitgehend auf ein mit Magnetplatte als Medium versehenes Magnetplattengerät ebenso wie auf ein Speicherplattenanordnungsgerät angewendet werden, das als Speichereinheit ein Speicherplattenlaufwerk mit einem im Wesentlichen rotierenden Speichermedium wie einer optischen Speicherplatteneinheit oder einer magneto-optischen Speicherplatteneinheit vorsieht.
  • Das Speicherplattenanordnungsgerät gemäß der Erfindung bewirkt, dass das Spinning im Standby-Zustand vermieden wird, das entsteht, wenn die Datenlänge der vom Host-System gesendeten Schreibdaten länger als eine Umdrehung des Speicherplattenmediums ist, und dass dadurch eine Antwortzeit verbessert wird, wenn die redundanten Daten vom Speicherplattenlaufwerk erzeugt werden, das eine Speicherplattenanordnung bildet.
  • Das Speicherplattenanordnungsgerät gemäß der Erfindung bewirkt, dass das geeignetste Verfahren zur Erzeugung redundanter Daten ausgewählt wird, welches die notwendige Anzahl von Lesevorgängen der Daten vor der Aufdatierung entsprechend der Teilungszahl der vom Host-System empfangenen Schreibdaten minimiert, und dass dadurch ein Durchsatz des Speicherplattenanordnungsgeräts verbessert wird.
  • Das Speicherplattenanordnungsgerät gemäß der Erfindung bewirkt, dass eine Beschäftigungszeit für eine Umdrehung des Speicherplattenlaufwerks verringert wird, wenn die redundanten Daten von dem Speicherplattenlaufwerk erzeugt werden, das die Speicherplattenanordnung bildet, und dass dadurch die Antwortzeit des Speicherplattenanordnungsgeräts verbessert wird.
  • Das Speicherplattenanordnungsgerät gemäß der Erfindung bewirkt, dass die Effizienz der Erzeugung der redundanten Daten, die mit der Verarbeitung der Schreibdaten entsprechend dem vom übergeordneten System angefragten Zugriffsmuster verbunden ist, erhöht wird und dadurch ein Durchsatz des Speicherplattenanordnungsgeräts verbessert wird.
  • Das Speicherplattenanordnungsgerät gemäß der Erfindung bewirkt, dass die Zuverlässigkeit der Erzeugung der redundanten Daten in dem Fall erhöht wird, dass die redundanten Daten in dem Speicherplattenlaufwerk erzeugt werden, das die Speicherplattenanordnung bildet.
  • Das Steuerungsverfahren für das Speicherplattenanordnungsgerät gemäß der Erfindung bewirkt, dass das Spinning im Standby-Zustand vermieden wird, das entsteht, wenn die Datenlänge der vom Host-System gesendeten Schreibdaten länger ist als eine Umdrehung des Speicherplattenmediums, und dass dadurch eine Antwortzeit verbessert wird, auf die die redundanten Daten vom Speicherplattenlaufwerk erzeugt werden, das die Speicherplattenanordnung bildet.
  • Das Steuerungsverfahren für das Speicherplattenanordnungsgerät gemäß der vorliegenden Erfindung bewirkt, dass das geeignetste Verfahren zum Erzeugen der redundanten Daten ausgewählt wird, bei dem die notwendige Anzahl von Lesevorgängen der Daten vor der Aufdatierung entsprechend der Teilungszahl der vom Host-System empfangenen Schreibdaten minimiert wird, und dass dadurch ein Durchsatz des Speicherplattenanordnungsgeräts verbessert wird.
  • Das Steuerungsverfahren für das Speicherplattenanordnungsgerät gemäß der vorliegenden Erfindung bewirkt, dass eine Beschäftigungszeit für eine Umdrehung des Speicherplattenlaufwerks verringert wird, wenn die redundanten Daten vom Speicherplattenlaufwerk erzeugt werden, das die Speicherplattenanordnung bildet, und dass dadurch die Antwortzeit des Speicherplattenanordnungsgeräts verbessert wird.
  • Das Steuerungsverfahren des Speicherplattenanordnungsgeräts entsprechend der Erfindung bewirkt, dass die Effizienz der Erzeugung der redundanten Daten, die mit der Verarbeitung der Schreibdaten verbunden ist, erhöht wird und dass dadurch ein Durchsatz des Speicherplattenanordnungsgeräts verbessert wird.
  • Das Steuerungsverfahren für das Speicherplattenanordnungsgerät gemäß der Erfindung bewirkt, dass die Zuverlässigkeit des Erzeugens der redundanten Daten erhöht wird, wenn die redundanten Daten vom Speicherplattenlaufwerk erzeugt werden, das die Speicherplattenanordnung bildet.

Claims (8)

  1. Speicherplattenanordnung umfassend: mehrere Speicherplattenlaufwerke (300) zum Speichern von Schreibdaten von einem übergeordneten Gerät (10) und zum Speichern von für die Schreibdaten verwendeten redundanten Daten; eine Teilmenge der Speicherplattenlaufwerke (300), die eine spezifische Datengruppe zum Speichern von aufgeteilten Teilen von vom übergeordneten Gerät (10) empfangenen Schreibdaten und von aus den Schreibdaten erzeugten redundanten Daten in einer verteilten Weise bildet; ein Speicherplattensteuergerät (20) zum Übertragen der Schreibdaten zwischen dem übergeordneten Gerät (10) und den Speicherplattenlaufwerken; eine Differenzdatenerzeugungsschaltung (140) innerhalb des Speicherplattensteuergeräts (20); eine erste Erzeugungseinrichtung (320) für redundante Daten innerhalb des Speicherplattenlaufwerks (300) zum Speichern der redundanten Daten und zum Erzeugen neuer redundanter Daten; eine zweite Erzeugungseinrichtung (130) für redundante Daten innerhalb des Speicherplattensteuergeräts (20) und einen Prozessor (30) innerhalb des Speicherplattensteuergeräts (20) zum Steuern des Betriebs der ersten und der zweiten Erzeugungsschaltung für redundante Daten (130, 320), wobei der Prozessor (30) dazu ausgelegt ist, folgendermaßen auszuwählen: (i) Erzeugen neuer redundanter Daten durch die zweite Erzeugungseinrichtung (130) für redundante Daten aus den Schreibdaten vom übergeordnetem Gerät (10) und den Daten, die nicht durch die Schreibdaten der Datengruppe aufzudatieren sind, zu der die Schreibdaten gehören, falls die Bedingung (b + 1) ≤ 2·(a + 1), wobei die Schreibdaten in "a" Teile aufgeteilt sind und "b" die Anzahl von in der Datengruppe verwendeten Speicherplattenlaufwerken außer dem Spei cherplattenlaufwerk ist, das die in der Datengruppe enthaltenen redundanten Daten speichert, erfüllt ist; (ii) Erzeugen neuer redundanter Daten durch die zweite Erzeugungseinrichtung (130) für redundante Daten aus den Schreibdaten vom übergeordneten Gerät, den durch die Schreibdaten aufzudatierenden vorherigen Daten und. den redundanten Daten der Datengruppe, zu der die Schreibdaten gehören, falls die obige Bedingung nicht erfüllt ist und das Speicherplattenlaufwerk zum Speichern der redundanten Daten in Benutzung ist; (iii) Übertragen der Schreibdaten und der durch die aufgeteilten Teile der Schreibdaten aufzudatierenden vorherigen Daten an das Speicherplattenlaufwerk zum Speichern der redundanten Daten der Schreibdaten der Datengruppe und Erzeugen neuer redundanter Daten durch die erste Erzeugungseinrichtung (320) für redundante Daten aus den Schreibdaten, den durch die Schreibdaten aufzudatierenden vorherigen Daten und den vorherigen redundanten Daten, falls keine der Bedingungen in (i) und (ii) erfüllt ist und falls die Schreibdatenlänge kleiner oder gleich einer vorgegebenen Länge ist, und (iv) Erzeugen von Differenzdaten durch die Differenzdatenerzeugungsschaltung (140), Übertragen der Differenzdaten an das Speicherplattenlaufwerk zum Speichern der redundanten Daten der Schreibdaten der Datengruppe und Erzeugen neuer redundanter Daten durch die erste Erzeugungseinrichtung (320) für redundante Daten aus den Differenzdaten und den vorherigen redundanten Daten, falls keine der Bedingungen in (i) und (ii) erfüllt ist und die Schreibdatenlänge größer als die vorgegebene Länge ist.
  2. Anordnung nach Anspruch 1, wobei sich die vorgegebene Länge auf die Länge der Daten pro Umdrehung von einem der Speicherplattenlaufwerke zum Speichern der Schreibdaten bezieht.
  3. Anordnung nach Anspruch 1 oder 2, wobei der Prozessor (30) zu folgender Auswahl ausgelegt ist: Erzeugen der redundanten Daten durch die zweite Erzeugungseinrichtung (130) für redundante Daten aus den Schreibdaten vom übergeordneten Gerät (10), den durch die Schreibdaten aufzudatierenden vorherigen Daten und den redundanten Daten der Datengruppe, zu der die Schreibdaten gehören, falls der Aufdatierungsvorgang für die redundanten Daten gemäß (iii) oder (iv) fehlgeschlagen ist.
  4. Anordnung nach einem der vorhergehenden Ansprüche, ferner umfassend: eine Einrichtung (38) zum Bestimmen von sequentiellem Zugriff für die Bestimmung des sequentiellen Zugriffsmodus für das übergeordnete Gerät (10); wobei der Prozessor (30) dazu ausgelegt ist, einen vorgegebenen Zeitraum abzuwarten, bevor er die Erzeugungsvorgänge für die redundanten Daten auswählt, falls sequentieller Zugriff vom übergeordneten Gerät (10) spezifiziert ist.
  5. Verfahren zum Steuern einer Speicherplattenanordnung, wobei die Speicherplattenanordnung umfasst: mehrere Speicherplattenlaufwerke (300) zum Speichern von Schreibdaten von einem übergeordneten Gerät (10) und zum Speichern von für die Schreibdaten verwendeten redundanten Daten; eine Teilmenge der Speicherplattenlaufwerke (300), die eine spezifische Datengruppe zum Speichern von aufgeteilten Teilen von vom übergeordneten Gerät (10) empfangenen Schreibdaten und von aus den Schreibdaten erzeugten redundanten Daten in einer verteilten Weise bildet, und ein Speicherplattensteuergerät (20) zum Übertragen der Schreibdaten zwischen dem übergeordneten Gerät (10) und den Speicherplattenlaufwerken (30); wobei das Verfahren umfasst: Übertragen von Schreibdaten vom übergeordneten Gerät an das Speicherplattensteuergerät und Aufteilen dieser in Teile; Erzeugen redundanter Daten für die Schreibdaten und Speichern der Schreibdaten und der redundanten Daten in den Speicherplattenlaufwerken; wobei (i) die redundanten Daten im Speicherplattensteuergerät (1160) aus den Schreibdaten vom übergeordneten Gerät (10) und den Daten erzeugt werden, die durch die Schreibdaten der Datengruppe, zu der die Schreibdaten gehören, nicht aufzudatieren sind, falls die Bedingung (1020) (b + 1) ≤ 2·(a + 1), wobei die Schreibdaten in "a" Teile aufgeteilt sind und "b" die Anzahl von in der Datengruppe verwendeten Speicherplattenlaufwerken außer dem Speicherplattenlaufwerk ist, das die in der Datengruppe enthaltenen redundanten Daten speichert, erfüllt ist; (ii) die redundanten Daten im Speicherplattensteuergerät (1170) aus den Schreibdaten vom übergeordneten Gerät (10), durch die Schreibdaten aufzudatierenden vorherigen Daten und redundanten Daten der Datengruppe, zu der die Schreibdaten gehören, erzeugt werden, falls die obige Bedingung nicht erfüllt ist (1020) und das Speicherplattenlaufwerk zum Speichern der redundanten Daten in Benutzung ist (1040); (iii) die Schreibdaten und die durch die aufgeteilten Teile der Schreibdaten aufzudatierenden vorherigen Daten an das Speicherplattenlaufwerk (300) zum Speichern der redundanten Daten der Schreibdaten der Datengruppe übertragen werden und redundante Daten dort (1100) aus den Schreibdaten, den durch die Schreibdaten aufzudatierenden vorherigen Daten und den vorherigen redundanten Daten erzeugt werden, falls keine der Bedingungen in den Schritten (i) und (ii) erfüllt ist und falls die Schreibdatenlänge kleiner oder gleich einer vorgegebenen Länge ist; und (iv) Differenzdaten im Speicherplattensteuergerät (20) erzeugt werden, die Differenzdaten an das Speicherplattenlaufwerk (300) zum Speichern der redundanten Daten der Schreibdaten der Datengruppe übertragen und neue redundante Daten dort (1140) aus den Differenzdaten und den vorherigen redundanten Daten erzeugt werden, falls keine der Bedingungen in (i) und (ii) erfüllt ist und die Schreibdatenlänge größer als die vorgegebene Länge ist (1090).
  6. Verfahren nach Anspruch 5, wobei sich die vorgegebene Länge auf die Länge der Daten pro Umdrehung von einem der Speicherplattenlaufwerke zum Speichern der Schreibdaten bezieht.
  7. Verfahren nach Anspruch 5 oder 6, ferner umfassend: Erzeugen der redundanten Daten (1170) im Speicherplattensteuergerät (20) aus den Schreibdaten vom übergeordneten Gerät, den durch die Schreibdaten aufzudatierenden vorherigen Daten und den redundanten Daten der Datengruppe, zu der die Schreibdaten gehören, falls die Aufdatierungsvorgänge für redundante Daten gemäß Schritt (iii) oder (iv) fehlgeschlagen ist (1110).
  8. Verfahren nach einem der Ansprüche 5 bis 7, ferner umfassend: Bestimmen (1010) von sequentiellem Zugriff für das übergeordnete Gerät (10) und Abwarten eines vorgegebenen Zeitraums (1150), bevor die Erzeugungsvorgänge für redundante Daten ausgewählt werden, falls sequentieller Zugriff vom übergeordneten Gerät spezifiziert ist.
DE69738091T 1996-11-21 1997-11-17 Speicherplattenanordnung und Verfahren zu deren Steuerung Expired - Lifetime DE69738091T2 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP31052096 1996-11-21
JP08310520A JP3133004B2 (ja) 1996-11-21 1996-11-21 ディスクアレイ装置およびその制御方法

Publications (2)

Publication Number Publication Date
DE69738091D1 DE69738091D1 (de) 2007-10-11
DE69738091T2 true DE69738091T2 (de) 2008-05-21

Family

ID=18006227

Family Applications (2)

Application Number Title Priority Date Filing Date
DE69738091T Expired - Lifetime DE69738091T2 (de) 1996-11-21 1997-11-17 Speicherplattenanordnung und Verfahren zu deren Steuerung
DE69735400T Expired - Lifetime DE69735400T2 (de) 1996-11-21 1997-11-17 Speicherplattenanordnung

Family Applications After (1)

Application Number Title Priority Date Filing Date
DE69735400T Expired - Lifetime DE69735400T2 (de) 1996-11-21 1997-11-17 Speicherplattenanordnung

Country Status (4)

Country Link
US (4) US6269424B1 (de)
EP (2) EP0844561B1 (de)
JP (1) JP3133004B2 (de)
DE (2) DE69738091T2 (de)

Families Citing this family (43)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3409859B2 (ja) * 1991-01-31 2003-05-26 株式会社日立製作所 制御装置の制御方法
US5671377A (en) * 1994-07-19 1997-09-23 David Sarnoff Research Center, Inc. System for supplying streams of data to multiple users by distributing a data stream to multiple processors and enabling each user to manipulate supplied data stream
JP3133004B2 (ja) * 1996-11-21 2001-02-05 株式会社日立製作所 ディスクアレイ装置およびその制御方法
US6415355B1 (en) * 1998-05-11 2002-07-02 Kabushiki Kaisha Toshiba Combined disk array controller and cache control method for parity generation mode and data restoration mode
US7233977B2 (en) * 1998-12-18 2007-06-19 Emc Corporation Messaging mechanism employing mailboxes for inter processor communications
JP2001043031A (ja) * 1999-07-30 2001-02-16 Toshiba Corp 分散パリティ生成機能を備えたディスクアレイ制御装置
US7093182B2 (en) * 1999-08-02 2006-08-15 Inostor Corporation Data redundancy methods and apparatus
US6557123B1 (en) * 1999-08-02 2003-04-29 Inostor Corporation Data redundancy methods and apparatus
US6742137B1 (en) * 1999-08-17 2004-05-25 Adaptec, Inc. Object oriented fault tolerance
US6519739B1 (en) 1999-09-29 2003-02-11 Emc Corporation Fault detector
US6915394B1 (en) 1999-09-29 2005-07-05 Emc Corporation Microprocessor interface
US6735655B1 (en) 1999-09-29 2004-05-11 Emc Corporation Interrupt request controller
US6836818B1 (en) * 1999-09-29 2004-12-28 Emc Corporation Central processing unit
US6543029B1 (en) 1999-09-29 2003-04-01 Emc Corporation Error corrector
US6581137B1 (en) * 1999-09-29 2003-06-17 Emc Corporation Data storage system
US6779129B2 (en) * 2000-12-01 2004-08-17 International Business Machines Corporation Method, article of manufacture and apparatus for copying information to a storage medium
US7200715B2 (en) * 2002-03-21 2007-04-03 Network Appliance, Inc. Method for writing contiguous arrays of stripes in a RAID storage system using mapped block writes
US7024586B2 (en) * 2002-06-24 2006-04-04 Network Appliance, Inc. Using file system information in raid data reconstruction and migration
EP1537496B1 (de) * 2002-09-10 2008-07-02 Exagrid Systems, Inc. Datenschutzverfahren und vorrichtung
JP2004192483A (ja) * 2002-12-13 2004-07-08 Hitachi Ltd 分散ストレージシステムの管理方法
JP4651913B2 (ja) 2003-02-17 2011-03-16 株式会社日立製作所 記憶装置システム
US20070033430A1 (en) * 2003-05-05 2007-02-08 Gene Itkis Data storage distribution and retrieval
JP4060235B2 (ja) 2003-05-22 2008-03-12 株式会社日立製作所 ディスクアレイ装置及びディスクアレイ装置の制御方法
JP2004348464A (ja) 2003-05-22 2004-12-09 Hitachi Ltd ストレージ装置、及び通信信号の整形回路
JP2005071196A (ja) 2003-08-27 2005-03-17 Hitachi Ltd ディスクアレイ装置、及びその障害情報の制御方法
JP4428993B2 (ja) * 2003-11-27 2010-03-10 株式会社日立製作所 ディスクアレイ装置及びディスクアレイ装置の制御方法
JP4156499B2 (ja) 2003-11-28 2008-09-24 株式会社日立製作所 ディスクアレイ装置
JP4497918B2 (ja) 2003-12-25 2010-07-07 株式会社日立製作所 ストレージシステム
JP4518541B2 (ja) 2004-01-16 2010-08-04 株式会社日立製作所 ディスクアレイ装置及びディスクアレイ装置の制御方法
JP4634049B2 (ja) 2004-02-04 2011-02-16 株式会社日立製作所 ディスクアレイ装置における異常通知制御
JP2005309818A (ja) * 2004-04-22 2005-11-04 Hitachi Ltd ストレージ装置、そのデータ読出方法、及びそのデータ読出プログラム
US7739462B2 (en) * 2005-02-23 2010-06-15 International Business Machines Corporation Policy based data shredding for storage controller
JP2006268673A (ja) 2005-03-25 2006-10-05 Hitachi Ltd 記憶制御装置及び記憶デバイスのエラー制御方法
JP4756914B2 (ja) * 2005-05-30 2011-08-24 キヤノン株式会社 遠隔協調作業支援システム及びその制御方法
US20070130232A1 (en) * 2005-11-22 2007-06-07 Therrien David G Method and apparatus for efficiently storing and managing historical versions and replicas of computer data files
JP4884885B2 (ja) 2006-08-25 2012-02-29 株式会社日立製作所 記憶制御装置及び記憶制御装置の障害回復方法
JP4521410B2 (ja) * 2007-01-12 2010-08-11 株式会社日立製作所 ディスクアレイ制御装置
CN101561781B (zh) * 2008-04-15 2011-03-30 群联电子股份有限公司 存储器数据存取的管理方法、装置及控制器
WO2013057764A1 (en) * 2011-10-19 2013-04-25 Hitachi, Ltd. Storage system
JP6294569B2 (ja) * 2015-06-19 2018-03-14 株式会社日立製作所 ストレージシステム及びキャッシュ制御方法
KR102532084B1 (ko) * 2018-07-17 2023-05-15 에스케이하이닉스 주식회사 데이터 저장 장치 및 동작 방법, 이를 포함하는 스토리지 시스템
JP6942163B2 (ja) * 2019-08-06 2021-09-29 株式会社日立製作所 ドライブボックス、ストレージシステム及びデータ転送方法
JP7316242B2 (ja) * 2020-03-18 2023-07-27 株式会社日立製作所 ストレージシステムおよびデータ転送方法

Family Cites Families (53)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5251303A (en) * 1989-01-13 1993-10-05 International Business Machines Corporation System for DMA block data transfer based on linked control blocks
US5191584A (en) * 1991-02-20 1993-03-02 Micropolis Corporation Mass storage array with efficient parity calculation
JP2913917B2 (ja) * 1991-08-20 1999-06-28 株式会社日立製作所 記憶装置および記憶装置システム
US5506977A (en) * 1991-12-17 1996-04-09 Dell Usa, L.P. Method and controller for minimizing reads during partial stripe write operations to a disk drive
US5398253A (en) * 1992-03-11 1995-03-14 Emc Corporation Storage unit generation of redundancy information in a redundant storage array system
US5469566A (en) * 1992-03-12 1995-11-21 Emc Corporation Flexible parity generation circuit for intermittently generating a parity for a plurality of data channels in a redundant array of storage units
JP2917188B2 (ja) 1992-08-26 1999-07-12 株式会社日立製作所 アレイ型ディスクシステムにおける書き込み制御方式
US5740465A (en) * 1992-04-08 1998-04-14 Hitachi, Ltd. Array disk controller for grouping host commands into a single virtual host command
US5432907A (en) * 1992-05-12 1995-07-11 Network Resources Corporation Network hub with integrated bridge
GB2270780A (en) * 1992-09-21 1994-03-23 Ibm Scatter-gather in data processing systems.
US5388108A (en) * 1992-10-23 1995-02-07 Ncr Corporation Delayed initiation of read-modify-write parity operations in a raid level 5 disk array
US5761402A (en) * 1993-03-08 1998-06-02 Hitachi, Ltd. Array type disk system updating redundant data asynchronously with data access
JPH0744326A (ja) 1993-07-30 1995-02-14 Hitachi Ltd 記憶装置システム
EP0660236B1 (de) * 1993-11-30 1999-06-09 Hitachi, Ltd. Speicherplattenanordnung mit auf einer Vielzahl von Leiterplatten verteilten Speicherplatten, die bei einer Entfernung eines Teils der Leiterplatten zugänglich bleiben
JP3661205B2 (ja) * 1994-09-09 2005-06-15 株式会社日立製作所 ディスクアレイシステムおよびディスクアレイシステムのパリティデータの生成方法
US5875456A (en) * 1995-08-17 1999-02-23 Nstor Corporation Storage device array and methods for striping and unstriping data and for adding and removing disks online to/from a raid storage array
US5687301A (en) 1995-09-15 1997-11-11 Hewlett-Packard Company Field correction of application specific printer driver problems
US6067635A (en) * 1995-10-27 2000-05-23 Lsi Logic Corporation Preservation of data integrity in a raid storage device
US5875352A (en) * 1995-11-03 1999-02-23 Sun Microsystems, Inc. Method and apparatus for multiple channel direct memory access control
US5742752A (en) * 1995-12-29 1998-04-21 Symbios Logic Inc. Method for performing a RAID stripe write operation using a drive XOR command set
US5659798A (en) * 1996-02-02 1997-08-19 Blumrich; Matthias Augustin Method and system for initiating and loading DMA controller registers by using user-level programs
US6167486A (en) * 1996-11-18 2000-12-26 Nec Electronics, Inc. Parallel access virtual channel memory system with cacheable channels
JP3133004B2 (ja) * 1996-11-21 2001-02-05 株式会社日立製作所 ディスクアレイ装置およびその制御方法
US6243769B1 (en) * 1997-07-18 2001-06-05 Micron Technology, Inc. Dynamic buffer allocation for a computer system
US6073190A (en) * 1997-07-18 2000-06-06 Micron Electronics, Inc. System for dynamic buffer allocation comprising control logic for controlling a first address buffer and a first data buffer as a matched pair
US6105075A (en) * 1997-08-05 2000-08-15 Adaptec, Inc. Scatter gather memory system for a hardware accelerated command interpreter engine
GB2333896B (en) * 1998-01-31 2003-04-09 Mitel Semiconductor Ab Vertical cavity surface emitting laser
US6167465A (en) * 1998-05-20 2000-12-26 Aureal Semiconductor, Inc. System for managing multiple DMA connections between a peripheral device and a memory and performing real-time operations on data carried by a selected DMA connection
US6301637B1 (en) * 1998-06-08 2001-10-09 Storage Technology Corporation High performance data paths
JP2000011640A (ja) * 1998-06-23 2000-01-14 Nec Corp 半導体記憶装置
JP3178423B2 (ja) * 1998-07-03 2001-06-18 日本電気株式会社 バーチャルチャネルsdram
JP3248617B2 (ja) * 1998-07-14 2002-01-21 日本電気株式会社 半導体記憶装置
US6587912B2 (en) * 1998-09-30 2003-07-01 Intel Corporation Method and apparatus for implementing multiple memory buses on a memory module
JP3248500B2 (ja) * 1998-11-12 2002-01-21 日本電気株式会社 半導体記憶装置およびそのデータ読み出し方法
US6434639B1 (en) * 1998-11-13 2002-08-13 Intel Corporation System for combining requests associated with one or more memory locations that are collectively associated with a single cache line to furnish a single memory operation
US6463059B1 (en) * 1998-12-04 2002-10-08 Koninklijke Philips Electronics N.V. Direct memory access execution engine with indirect addressing of circular queues in addition to direct memory addressing
US6349363B2 (en) * 1998-12-08 2002-02-19 Intel Corporation Multi-section cache with different attributes for each section
US6067262A (en) * 1998-12-11 2000-05-23 Lsi Logic Corporation Redundancy analysis for embedded memories with built-in self test and built-in self repair
US6367074B1 (en) * 1998-12-28 2002-04-02 Intel Corporation Operation of a system
US6061263A (en) * 1998-12-29 2000-05-09 Intel Corporation Small outline rambus in-line memory module
US6285349B1 (en) * 1999-02-26 2001-09-04 Intel Corporation Correcting non-uniformity in displays
US6496909B1 (en) * 1999-04-06 2002-12-17 Silicon Graphics, Inc. Method for managing concurrent access to virtual memory data structures
US6381190B1 (en) * 1999-05-13 2002-04-30 Nec Corporation Semiconductor memory device in which use of cache can be selected
US6233376B1 (en) * 1999-05-18 2001-05-15 The United States Of America As Represented By The Secretary Of The Navy Embedded fiber optic circuit boards and integrated circuits
JP2001014840A (ja) * 1999-06-24 2001-01-19 Nec Corp 複数ラインバッファ型メモリlsi
US6552564B1 (en) * 1999-08-30 2003-04-22 Micron Technology, Inc. Technique to reduce reflections and ringing on CMOS interconnections
US6594713B1 (en) * 1999-09-10 2003-07-15 Texas Instruments Incorporated Hub interface unit and application unit interfaces for expanded direct memory access processor
US6421744B1 (en) * 1999-10-25 2002-07-16 Motorola, Inc. Direct memory access controller and method therefor
JP3356747B2 (ja) * 1999-12-22 2002-12-16 エヌイーシーマイクロシステム株式会社 半導体記憶装置
JP2002014875A (ja) * 2000-06-30 2002-01-18 Mitsubishi Electric Corp 半導体集積回路、半導体集積回路のメモリリペア方法およびその方法をコンピュータに実行させるプログラムを記録したコンピュータ読み取り可能な記録媒体
US6505490B2 (en) * 2001-02-28 2003-01-14 The Gates Corporation Method of forming a sheet metal cup without a mandrel
DE10110469A1 (de) * 2001-03-05 2002-09-26 Infineon Technologies Ag Integrierter Speicher und Verfahren zum Testen und Reparieren desselben
US7941056B2 (en) * 2001-08-30 2011-05-10 Micron Technology, Inc. Optical interconnect in high-speed memory systems

Also Published As

Publication number Publication date
EP1486871A3 (de) 2005-01-05
DE69738091D1 (de) 2007-10-11
US20020184443A1 (en) 2002-12-05
DE69735400T2 (de) 2007-02-01
US6269424B1 (en) 2001-07-31
EP1486871A2 (de) 2004-12-15
EP1486871B1 (de) 2007-08-29
US6961816B2 (en) 2005-11-01
JP3133004B2 (ja) 2001-02-05
EP0844561A3 (de) 2004-01-28
US20040010661A1 (en) 2004-01-15
US20010032294A1 (en) 2001-10-18
US6604172B2 (en) 2003-08-05
EP0844561B1 (de) 2006-03-08
US6463505B2 (en) 2002-10-08
DE69735400D1 (de) 2006-05-04
EP0844561A2 (de) 1998-05-27
JPH10149262A (ja) 1998-06-02

Similar Documents

Publication Publication Date Title
DE69738091T2 (de) Speicherplattenanordnung und Verfahren zu deren Steuerung
DE69533570T2 (de) Verfahren und System zum Erkennen von Datenverlust in einem hierarchischen Datenspeichersystem
DE69631106T2 (de) On-line-Rekonfiguration einer Speicherplattenanordnung
US5485571A (en) Method and apparatus for providing distributed sparing with uniform workload distribution in failures
DE69632219T2 (de) Speicherplattenanordnungssystem
DE69833815T2 (de) Verbesserter Disk-Log mit verteiltem Schreibsystem
DE69533764T2 (de) Verfahren zum Gebrauch von Speicherplatten unterschiedlicher Inhalte in einem Einzelvolumen einer hierarchischen Speicherplattenanordnung
DE60304194T2 (de) Verfahren und vorrichtung zur tolerierung von mehreren abhängigen oder zwei beliebigen fehlern in einer speicherplattenanordnung
DE19983218B4 (de) Verfahren zum Codieren von Datensignalen zur Speicherung
US4993030A (en) File system for a plurality of storage classes
DE69630624T2 (de) EEPROM-Matrix mit einem, dem &#34;Flash&#34;-Speicher ähnlichen Kern
DE69727083T2 (de) Überprüfungssystem um die integrität der parität einer speicherplattenmatrix aufrechtzuerhalten
DE69532030T2 (de) Speicherplattenanordnung mit Ersatzbetriebsmitteln in Betrieb und Verfahren zur Verwendung von Ersatzbetriebsmitteln zum Speichern von Benutzerdaten
DE69733076T2 (de) Hochleistungsdatenweg mit sofortigem xor
DE69530776T2 (de) Zweiwege set-assoziativer cache-speicher
US5564116A (en) Array type storage unit system
JP2769443B2 (ja) 記憶サブシステム及び関連する装置/方法
US5124987A (en) Logical track write scheduling system for a parallel disk drive array data storage subsystem
DE69838898T2 (de) Doppelte Plattenspeichersteuerungen
US6341331B1 (en) Method and system for managing a raid storage system with cache
DE60031064T2 (de) Kopierverfahren zwischen logischen Speicherplatten, Speicherplattensystem und Programm dafür
DE3932474C2 (de) Plattenzugriff-Steuerverfahren
US7228381B2 (en) Storage system using fast storage device for storing redundant data
DE69534994T2 (de) Steuerungsvorrichtung für speicherplattenanordnung und speicherplattenanordnungsgerät
DE112007002175T5 (de) Optimierte Rekonstruktion und Rückkopiemethodik für ein ausgefallenes Laufwerk bei Anwesenheit einer globalen Hot Spare Platte

Legal Events

Date Code Title Description
8364 No opposition during term of opposition