-
HINTERGRUND DER ERFINDUNG
-
Die
vorliegende Erfindung bezieht sich auf das zweifache Schreiben von
Daten, das durch die Wirkung von Steuereinheiten ausgeführt wird.
Insbesondere eignet sich die vorliegende Erfindung für den Fall,
dass zwischen den beiden Steuereinheiten eine große Entfernung
liegt, so dass bei der Übertragung von
Daten zwischen den Steuereinheiten eine Verzögerung eintritt.
-
Die
nachstehenden Verfahren sind als Stand der Technik für die vorliegende
Erfindung beschrieben worden.
-
Das
europäische Patent Nr. 0671686A1 beschreibt
ein Verfahren für
ein zweifaches Schreiben aufgrund der Wirkung von Steuereinheiten,
die über eine
große
Entfernung voneinander entfernt sind. Bei diesem Verfahren garantiert
eine Steuereinheit die Daten auf einer Platte darin, wenn die andere
Steuereinheit durch eine Katastrophe wie zum Beispiel ein Erdbeben
ausfällt.
Das in
EP-0671686A1 beschriebene
Verfahren ist so eingerichtet, dass eine primäre oder erste Steuereinheit
direkt Schreibdaten von einem Host-Computer empfängt, die empfangenen Schreibdaten
an eine sekundäre
oder zweite Steuereinheit an einem entfernten Ort überträgt und die
Erledigung des Empfangs der Schreibdaten an einen Host-Computer
meldet. Vom Gesichtspunkt der Datensicherheit her ist dies ein sehr
gutes Verfahren, weil die in der ersten Steuereinheit zu speichernden Daten
vollständig
gleichwertig mit den in der zweiten Steuereinheit zu speichernden
Daten sind. Eine größere Entfernung
zwischen zwei Steuereinheiten bedeutet jedoch erheblich längere Datenübertragungszeiten
zwischen den Steuereinheiten. Bei diesem Verfahren treten daher
Leistungsprobleme auf, die gelöst
werden müssen,
wenn eine Steuereinheit von der anderen Steuereinheit weit entfernt
ist.
-
Die
europäische Patentanmeldung Nr. 0672985A1 beschreibt
ebenfalls ein Verfahren für das
doppelte Schreiben auf Platten in zwei weit voneinander entfernten
Steuereinheiten. Das in
EP-0672985A1 beschriebene
Verfahren ist so eingerichtet, dass eine erste Steuereinheit direkt
Schreibdaten von einem ersten Host-Computer empfängt und unmittelbar nach dem
Empfang der Schreibdaten die Erledigung des Empfangs der Schreibdaten an
den ersten Host-Computer meldet. In
EP-0672985A1 wird eine Kopie der von der
ersten Steuereinheit empfangenen Schreibdaten an den ersten Host-Computer ausgelesen.
Nach der Erfindung erhalten die erstmals von dem ersten Host-Computer
empfangenen Schreibdaten einen Zeitstempel. Der Zeitstempel gibt
die Zeit an, an der eine Anfrage zum Schreiben der Schreibdaten
ausgegeben wird. Wenn die Kopie der Schreibdaten an den ersten Host-Computer ausgelesen
wird, wird auch die Schreibzeit an den ersten Host-Computer übermittelt.
Danach sendet der erste Host-Computer die Kopie der Schreibdaten
und die Schreibzeit an einen zweiten Host-Computer.
-
Wenn
der zweite Host-Computer die Schreibdaten und die Schreibzeit empfängt, werden Informationen
wie zum Beispiel die Schreibdaten zur Steuerung bzw. Kontrolle auf
die Platte geschrieben. Außerdem
werden die Schreibdaten in der Reihenfolge der Schreibzeiten durch
Bezugnahme auf die den jeweiligen Schreibdaten zugewiesene Zeit
auf die Platte auf der Sekundärseite
geschrieben.
-
In
EP-06729851A1 führt der
zweite Host-Computer das vorstehende Verfahren durch, weil es nicht
wünschenswert
ist, die Zwischenergebnisse von Transaktionen zu hinterlassen, die
normalerweise von einem Online-System verwendet werden. Bei einer
Transaktion zum Überweisen
eines Bankguthabens von einem Bankkonto A auf ein anderes Bankkonto
B wird zum Beispiel, obwohl das Guthaben von dem Bankkonto A abgebucht
wird, der Zustand der Nichtübertragung
eines ent sprechenden Guthabens auf das Bankkonto B nicht hinterlassen. Dies
bedeutet, dass kein Zwischenergebnis der Transaktion hinterlassen
wird. Normalerweise ist die Wiederherstellungseinheit eine Transaktion
im Online-System. Daher ist das Hinterlassen des Zwischenergebnisses
der Transaktion ein ziemlich großes Hindernis.
-
Nachstehend
wird kurz beschrieben, warum durch den vorstehend genannten Prozess
kein Zwischenergebnis der Transaktion hinterlassen werden kann.
Die Platten, auf denen die Daten zweifach geschrieben werden, umfassen
eine Platte zum Speichern einer Datenbank mit zum Beispiel Kontoinformationen
und eine Platte zum Speichern eines Journals mit einer Aktualisierungshistorie
der Transaktion. Wenn der Host-Computer ausfällt, wird ein Wiederherstellungsprogramm
gestartet, um das Journal zu analysieren, so dass das Aktualisierungsergebnis der
nicht abgeschlossenen Transaktion wieder in den Zustand vor der
Ausführung
gebracht wird und kein Zwischenergebnis der Transaktion verbleibt.
Die auf die Platte in der zweiten Steuereinheit geschriebenen Schreibdaten
sind nur in den Fällen
gültig,
wenn die erste Steuereinheit zum Speichern der neuesten Schreibdaten
ausgefallen ist. Die zweite Steuereinheit speichert nicht die neuesten
Schreibdaten, kann aber die Schreibdaten bis zu einem bestimmten
Zeitpunkt sicherstellen. Daher liefert der Host-Computer scheinbar einen gleichwertigen
Zustand mit dem Ausfallzustand zu einem Zeitpunkt, für den die Schreibdaten
garantiert sind. Folglich wird durch Verwendung der Platte zum Speichern
des Journals in der zweiten Steuereinheit und der Platte zum Speichern
der Datenbank ein ähnliches
Verfahren der Wiederherstellung ausgeführt, wie es bei Ausfall des Host-Computers
ausgeführt
wird, so dass das Zwischenergebnis der Transaktion nicht hinterlassen wird.
-
Außerdem weist
die Plattensteuereinheit einen nichtflüchtigen Cache-Speicher auf
und sieht ein Nachschreibverfahren vor, das heißt ein Verfahren zum Schreiben
der vom Host-Computer empfangenen Schreibdaten in einen nicht flüchtigen
Cache-Speicher und zum Berichten der Erledigung des Schreibens an
den Host-Computer. Der nicht-flüchtige
Cache-Speicher ist sehr zuverlässig,
so dass die Daten durch Speichern der Schreibdaten im Cache hinreichend
gesichert bzw. garantiert werden können.
-
Das
in
EP-0672985A1 beschriebene
Verfahren ist dazu eingerichtet, die Verschlechterung der Leistung
zu vermindern, obwohl einige Daten verloren gehen, wenn die Entfernung
zwischen den Steuereinheiten vergrößert wird. Außerdem wird
hierbei das Zwischenergebnis der Transaktion nicht hinterlassen.
-
ZUSAMMENFASSUNG DER ERFINDUNG
-
Das
in
EP-0672985A1 beschriebene
Verfahren ist jedoch so eingerichtet, dass der erste Host-Computer
Daten ausliest und die Daten an den zweiten Host-Computer überträgt. Im Gegensatz
zu
EP-0671686A1 ,
das für
die direkte Übertragung
der Schreibdaten zwischen den Steuereinheiten eingerichtet ist,
benötigt
dieses Verfahren eine weitere Datenübertragung. Außerdem muss
ein E/A-Verfahren zu und von einem Speichermedium wie zum Beispiel einem
Magnetband ausgeführt
werden.
-
US-A-5 155 845 bezieht
sich auf ein redundantes Diskarray-System zum Spiegeln von Daten zwischen
einer ersten und einer zweiten Plattensteuereinheit. Schreibdaten
werden zwischen den Steuereinheiten ausgetauscht, aber die einzelnen Schreibanfragen
erhalten keine Zeitstempel.
-
US-A-5 504 861 beschreibt
ein System und ein Verfahren für
das Remote-Duplizieren von Daten. Jeder Schreibanfrage ist ein Header
mit einem Operationszeitstempel vorangestellt. Die Header-Daten werden
als Journaldaten in dem Duplexsystem gespeichert.
-
US-A-5 577 222 beschreibt
ein weiteres System für
das asynchrone Duplizieren von Remote-Daten.
-
Ein
Ziel der vorliegenden Erfindung ist die Bereitstellung eines Verfahrens,
das Funktionen für das
direkte Über tragen
von Schreibdaten zwischen Steuereinheiten wie in
EP-0672985A1 vorsieht, die Verschlechterung
der Leistung auf ein Minimum verringert, auch wenn die Entfernung
zwischen den Steuereinheiten vergrößert wird, und kein Zwischenergebnis
einer Transaktion hinterlässt.
Außerdem
ist die Ausführung
des E/A-Verfahrens für
Steuerinformationen zu und von den Platten nicht erforderlich, um
die Leistung zu verbessern.
-
Das
Ziel wird mit der in den Ansprüchen
festgelegten Erfindung erreicht.
-
Die
nachstehende Beschreibung bezieht sich auf Ausführungsformen der vorliegenden
Erfindung, die das vorstehend genannte Ziel realisieren.
-
Nach
einer Ausführungsform
der vorliegenden Erfindung versieht der Host-Computer jeden Datensatz
der Schreibdaten jeweils mit einer Schreibzeit, wenn er eine Schreibanfrage
an eine erste Steuereinheit ausgibt. Wenn die erste Steuereinheit
die Schreibdaten vom Host-Computer empfängt, berichtet sie die Erledigung
des Empfangs an den Host-Computer. Danach sendet die erste Steuereinheit
die Schreibdaten und die Schreibzeiten an die zweite Steuereinheit.
Dabei arbeitet die erste Steuereinheit so, dass sie die Schreibdaten
in der Reihenfolge der Schreibzeiten an die zweite Steuereinheit sendet.
Dieser Ablauf von Operationen ermöglicht es, die Verschlechterung
der Leistung auf ein Minimum zu reduzieren, auch wenn die Entfernung
zwischen den Steuereinheiten vergrößert wird.
-
Die
zweite Steuereinheit arbeitet so, dass sie die von der ersten Steuereinheit
empfangenen Schreibdaten in einem nicht-flüchtigen Cache-Speicher speichert.
Dies ermöglicht
es, die Schreibdaten ohne ein E/A-Verfahren für Steuerinformationen zu und
von den Platten zu garantieren.
-
Die
zweite Steuereinheit kann die Schreibdaten bis zu einem bestimmten
Zeitpunkt garantieren, indem sie auf die empfangene Schreibzeit
Bezug nimmt. Dadurch ist es möglich,
kein Zwischenergebnis der Transaktion zu hinterlassen.
-
KURZBESCHREIBUNG DER ZEICHNUNGEN
-
1 zeigt
ein Diagramm des allgemeinen Systemaufbaus nach einer ersten Ausführungsform der
vorliegenden Erfindung.
-
2 zeigt
das Format der Schreibdaten-Verwaltungsinformationen.
-
3 zeigt
eine Ansicht zur Erläuterung
einer logischen Platte.
-
4 zeigt
eine Ansicht zur Erläuterung
eines Prozesses in einer zweiten Schreibdaten-Zurückspeicherungseinheit
bei der Ausführung
der Übertragung
der Schreibdaten von der ersten Steuereinheit an die zweite Steuereinheit.
-
5 zeigt
ein Diagramm des allgemeinen Systemaufbaus nach einer zweiten Ausführungsform der
vorliegenden Erfindung.
-
6 zeigt
ein Diagramm des allgemeinen Systemaufbaus nach einer dritten Ausführungsform der
vorliegenden Erfindung.
-
7 zeigt
ein Diagramm eines Prozesses, der ausgeführt wird, wenn eine zweite
Master-Steuereinheit Informationen über die Schreibzeit von der ersten
Steuereinheit erfasst.
-
BESCHREIBUNG DER BEVORZUGTEN AUSFÜHRUNGSFORMEN
-
Nachstehend
werden Ausführungsformen der
vorliegenden Erfindung beschrieben.
-
(A) Erste Ausführungsform
-
Zunächst wird
nachstehend die erste Ausführungsform
beschrieben.
-
1 zeigt
den allgemeinen Aufbau der ersten Ausführungsform. Das System nach
der ersten Ausführungsform
ist so aufgebaut, dass es eine oder mehrere Verarbeitungseinheiten 100,
eine erste Steuereinheit 104, eine oder mehrere Platteneinheiten 105,
die an die erste Steuereinheit 104 angeschlossen sind,
eine zweite Steuereinheit 109 und eine oder mehrere Platteneinheiten 105 aufweist,
die an die zweite Steuereinheit 109 angeschlossen sind. Die
Verarbeitungseinheit 100 besteht aus einer CPU 101,
einem Hauptspeicher 102 und einem Kanal 103. Die
erste Steuereinheit 104 enthält einen Steuerspeicher 107 und
einen Cache-Speicher 108. Der Steuerspeicher 107 und
der Cache-Speicher 108 sind nicht-flüchtig. Zur Optimierung der
Zuverlässigkeit können die
Speicher jeweils zweifach ausgeführt sein.
Der Cache-Speicher 108 oder der Steuerspeicher 107 besteht
aus einem Halbleiterspeicher. Im Vergleich mit der Platteneinheit 105 bietet
der Speicher 107 oder 108 eine um ein oder zwei
Stellen schnellere Zugriffsmöglichkeit.
Die erste Steuereinheit 104 überträgt Daten zwischen der Verarbeitungseinheit 100 und
der Platteneinheit 105. Außerdem weist die erste Steuereinheit 104 nach
der vorliegenden Erfindung eine Funktion für die Datenübertragung mit der zweiten
Steuereinheit 109 auf. Die erste Steuereinheit 104 kann
auch einen oder mehrere „Directors" 106 aufweisen,
die jeweils Daten zwischen der Verarbeitungseinheit 100 und
der Platteneinheit 205 und zwischen der zweiten Steuereinheit 109 und
dem „Director" 106 selbst übertragen
können.
Der interne Aufbau der zweiten Steuereinheit 109 ist ähnlich dem
der ersten Steuereinheit 104.
-
Die
Schreibdaten-Verwaltungsinformationen 113 entsprechend
den Schreibdaten 112 werden im Steuerspeicher 107 erzeugt.
-
Wenn
die Verarbeitungseinheit 100 eine Schreibanfrage 110 an
die erste Steuereinheit 104 ausgibt, versieht die Verarbeitungseinheit 100 die Schreibdaten 112 mit
einer Schreibzeit 111. Die Schreibzeit 111 gibt
die Zeit an, zu der die Schreibanfrage 110 ausgegeben worden
ist. Die erste Steuereinheit 104 und die zweite Steuereinheit 109 können die
Reihenfolge der von der Verarbeitungseinheit 100 ausgegebenen
Schreibanfragen 110 anhand dieser Schreibzeit 111 erkennen.
Wenn zwei oder mehr Verarbeitungseinheiten 100 vorgesehen
sind, wird die Schreibzeit 111 unter Verwendung des gemeinsamen
Takts zwischen den Verarbeitungseinheiten 100 festgelegt,
so dass die erste Steuereinheit 104 und die zweite Steuereinheit 108 die
Reihenfolge der von verschiedenen Verarbeitungseinheiten 100 ausgegebenen
Schreibanfragen 110 erkennen können.
-
2 zeigt
den Aufbau der Schreibdaten-Verwaltungsinformationen 113.
Hierbei bezieht sich die Beschreibung insbesondere auf die Informationen,
die direkt die vorliegende Erfindung betreffen. Bei der vorliegenden
Erfindung wird eine Platte, die anzugeben ist, wenn die Verarbeitungseinheit 100 die
Schreibanfrage 110 ausgibt, als eine logische Platte bezeichnet.
Eine logische Plattennummer 120 gibt die Nummer einer logischen
Platte an, die von der Verarbeitungseinheit 100 angegeben
wird, damit die entsprechenden Schreibdaten auf die logische Platte
geschrieben werden, und ist in der Schreibanfrage 110 enthalten.
Die vorliegende Erfindung erfordert keine direkte Entsprechung zwischen
der von der Verarbeitungseinheit 100 erkannten logischen Platte
und der Platteneinheit 105 (physikalische Platte). Wie
in 3 gezeigt, kann die logische Platte über zwei
oder mehr Platteneinheiten 105 definiert sein. Außerdem kann
die logische Platte redundante Daten enthalten und daher eine RAID-Anordnung (Redundant
Array of Inexpensive Disks) aufweisen. Das Bezugszeichen 121 bezeichnet
eine Schreibadresse, das heißt
Informationen (zum Beispiel Informationen wie etwa ein Bereich von
1 Megabyte ab einem Kopf der logischen Platte) zur Angabe einer Adresse
auf einer logischen Platte, wo die entsprechenden Schreibdaten geschrieben
werden sollen, die in der Schreibanfrage 110 enthalten
ist. Das Bezugszeichen 122 bezeichnet eine Schreibdatenlänge, die
die Länge
der entsprechenden Schreibdaten angibt und in der Schreibanfrage 110 enthalten
ist. Diese Informationselemente sind alle in der normalen Schreibanfrage 110 enthalten.
Das Bezugszeichen 123 bezeichnet einen Schreibdatenzeiger,
das heißt einen
Zeiger auf die entsprechenden Schreibdaten 112 im Cache-Speicher 108.
Die Schreibzeit 111 ist bereits vorstehend beschrieben
worden. Die Schreibzeit 111, die der Schreibanfrage 110 zugewiesen wird,
ist ein Merkmal der Erfindung. Das Bezugszeichen 124 bezeichnet
ein Notwendigkeits-Bit, das angibt, dass die Schreibdaten an die
zweite Steuereinheit übertragen
werden müssen.
(Hier wird das Bit 124 als Notwendigkeits-Bit 124 bezeichnet.)
Bei diesem Notwendigkeits-Bit 124 handelt es sich um Informationen,
die die Übertragung
der entsprechenden Schreibdaten 112 an die zweite Steuereinheit 109 angeben.
-
Ein
weiteres Informationselement, das im Steuerspeicher 107 enthalten
ist, ist eine zweite logische Plattennummer 114. Diese
Informationen sind vorgesehen, um der logischen Platte der ersten
Steuereinheit 104 zu entsprechen, und enthalten die Nummern
der zweiten logischen Platte der entsprechenden logischen Platte,
die für
das doppelte Schreiben paarweise zusammengefasst sind, das heißt eine
Nummer der zweiten Steuereinheit 109 zum Laden der zweiten
logischen Platte und eine logische Plattennummer in der zweiten
Steuereinheit 109 der zweiten logischen Platte. Wenn die
logische Platte kein Paar für
das doppelte Schreiben aufweist, wird natürlich ein Wert 0 zur Angabe
der Ungültigkeit auf
die logische Platte geschrieben.
-
Der
Steuerspeicher 107 der zweiten Steuereinheit 109 enthält außerdem die
Schreibdaten-Verwaltungsinformationen 113. Die Informationen
können
dasselbe Format aufweisen wie die Schreibdaten-Verwaltungsinformationen 113 in
der ersten Steuereinheit 104, für die das Notwendigkeits-Bit 124 konstant
aus ist. Der Steuerspeicher 107 der zweiten Steuereinheit 109 enthält eine
erste logische Plattennummer. Die vorliegenden Informationen sind
vorgesehen, um der logischen Platte der zweiten Steuereinheit 109 zu
entsprechen, und enthalten die Nummern der ersten logischen Platte
der entsprechenden logischen Platte, die für das doppelte Schreiben paarweise
zusammengefasst sind, das heißt
eine Nummer der ersten Steuereinheit 104 zum Laden der ersten logischen
Platte und die logische Plattennummer in der ersten Steuereinheit 104 der
ersten logischen Platte. Wenn die logische Platte kein Paar für das doppelte
Schreiben aufweist, wird natürlich
ein Wert 0 zur Angabe der Ungültigkeit
auf die logische Platte geschrieben.
-
Die
erste Steuereinheit 104 weist eine erste Schreibdaten-Empfangseinheit 130 auf,
die gestartet wird, wenn sie die Schreibanfrage 110 von
der Verarbeitungseinheit 100 empfängt. Zuerst werden die empfangenen
Schreibdaten 112 im Cache-Speicher 108 gespeichert
(Schritt 131). Danach wird die erste Schreibdaten-Empfangseinheit 130 betätigt, um
die Schreibdaten-Verwaltungsinformationen 113 für die Verarbeitung
dieser Schreibanfrage im Steuerspeicher 108 zu sichern
(Schritt 132). Außerdem
werden die in der Schreibanfrage enthaltenen Informationen wie die
Schreibzeit 111 in den gesicherten Schreibdaten-Verwaltungsinformationen 113 gespeichert,
um einen Schreibdatenzeiger 123 und das Notwendigkeits-Bit 124 zu
setzen (Schritt 133). Zum Schluss wird die Erledigung der
Schreibanfrage 110 an die Verarbeitungseinheit 100 berichtet
(Schritt 134). Die vorstehende Verarbeitung ermöglicht eine
schnelle Reaktion, weil kein Zugriff auf die Platteneinheit 105 erforderlich
ist. Das Verfahren zum Schreiben der Schreibdaten 112 auf
die Platteneinheit 105 wird von der ersten Steuereinheit 104 zu
einem späteren
Zeitpunkt ausgeführt.
Dieser Vorgang wird von der normalen Steuereinheit ausgeführt. Daher
wird er hier nicht im Detail beschrieben.
-
Die
erste Steuereinheit 104 weist eine erste Schreibdaten-Sendeeinheit 140 auf,
die eine Funktion zum Senden der Schreibdaten 112 an die
zweite Steuereinheit 109 aufweist. Zunächst werden die Schreibdaten 112 mit
der frühesten
Schreibzeit, die in den Schreibdaten-Verwaltungsinformationen 113,
in denen das Notwendigkeits-Bit 124 gesetzt ist, enthalten
sind, an die zweite Steuereinheit 109 gesendet, die ein
Paar für
das doppelte Schreiben aufweist, indem auf die entsprechende zweite
logische Plattennummer 114 Bezug genommen wird. Die Länge der Schreibdaten 112 und
die Adresse auf der zweiten logischen Platte, wo die Schreibdaten
geschrieben werden sollen, werden durch Bezugnahme auf die in den
Schreibdaten-Verwaltungsinformationen 113 enthaltenen Informationen
angegeben (Schritt 141). Danach wartet die erste Schreibdaten-Sendeeinheit 140 auf
einen Bericht über
die Erledigung von der zweiten Steuereinheit 109 (Schritt 142).
Wenn der Bericht über
die Erledigung gegeben wird, wird das Notwendigkeits-Bit 124 auf
Aus gesetzt (Schritt 143). Danach kehrt die Operation zu
Schritt 140 zurück,
wo versucht wird, die nächsten
zu sendenden Schreibdaten zu finden.
-
Die
zweite Steuereinheit 109 weist eine zweite Schreibdaten-Empfangseinheit 160 auf,
die gestartet wird, wenn die Schreibdaten 112 von der ersten
Steuereinheit 104 empfangen werden. Der Verarbeitungsinhalt
der zweiten Schreibdaten-Empfangseinheit 160 ist ähnlich dem
der ersten Schreibdaten-Empfangseinheit 140, außer dass
das Einstellen der Schreibdaten-Verwaltungsinformationen 113 keinen
Prozess zum Setzen des Notwendigkeits-Bits 124 umfasst
(Schritt 161). Nachdem die Schreibdaten 112 von
der ersten Steuereinheit 104 in den Cache 108 geschrieben
worden sind, wird die Erledigung des Schreibens an die erste Steuereinheit 104 berichtet.
-
Die
zweite Steuereinheit 109 weist eine zweite Schreibdaten-Zurückspeicherungseinheit 170 auf, die
eine Funktion zum Schreiben der Schreibdaten 112 auf die
Platteneinheit 105 aufweist. Zunächst werden einige Datensätze der
Schreibdaten 112, die in den Schreibdaten-Verwaltungsinformationen 113 enthalten
sind, bestimmt, um sie in der Reihenfolge ab der frühesten Schreibzeit
auf die Platteneinheit 105 zu schreiben. Danach wird eine
nötige
Berechnung ausgeführt,
um die Platteneinheit 105, auf der die Schreibdaten geschrieben
werden sollen, und die Schreibadresse zu bestimmen. Das Berechnungsverfahren
wird nicht im Detail beschrieben, weil es für das normale RAID-Verfahren
verwen det wird (Schritt 171). Als Nächstes werden zwei oder mehr
Anfragen zum Schreiben der Schreibdaten 112 auf die Platteneinheit 105 parallel
an die Platteneinheit 105 ausgegeben (Schritt 172).
Danach wartet die zweite Schreibdaten-Zurückspeicherungseinheit 170 auf
einen Bericht über
die Erledigung der Anfrage (Schritt 173). Nach Empfang
der Berichte über
die Erledigung aller Anfragen kehrt die Operation zu Schritt 171 zurück, wo versucht
wird, die nächsten
Schreibdaten 113 zu finden, die auf die nächste Platteneinheit 105 zurückgespeichert
werden sollen.
-
Die
Sendereihenfolge der Schreibdaten 113 von der ersten Steuereinheit 104 an
die zweite Steuereinheit 109 ist die Reihenfolge der Schreibzeiten 111.
Daher ermöglicht
die zweite Steuereinheit 109 das Erzeugen eines Zustands,
in dem sie alle Schreibdaten 113 an oder vor einer Referenzzeit
und keine Schreibdaten 113 nach der Referenzzeit enthalten
kann. Diese Operation macht es möglich,
dass die zweite Steuereinheit 109 einen Wiederherstellungsprozess
ausführt,
ohne ein Zwischenergebnis einer Transaktion zu hinterlassen, wenn
die erste Steuereinheit 104 ausfällt. Außerdem sind in der zweiten
Steuereinheit 109 die Steuerinformationen wie etwa die
Schreibdaten 112 und die Schreibzeit 111 in einem
nicht-flüchtigen
Halbleiterspeicher wie zum Beispiel dem Cache-Speicher 108 und
dem Steuerspeicher 107 enthalten. Daher wird die Leistung
nicht durch einen großen
Overhead beeinträchtigt.
-
Der
vorstehend genannte Prozess liefert möglicherweise keine hinreichende
Leistung, weil die Übertragung
der Schreibdaten 112 von der ersten Steuereinheit 104 an
die zweite Steuereinheit 109 seriell erfolgt. 4 zeigt
den Prozess, der bei der parallelen Übertragung der Schreibdaten 112 von
der ersten Steuereinheit 104 an die zweite Steuereinheit 109 ausgeführt wird.
In jeder Verarbeitungseinheit ist jeweils eine erste Schreibdaten-Sendeeinheit
a300, eine erste Referenzzeit-Sendeeinheit 170, eine zweite
Referenzzeit-Empfangseinheit 180, eine zweite Schreibdaten- Zurückspeicherungseinheit
a310 und eine erste Ausfallzeit-Datenaussonderungseinheit 190 gegenüber der
Konfiguration geändert,
bei der die Übertragung
in serieller Form erfolgt.
-
Nachstehend
wird der Verarbeitungsablauf in der ersten Schreibdaten-Sendeeinheit
a300 beschrieben. Zuerst werden einige Datensätze der Schreibdaten 112,
die in den Schreibdaten-Verwaltungsinformationen 113, in
denen das Notwendigkeits-Bit 124 gesetzt ist, enthalten
sind, in der Reihenfolge ab der frühesten Schreibzeit parallel
an die zweite Steuereinheit 109 übertragen, die ein Paar für das doppelte
Schreiben aufweist, indem auf die entsprechende zweite logische
Plattennummer Bezug genommen wird (Schritt 301). Danach
wartet die erste Schreibdaten-Sendeeinheit a300 auf einen Bericht über die
Erledigung des jeweiligen Schreibens von der zweiten Steuereinheit 109 (Schritt 302).
Nachdem alle Berichte gegeben worden sind, wird das in den entsprechenden
Schreibdaten-Verwaltungsinformationen 113 enthaltene Notwendigkeits-Bit 124 auf Aus
gesetzt (Schritt 303). Danach kehrt die Operation zu Schritt 150 zurück, wo versucht
wird, die nächsten zu
sendenden Schreibdaten 112 zu finden.
-
Die
Ausführung
der parallelen Übertragung der
Schreibdaten 112 kann dazu führen, dass die Reihenfolge
der jeweiligen Schreibzeiten 111 der Schreibdaten 112 gestört wird.
Daher ist es nötig,
die Referenzschreibzeit 111 zu erkennen, um die Schreibdaten 112 zu
bestimmen, die von der zweiten Steuereinheit 109 zurückgespeichert
werden sollen. In diesem Fall erhalten die Schreibdaten 112,
die zurückgespeichert
werden sollen, eine frühere
Schreibzeit 111 als die Referenzzeit entsprechend der frühesten Schreibzeit 111 unter
den Schreibdaten in den Schreibdaten-Verwaltungsinformationen 113,
in denen das Notwendigkeits-Bit 124 gesetzt ist, die alle
in der ersten Steuereinheit 104 enthalten sind. Dies liegt
daran, dass alle Schreibdaten 112 mit einer früheren Schreibzeit 111 als
die Referenzzeit auf der Seite der zweiten Steuereinheit 109 gespeichert
sind. Andererseits sollten die Schreibdaten 112 mit einer Schreibzeit 111 an
oder vor der Referenzzeit nicht zurückgespeichert werden. Wenn
die erste Steuereinheit 104 ausfällt, müssen die Schreibdaten 112 ohne Zurückspeicherung
verworfen werden.
-
Die
erste Referenzzeit-Sendeeinheit 170 weist eine Funktion
zum Senden der Zurückspeicherungsreferenzzeit
an die zweite Steuereinheit 109 auf. Wie vorstehend erwähnt, ist
die Referenzzeit die früheste
Schreibzeit 111 in den Schreibdaten-Verwaltungsinformationen 113,
in denen das Notwendigkeits-Bit 124 gesetzt ist.
-
Die
zweite Referenzzeit-Empfangseinheit 180 dient zum Speichern
der von der ersten Steuereinheit 104 empfangenen Referenzzeit
im Steuerspeicher 108 als Zurückspeicherungszeit 185.
-
4 zeigt
den Verarbeitungsablauf in der zweiten Schreibdaten-Zurückspeicherungseinheit a310,
der bei der parallelen Übertragung
der Schreibdaten 112 von der ersten Steuereinheit 104 an
die zweite Steuereinheit 109 ausgeführt wird. Der Unterschied dieses
Ablaufs gegenüber
dem in 1 gezeigten Verarbeitungsablauf ist der, dass
die Bedingung zum Auswählen
der Schreibdaten 112, die zurückgespeichert werden sollen,
eine Bedingung zur Bestimmung dessen umfasst, ob die Schreibzeit 111 an
oder vor der Zurückspeicherungszeit 185 liegt (Schritt 311).
-
Die
erste Ausfallzeit-Datenaussonderungseinheit 197 weist eine
Funktion zum Aussondern der Schreibdaten 112 auf, die bei
Ausfall der ersten Steuereinheit 104 eine spätere Schreibzeit 111 als
die Zurückspeicherungszeit 185 aufweisen
(Schritt 191).
-
(B) Zweite Ausführungsform
-
Als
Nächstes
wird nachstehend die zweite Ausführungsform
beschrieben.
-
5 zeigt
den Systemaufbau nach einer zweiten Ausführungsform der vorliegenden
Erfindung. Der Unterschied zwischen der ersten und der zweiten Ausführungsform
ist die Anzahl der ersten Steuereinheiten 104. Das System
nach der ersten Ausführungsform
ist so aufgebaut, dass es eine erste Steuereinheit 104 und
eine zweite Steuereinheit 109 aufweist, während das
System nach der zweiten Ausführungsform
so aufgebaut ist, dass es zwei oder mehr erste Steuereinheiten 104 und
eine zweite Steuereinheit 209 aufweist.
-
Das
Vorsehen von zwei oder mehr ersten Steuereinheiten 104 verschiebt
die Schreibzeit 111 der von einer ersten Steuereinheit 104 empfangenen Schreibdaten 112 gegenüber den
von einer anderen ersten Steuereinheit 104 empfangenen
Schreibdaten 112 auf der Seite der zweiten Steuereinheit 109.
Die letzte Schreibzeit 111 der von einer ersten Steuereinheit 104 (zum
Beispiel der ersten Steuereinheit a) empfangenen Schreibdaten 112 wird
als eine Zeit a angenommen, während
die letzte Schreibzeit 111 der von einer anderen ersten
Steuereinheit 104 (zum Beispiel der ersten Steuereinheit
b) empfangenen Schreibdaten 112 als eine Zeit b angenommen
wird. Bei dieser Annahme kann, wenn die Zeit a vor der Zeit b liegt,
die erste Steuereinheit b die Schreibdaten 113 für die Zeit
enthalten, die später
als die Zeit a, aber früher
als die Zeit b ist. Wie vorstehend erwähnt, ist es zum Löschen des
Zwischenergebnisses einer Transaktion nötig, alle Schreibdaten 113 mit
der Schreibzeit 112 an oder vor einer Referenzzeit zu garantieren
bzw. zu sichern und alle Schreibdaten 113 mit späteren Schreibzeiten 112 als
die Referenzzeit zu verwerfen. Daher werden die Schreibdaten 112 mit
der Schreibzeit 111 an oder vor der Zeit a zu den Schreibdaten 112,
die auf die zweite Steuereinheit 109 zurückgespeichert
werden sollen.
-
Entsprechend
der vorstehenden Beschreibung speichert der Steuerspeicher 108 in
der zweiten Steuereinheit 109 eine Schreibfreigabezeit 500 für die erste
Steuereinheit. Die Schreibfreigabezeit 500 sind die in
der jeweiligen ersten Steuereinheit 104 enthaltenen Informationen
und die letzte von der entsprechenden ersten Steuereinheit 104 empfangene Schreibzeit 111.
Wie vorstehend erwähnt,
entsprechen daher für
die Schreibfreigabezeiten 500 die Schreibdaten 112 mit
der Schreibzeit 111 an oder vor der Referenzzeit, das heißt der frühesten Zeit,
den Schreibdaten 112, die auf die zweite Steuereinheit 109 zurückgespeichert
werden sollen.
-
Im
Folgenden bezieht sich für
die vorliegende Ausführungsform
die Beschreibung auf den Inhalt der jeweiligen Verarbeitungseinheit
bei der parallelen Übertragung
der Schreibdaten 112 von einer ersten Steuereinheit 104 an
die zweite Steuereinheit 109. Selbstverständlich eignet
sich die vorliegende Ausführungsform
auch für
den Fall der seriellen Übertragung
der Schreibdaten 112 von einer ersten Steuereinheit 104 an
die zweite Steuereinheit 109.
-
Der
Verarbeitungsablauf in der jeweiligen Verarbeitungseinheit in der
ersten Steuereinheit 104 ist ähnlich dem Verarbeitungsablauf
(dem in 3 gezeigten Prozess), der bei
der parallelen Übertragung
der Schreibdaten 112 nach der ersten Ausführungsform
ausgeführt
wird.
-
Die
Beschreibung bezieht sich wiederum auf den Verarbeitungsablauf in
der jeweiligen Verarbeitungseinheit in der zweiten Steuereinheit 109.
-
Die
Beschreibung bezieht sich auf den Verarbeitungsablauf in einer zweiten
Schreibdaten-Zurückspeicherungseinheit
b510. Hier bezieht sich die Beschreibung auf die Unterschiede zwischen
dem Verarbeitungsablauf in der zweiten Schreibdaten-Zurückspeicherungseinheit 520 bei
der zweiten Ausführungsform
und dem Verarbeitungsablauf in der zweiten Schreibdaten-Zurückspeicherungseinheit 170 bei der
ersten Ausführungsform.
Der Inhalt des in der zweiten Schreibdaten-Empfangseinheit 510 nach
der zweiten Ausführungsform
ausgeführten
Verfahrens wird ausgeführt,
um zu prüfen,
ob die entsprechende Schreibzeit 111 an oder vor allen
Schreibfreigabezeiten 500 liegt, und um die Schreibdaten 112 auszuwählen, die
diese Bedingung erfüllen
(Schritt 511). Bis auf diesen Prozess ist der Verarbeitungsablauf
in der zweiten Schreibdaten-Zurückspeicherungseinheit
b510 bei der zweiten Ausführungsform ähnlich dem
Verarbeitungsablauf in der zweiten Schreibdaten-Zurückspeicherungseinheit 170 bei
der ersten Ausführungsform.
-
Die
zweite Referenzzeit-Empfangseinheit b520 stellt die von der ersten
Steuereinheit 104 empfangene Referenzzeit als Schreibfreigabezeit 500 für die erste
Steuereinheit 104 ein, die die Referenzzeit gesendet hat.
-
Bei
dieser Ausführungsform
entsprechen die von der ersten Ausfallzeit-Datenaussonderungseinheit
b530 auszusondernden Schreibdaten 112 den Schreibdaten 112,
die nicht die Bedingung erfüllen, dass
die entsprechende Schreibzeit 111 an oder vor den Schreibfreigabezeiten 500 aller
ersten Steuereinheiten liegt (Schritt 531).
-
(C) Dritte Ausführungsform
-
Die
nachstehende Beschreibung bezieht sich auf die dritte Ausführungsform
der Erfindung.
-
6 zeigt
den allgemeinen Systemaufbau nach der dritten Ausführungsform.
Der Unterschied zwischen der zweiten und der dritten Ausführungsform
ist ebenfalls die Anzahl der ersten Steuereinheiten 104 und
der zweiten Steuereinheiten 109. Das System nach der dritten
Ausführungsform
ist so aufgebaut, dass es zwei oder mehr erste Steuereinheiten 104 und
eine oder mehr zweite Steuereinheiten 109 aufweist. In
diesem Fall müssen
die jeweiligen Paare der ersten Steuereinheit 104 und der
zweiten Steuereinheit 109 nicht verbunden sein.
-
Wenn
zwei oder mehr zweite Steuereinheiten 109 vorgesehen sind,
ist es zum Löschen
des Zwischenergebnisses einer Transaktion nötig, die zum Auswählen der
Schreibdaten 112, die zurückgespeichert werden sollen,
verwendeten Referenzzeiten unter den zweiten Steuereinheiten 109 einheitlich zu
halten. Dies liegt daran, dass die Datenbank und das Jour nal unter
den zweiten Steuereinheiten 109 verteilt sein können.
-
Nach
dieser Ausführungsform
weist eine zweite Master-Steuereinheit 700 eine
Funktion zum Bestimmen der Referenzzeit auf, die zum Auswählen der
Schreibdaten 112, die zurückgespeichert werden sollen,
verwendet wird. Daher ist ein Datenübertragungspfad zwischen der
Master-Steuereinheit 700 und den anderen zweiten Steuereinheiten 109 angeschlossen.
Wenn der Datenübertragungspfad
ausfällt,
ist es nicht möglich,
die Referenzzeiten, die zum Auswählen
der Schreibdaten 112, die zurückgespeichert werden sollen,
verwendet werden, unter den zweiten Steuereinheiten 109 einheitlich
zu halten. Daher wird ein Multiplexen des Datenübertragungspfads bevorzugt.
Bei dieser Ausführungsform
weist die zweite Master-Steuereinheit 700 eine Funktion zum
Bestimmen der Referenzzeit auf, die zum Auswählen der Schreibdaten 112,
die zurückgespeichert werden
sollen, verwendet wird. Wenn die spezifische zweite Steuereinheit 109 nicht
mit der Funktion zum Bestimmen der Referenzzeit ausgerüstet ist,
kann das Verfahren zum Aufteilen der Funktion unter den zweiten
Steuereinheiten 109 (zum Beispiel das Verfahren, bei dem
die zweiten Steuereinheiten 109 abwechselnd die Referenzzeit
bestimmen) zur Realisierung der vorliegenden Erfindung benutzt werden.
-
Entsprechend
der vorstehenden Beschreibung speichert der Steuerspeicher 109 in
der zweiten Master-Steuereinheit 700 eine Schreibzeit 701 für die zweite
Steuereinheit. Diese Schreibzeit 701 ist die den zweiten
Steuereinheiten 109 mit der zweiten Master-Steuereinheit 700 entsprechende
Information. Die Schreibzeit 701 der zweiten Steuereinheiten entspricht
jeweils den in regelmäßigen Abständen durch
die zweite Master-Steuereinheit 700 von der jeweiligen
zweiten Steuereinheit 109 empfangenen Informationen mit
der frühesten
Zeit (die Referenzzeit, bei der die zweite Steuereinheit 109 die
zweite Steuereinheit 109 in der zweiten Ausführungsform
auswählt)
unter allen Schreibfreigabezeiten 500 für die erste Steuereinheit in
der zweiten Steuereinheit 109.
-
Bei
der dritten Ausführungsform
ist die Master-Schreibzeit 702 eine Referenzzeit, bei der
die zweite Steuereinheit 109 jeweils die Schreibdaten auswählt. Die
Master-Schreibzeit 702 wird
mit dem Prozess eingestellt, bei dem die zweite Master-Steuereinheit 700 auf
alle Schreibzeiten 701 für die zweite Steuereinheit
in einem geeigneten Zeitraum Bezug nimmt und die früheste Zeit
auswählt.
Alle Schreibdaten 112 mit den Schreibzeiten 111 an
oder vor der ausgewählten
Zeit sind in der zweiten Steuereinheit 109 enthalten. Durch
Garantieren der Schreibdaten 112, die diese Bedingung erfüllen, und
Aussondern aller Schreibdaten 112, die sie nicht erfüllen, ist
es möglich,
das Zwischenergebnis der Transaktion zu löschen.
-
Im
Folgenden bezieht sich ebenfalls für diese Ausführungsform
die Beschreibung auf den Inhalt der jeweiligen Verarbeitungseinheit
bei der parallelen Übertragung
der Schreibdaten 112 von einer ersten Steuereinheit 104 an
die zweiten Steuereinheiten 109. Selbstverständlich eignet
sich diese Ausführungsform
auch für
die serielle Übertragung
der Schreibdaten 112 von einer ersten Steuereinheit 104 an
die zweiten Steuereinheiten 109.
-
Der
Verarbeitungsablauf für
jede in der ersten Steuereinheit 104 enthaltene Verarbeitungseinheit
ist im Wesentlichen ähnlich
dem bei der zweiten Ausführungsform.
Selbstverständlich
weist die erste Referenzzeit-Sendeeinheit 170 eine Funktion
zum Senden einer Referenzzeit an die jeweilige zweite Steuereinheit 109 für das Senden
der Schreibdaten 112 auf. Die zu sendende Referenzzeit
entspricht der frühesten
Schreibzeit 111 in den Schreibdaten-Verwaltungsinformationen 113,
in denen das Notwendigkeits-Bit 124 für die jeweiligen Schreibdaten 112 entsprechend
der zweiten Steuereinheit 109 zum Senden der Referenzzeit
gesetzt ist.
-
Der
Unterschied des Verarbeitungsablaufs nach der dritten Ausführungsform
gegenüber
dem nach der zweiten Ausfüh rungsform
besteht darin, dass die zweite Steuereinheit 109 eine zweite Schreibzeit-Sendeeinheit 710,
eine zweite Schreibdaten-Zurückspeicherungseinheit
c720 und einen ersten Ausfallzeit-Datenaussonderungspunkt c aufweist
und dass die zweite Master-Steuereinheit 700 eine zweite
Master-Schreibzeit-Empfangseinheit 711, eine Master-Schreibzeit-Berechnungseinheit 712 und
eine zweite Master-Schreibzeit-Sendeeinheit 713 aufweist.
-
Die
zweite Schreibzeit-Sendeeinheit 710 sendet in einem geeigneten
Zeitraum die früheste Zeit 180,
die in allen in der ersten Steuereinheit 109 gespeicherten
Schreibfreigabezeiten 500 für die erste Steuereinheit enthalten
ist, an die zweite Master-Schreibzeit-Empfangseinheit 711 in
der zweiten Master-Steuereinheit 700. Die zweite Schreibzeit-Sendeeinheit 710 in
der zweiten Steuereinheit 109, mit Ausnahme der zweiten
Master-Steuereinheit 700, benutzt einen Datenübertragungspfad
zwischen den zweiten Steuereinheiten 109. Die zweite Schreibzeit-Sendeeinheit 710 in
der zweiten Master-Steuereinheit 700 benutzt die in der
zweiten Master-Steuereinheit 700 vorgesehene
Kommunikationseinrichtung.
-
Die
zweite Master-Schreibzeit-Empfangseinheit 711 stellt die
von der zweiten Schreibzeit-Sendeeinheit 710 empfangene
Zeit auf die Schreibzeit 701 für die zweite Steuereinheit
entsprechend der zweiten Steuereinheit 109 ein, die die
Zeit gesendet hat.
-
Die
Master-Schreibzeit-Berechnungseinheit 712 nimmt auf alle
Schreibzeiten 701 für
die zweite Steuereinheit Bezug, wählt die früheste Zeit aus und stellt dann
die Zeit als die Master-Schreibzeit 702 ein.
-
Die
zweite Master-Schreibzeit-Sendeeinheit 713 sendet die als
die Master-Schreibzeit 702 eingestellte Zeit in einem geeigneten
Zeitraum in Antwort auf die von der zweiten Schreibdaten-Zurückspeicherungseinheit 720 und
der ersten Ausfallzeit-Datenaussonderungseinheit 730 in
jeder zweiten Steuereinheit 109 ausgegebenen Anfragen.
Die zweite Steuereinheit 109, und nicht die zweite Master-Steuereinheit 700, benutzt
den Datenübertragungspfad zwischen
den zweiten Steuereinheiten 109. Für die von der zweiten Master-Steuereinheit 700 ausgegebene
Anfrage benutzt die zweite Master-Schreibzeit-Sendeeinheit 713 die
in der zweiten Master-Steuereinheit 700 vorgesehene
Kommunikationseinrichtung.
-
Der
Unterschied bei der zweiten Schreibdaten-Zurückspeicherungseinheit 720 gegenüber der zweiten
Ausführungsform
ist der, dass beim Auswählen
der Schreibdaten 112, die zurückgespeichert werden sollen,
die zweite Schreibdaten-Zurückspeicherungseinheit 720 die
Referenzzeit von der zweiten Master-Schreibzeit-Sendeeinheit 713 empfängt und die
Schreibdaten 112 mit der früheren Schreibzeit 111 als
die Referenzzeit als die Schreibdaten auswählt, die zurückgespeichert
werden sollen (Schritt 721).
-
Der
Unterschied bei der ersten Ausfallzeit-Datenaussonderungseinheit
c730 gegenüber der
zweiten Ausführungsform
ist der, dass beim Auswählen
der aus dem Cache-Speicher 107 auszusondernden Schreibdaten 112 die
erste Ausfallzeit-Datenaussonderungseinheit
c730 die Referenzzeit von der zweiten Master-Schreibzeit-Sendeeinheit 713 empfängt und
die Schreibdaten 112 mit Ausnahme aller Schreibdaten 112 mit
einer früheren
Schreibzeit 111 als die Referenzzeit als die auszusondernden Schreibdaten
auswählt
(Schritt 731).
-
Nach
dieser Ausführungsform
ist die Master-Steuereinheit 700 dazu eingerichtet, die
zum Berechnen der Referenzzeit erforderlichen Informationen von
der zweiten Steuereinheit 109 zu empfangen. Hierbei kann
sie dazu eingerichtet sein, die Informationen von der ersten Steuereinheit 104 zu empfangen,
wie in 7 gezeigt. In diesem Fall speichert der Steuerspeicher 108 in
der zweiten Master-Steuereinheit 700 eine Schreibzeit 800 für die erste
Master-Steuereinheit. Die Schreibzeit 800 entspricht der
ersten Steuereinheit 104. Die Schreibzeit 800 wird
wie folgt eingestellt. Die zweite Master-Steuereinheit 700 empfängt die
früheste
Schreibzeit 111, die in allen Schreibdaten-Verwaltungsinformationen 113 enthalten
ist, in denen das Notwendigkeits-Bits 124 gesetzt ist,
in einem geeigneten Zeitraum und stellt sie als die Schreibzeit 800 in
der ersten Steuereinheit 109 ein. Für die Master-Schreibzeit 702 nimmt die
zweite Master-Steuereinheit 700 Bezug auf alle Schreibzeiten 701 für die erste
Steuereinheit, wählt die
früheste
Zeit aus und stellt sie als die Master-Schreibzeit 702 in
einem geeigneten Zeitraum ein. Wie bei den vorstehenden Ausführungsformen ist
die Referenzzeit für
das Zurückspeichern
oder Aussondern von Daten die Master-Schreibzeit 702.