-
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.