DE69532703T2 - Speicherplattenanordnungsuntersystem und Datenerzeugungsverfahren dazu - Google Patents

Speicherplattenanordnungsuntersystem und Datenerzeugungsverfahren dazu Download PDF

Info

Publication number
DE69532703T2
DE69532703T2 DE69532703T DE69532703T DE69532703T2 DE 69532703 T2 DE69532703 T2 DE 69532703T2 DE 69532703 T DE69532703 T DE 69532703T DE 69532703 T DE69532703 T DE 69532703T DE 69532703 T2 DE69532703 T2 DE 69532703T2
Authority
DE
Germany
Prior art keywords
data
parity
disk
magnetic disk
devices
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
DE69532703T
Other languages
English (en)
Other versions
DE69532703D1 (de
Inventor
Akira Odawara-shi Kojima
Akihito Ogino
Soichi Chigasaki-shi Isono
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
Application granted granted Critical
Publication of DE69532703D1 publication Critical patent/DE69532703D1/de
Publication of DE69532703T2 publication Critical patent/DE69532703T2/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
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/18Error detection or correction; Testing, e.g. of drop-outs
    • G11B20/1833Error detection or correction; Testing, e.g. of drop-outs by adding special lists or symbols to the coded information
    • 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
    • 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
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing

Description

  • HINTERGRUND DER ERFINDUNG
  • Gebiet der Erfindung
  • Die Erfindung betrifft ein Plattenanordnungs-Subsystem zum parallelen Verbinden und Betreiben mehrerer Plattenlaufwerke sowie ein zugehöriges Datenerzeugungsverfahren, und insbesondere betrifft sie ein Plattenanordnungs-Subsystem zum Verringern des Schreib-Zusatzaufwands bei RAID4 (redundant array of inexpensive disks) und RAID5.
  • Beschreibung des Stands der Technik
  • Ein Plattenanordnungs-Subsystem ist ein Magnetplattenlaufwerk zum parallelen Verbinden und Betreiben mehrerer billiger, kleiner Plattenlaufwerke, um ein Funktionsvermögen zu erzielen, das demjenigen einer SLED (single large expensive disk) entspricht. Ein allgemeiner Aufbau einer Plattenanordnung ist in der 7 dargestellt. Diese Plattenanordnung verfügt über eine Plattenanordnungs-Steuereinheit 2, die über eine Hostschnittstelle 12 mit einem Hostcomputer 1 verbunden ist, und mehrere Plattenlaufwerke 18, die mit der Plattenanordnungs-Steuereinheit 2 verbunden sind und parallel arbeiten. Die Plattenanordnungs-Steuereinheit 2 verfügt über eine Hostschnittstellen-Steuereinheit 3 zum einmaligen Abspeichern einer Lese- oder Schreibanweisung vom Hostcomputer 1, eine CPU 4 zum Steuern des Betriebs der Plattenanordnungs-Steuereinheit 2, einen Cachespeicher 6 zum Speichern der zwischen dem Hostcomputer 1 und den Plattenlaufwerken 18 übertragenen Daten, eine Plattenanordnungs-Steuereinheit 5 zum Steuern des Cachespeichers 6 sowie eine Platten-Steuereinheit 7 zum Steuern der Datenübertragung zwischen der Plattenanordnungs-Steuereinheit 2 und den Plattenlaufwerken 18.
  • Wenn die Cachespeicher-Steuereinheit 5 beim Lesen klarstellt, dass im Cachespeicher 6 angeforderte Daten existieren, werden diese vom Cachespeicher 6 über die Hostschnittstelle 12 an den Hostcomputer 1 übertragen. Wenn die angeforderten Daten nicht im Cachespeicher 6 existieren, speichert die CPU 4 die Daten von einem Plattenlaufwerk 18, das diese speichert, über die Platten-Steuereinheit 7 und die Cachespeicher-Steuereinheit 5 in den Cachespeicher 6 ein. Die Cachespeicher-Steuereinheit 5 überträgt die Daten an den Hostcomputer 1, nachdem der Abspeichervorgang beendet ist, oder parallel zu diesem.
  • Beim Schreiben werden vom Hostcomputer 1 übertragene Schreibdaten durch die Cachespeicher-Steuereinheit 5 mittels der Hostschnittstelle 12 in den Cachespeicher 6 eingespeichert. Die Cachespeicher-Steuereinheit 5 schreibt die Schreibdaten nach Beendigung des Speichervorgangs oder parallel zu diesem über die Platten-Steuereinheit 7 in das durch die CPU 4 spezifizierte Plattenlaufwerk 18 ein.
  • Um Zuverlässigkeit aufrechtzuerhalten, erzeugt das Plattenanordnungs-Subsystem Paritätsdaten zu auf mehreren Datenplatten gespeicherten Daten und speichert sie auf einer Paritätsplatte ab. Bei RAID4 ist die Paritätsplatte in einem speziellen Plattenlaufwerk untergebracht. Bei RAID5 sind, um Funktionsverringerungen zu vermeiden, wie sie durch Zugriffskonzentration auf die Paritätsplatte auftreten, die Paritätsdaten für alle Daten gleichmäßig auf alle Plattenlaufwerke verteilt.
  • Das USA-Patent 5191584 offenbart ein Datenaktualisierungsverfahren in einem Plattenanordnungs-Subsystem gemäß RAID4 oder RAID5. Gemäß diesem Datenaktualisierungsverfahren ist es, wenn eine Plattenanordnungs-Steuereinheit auf eine Datenplatte gemäß jeder Verarbeitungseinheit zugreift, nicht erforderlich, auf alle Datenplatten zuzugreifen, und zwar selbst dann, wenn Daten geschrieben werden. Die Plattenanordnungs-Steuereinheit berechnet neue Paritätsdaten durch Exklusiv-ODER-Verknüpfung der alten Daten der Datenplatte für den Schreibvorgang, der alten Paritätsdaten der Paritätsplatte und neuer Daten, wie sie vom Hostcomputer übertragen werden, und sie aktualisiert die Paritätsplatte entsprechend den neuen Paritätsdaten. Daher kann für andere Platten als die Datenplatte für den Schreibvorgang und die Paritätsplatte ein anderer Prozess ausgeführt werden. Insbesondere bei RAID5 ist keine Paritätsplatte spezifiziert, so dass der Schreibprozess gleichzeitig ausgeführt werden kann.
  • Ein durch dieses Verfahren verursachtes Problem besteht darin, dass die fünf unten angegebenen Prozesse erzeugt werden, da die Paritätsplatte für Schreibdaten aktualisiert wird, wie es in der 8 dargestellt ist, und die Verarbeitungskapazität ist verringert.
    • 1) Lesen der alten Daten von der Datenplatte an der entsprechenden Adresse.
    • 2) Lesen der alten Paritätsdaten von der Paritätsplatte an der entsprechenden Adresse.
    • 3) Schreiben neuer Daten auf die Datenplatte an der entsprechenden Adresse.
    • 4) Berechnen der Exklusiv-ODER-Verknüpfung der neuen Daten, der alten Daten und der alten Paritätsdaten, und Erhalten neuer Paritätsdaten.
    • 5) Schreiben der neuen Paritätsdaten auf die Paritätsplatte.
  • Die vier Prozesse mit Ausnahme von 4) unter den o.g. fünf Prozessen werden von einem Zugriffsprozess auf Plattenlaufwerke begleitet, und dies bewirkt eine Verringerung des Funktionsvermögens des Plattenanordnungs-Subsystems. Diese Verringerung des Funktionsvermögens aufgrund eines Anstiegs der Zugriffsprozesse auf Plattenlaufwerke zum Aktualisieren der Paritätsplatte, wie es beim Schreiben von Daten auftrat, wird als Schreib-Zusatzaufwand bezeichnet.
  • ZUSAMMENFASSUNG DER ERFINDUNG
  • Es ist eine Aufgabe der Erfindung, ein Plattenanordnungs-Subsystem zum Verhindern einer Beeinträchtigung des Funktionsvermögens selbst dann, wenn der Zugriffsprozess auf einen Aufzeichnungsträger beim Schreiben von Daten durch einen Schreib-Zusatzaufwand umfangreicher ist, und ein zugehöriges Verfahren zu schaffen.
  • Diese Aufgabe ist durch das System gemäß dem Anspruch 1 und das Verfahren gemäß dem Anspruch 5 gelöst.
  • Beim erfindungsgemäßen Plattenanordnungs-Subsystem mit mehreren Magnetplatten-Speichereinrichtungen erfasst mindestens eine Magnetplatten-Speichereinrichtung unter den o.g. Magnetplatten-Speichereinrichtungen Daten (neue Daten), wie sie in eine Magnetplatten-Speichereinrichtung unter den obigen mehreren Magnetplatten-Speichereinrichtungen einzuschreiben sind, es werden die Daten (alte Daten) in der eigenen Magnetplatten-Speichereinrichtung, die den neuen Daten entsprechen, gelesen, es wird die Exklusiv-ODER-Verknüpfung der neuen Daten und der alten Daten berechnet, es werden die berechneten Daten erzeugt, und es werden die berechneten Daten an der entsprechenden Adresse in die eigene Magnetplatten-Speichereinrichtung eingeschrieben, oder sie werden an das obere Gerät oder eine andere Magnetplatten-Speichereinrichtung übertragen.
  • Ein das erfindungsgemäße Plattenanordnungs-Subsystem bildendes Plattenlaufwerk verfügt über mindestens zwei Schnittstellen. Die erste Schnittstelle verbindet die Platten-Steuereinheit und ein Plattenlaufwerk, und die zweite Schnittstelle verbindet mehrere Plattenlaufwerke mit gemeinsamer Parität miteinander.
  • Vom Hostcomputer übertragene neue Daten werden durch die Plattenanordnungs-Steuereinheit an ein Plattenlaufwerk übertragen. Das Plattenlaufwerk empfängt die neuen Daten über die erste Schnittstelle, es liest gleichzeitig die alten Daten auf dem Aufzeichnungsträger, es berechnet die Exklusiv-ODER-Verknüpfung der neuen Daten und der alten Daten, es überträgt das Ergebnis von der zweiten Schnittstelle als Pseudo-Paritätsdaten an die Paritätsplatte, und es schreibt die neuen Daten auf den Aufzeichnungsträger. Das Plattenlaufwerk, in dem die Paritätsdaten der neuen Daten abgespeichert werden, empfängt die Pseudo-Paritätsdaten von der zweiten Schnittstelle, es liest gleichzeitig die alten Paritätsdaten auf dem Aufzeichnungsträger, es berechnet die Exklusiv-ODER-Verknüpfung der Pseudo-Paritätsdaten und der alten Paritätsdaten, und es schreibt das Ergebnis als neue Paritätsdaten auf den Aufzeichnungsträger.
  • Die Erfindung mit dem o.g. Aufbau hat die Funktion und die Betriebsweise, wie sie unten angegeben sind.
  • Gemäß der Erfindung führt ein Plattenlaufwerk einen Prozess zum Lesen alter Daten und alter Paritätsdaten zum Aktualisieren von Paritätsdaten des Plattenanordnungs-Subsystems sowie einen Prozess zum Berechnen und Schreiben neuer Paritätsdaten aus, so dass die Belastung der Plattenanordnungs-Steuereinheit verringert ist. Pseudo-Paritätsdaten werden nicht über die Plattenanordnungs-Steuereinheit übertragen, so dass eine Verringerung der Verarbeitungskapazität aufgrund eines konzentrierten Zugriffs auf ein Plattenlaufwerk von der Platten-Steuereinheit verhindert werden kann und das Funktionsvermögen beim Schreiben von Daten verbessert ist.
  • Die vorstehenden und andere Aufgaben, Vorteile, die Betriebsweise sowie neuartige Merkmale der Erfindung werden aus der folgenden detaillierten Beschreibung ersichtlich, wenn diese in Verbindung mit den beigefügten Zeichnungen gelesen wird.
  • KURZE BESCHREIBUNG DER ZEICHNUNGEN
  • 1 ist ein Blockdiagramm eines Plattenanordnungs-Subsystems gemäß einer Ausführungsform der Erfindung;
  • 2 ist ein detailliertes Blockdiagramm eines Plattenlaufwerks gemäß einer Ausführungsform der Erfindung;
  • 3 ist ein Blockdiagramm von RAID4 gemäß einer Ausführungsform der Erfindung;
  • 4 ist ein zeitbezogenes Diagramm des Betriebs bei RAID4 zum Schreiben gemäß einer Ausführungsform der Erfindung;
  • 5 ist ein Blockdiagramm zu RAID5 gemäß einer Ausführungsform der Erfindung;
  • 6 ist ein zeitbezogenes Diagramm des Betriebs bei RAID5 zum Schreiben gemäß einer Ausführungsform der Erfindung;
  • 7 ist ein Blockdiagramm eines herkömmlichen Plattenanordnungs-Subsystems; und
  • 8 ist ein zeitbezogenes Diagramm zur Datenübertragung bei RAID5 zum Schreiben bei einem herkömmlichen Beispiel.
  • DETAILLIERTE BESCHREIBUNG DER BEVORZUGTEN AUSFÜHRUNGSFORMEN
  • Die 1 zeigt eine Ausführungsform der Erfindung. Bei dieser Ausführungsform verfügt eine Paritätsgruppe über n Daten-Plattenlaufwerke und ein Paritäts-Plattenlaufwerk. Jedes Plattenlaufwerk 8 verfügt über zwei Schnittstellen. Eine derselben ist eine Schnittstelle 13, die über eine Platten-Steuereinheit 7 mit dem Hostcomputer verbunden ist. Die andere ist eine Schnittstelle 14 zum Verbinden von Plattenlaufwerken, die die Paritätsgruppe bilden, miteinander. Bei dieser Ausführungsform wird die Schnittstelle 13 als Platten-Schnittstelle bezeichnet, und die Schnittstelle 14 wird als Paritäts-Schnittstelle bezeichnet.
  • Ein Plattenlaufwerk 8, das eine Schreibanweisung empfängt, berechnet die Exklusiv-ODER-Verknüpfung neuer, durch die Platten-Schnittstelle 13 über tragener Daten sowie der alten Daten auf dem Plattenträger, und es überträgt das Rechenergebnis über die zweite Schnittstelle an das Paritäts-Plattenlaufwerk. Das Paritäts-Plattenlaufwerk speichert die Exklusiv-ODER-Verknüpfung des Rechenergebnisses und die im Plattenlaufwerk gespeicherten alten Paritätsdaten als neue Paritätsdaten ab.
  • Die 2 zeigt einen detaillierten Aufbau eines Plattenlaufwerks B. Das Plattenlaufwerk 8 verfügt über einen Pufferspeicher 21 zum Speichern von Daten, wie sie von der Platten-Schnittstelle 13 oder der Paritäts-Schnittstelle 14 übertragen werden, einen Pufferspeicher 22 zum Speichern von von einem Aufzeichnungsträger gelesenen Daten, eine Arithmetikeinheit 23 zum Berechnen der Exklusiv-ODER-Verknüpfung des Ausgangssignals des Pufferspeichers 21 und desjenigen des Pufferspeichers 22, eine Schalteinheit 25 zum Schalten des Verbindungsziels der Paritäts-Schnittstelle 14 oder der Platten-Schnittstelle 13, eine Schalteinheit 24 zum Schalten des Verbindungsziels der Platte, Schnittstellen-Steuereinheiten 28a und 28b zwischen der Hostschnittstelle (HOST IF) und der Paritäts-Schnittstelle 14 (PARITY IF), Befehlsinterpretierer 29a und 29b sowie zwei FIFO-Datengeschwindigkeits-Einstelleinheiten 27a und 27b. Die Pufferspeicher 21 und 22 verfügen über FIFO-Datengeschwindigkeits-Einstelleinheiten 30 und 31 zur Eingabe und zur Ausgabe. Die Platten-Schnittstelle verfügt über eine FIFO-Datengeschwindigkeits-Einstelleinheit 32 zur Eingabe und Ausgabe.
  • Wenn das Plattenlaufwerk eine Datenplatte ist, speichert der Pufferspeicher 21 die Exklusiv-ODER-Verknüpfung der von der Platten-Schnittstelle 13 übertragenen Schreibdaten (neue Daten) und der alten Daten an der entsprechenden Adresse ab, wie sie von der Platte gelesen wird, und wenn das Plattenlaufwerk eine Paritätsplatte ist, speichert der Pufferspeicher 21 die Exklusiv-ODER-Verknüpfung der von der Paritäts-Schnittstelle 14 übertragenen Pseudo-Paritätsdaten und die alten Paritätsdaten an der entsprechenden Adresse ab, wie sie von der Platte gelesen wird. Die Schalteinheiten 24 und 25 wählen ein EOR-Gatter 23 für eine Gegenmaßnahme gegen einen Schreib-Zusatzaufwand beim RAID gemäß der Erfindung aus. Um normales Lesen/Schreiben auszuführen, wählen sie ALT/NEU aus.
  • Der Pufferspeicher 22 speichert die alten Daten oder die alten Paritätsdaten des Aufzeichnungsträgers 26. Wenn das Plattenlaufwerk eine Datenplatte ist, wird die Exklusiv-ODER-Verknüpfung der neuen und der alten Daten im Pufferspeicher 21, wie durch die Schalteinheit 25 ausgewählt, abgespeichert und an die Paritäts-Schnittstelle 14 ausgegeben. Wenn das Plattenlaufwerk eine Paritätsplatte ist, wird die Exklusiv-ODER-Verknüpfung der Pseudo-Paritätsdaten und der alten Paritätsdaten als neue Paritätsdaten von der FI-FO-Einheit 32 auf dem Aufzeichnungsträger 26 gespeichert.
  • Die 3 zeigt eine Ausführungsform der Erfindung und den Aufbau für den Fall von RAID4. Bei RAID4 sind die Paritätsplatten festgelegt. Bei dieser Ausführungsform sind die Plattenlaufwerke 8–1(n+1) bis 8–m(n+1) Paritätsplatten.
  • Die 4 zeigt eine detaillierte Verarbeitung dieser Ausführungsform. Das Plattenlaufwerk 8–11, das Schreibdaten für die Adresse #0 über die Schnittstelle 13–1 von der Platten-Steuereinheit 7–1 empfängt:
    • 1) teilt der Platten-Steuereinheit 7–1 zum Zeitpunkt, zu dem alle Daten im Pufferspeicher 21 im Plattenlaufwerk empfangen sind, das Ende mit;
    • 2) liest die alten Daten an der Adresse #0 auf dem Aufzeichnungsträger (dieser Prozess kann vorab in den Pufferspeicher B eingelesen werden, oder er kann parallel mit dem Einschreiben neuer Daten in den Puffer ausgeführt werden);
    • 3) berechnet die Exklusiv-ODER-Verknüpfung der neuen und der alten Daten;
    • 4) nimmt das Rechenergebnis als Pseudo-Paritätsdaten an und überträgt diese an das Plattenlaufwerk, um Paritätsdaten über die Schnittstelle 14–1 an der entsprechenden Adresse abzuspeichern; und
    • 5) schreibt die neuen Daten an der Adresse #0 auf den Aufzeichnungsträger 26.
  • Das Paritäts-Plattenlaufwerk 8–1(n+1), das die Pseudo-Paritätsdaten über die Schnittstelle 14–1 vom Daten-Plattenlaufwerk 8–11 empfängt:
    • 1) teilt dem Daten-Plattenlaufwerk 8–11 zum Zeitpunkt, zu dem alle Daten im Pufferspeicher 21 im Plattenlaufwerk empfangen sind, das Ende mit;
    • 2) liest die alten Paritätsdaten an der Adresse #0nP auf dem Aufzeichnungsträger 26 (dieser Prozess kann vorab in den Pufferspeicher 22 eingelesen werden, oder er kann parallel mit dem Einschreiben der Pseudo-Paritätsdaten in, den Puffer ausgeführt werden);
    • 3) berechnet die Exklusiv-ODER-Verknüpfung der Pseudo-Paritätsdaten und der alten Paritätsdaten; und
    • 4) nimmt das Rechenergebnis als neue Paritätsdaten an und schreibt diese an der Adresse #0nP auf den Aufzeichnungsträger 26.
  • Gemäß den o.g. Prozessen liefert das Plattenlaufwerk einen Endbericht, wenn die Daten vom oberen Gerät in den Pufferspeicher des Plattenlaufwerks ein gespeichert sind, so dass die Verarbeitungszeit zum Schreiben von Daten, gesehen vom oberen Gerät, verkürzt werden kann.
  • Die 5 zeigt eine andere Ausführungsform der Erfindung und den Aufbau im Fall von RAID5. Bei RAIDS sind die Paritätsplatten nicht festgelegt, und (n+1) Datenplatten drehen sich bei jeder Datenverarbeitung. Die anderen Betriebsabläufe sind dieselben wie im Fall von RAID4. Es ist erforderlich, dass ein Daten-Plattenlaufwerk die entsprechenden Paritätsdaten unter den Plattenlaufwerken erkennt, um Pseudo-Paritätsdaten zu übertragen. Als Maßnahme hierfür besteht ein Verfahren, bei dem eine Platten-Steuereinheit dies in einer Schreibanweisung anweist, oder. es existiert ein Verfahren, bei dem dies aus dem Rest, wenn die Adresse durch (n+1) geteilt ist, und der ID-Nummer des Plattenlaufwerks selbst berechnet wird, da die Paritätsdaten sequenziell verschoben werden, wie es bei dieser Ausführungsform dargestellt ist.
  • Die 6 zeigt eine detaillierte Verarbeitung im Fall von RAIDS. Das Plattenlaufwerk 8–11, das Schreibdaten für die Adresse #0 über die Schnittstelle 13–1 von der Platten-Steuereinheit 7–1 empfängt:
    • 1) teilt der Platten-Steuereinheit 7–1 zum Zeitpunkt, zu dem alle Daten im Pufferspeicher 21 im Plattenlaufwerk empfangen sind, das Ende mit;
    • 2) liest die alten Daten an der Adresse #0 auf dem Aufzeichnungsträger 26 (dieser Prozess kann an einer anderen Adresse des Pufferspeichers B vorab gelesen werden, oder er kann parallel zum Einschreiben neuer Daten in den Puffer ausgeführt werden);
    • 3) berechnet die Exklusiv-ODER-Verknüpfung neuer und alten Daten;
    • 4) nimmt das Rechenergebnis als Pseudo-Paritätsdaten an und überträgt diese an das Plattenlaufwerk, um Paritätsdaten über die Schnittstelle 14–1 an der entsprechenden Adresse abzuspeichern; und
    • 5) schreibt die neuen Daten an der Adresse #0 auf den Plattenträger.
  • Das Paritäts-Plattenlaufwerk 8–1(n+1), das die Pseudo-Paritätsdaten vom Platten-Plattenlaufwerk 8–11 über die Schnittstelle 14–1 empfängt:
    • 1) teilt dem Daten-Plattenlaufwerk zum Zeitpunkt, zu dem alle Daten im Pufferspeicher 21 im Plattenlaufwerk empfangen sind, das Ende mit;
    • 2) liest die alten Paritätsdaten an der Adresse #OP auf dem Aufzeichnungsträger 26 (dieser Prozess kann vorab in den Pufferspeicher 22 gelesen werden, oder er kann parallel zum Schreiben der Pseudo-Paritätsdaten in den Puffer ausgeführt werden);
    • 3) berechnet die Exklusiv-ODER-Verknüpfung der Pseudo-Paritätsdaten und der alten Paritätsdaten; und
    • 4) nimmt das Rechenergebnis als neue Paritätsdaten an und schreibt diese an der Adresse #OnP auf den Aufzeichnungsträger 26.
  • Da die Paritätsplatten beim RAID5 nicht festgelegt sind, ist, wenn für das Plattenlaufwerk 8–11, in dem eine Anforderungsadresse (z.B. #O) des Hostcomputers existiert, und das Plattenlaufwerk 8–1(n+1), in dem die Paritätsdaten existieren, ein Schreibprozess ausgeführt wird, Zugriff auf die Adresse #(2n+1) eines anderen Plattenlaufwerks 8–13 und des Plattenlaufwerks 8–12, in dem die Paritätsdaten existieren, möglich. Daher kann, wenn das System so konzipiert ist, dass ein Paritätsaktualisierungsprozess hinsichtlich der Paritäts-Schnittstelle und ein Daten-Schreib/Lese-Prozess hinsichtlich der Steuereinheit-Schnittstelle durch mehrere Plattenlaufwerke parallel ausgeführt werden können, das Funktionsvermögen des Systems weiter verbessert werden.
  • Gemäß dem erfindungsgemäßen Plattenanordnungs-Subsystem wird das Aktualisieren von Paritätsdaten zum Schreiben von Daten über die Schnittstelle zwischen den Plattenlaufwerken ausgeführt, nachdem ein Plattenlaufwerk einen Endbericht an die Platten-Steuereinheit geliefert hat, so dass die Verzögerungszeit aufgrund eines Schreib-Zusatzaufwands vom Hostcomputer aus gesehen verkürzt werden kann.

Claims (5)

  1. Plattenanordnungs-Subsystem mit mehreren Speicherplatteneinrichtungen (8) und einer Paritätserzeugungsfunktion, wobei jede Speicherplatteneinrichtung aufweist: mehrere erste Schnittstelleneinrichtungen (13), die an ein oberes Verarbeitungsgerät (1, 2) und eine erste Gruppe (8–11 bis 8–m1, 8–12 bis 8–m2,...) der mehreren Speicherplatteneinrichtungen angeschlossen sind, um neue Daten in eine der mehreren Speicherplatteneinrichtungen zu schreiben; eine Einrichtung (21, 22) zum Lesen von zu den neuen Daten korrespondierenden alten Daten in der einen Speicherplatteneinrichtung; eine Einrichtung (23) zum Berechnen eines exklusiven ODER zwischen den neuen und den alten Daten als Pseudo-Paritätsdaten; gekennzeichnet durch: mehrere zweite Schnittstelleneinrichtungen (14), die an eine zweite Gruppe (8–11 bis 8–1(n+1), 8–21 bis 8–2(n+1),...) der Speicherplatteneinrichtungen angeschlossen sind, um die Pseudo-Paritätsdaten an eine andere Speicherplatteneinrichtung zu übertragen, wenn die neuen Daten Schreibedaten von dem oberen Verarbeitungsgerät darstellen; und eine Einrichtung, die in Betrieb ist, wenn die neuen Daten von einer anderen Speicherplatteneinrichtung übertragene Pseudo-Paritätsdaten darstellen, um ein exklusives ODER zwischen den Pseudo-Paritätsdaten und den alten Daten in der einen Speicherplatteneinrichtung zu berechnen und die berechneten Daten in die eine Speicherplatteneinrichtung zu schreiben.
  2. Plattenanordnungs-Subsystem nach Anspruch 1, wobei die mehreren Speicherplatteneinrichtungen (8) in mehrere Paritätsgruppen unterteilt sind, wobei jede Paritätsgruppe n Magnetplatten-Datenspeichereinrichtungen und eine Paritäts-Magnetplattenspeichereinrichtung aufweist, die ersten Schnittstelleneinrichtungen (13) an eine Datengruppe angeschlossen sind, die aus Magnetplatten-Speichereinrichtungen von einer der n Magnetplatten-Datenspeichereinrichtungen aus verschiedenen Paritätsgruppen aufgebaut ist, und die zweiten Schnittstelleneinrichtungen (14) an die Magnetplatten-Speichereinrichtung in einer Paritätsgruppe (26, 8–11 bis 8–1(n+1)) angeschlossen sind, zu der die eine Magnetplatten-Speichereinrichtung gehört.
  3. Plattenanordnungs-Subsystem nach Anspruch 1 oder 2, ferner mit: einem ersten Pufferspeicher (21) zum Speichern von aus der einen Magnetplatten-Speichereinrichtung gelesenen Daten; einer Arithmetikeinrichtung (23) zum Berechnen eines exklusiven ODER zwischen Schreibedaten, die von den ersten und den zweiten Schnittstelleneinrichtungen übertragen und aus dem ersten Pufferspeicher ausgegeben wurden; und einem zweiten Pufferspeicher (22) zum Speichern des berechneten Ergebnisses.
  4. Plattenanordnungs-Subsystem nach einem der vorstehenden Ansprüche, wobei das obere Verarbeitungsgerät ferner aufweist: eine Hostschnittstellen-Steuereinheit (3) zum Steuern der Datenübertragung zu einem Hostcomputer (1); und einem Cache-Speicher (6) zum temporären Speichern der Übertragungsdaten.
  5. Paritätsdaten-Erzeugungsverfahren, ausgeführt mittels wenigstens einer Magnetplatten-Speichereinrichtung (8) von mehreren, in mehrere Paritätsgruppen (26) unterteilten Magnetplatten-Speichereinrichtungen, wobei jede Paritätsgruppe n Magnetplatten-Datenspeichereinrichtungen und eine Paritäts-Magnetplattenspeichereinrichtung aufweist, in einem Plattenanordnungs-Subsystem, das die mehreren Magnetplatten-Speichereinrichtungen umfaßt, wobei: neue Daten über eine erste Schnittstelle (13) in eine Speicherplatteneinrichtung von der ersten Datengruppe der Magnetplatten-Datenspeichereinrichtungen geschrieben wird, wobei die erste Schnittstelle (13) an ein oberes Verarbeitungsgerät (1, 2) und eine Datengruppe der Magnetplatten-Speichereinrichtungen angeschlossen ist, die aus Magnetplatten-Speichereinrichtungen von einer der n Magnetplatten-Datenspeichereinrichtungen aus verschiedenen Paritätsgruppen aufgebaut ist; zu den neuen Daten korrespondierende alte Daten in der einen Magnetplatten-Speichereinrichtung gelesen werden: ein exklusives ODER zwischen den neuen und den alten Daten als Pseudo-Paritätsdaten berechnet wird; die Pseudo-Paritätsdaten über eine zweite Schnittstelle (14) zu der einen Paritäts-Magnetplattenspeichereinrichtung übertragen werden, wenn die neuen Daten Schreibedaten von dem oberen Verarbeitungsgerät (1, 2) darstellen, wobei die zweite Schnittstelle (14) an die Magnetplatten-Speichereinrichtung in einer Paritätsgruppe angeschlossen ist, zu der die eine Magnetplatten-Speichereinrichtung gehört; wenn die neuen Daten von einer anderen Magnetplatten-Speichereinrichtung übertragene Pseudo-Paritätsdaten darstellen, ein exklusives ODER zwischen den Pseudo-Paritätsdaten und den alten Daten in der einen Speicherplatteneinrichtung berechnet wird und die berechneten Daten in die eine Speicherplatteneinrichtung geschrieben werden; und die berechneten Daten dadurch erhalten werden, daß: die alten Paritätsdaten in der einen Magnetplatten-Speichereinrichtung gelesen werden; ein exklusives ODER zwischen den berechneten Daten und den alten Paritätsdaten berechnet und neue Paritätsdaten erzeugt werden; und die neuen Paritätsdaten an einer entsprechenden Adresse in die eine Magnetplatten-Speichereinrichtung geschrieben werden.
DE69532703T 1994-09-09 1995-09-08 Speicherplattenanordnungsuntersystem und Datenerzeugungsverfahren dazu Expired - Lifetime DE69532703T2 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP21559094A JP3661205B2 (ja) 1994-09-09 1994-09-09 ディスクアレイシステムおよびディスクアレイシステムのパリティデータの生成方法
JP21559094 1994-09-09

Publications (2)

Publication Number Publication Date
DE69532703D1 DE69532703D1 (de) 2004-04-22
DE69532703T2 true DE69532703T2 (de) 2005-02-10

Family

ID=16674955

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69532703T Expired - Lifetime DE69532703T2 (de) 1994-09-09 1995-09-08 Speicherplattenanordnungsuntersystem und Datenerzeugungsverfahren dazu

Country Status (4)

Country Link
US (2) US5765183A (de)
EP (2) EP1310875A3 (de)
JP (1) JP3661205B2 (de)
DE (1) DE69532703T2 (de)

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5729763A (en) * 1995-08-15 1998-03-17 Emc Corporation Data storage system
US6161165A (en) * 1996-11-14 2000-12-12 Emc Corporation High performance data path with XOR on the fly
JP3133004B2 (ja) * 1996-11-21 2001-02-05 株式会社日立製作所 ディスクアレイ装置およびその制御方法
JP3896206B2 (ja) * 1997-12-16 2007-03-22 インターナショナル・ビジネス・マシーンズ・コーポレーション Eccブロック構造を使用する記憶装置のための符号化方法及びシステム
KR100263299B1 (ko) * 1997-12-22 2000-08-01 정선종 패리티 엔진을 이용한 고속 디스테이징 방법
US6295587B1 (en) * 1999-09-03 2001-09-25 Emc Corporation Method and apparatus for multiple disk drive access in a multi-processor/multi-disk drive system
US6952797B1 (en) 2000-10-25 2005-10-04 Andy Kahn Block-appended checksums
US6732201B2 (en) * 2001-12-17 2004-05-04 Lsi Logic Corporation Hardware speed selection behind a disk array controller
US6976146B1 (en) 2002-05-21 2005-12-13 Network Appliance, Inc. System and method for emulating block appended checksums on storage devices by sector stealing
JP2003345513A (ja) * 2002-05-27 2003-12-05 Hitachi Ltd 記憶装置および記憶装置サブシステム
US20060075281A1 (en) * 2004-09-27 2006-04-06 Kimmel Jeffrey S Use of application-level context information to detect corrupted data in a storage system
US7529967B2 (en) * 2004-11-04 2009-05-05 Rackable Systems Inc. Method and system for network storage device failure protection and recovery
JP2008097053A (ja) 2006-10-05 2008-04-24 Hitachi Global Storage Technologies Netherlands Bv ネットワークを介して接続された複数のデータ記憶装置を含むシステム及びそれに使用されるデータ記憶装置
JP5404804B2 (ja) 2009-05-25 2014-02-05 株式会社日立製作所 ストレージサブシステム
US9684591B2 (en) 2012-04-27 2017-06-20 Hitachi, Ltd. Storage system and storage apparatus
WO2013160970A1 (en) 2012-04-27 2013-10-31 Hitachi, Ltd. Storage system and storage control apparatus
WO2014140677A1 (en) * 2013-03-15 2014-09-18 Emc Corporation Offloading raid update operations to disk controllers
KR20150061258A (ko) * 2013-11-27 2015-06-04 한국전자통신연구원 분산 raid 시스템에서 패리티 청크 운용 방법과 이를 지원하는 데이터 서버 장치

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5208813A (en) * 1990-10-23 1993-05-04 Array Technology Corporation On-line reconstruction of a failed redundant array system
US5235601A (en) * 1990-12-21 1993-08-10 Array Technology Corporation On-line restoration of redundancy information in a redundant array system
US5191584A (en) * 1991-02-20 1993-03-02 Micropolis Corporation Mass storage array with efficient parity calculation
US5257391A (en) * 1991-08-16 1993-10-26 Ncr Corporation Disk controller having host interface and bus switches for selecting buffer and drive busses respectively based on configuration control signals
JP2777301B2 (ja) * 1992-01-07 1998-07-16 三菱電機株式会社 記録装置
US5305326A (en) * 1992-03-06 1994-04-19 Data General Corporation High availability disk arrays
US5398253A (en) * 1992-03-11 1995-03-14 Emc Corporation Storage unit generation of redundancy information in a redundant storage array system
JP2810593B2 (ja) * 1992-05-13 1998-10-15 三菱電機株式会社 記憶装置
US5412661A (en) * 1992-10-06 1995-05-02 International Business Machines Corporation Two-dimensional disk array
US5418925A (en) * 1992-10-23 1995-05-23 At&T Global Information Solutions Company Fast write I/O handling in a disk array using spare drive for buffering
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
DE4309148A1 (de) * 1993-03-22 1994-09-29 Siemens Nixdorf Inf Syst Disk-Array mit Lastverteilung
US5617425A (en) * 1993-05-26 1997-04-01 Seagate Technology, Inc. Disc array having array supporting controllers and interface
US5446855A (en) * 1994-02-07 1995-08-29 Buslogic, Inc. System and method for disk array data transfer
US5533190A (en) * 1994-12-21 1996-07-02 At&T Global Information Solutions Company Method for maintaining parity-data consistency in a disk array

Also Published As

Publication number Publication date
US5765183A (en) 1998-06-09
EP1310875A2 (de) 2003-05-14
US5875460A (en) 1999-02-23
EP0701208A2 (de) 1996-03-13
EP0701208B1 (de) 2004-03-17
DE69532703D1 (de) 2004-04-22
JP3661205B2 (ja) 2005-06-15
JPH0876941A (ja) 1996-03-22
EP0701208A3 (de) 2001-08-16
EP1310875A3 (de) 2011-04-27

Similar Documents

Publication Publication Date Title
DE69532703T2 (de) Speicherplattenanordnungsuntersystem und Datenerzeugungsverfahren dazu
DE69632219T2 (de) Speicherplattenanordnungssystem
DE69738091T2 (de) Speicherplattenanordnung und Verfahren zu deren Steuerung
DE69631106T2 (de) On-line-Rekonfiguration einer Speicherplattenanordnung
DE69738159T2 (de) Anordnung und Verfahren zur Wiederzuteilung von logischen an physikalische Plattengeräte unter Verwendung eines Speichersteuergerätes
DE69915243T2 (de) Speicherplattenanordnung-Steuerungsvorrichtung
DE19723909B4 (de) Verfahren zum Verbessern der Fehlerfestigkeit und Leistungsfähigkeit eines RAID-Untersystems
DE69632424T2 (de) Server für kontinuierliche Daten und Datentransferschema für mehrfache gleichzeitige Datenzugriffe
DE19720721C2 (de) Speichersystem
DE3932474C2 (de) Plattenzugriff-Steuerverfahren
DE2350884C2 (de) Adreßumsetzungseinheit
DE69533058T2 (de) Speicherplattenanordnung mit redundanter Speicherung und Verfahren zur inkrementalen Redundanzerzeugung während des Datenschreibens auf die Speicherplattenanordnung
DE69727083T2 (de) Überprüfungssystem um die integrität der parität einer speicherplattenmatrix aufrechtzuerhalten
DE4423949A1 (de) E/A-Hilfssystem und Exklusiv-Steuerverfahren, Datenspeicherverfahren und Speicherinitialisierungsverfahren in einem E/A-Hilfssystem
DE102004058528B3 (de) Speichersystem mit Sektorbuffern
DE69838898T2 (de) Doppelte Plattenspeichersteuerungen
DE69534994T2 (de) Steuerungsvorrichtung für speicherplattenanordnung und speicherplattenanordnungsgerät
DE69635713T2 (de) Diskarray-Teilsystem
DE1951552B2 (de) Speichereinrichtung mit Sicherung durch Schutzschlüssel
DE2617408B2 (de) Speichermodul für ein Datenverarbeitungsgerät mit Speicherhierarchie
DE69734551T2 (de) Verfahren und Gerät zur Erzeugung von Paritätsblöcken
DE4029980A1 (de) On-line-umspeichersystem und platten-untersystem
DE3633165A1 (de) Plattensystem mit mehreren asynchron umlaufenden plattenspeichern
EP0350478B1 (de) Verfahren zum betrieb einer multiprozessor-zentralsteuereinheit eines vermittlungssystemes
DE10317925A1 (de) Steuerungskommunikation über eine ständig eingeschaltete Steuerungsverbindung

Legal Events

Date Code Title Description
8364 No opposition during term of opposition