DE69730449T2 - Erzeugung einer spiegeldatenkopie (bild) unter verwendung von referenzetiketten - Google Patents
Erzeugung einer spiegeldatenkopie (bild) unter verwendung von referenzetiketten Download PDFInfo
- Publication number
- DE69730449T2 DE69730449T2 DE69730449T DE69730449T DE69730449T2 DE 69730449 T2 DE69730449 T2 DE 69730449T2 DE 69730449 T DE69730449 T DE 69730449T DE 69730449 T DE69730449 T DE 69730449T DE 69730449 T2 DE69730449 T2 DE 69730449T2
- Authority
- DE
- Germany
- Prior art keywords
- data
- mirror
- write requests
- controller
- write
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
- G06F11/2053—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
- G06F11/2056—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring
- G06F11/2071—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring using a plurality of controllers
Description
- Hintergrund der Erfindung
- Die Erfindung bezieht sich auf die Technik der Erzeugung einer gespiegelten Kopie eines Plattenlaufwerks oder einer anderen Speichereinrichtung.
- In vielen Computersystemen wird ein Maß an Fehlertoleranz dadurch erreicht, dass identische Daten auf jedem von mehreren Speichern gespeichert werden. Speicher mit identischen Daten werden als gespiegelte Geräte bezeichnet und gehören zu einem „mirror-set" (gespiegelte Gruppe). Wenn ein gespiegeltes Gerät in einem Mirror-Set ausfällt oder sonst nicht zugreifbar wird, erlaubt das andere gespiegelte Gerät oder Geräte im Mirror-Set einen weiteren Zugriff auf die Daten.
- Um auf jedem Gerät in einem Mirror-Set identische Daten zu halten, muss jedes Gerät jede Anforderung zum Speichern von Daten auf dem Mirror-Set empfangen und verarbeiten (d. h. jede Schreib-Anforderung). Ein Gerät in einem Mirror-Set weicht von den anderen Geräten im Mirror-Set ab, wenn es eine solche Schreib-Anforderung nicht verarbeiten kann. Divergieren die Mitglieder eines Mirror-Set, so muss eine Mirror-Set-Kopie ausgeführt werden, um die Daten von einem gespiegelten Gerät auf ein anderes gespiegeltes Gerät zu kopieren. Eine Möglichkeit, eine Mirror-Set-Kopie auszuführen, besteht darin, das Computersystem herunterzufahren und alle Daten von einem gespiegelten Gerät auf das andere gespiegelte Gerät zu kopieren.
- Aus EP-A-0 672 984 ist ein Transaktions-Verarbeitungssystem bekannt, das während des Ausfalls und der Wiederherstellung jeder von zwei Duplikat-Datenbanken fortfährt, einlaufende Transaktionen zu verarbeiten. Einer der beiden Duplikat-Datenbanken wird der Status „aktiv" zugeordnet, während die andere im Status „redundant" arbeitet. Alle einlaufenden Abfragen werden nur der aktiven Datenbank zugesandt und alle einlaufenden Updates werden der aktiven und der redundanten Datenbank zugeführt. Fällt eine Datenbank aus, so wird der anderen sofort der aktive Zustand zugeordnet, wenn sie nicht bereits aktiv ist, und sie fährt während des Ausfalls fort, einlaufende Abfragen und Updates zu verarbeiten. Wenn die ausgefallene Datenbank repariert ist und neu gestartet wird, werden alle Aufzeichnungen von dieser gelöscht und die ausgefallene Datenbank wird unter Benutzung eingeschobener Kopier- und Update-Operationen in einem einzigen Lauf durch die Datenbank rekonstruiert. Einlaufende Transaktions- und Kopier-Operationen werden entsprechend einem Queue- Schwellenverfahren zum Drosseln der Kopier-Operationen zwischengeschaltet, das auf eine erhöhte Anzahl einlaufender Transaktionen anspricht. Das Transaktions-Verarbeitungssystem bleibt sowohl während des Ausfalls als auch während der Wiederherstellungsaktivitäten betriebsbereit und erreicht eine volle Wiederherstellung ohne Ausfallzeit.
- Zusammenfassung der Erfindung
- Nach einem Aspekt der vorliegenden Erfindung wird bereitgestellt ein Verfahren zum Ausführen einer gespiegelten Kopie von einer ersten Speichervorrichtung auf eine zweite Speichervorrichtung in einem Computersystem, bei dem jeder Schreibrequest durch ein Bezugslabel identifiziert wird, wobei das Verfahren umfasst:
Empfangen von Schreibrequests an der ersten Speichervorrichtung,
Empfangen von Schreibrequests an der zweiten Speichervorrichtung,
Verarbeiten von Schreibrequests an der ersten Speichervorrichtung,
Lesen von Spiegeldaten von der ersten Speichervorrichtung als Reaktion auf einen Spiegel-Leserequest,
Senden der Spiegeldaten zur zweiten Speichervorrichtung zusammen mit wenigstens einen Schreibrequest bezeichnender Information, dass die zweite Speichervorrichtung arbeiten darf, wobei die Information die von der ersten Speichervorrichtung empfangenen Bezugslabels der Schreibrequests enthält,
Schreiben der Spiegeldaten auf die zweite Speichervorrichtung, und,
nach dem Scheiben der Spiegeldaten, Verarbeiten jeglicher von der mit den Spiegeldaten gelieferten Information bezeichneten Schreibrequests an der Speichervorrichtung. - Ausführungsformen der Erfindung können eines oder mehrere der folgenden Merkmale umfassen: Die mit den Daten zum zweiten Speicher gesandten Information kann ein Bezugslabel eines Schreibrequests sein, das vor dem Senden der Daten zum zweiten Speicher am ersten Speicher empfangen wurde. Danach kann der zweite Speicher die Schreibrequests verarbeiten, bis der zweite Speicher einen Schreibrequest antrifft, der das gleiche Bezugslabel hat wie das mit den Daten gesendete.
- Das mit den Daten zum zweiten Speicher gesandte Bezugslabel kann einem Schreibrequest zugeordnet werden, der am ersten Speicher vor dem Senden der Daten empfangen und verarbeitet wurde. Insbesondere kann das Bezugslabel einem Schreibrequest zugeordnet werden, der am ersten Speicher vor dem Lesen der Daten vom ersten Speicher auf den Spiegel-Leserequest empfangen und verarbeitet wurde. Diese Lösung erlaubt es dem ers ten Speicher, Schreibrequests und andere Spiegel-Leserequests unmittelbar nach dem Lesen von Daten auf den Spiegel-Leserequest auszuführen.
- Alternativ kann das mit den Daten gesendete Bezugslabel einem Schreibrequest zugeordnet werden, der am ersten Speicher vor dem Senden der Daten empfangen aber noch nicht verarbeitet wurde. Bei dieser Lösung muss der erste Speicher so konfiguriert werden, dass der erste Speicher keine anderen Spiegel-Leserequests ausführt, bis der erste Speicher den Leserequest verarbeitet, der dem mit den Daten gesendeten Referenzlabel zugeordnet ist. Hätte der erste Speicher einen zusätzlichen Spiegel-Leserequest ausführen sollen. bevor er den Schreibrequest ausführt, der dem mit den Daten gesendeten Bezugslabel zugeordnet ist, besteht die Gefahr, dass der zweite Speicher Daten vom Schreibrequest mit überholten Daten vom zusätzlichen Spiegel-Leserequest überschreiben könnte.
- Der Spiegel-Leserequest kann vom zweiten Speicher oder von einem zentralen Prozessor übertragen werden. Der Spiegel-Leserequest kann auch am ersten Speicher erzeugt werden. Eine Reihe von Spiegel-Leserequests kann zusammen den gesamten Inhalt des ersten Speichers anfordern.
- Jeder Speicher muss die Schreibrequests in der gleichen Reihenfolge abarbeiten. Schreibrequests können in einer Reihenfolge abgearbeitet werden, in der die Schreibrequests empfangen werden; sie können auch in einer Reihenfolge abgearbeitet werden, die den zugehörigen Bezugslabels entspricht. Die Schreibrequests brauchen nicht in einer den zugeordneten Bezugslabels entsprechenden Reihenfolge empfangen zu werden. Die Bezugslabel können z. B. sequenzielle oder nicht sequenzielle Zahlen oder Text sein.
- Nach einem weiteren Aspekt der vorliegenden Erfindung wird bereitgestellt ein Speichersystem für gespiegelte Daten, mit:
einer ersten Speichervorrichtung;
einer zweiten Speichervorrichtung;
einem der ersten Speichervorrichtung zugeordneten ersten Controller;
einem der zweiten Speichervorrichtung zugeordneten zweiten Controller; wobei:
der erste Controller so konfiguriert ist, dass er
Schreibrequests empfängt, die je durch ein Bezugslabel identifiziert sind,
die Schreibrequests verarbeitet, indem er Daten auf die erste Speichervorrichtung schreibt, auf einen Spiegel-Leserequest Spiegeldaten von der ersten Speichervorrichtung liest, und
die Spiegeldaten zusammen mit Information, die wenigstens einen Schreibrequest, den der
zweite Controller verarbeiten darf, zum zweiten Controller sendet, wobei die Information die Bezugslabels der von der ersten Speichervorrichtung empfangenen Schreibrequests erhält; und
wobei der zweite Controller so konfiguriert ist, dass er
die Schreibrequests empfängt,
die Spiegeldaten vom ersten Controller empfängt,
die Spiegeldaten zur zweiten Speichervorrichtung schreibt und
nach dem Schreiben der Spiegeldaten jegliche Schreibrequests verarbeitet, die durch die mit den Spiegeldaten gelieferte Information bezeichnet sind. - Die mit den Daten zum zweiten Speicher gesandte Information kann ein Bezugslabel sein, das einem vom ersten Controller vor dem Senden der Daten empfangenen Schreibrequest zugeordnet ist. Der zweite Controller kann so konfiguriert sein, dass er Schreibrequests verarbeitet, indem er Schreibdaten zum zweiten Speicher sendet, bis ein Schreibrequest festgestellt wird, der dem gleichen Bezugslabel zugeordnet ist wie das mit den Daten von ersten Controller gesandte.
- Weitere Merkmale und Vorteile der Erfindung ergeben sich aus der folgenden detaillierten Beschreibung in Zusammenhang mit den Zeichnungen sowie aus den Ansprüchen.
- Kurzbeschreibung der Zeichnung
-
1 ist ein Blockschaltbild eines gespiegelten Plattenlaufwerks; -
2 und3 sind Zeitablaufdiagramme; -
4 ist ein Flussdiagramm einer Prozedur zum Herstellen einer Mirror-Set-Kopie. - Beschreibung der bevorzugten Ausführungsformen
-
1 zeigt ein Blockschaltbild eines Mirror-Set100 mit zwei Plattenlaufwerken: einem ersten Plattenlaufwerk10 und einem zweiten Plattenlaufwerk20 . Eines der beiden Plattenlaufwerke sei als Master-Plattenlaufwerk bezeichnet; es dient als primärer Datenspeicher. Das andere Plattenlaufwerk sei als Slave-Plattenlaufwerk bezeichnet; es dient als redundantes Backup. Wenn beide Plattenlaufwerke aktiv sind und die gleichen Daten enthalten, kann der Master/Slave-Status willkürlich einem der beiden Plattenlaufwerke zugeordnet werden. In1 ist das Plattenlaufwerk10 als Master-Plattenlaufwerk und das Laufwerk20 als Slave-Plattenlaufwerk bezeichnet. - Dem ersten Plattenlaufwerk
10 ist ein erster Controller30 und dem zweiten Plattenlaufwerk20 ein zweiter Controller40 zugeordnet. Die Controller30 ,40 steuern das Lesen und Schreiben von Daten auf den Laufwerken. - Ein Prozessor
45 sendet gleichzeitig Schreibrequests50 an beide Controller. Jeder Schreibrequest enthält Daten. Zusätzlich ist jedem Schreibrequest ein Bezugslabel, z. B. eine sequenzielle Bezugsnummer zugeordnet. Die Controller schreiben die Daten von den Schreibrequests auf ihr zugehöriges Laufwerk, so dass unter normalen Bedingungen beide Plattenlaufwerke identische Daten enthalten. Jeder Controller muss die Schreibrequests in der gleichen Reihenfolge bearbeiten. Bearbeiten die Controller die Schreibrequests in der Reihenfolge der Bezugslabel, brauchen die Controller die Schreibrequests nicht in der gleichen Reihenfolge erhalten. - Der Prozessor
45 sendet ferner Leserequests55 zu den Controllern. Enthalten beide Laufwerke die gleichen Daten, antwortet nur das Master-Plattenlaufwerk auf die Leserequests55 . Wenn das Master-Plattenlaufwerk ausfällt oder unzugänglich wird, wird das Slave-Plattenlaufwerk wieder als Master-Plattenlaufwerk bezeichnet und es fährt fort, Daten zum Prozessor45 zu liefern. Wenn also das Plattenlaufwerk10 ausfällt, dann wird das Plattenlaufwerk20 das Master-Laufwerk. - Ein Plattenlaufwerk in einem Mirror-Set
100 enthält von denen seines Partners divergente Daten, wenn das Laufwerk für eine gewisse Zeitperiode keine Schreibrequests verarbeiten kann. Wird beispielsweise das Slave-Plattenlaufwerk für eine gewisse Zeit abgeschaltet, unterscheiden sich die Daten des Slave-Plattenlaufwerks von denen des Master-Plattenlaufwerks. Werden die Plattenlaufwerke in einem Mirror-Set divergent, so muss eine Mirror-Set-Kopie implementiert werden, um die Daten vom Plattenlaufwerk mit den „guten Daten" auf das Plattenlaufwerk mit den divergenten Daten zu kopieren. - Die folgende Diskussion geht davon aus, dass das Slave-Plattenlaufwerk
20 ausgefallen war und wieder hochgefahren wurde, so dass das Slave-Plattenlaufwerk20 Daten enthält, die von den „guten Daten" auf dem Master-Plattenlaufwerk10 divergieren. Der Mirror-Set100 führt eine Mirror-Set-Kopie der Daten vom Master-Plattenlaufwerk10 auf das Slave-Plattenlaufwerk20 aus, während das Master-Plattenlaufwerk10 weiter Schreibrequests50 und Leserequests55 verarbeitet. - Der Slave-Controller
40 initiiert eine Mirror-Set-Kopie durch Übertragen eines Spiegel-Leserequest60 zum Master-Controller30 . Der Master-Controller30 setzt bei der gezeigten Ausführungsform den Spiegel-Leserequest60 in eine Queue70 , die auch Schreibrequests50 und Leserequests55 enthalten kann. Der Master-Controller30 verarbeitet dann die Eingaben in der Queue70 in der Reihenfolge, in der die Eingaben in die Queue gesetzt wurden. Nach Erreichen des Spiegel-Leserequests60 in der Queue70 liest der Master-Controller30 die im Request identifizierten Daten und überträgt die Daten zum Slave-Controller40 als Spiegel-Schreibrequest75 . Der Master-Controller30 enthält mit dem Spiegel-Schreibrequest75 die Bezugszahl (LW), die dem letzten Schreibrequest50 zugeordnet war und die der Master-Controller30 verarbeitet hat, bevor der Spiegel-Leserequest60 verarbeitet wurde. - Nachdem er den Spiegel-Schreibrequest
75 empfangen hat, setzt der Slave-Controller40 den Spiegel-Schreibrequest75 in eine Queue80 , die sich von einer Queue85 unterscheidet, die Schreibrequests50 und Leserequests55 enthalten kann. Der Slave-Controller45 schreibt dann die Daten vom Spiegel-Schreibrequest75 auf das Plattenlaufwerk20 . - Weil der Master-Controller
30 während der Ausführung der Mirror-Set-Kopie Schreibrequests50 bearbeitet, können im Spiegel-Schreibrequest75 enthaltene Daten durch einen nachfolgenden Schreibrequest50 geändert werden. Dies kann zur Aufzeichnung veralteter Daten auf dem Slave-Plattenlaufwerk20 führen. Um diese potentielle Schwierigkeit zu vermeiden, verarbeitet der Slave-Controller40 auch Schreibrequests50 , während er die Mirror-Set-Kopie ausführt. Dies geschieht in einer Weise, die gewährleistet, dass Daten von einem Schreibrequest50 nicht durch überholte Daten von einem Spiegel-Schreibrequest75 überschrieben werden. -
2 zeigt ein Zeitablaufdiagramm für den Betrieb des Master-Controllers30 und des Slave-Controllers40 während einer Mirror-Set-Kopie. Die Pfeile an der Oberseite des Diagramms zeigen die Zeiten an, zu denen Schreibrequests50 an den Controllern empfangen werden, und die Zeiten, zu denen am Master-Controller30 Spiegel-Leserequests empfangen werden. Die Kästchen zeigen die Perioden, während derer Schreibrequests, Spiegel-Leserequests und Spiegel-Schreibrequests von den Controllern verarbeitet werden. Zur Erleichterung der Darstellung und Diskussion sind die den Schreibrequests zugeordneten Bezugslabel als aufeinander folgende Zahlen dargestellt, die in einer Reihenfolge empfangen werden. Bei tatsächlichen Anwendungen brauchen die Bezugslabel nicht aufeinander folgend oder sequenziell zu sein. Auch brauchen die Bezugslabel keine Zahlen zu sein. - Wie in
2 gezeigt, empfangen die Controller Schreibrequests220 (W1) und230 (W2), bevor der Slave-Controller40 einen Spiegel-Leserequest240 (MRI) erzeugt. Entsprechend bearbeitet der Master-Controller30 in der gezeigten Ausführungsform die Schreibrequests W1 und W2, bevor er den Spiegel-Leserequest MR1 verarbeitet. - Wie durch einen Pfeil
250 dargestellt, lässt der Master-Controller30 einen Spiegel-Schreibrequest260 (MW1) zum Slave-Controller40 durch, nachdem der Spiegel-Leserequest MR1 ausgeführt wurde. Der Spiegel-Schreibrequest MW1 enthält die Spiegel-Lesedaten und die Bezugszahl270 (LW) des letzten Schreibrequest, den der Master-Controller30 verarbeitet hat, bevor er den Spiegel-Leserequest MR1 verarbeitete. Da W2 der zuletzt verarbeitete Schreibrequest war, zeigt der Spiegel-Schreibrequest an, dass LW gleich zwei ist. - Nach Empfang des Spiegel-Schreibrequest MW1 verarbeitet ihn der Slave-Controller
40 . Der Slave-Controller40 erzeugt dann einen zweiten Spiegel-Leserequest280 (MR2). Danach verarbeitet der Slave-Controller die Schreibrequests W1 und W2. Da der Schreibrequest W2 der Zahl LW im Spiegel-Schreibrequest entspricht, stoppt der Slave-Controller40 die Verarbeitung und wartet auf die Ergebnisse des Spiegel-Leserequest MR2. - Bei Fortsetzung der Mirror-Set-Kopie verarbeitet der Master-Controller
30 Schreibrequests300 (W3),310 (W4) und320 (W5). Der Master-Controller30 führt dann eine Spiegel-Lesung MR2 aus. Wie durch den Pfeil330 dargestellt, lässt der Master-Controller30 dann einen Spiegel-Schreibrequest340 (MW2) durch zum Slave-Controller40 . Der Spiegel-Schreibrequest MW2 enthält die Spiegel-Lesedaten und die Bezugszahl350 des letzten Schreibrequest, den der Master-Controller30 vor der Verarbeitung des Spiegel-Leserequest MR2 verarbeitet hat. Da W5 der letzte bearbeitete Schreibrequest war, zeigt der Spiegel-Schreibrequest an, dass die Bezugszahl des letzten Schreibrequest350 (LW) gleich fünf ist. - Nach Empfang des Spiegel-Schreibrequest MW2 verarbeitet ihn der Slave-Controller
40 . Der Slave-Controller40 erzeugt dann einen Spiegel-Leserequest360 (MR3). Darauf verarbeitet der Slave-Controller40 die Schreibrequests W3, W4 und W5. Da der Schreibrequest W5 der Bezugszahl LW im Spiegel-Schreibrequest entspricht, stoppt der Slave-Controller40 die Verarbeitung und wartet auf das Ergebnis des Spiegel-Leserequest LR3. Dieser Prozess läuft weiter, bis der Slave-Controller40 Spiegel-Schreibrequests verarbeitet hat, die dem gesamten Inhalt des Master-Plattenlaufwerks10 entsprechen (d. h. bis die Plattenlaufwerke keine divergenten Daten mehr enthalten). -
3 zeigt ein Zeitablaufdiagramm für eine andere Ausführungsform der Erfindung. Diese Ausführungsform funktioniert wie oben beschrieben, mit der Ausnahme, dass der Master-Controller im Spiegel-Schreibrequest die Bezugszahl des letzten Schreibrequest enthält, den er zu der Zeit empfing (aber nicht notwendigerweise verarbeitet hat), zu der der Master-Controller den Spiegel-Schreibrequest erzeugt, statt den letzten zu der Zeit empfangenen und verarbeiteten Schreibrequest, zu der der Master-Controller begann, den Spiegel-Leserequest zu verarbeiten. - Wie in
3 gezeigt, empfangen die Controller Schreibrequests W1 und W2, bevor der Slave-Controller40 einen Spiegel-Leserequest MR1 erzeugt. Daher verarbeitet der Master-Controller30 die Schreibrequests W1 und W2, bevor er den Spiegel-Leserequest MR1 verarbeitet. - Wie durch den Pfeil
250 dargestellt, lässt der Master-Controller30 einen Spiegel-Schreibrequest MW1 zum Slave-Controller40 passieren, nachdem er den Spiegel-Leserequest MR1 ausgeführt hat. Der Spiegel-Leserequest MW1 enthält die Spiegel-Lesedaten und die Bezugszahl LW des letzten Schreibrequest, den der Master-Controller30 vor Erzeugung des Spiegel-Schreibrequest MW1 empfing. Da W3 der letzte empfangene Schreibrequest war, zeigt der Spiegel-Schreibrequest an, dass LW gleich drei ist. - Nach Empfang des Spiegel-Schreibrequest MW1 verarbeitet ihn der Slave-Controller
40 . Der Slave-Controller40 erzeugt dann einen zweiten Spiegel-Leserequest MR2. Danach verarbeitet der Slave-Controller40 die Schreibrequests W1, W2 und W3. Da der Schreibrequest W3 der Zahl LW im Spiegel-Schreibrequest entspricht, stoppt der Slave-Controller40 die Verarbeitung und wartet auf die Ergebnisse des Spiegel-Leserequest MR2. - Bei der Fortsetzung der Mirror-Set-Kopie verarbeitet der Master-Controller
30 die Schreibrequests W3, W4 und W5. Der Master-Controller30 führt dann die Spiegel-Lesung MR2 aus. Wie durch den Pfeil330 dargestellt, lässt der Master-Controller30 dann einen Spiegel-Schreibrequest MW2 zum Slave-Controller40 passieren. Der Spiegel-Schreibrequest MW2 enthält die Spiegel-Lesedaten und die Bezugszahl LW des letzten Schreibrequest, den der Master-Controller30 vor Erzeugung des Spiegel-Schreibrequest MW2 empfing. Da der Schreibrequest370 (W6) der letzte empfangene Schreibrequest war, zeigt der Spiegel-Schreibrequest an, dass die Bezugszahl des letzten Schreibrequest LW gleich sechs ist. - Nach Empfang des Spiegel-Schreibrequest MW2 verarbeitet ihn der Slave-Controller
40 . Der Slave-Controller40 erzeugt dann einen Spiegel-Leserequest MR3. Darauf verarbeitet der Slave-Controller40 die Schreibrequests W4, W5 und W6. Da der Schreibrequest W6 der Bezugszahl LW im Spiegel-Schreibrequest entspricht, stoppt der Slave-Controller40 die Verarbeitung und wartet auf die Ergebnisse des Spiegel-Leserequest MR3. Dieser Prozess läuft weiter, bis der Slave-Controller40 Spiegel-Schreibrequests verarbeitet hat, die dem gesamten Inhalt des Master-Plattenlaufwerks10 entsprechen (d. h. so lange, bis die Plattenlaufwerke keine divergenten Daten mehr enthalten). - Die Ausführungsform der
3 kann effizienter sein als die der2 . Insbesondere ist es bei der Ausführungsform der3 weniger wahrscheinlich, dass Perioden entstehen, in denen das Slave-Plattenlaufwerk20 inaktiv ist. Eine solche Periode ist in2 durch den Abstand400 angedeutet. Bei der Ausführungsform der3 ist es aber erforderlich, dass der Master-Controller keine zusätzlichen Spiegel-Leserequests verarbeitet, bis der Master-Controller den Schreibrequest verarbeitet hat, der in einem vorherigen Spiegel-Schreibrequest identifiziert wurde. Im Gegensatz dazu erlaubt es die Ausführungsform der2 , dass der Master-Controller jegliche Aktion ausführt, einschließlich der Verarbeitung eines zusätzlichen Spiegel-Leserequest, unmittelbar nach Erzeugung eines Spiegel-Schreibrequest. - Zu
4 : Der Slave-Controller40 kann die Mirror-Set-Kopie nach einer Prozedur500 ausführen. Um eine Mirror-Set-Kopie zu starten, löscht der Slave-Controller40 zunächst seine Lese/Schreibrequest-Queue85 (Schritt510 ). Der Controller kann dies ausführen, weil jegliche Schreibrequests in der Queue (d. h. jegliche vor der Initialisierung der Spiegelset-Kopie empfangenen Schreibrequests) vom Master-Controller30 verarbeitet wurden und in den Daten in den Spiegel-Schreibrequests wiedergegeben sind. Darauf sendet der Slave-Controller40 einen Spiegel-Leserequest60 zum Master-Controller30 (Schritt520 ). Danach wartet der Slave-Controller40 auf den Empfang eines Spiegel-Schreibrequest75 (Schritt530 ). - Sobald der Slave-Controller einen Spiegel-Schreibrequest empfängt, bestimmt er, ob die Daten der letzte Datenblock sind, die vom Master-Plattenlaufwerk
10 kopiert werden müssen (Schritt540 ). Zutreffendenfalls schreibt der Slave-Controller die Spiegel-Schreibdaten auf das Slave-Plattenlaufwerk20 (Schritt550 ) und die Mirror-Set-Kopie ist vollständig (Schritt560 ). - Sind die vom Master-Plattenlaufwerk
10 empfangenen Daten nicht der letzte vom Master-Plattenlaufwerk10 zu kopierende Datenblock (Schritt540 ), sendet der Slave-Controller40 einen weiteren Spiegel-Leserequest60 (Schritt570 ) und schreibt die gerade empfangenen Daten auf das Slave-Plattenlaufwerk20 (Schritt580 ). - Als nächstes bestimmt der Slave-Controller
40 , ob das Bezugslabel des nächsten Schreibrequest50 in der Queue85 dem vom Master-Controller im Spiegel-Schreibrequest identifizierten Schreibrequest (LW) entspricht (Schritt590 ). Falls nicht, verarbeitet der Slave-Controller40 einen weiteren Schreibrequest50 aus der Queue85 (Schritt600 ) und prüft den nächsten Schreibrequest50 in der Queue85 (Schritt590 ). Der Slave-Controller40 verarbeitet weiter die Schreibrequests50 von der Queue85 , bis das Bezugslabel eines Schreibrequests50 dem vom Master-Controller im Spiegel-Schreibrequest identifizierten Bezugslabel (LW) entspricht. An diesem Punkt verarbeitet der Slave-Controller den Schreibrequest50 (Schritt610 ) und wartet auf den nächsten Spiegel-Schreibrequest (Schritt530 ). - Andere Ausführungsformen liegen innerhalb des Rahmens der folgenden Ansprüche: Statt vom Slave-Controller Spiegel-Leserequests zu empfangen, kann der Master-Controller die Spiegel-Leserequests erzeugen. Zusätzlich kann der Master-Controller andere Information senden statt eines Bezugslabels mit Daten in Reaktion auf einen Spiegel-Leserequest. Wenn z. B. die Bezugslabel Zeiten entsprechen, zu denen die Schreibrequests erzeugt werden, kam der Master-Controller Information senden, entsprechend der Zeit, zu der der Spiegel-Schreibrequest erzeugt wird, oder zu der Zeit, zu der die Verarbeitung des Spiegel-Leserequest vollendet wird.
Claims (25)
- Verfahren zum Ausführen einer gespiegelten Kopie von einer ersten Speichervorrichtung (
10 ) auf eine zweite Speichervorrichtung (20 ) in einem Computersystem (100 ), bei dem jeder Schreibrequest (W) durch ein Bezugslabel identifiziert wird, wobei das Verfahren umfasst: Empfangen von Schreibrequests (W) an der ersten Speichervorrichtung (10 ), Empfangen von Schreibrequests (W) an der zweiten Speichervorrichtung (20 ), Verarbeiten von Schreibrequests (W) an der ersten Speichervorrichtung (10 ), Lesen von Spiegeldaten von der ersten Speichervorrichtung (10 ) als Reaktion auf einen Spiegel-Leserequest (MR), Senden der Spiegeldaten zur zweiten Speichervorrichtung (20 ) zusammen mit wenigstens einen Schreibrequest (W) bezeichnender Information, dass die zweite Speichervorrichtung (20 ) arbeiten darf, wobei die Information die von der ersten Speichervorrichtung (10 ) empfangenen Bezugslabels der Schreibrequests (W) enthält, Schreiben der Spiegeldaten auf die zweite Speichervorrichtung (20 ), und, nach dem Schreiben der Spiegeldaten, Verarbeiten jeglicher von der mit den Spiegeldaten gelieferten Information bezeichneten Schreibrequests (W) an der zweiten Speichervorrichtung (20 ). - Verfahren nach Anspruch 1, wobei der Schritt des Sendens von Information mit den Spiegeldaten zur zweiten Speichervorrichtung (
20 ) das Senden der Bezugslabels der von der ersten Speichervorrichtung (10 ) empfangenen Schreibrequests (W) umfasst, bevor sie beginnt, den Spiegel-Leserequest (MR) zu verarbeiten. - Verfahren nach Anspruch 1, wobei die mit den Daten gesendete Information einem Bezugslabel eines Schreibrequests (W) zugeordnet ist, der vor dem Senden der Daten zur zweiten Speichervorrichtung (
20 ) an der ersten Speichervorrichtung (10 ) empfangen wurde. - Verfahren nach Anspruch 3, wobei der Schritt des Verarbeitens jeglichen Schreibrequests (W) an der zweiten Speichervorrichtung (
20 ), der durch die von der ersten Speichervorrichtung (10 ) gelieferte Information bezeichnet wurde, das Verarbeiten von Schreibrequests (W) umfasst, bis ein Schreibrequest (W2; W3), der dem mit den Daten gesendeten Bezugslabel zugeordnet ist, angetroffen wird. - Verfahren nach Anspruch 4, wobei der Schritt des Verarbeitens jeglichen Schreibrequests (W) an der zweiten Speichervorrichtung (
20 ), der durch die von der ersten Speichervorrichtung (10 ) gelieferte Information bezeichnet wurde, das Verarbeiten von Schreibrequests (W) umfasst, bis ein Schreibrequest (W2; W3), der dem mit den Daten gesendeten Bezugslabel zugeordnet ist, angetroffen und verarbeitet wird. - Verfahren nach Anspruch 3, wobei das mit den Daten gesendete Bezugslabel einem Schreibrequest (W1, W2) zugeordnet ist, der an der ersten Speichervorrichtung (
10 ) vor dem Senden der Daten empfangen und verarbeitet wurde. - Verfahren nach Anspruch 6, wobei das mit den Daten gesendete Bezugslabel einem Schreibrequest (W1, W2) zugeordnet ist, der an der ersten Speichervorrichtung (
10 ) vor dem Schritt des Lesens von Daten von der ersten Speichervorrichtung (10 ) als Reaktion auf den Spiegel-Leserequest (MR) empfangen und verarbeitet wurde. - Verfahren nach Anspruch 3, wobei das mit den Daten gesendete Bezugslabel einem Schreibrequest (W3) zugeordnet ist, der vor dem Senden der Daten an der ersten Speichervorrichtung (
10 ) empfangen, jedoch noch nicht verarbeitet wurde. - Verfahren nach Anspruch 1, ferner umfassend den Schritt des Erzeugens des Spiegel-Leserequests (MR) an der ersten Speichervorrichtung (
10 ). - Verfahren nach Anspruch 1, ferner umfassend den Schritt des Übertragens des Spiegel-Leserequests (MR) von der zweiten Speichervorrichtung (
20 ). - Verfahren nach Anspruch 1, wobei der Schritt des Verarbeitens von Schreibrequests (W) an der ersten Speichervorrichtung (
10 ) das Verarbeiten der Schreibrequests (W) in einer Reihenfolge umfasst, in der die Schreibrequests (W) empfangen werden, und wobei der Schritt des Verarbeitens der Schreibrequests (W) an der zweiten Speichervorrichtung (20 ) das Verarbeiten der Schreibrequests (W) in einer Reihenfolge umfasst, in der die Schreibrequests (W) empfangen werden. - Verfahren nach Anspruch 1, wobei der Schritt des Verarbeitens der Schreibrequests (W) an der ersten Speichervorrichtung (
10 ) das Verarbeiten der Schreibrequests (W) in einer Reihenfolge umfasst, die den zugehörigen Bezugslabels entspricht, und wobei der Schritt des Verarbeitens der Schreibrequests (W) an der zweiten Speichervorrichtung (20 ) das Verarbeiten der Schreibrequests (W) in einer Reihenfolge umfasst, die den zugehörigen Bezugslabels entspricht. - Verfahren nach Anspruch 12, wobei die Bezugslabels Zahlen umfassen, wobei der Schritt des Verarbeitens der Schreibrequests (W) an der ersten Speichervorrichtung (
10 ) das Verarbeiten der Schreibrequests (W) in der Reihenfolge der numerischen Werte der zugehörigen Bezugslabels umfasst, und wobei der Schritt des Verarbeitens der Schreibrequests (W) an der zweiten Speichervorrichtung (20 ) das Verarbeiter der Schreibrequests in der Reihenfolge der numerischen Werte der zugehörigen Bezugslabels umfasst. - Speichersystem für gespiegelte Daten, mit: einer ersten Speichervorrichtung (
10 ); einer zweiten Speichervorrichtung (20 ), einem der ersten Speichervorrichtung (10 ) zugeordneten ersten Controller (30 ); einem der zweiten Speichervorrichtung (20 ) zugeordneten zweiten Controller (40 ); wobei: der ersten Controller (30 ) so konfiguriert ist, dass er Schreibrequests (W) empfängt, die je durch ein Bezugslabel identifiziert sind, die Schreibrequests (W) verarbeitet, indem er Daten auf die erste Speichervorrichtung (10 ) schreibt, auf einen Spiegel-Leserequest (MR) Spiegeldaten von der ersten Speichervorrichtung (10 ) liest, und die Spiegeldaten zusammen mit Information, die wenigstens einen Schreibrequest (W), den der zweite Controller (40 ) verarbeiten darf, zum zweiten Controller (40 ) sendet, wobei die Information die Bezugslabels der von der ersten Speichervorrichtung (10 ) empfangenen Schreibrequests (W) enthält; und wobei der zweite Controller (40 ) so konfiguriert ist, dass er die Schreibrequests (W) empfängt, die Spiegeldaten vom ersten Controller (30 ) empfängt, die Spiegeldaten zur zweiten Speichervorrichtung (20 ) schreibt und nach dem Schreiben der Spiegeldaten jegliche Schreibrequests (W) verarbeitet, die durch die mit den Spiegeldaten gelieferte Information bezeichnet sind. - System nach Anspruch 14, wobei die mit den Spiegeldaten zum zweiten Controller (
40 ) gesendete Information die vom ersten Controller (30 ) vor seinem Beginn der Verarbeitung des Spiegel-Leserequests (MR) empfangenen Bezugslabels der Schreibrequests (W) enthält. - System nach Anspruch 14, wobei der erste Controller (
30 ) so konfiguriert ist, dass die mit den Daten gesendete Information einem Bezugslabel eines Schreibrequests (W) zugeordnet ist, der vor dem Senden der Daten zur zweiten Speichervorrichtung (20 ) an der ersten Speichervorrichtung (10 ) empfangen wurde. - System nach Anspruch 16, wobei der zweite Controller (
40 ) so konfiguriert ist, dass er Schreibrequests (W) verarbeitet, bis ein Schreibrequest (W2; W3) angetroffen wird, der dem mit den Daten gesendeten Bezugslabel zugeordnet ist. - System nach Anspruch 16, wobei der erste Controller (
30 ) so konfiguriert ist, dass das mit den Daten gesendete Bezugslabel einem Schreibrequest (W1, W2) zugeordnet ist, der vor dem Senden der Daten vom ersten Controller (30 ) empfangen und verarbeitet wurde. - System nach Anspruch 16, wobei der erste Controller (
30 ) so konfiguriert ist, dass das mit den Daten gesendete Bezugslabel einem Schreibrequest (W1, W2) zugeordnet ist, der vom ersten Controller (30 ) empfangen und verarbeitet wurde, bevor der erste Controller (30 ) auf den Spiegel-Leserequest (MR) Daten von der ersten Speichervorrichtung (10 ) liest. - System nach Anspruch 18, wobei der erste Controller (
30 ) so konfiguriert ist, dass das mit den Daten gesendete Bezugslabel einem Schreibrequest (W3) zugeordnet ist, den der erste Controller (30 ) vor dem Senden der Daten empfangen, jedoch noch nicht verarbeitet hat. - System nach Anspruch 14, wobei der erste Controller (
30 ) so konfiguriert ist, dass er die Spiegel-Leserequests (MR) erzeugt. - System nach Anspruch 14, wobei der zweite Controller (
40 ) so konfiguriert ist, dass er den Spiegel-Leserequest (MR) zum ersten Controller (30 ) überträgt. - System nach Anspruch 14, wobei der erste (
30 ) und der zweite Controller (40 ) so konfiguriert sind, dass sie die Leserequests (W) in einer Reihenfolge verarbeiten, in der die Schreibrequests (W) empfangen werden. - System nach Anspruch 14, wobei der erste (
30 ) und der zweite Controller (40 ) so konfiguriert sind, dass sie die Schreibrequests (W) in einer den zugehörigen Bezugslabels entsprechenden Reihenfolge verarbeiten. - System nach Anspruch 24, wobei die Bezugslabels Zahlen umfassen und der erste (
30 ) und der zweite Controller (40 ) so konfiguriert sind, dass sie die Schreibrequests (W) in der Reihenfolge der numerischen Werte der zugeordneten Bezugslabels verarbeiten.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US714255 | 1996-09-17 | ||
US08/714,255 US5787485A (en) | 1996-09-17 | 1996-09-17 | Producing a mirrored copy using reference labels |
PCT/US1997/016206 WO1998012642A1 (en) | 1996-09-17 | 1997-09-16 | Producing a mirrored data copy (image) using reference labels |
Publications (2)
Publication Number | Publication Date |
---|---|
DE69730449D1 DE69730449D1 (de) | 2004-09-30 |
DE69730449T2 true DE69730449T2 (de) | 2005-09-15 |
Family
ID=24869322
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE69730449T Expired - Lifetime DE69730449T2 (de) | 1996-09-17 | 1997-09-16 | Erzeugung einer spiegeldatenkopie (bild) unter verwendung von referenzetiketten |
Country Status (7)
Country | Link |
---|---|
US (1) | US5787485A (de) |
EP (1) | EP1000397B1 (de) |
JP (1) | JP4264136B2 (de) |
AU (1) | AU725413B2 (de) |
CA (1) | CA2265592C (de) |
DE (1) | DE69730449T2 (de) |
WO (1) | WO1998012642A1 (de) |
Families Citing this family (56)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6366988B1 (en) * | 1997-07-18 | 2002-04-02 | Storactive, Inc. | Systems and methods for electronic data storage management |
US6073220A (en) * | 1997-09-03 | 2000-06-06 | Duocor, Inc. | Apparatus and method for providing a transparent disk drive back-up |
US6085333A (en) * | 1997-12-19 | 2000-07-04 | Lsi Logic Corporation | Method and apparatus for synchronization of code in redundant controllers in a swappable environment |
US6058462A (en) * | 1998-01-23 | 2000-05-02 | International Business Machines Corporation | Method and apparatus for enabling transfer of compressed data record tracks with CRC checking |
US6360330B1 (en) * | 1998-03-31 | 2002-03-19 | Emc Corporation | System and method for backing up data stored in multiple mirrors on a mass storage subsystem under control of a backup server |
US6490596B1 (en) * | 1999-11-09 | 2002-12-03 | International Business Machines Corporation | Method of transmitting streamlined data updates by selectively omitting unchanged data parts |
US6687851B1 (en) | 2000-04-13 | 2004-02-03 | Stratus Technologies Bermuda Ltd. | Method and system for upgrading fault-tolerant systems |
US6820213B1 (en) | 2000-04-13 | 2004-11-16 | Stratus Technologies Bermuda, Ltd. | Fault-tolerant computer system with voter delay buffer |
US6691225B1 (en) | 2000-04-14 | 2004-02-10 | Stratus Technologies Bermuda Ltd. | Method and apparatus for deterministically booting a computer system having redundant components |
US6813686B1 (en) | 2000-06-27 | 2004-11-02 | Emc Corporation | Method and apparatus for identifying logical volumes in multiple element computer storage domains |
US7065610B1 (en) * | 2000-06-27 | 2006-06-20 | Emc Corporation | Method and apparatus for maintaining inventory of logical volumes stored on storage elements |
US7225191B1 (en) | 2000-06-27 | 2007-05-29 | Emc Corporation | Method and apparatus for verifying storage access requests in a computer storage system with multiple storage elements |
US6760828B1 (en) | 2000-06-27 | 2004-07-06 | Emc Corporation | Method and apparatus for using logical volume identifiers for tracking or identifying logical volume stored in the storage system |
US6708265B1 (en) | 2000-06-27 | 2004-03-16 | Emc Corporation | Method and apparatus for moving accesses to logical entities from one storage element to another storage element in a computer storage system |
US6842784B1 (en) | 2000-06-27 | 2005-01-11 | Emc Corporation | Use of global logical volume identifiers to access logical volumes stored among a plurality of storage elements in a computer storage system |
US6978324B1 (en) * | 2000-06-27 | 2005-12-20 | Emc Corporation | Method and apparatus for controlling read and write accesses to a logical entity |
US6804819B1 (en) | 2000-09-18 | 2004-10-12 | Hewlett-Packard Development Company, L.P. | Method, system, and computer program product for a data propagation platform and applications of same |
US6977927B1 (en) | 2000-09-18 | 2005-12-20 | Hewlett-Packard Development Company, L.P. | Method and system of allocating storage resources in a storage area network |
US7386610B1 (en) | 2000-09-18 | 2008-06-10 | Hewlett-Packard Development Company, L.P. | Internet protocol data mirroring |
US6606690B2 (en) | 2001-02-20 | 2003-08-12 | Hewlett-Packard Development Company, L.P. | System and method for accessing a storage area network as network attached storage |
US7149787B1 (en) | 2001-06-07 | 2006-12-12 | Emc Corporation | Apparatus and method for mirroring and restoring data |
US7346135B1 (en) | 2002-02-13 | 2008-03-18 | Marvell International, Ltd. | Compensation for residual frequency offset, phase noise and sampling phase offset in wireless networks |
JP3993773B2 (ja) | 2002-02-20 | 2007-10-17 | 株式会社日立製作所 | ストレージサブシステム、記憶制御装置及びデータコピー方法 |
US6728898B2 (en) | 2002-03-06 | 2004-04-27 | Marathon Technologies Corporation | Producing a mirrored copy using incremental-divergence |
GB0206604D0 (en) * | 2002-03-20 | 2002-05-01 | Global Continuity Plc | Improvements relating to overcoming data processing failures |
JP2004013367A (ja) * | 2002-06-05 | 2004-01-15 | Hitachi Ltd | データ記憶サブシステム |
US7263153B2 (en) | 2002-10-09 | 2007-08-28 | Marvell International, Ltd. | Clock offset compensator |
US7319705B1 (en) | 2002-10-22 | 2008-01-15 | Marvell International Ltd. | Programmable pre-emphasis circuit for serial ATA |
JP4452438B2 (ja) * | 2002-11-11 | 2010-04-21 | 株式会社日立製作所 | 記憶システム |
US7386694B1 (en) * | 2002-12-17 | 2008-06-10 | Symantec Operating Corporation | System and method for reading mirrored data |
US7246192B1 (en) | 2003-01-10 | 2007-07-17 | Marvell International Ltd. | Serial/parallel ATA controller and converter |
US7194568B2 (en) * | 2003-03-21 | 2007-03-20 | Cisco Technology, Inc. | System and method for dynamic mirror-bank addressing |
US8930583B1 (en) | 2003-09-18 | 2015-01-06 | Marvell Israel (M.I.S.L) Ltd. | Method and apparatus for controlling data transfer in a serial-ATA system |
US7203796B1 (en) | 2003-10-24 | 2007-04-10 | Network Appliance, Inc. | Method and apparatus for synchronous data mirroring |
US7596672B1 (en) | 2003-10-24 | 2009-09-29 | Network Appliance, Inc. | Synchronous mirroring including writing image updates to a file |
US7200726B1 (en) * | 2003-10-24 | 2007-04-03 | Network Appliance, Inc. | Method and apparatus for reducing network traffic during mass storage synchronization phase of synchronous data mirroring |
JP2005228170A (ja) * | 2004-02-16 | 2005-08-25 | Hitachi Ltd | 記憶装置システム |
JP4452557B2 (ja) * | 2004-05-27 | 2010-04-21 | 株式会社日立製作所 | Worm保証付きリモートコピー |
US7958292B2 (en) | 2004-06-23 | 2011-06-07 | Marvell World Trade Ltd. | Disk drive system on chip with integrated buffer memory and support for host memory access |
US7496787B2 (en) * | 2004-12-27 | 2009-02-24 | Stratus Technologies Bermuda Ltd. | Systems and methods for checkpointing |
US20070028144A1 (en) * | 2005-07-29 | 2007-02-01 | Stratus Technologies Bermuda Ltd. | Systems and methods for checkpointing |
US20070038891A1 (en) * | 2005-08-12 | 2007-02-15 | Stratus Technologies Bermuda Ltd. | Hardware checkpointing system |
US20070081070A1 (en) * | 2005-10-12 | 2007-04-12 | Kuohua Wu | Optical medium recording |
EP2005271A2 (de) * | 2005-10-24 | 2008-12-24 | The Toro Company | Computerbetriebenes landschaftsbewässerungs- und beleuchtungssystem |
US20070180312A1 (en) * | 2006-02-01 | 2007-08-02 | Avaya Technology Llc | Software duplication |
US8453147B2 (en) * | 2006-06-05 | 2013-05-28 | Cisco Technology, Inc. | Techniques for reducing thread overhead for systems with multiple multi-threaded processors |
US8041929B2 (en) | 2006-06-16 | 2011-10-18 | Cisco Technology, Inc. | Techniques for hardware-assisted multi-threaded processing |
US8010966B2 (en) * | 2006-09-27 | 2011-08-30 | Cisco Technology, Inc. | Multi-threaded processing using path locks |
US8001307B1 (en) | 2007-04-27 | 2011-08-16 | Network Appliance, Inc. | Apparatus and a method to eliminate deadlock in a bi-directionally mirrored data storage system |
JP5838652B2 (ja) * | 2011-08-23 | 2016-01-06 | 富士通株式会社 | データコピー処理システム |
US9251002B2 (en) | 2013-01-15 | 2016-02-02 | Stratus Technologies Bermuda Ltd. | System and method for writing checkpointing data |
ES2652262T3 (es) | 2013-12-30 | 2018-02-01 | Stratus Technologies Bermuda Ltd. | Método de retardar puntos de comprobación inspeccionando paquetes de red |
JP6518672B2 (ja) | 2013-12-30 | 2019-05-22 | ストラタス・テクノロジーズ・バミューダ・リミテッド | 動的チェックポインティングシステムおよび方法 |
EP3090336A1 (de) | 2013-12-30 | 2016-11-09 | Paul A. Leveille | Checkpointingsysteme und verfahren zur verwendung von datenweiterleitung |
EP3218826A4 (de) | 2014-11-13 | 2018-04-11 | Virtual Software Systems, Inc. | System für host-übergreifende multithread-sitzungsausrichtung |
CN111858098B (zh) * | 2020-07-24 | 2023-11-17 | 成都成信高科信息技术有限公司 | 一种基于海量数据的数据交换方法 |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE3854026D1 (de) * | 1987-09-04 | 1995-07-27 | Digital Equipment Corp | Fehlertolerantes Rechnersystem mit Fehler-Eingrenzung. |
JPH039449A (ja) * | 1989-06-07 | 1991-01-17 | Nec Corp | 電子ディスクサブシステム |
US5295258A (en) * | 1989-12-22 | 1994-03-15 | Tandem Computers Incorporated | Fault-tolerant computer system with online recovery and reintegration of redundant components |
US5307481A (en) * | 1990-02-28 | 1994-04-26 | Hitachi, Ltd. | Highly reliable online system |
US5390313A (en) * | 1990-09-24 | 1995-02-14 | Emc Corporation | Data storage system with data mirroring and reduced access time data retrieval |
US5544347A (en) * | 1990-09-24 | 1996-08-06 | Emc Corporation | Data storage system controlled remote data mirroring with respectively maintained data indices |
US5633999A (en) * | 1990-11-07 | 1997-05-27 | Nonstop Networks Limited | Workstation-implemented data storage re-routing for server fault-tolerance on computer networks |
US5487160A (en) * | 1992-12-04 | 1996-01-23 | At&T Global Information Solutions Company | Concurrent image backup for disk storage system |
US5446871A (en) * | 1993-03-23 | 1995-08-29 | International Business Machines Corporation | Method and arrangement for multi-system remote data duplexing and recovery |
KR0128271B1 (ko) * | 1994-02-22 | 1998-04-15 | 윌리암 티. 엘리스 | 재해회복을 위한 일관성 그룹 형성방법 및 레코드갱싱의 섀도잉 방법, 주시스템, 원격데이타 섀도잉 시스템과 비동기 원격데이타 복제 시스템 |
JP2708386B2 (ja) * | 1994-03-18 | 1998-02-04 | インターナショナル・ビジネス・マシーンズ・コーポレイション | 同時更新及び複写手順を通して重複データベースを回復させる方法及び装置 |
US5623595A (en) * | 1994-09-26 | 1997-04-22 | Oracle Corporation | Method and apparatus for transparent, real time reconstruction of corrupted data in a redundant array data storage system |
US5588110A (en) * | 1995-05-23 | 1996-12-24 | Symbios Logic Inc. | Method for transferring data between two devices that insures data recovery in the event of a fault |
-
1996
- 1996-09-17 US US08/714,255 patent/US5787485A/en not_active Expired - Lifetime
-
1997
- 1997-09-16 EP EP97941564A patent/EP1000397B1/de not_active Expired - Lifetime
- 1997-09-16 WO PCT/US1997/016206 patent/WO1998012642A1/en active IP Right Grant
- 1997-09-16 AU AU43450/97A patent/AU725413B2/en not_active Ceased
- 1997-09-16 DE DE69730449T patent/DE69730449T2/de not_active Expired - Lifetime
- 1997-09-16 CA CA002265592A patent/CA2265592C/en not_active Expired - Fee Related
- 1997-09-16 JP JP51477098A patent/JP4264136B2/ja not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
WO1998012642A1 (en) | 1998-03-26 |
AU4345097A (en) | 1998-04-14 |
JP4264136B2 (ja) | 2009-05-13 |
JP2001501002A (ja) | 2001-01-23 |
EP1000397A4 (de) | 2000-10-11 |
CA2265592C (en) | 2001-08-14 |
CA2265592A1 (en) | 1998-03-26 |
US5787485A (en) | 1998-07-28 |
AU725413B2 (en) | 2000-10-12 |
DE69730449D1 (de) | 2004-09-30 |
EP1000397B1 (de) | 2004-08-25 |
EP1000397A1 (de) | 2000-05-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE69730449T2 (de) | Erzeugung einer spiegeldatenkopie (bild) unter verwendung von referenzetiketten | |
DE69724846T2 (de) | Mehrweg-Ein/Ausgabespeichersysteme mit Mehrweg-Ein/Ausgabeanforderungsmechanismus | |
DE69838898T2 (de) | Doppelte Plattenspeichersteuerungen | |
DE60038364T2 (de) | Computersystem und Speicherauszugsdatenverwaltungsverfahren | |
DE69923621T2 (de) | Verfahren und Vorrichtung zu korrekten und vollständigen Übertragungen in einem fehlertoleranten verteilten Datenbanksystem | |
DE69629444T2 (de) | Datenverarbeitungsgerät und Verfahren zur Ersetzung von ausgefallenen Speichereinheiten | |
DE60318687T2 (de) | Herstellen einer gespiegelten kopie unter verwendung inkrementeller divergenz | |
DE60112462T2 (de) | Wiederherstellung von dateisystemdaten in dateiservern mit gespiegelten dateisystemvolumen | |
DE69911930T2 (de) | Hochverfügbare dateiprozessoren | |
EP0760130B1 (de) | Datenverwaltungssystem eines realzeitsystems | |
DE602005002024T2 (de) | Fernkopiersystem und Fernkopierverfahren | |
DE69817696T2 (de) | Warmaustausch von gespiegeltem Nachschreib-Cachespeicher | |
DE69535099T2 (de) | Identifizieren der Steuergerätepaare in einer Festplattenanordnung mit dualem Steuergerät | |
DE69836604T2 (de) | Unterbrechungssteuerungsgerät und -system, Unterbrechungsverarbeitungsverfahren und Speichermedium zur Speicherung eines Unterbrechungsverarbeitungsprogramms | |
DE3301628A1 (de) | Schaltungsanordnung fuer den datenaustausch zwischen zwei rechnern | |
DE60313468T2 (de) | Speicherdienste und -systeme | |
DE112010004947T5 (de) | Wiederherstellung einer vollständigen Systemsicherung und inkrementeller Sicherungen unter Verwendung von mehreren gleichzeitigen Datenströmen von Einheiten | |
DE102004056216A1 (de) | Fernkopiersystem und Speichersystem | |
DE69635713T2 (de) | Diskarray-Teilsystem | |
EP0635792A2 (de) | Verfahren zur Koordination von parallelen Zugriffen mehrerer Prozessoren auf Resourcenkonfigurationen | |
EP0764906B1 (de) | Verfahren zum Betreiben eines durch ein Realzeit-Betriebssystem gesteuerten Realzeit-Computersystems | |
DE69907852T2 (de) | Hochverfügbare asynchrone Ein/Ausgabe für gruppierte Rechnersysteme | |
DE60318337T2 (de) | Speicherkontrollervorichtung versehen mit einem Trennungsbefehl von Volumenpaaren und Verfahren dazu | |
DE69837376T2 (de) | Verfahren und System zur Zusammenführung von Vermittlungsstellen-Datenbanken | |
DE602004003327T2 (de) | Computersystem und Verfahren zum Wiederanlauf mittels entferntem Kopieren |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8364 | No opposition during term of opposition |