-
Technisches Gebiet
-
Diese
Anmeldung betrifft die folgende ebenfalls anhängige und gemeinsam übertragene
Patentanmeldung mit dem Titel "Ordering
Updates in Remote Copying of Data", Aktenzeichen des Patentanwalts: SJO920030037US1,
die am selben Tag wie die vorliegende Patentanmeldung eingereicht
wurde.
-
Stand der Technik
-
Die
vorliegende Beschreibung betrifft ein Verfahren, ein System und
einen Herstellungsgegenstand zur Aufrechterhaltung der Übereinstimmung von
Daten bei einer asynchronen Fernkopie mit Hilfe der Virtualisierung.
-
Aus
dem Schriftstück
EP 1 349 088 ist eine asynchrone
Fernnachbildung oder -spiegelung von Änderungen in einer Momentaufnahme
eines Quellendateisystems in einem Zielnachbildungsdateisystem bekannt,
wobei Zeiger zur Herstellung einer Verknüpfung zwischen den nachgebildeten
Datenträgern
in dem Nachbildungsdateisystem und dem Quellendateisystem verwendet
und Aktualisierungen an nicht verwendete Speicherplätze in dem
Nachbildungsdatei-Speichersystem
geschrieben werden.
-
Das
Schriftstück
US 5 555 371 lehrt ein Verfahren
zum asynchronen Fernkopieren von Daten in zwei Betriebsarten, wobei
es eine primäre
Datenaktualisierungseinheit gibt, die wiederholt Kopien von Aktualisierungsdaten
für Daten
empfängt,
die in einem primären
Datenspeichersystem gespeichert werden, indem Datensätze zeitnah,
asynchron und unterbrechungsfrei zu Sicherungszwecken in eine sekundäre unabhängige Datenspeichereinheit
kopiert werden.
-
Das
Schriftstück
US 5 193 184 lehrt ein dynamisch
abgebildetes virtuelles Datenspeichersystem, das eine dynamisch
aktualisierte Abbildungstabelle verwendet, die ein virtuelles Spurenverzeichnis enthält, das
verwaltet wird, um die Position der aktuellen Instanz einer jeden
virtuellen Spur in einem Datenspeicher-Teilsystem mit einer Anordnung
von parallelen Plattenlaufwerken abzurufen.
-
Beschreibung der Erfindung
-
Informationstechnologie-Systeme
einschließlich
Speichersystemen müssen
gegebenenfalls vor Störfällen vor
Ort oder vor Ausfällen
geschützt
werden. Überdies
können
Informationstechnologie-Systeme Funktionen zur Umlagerung von Daten,
zur Sicherung von Daten oder zur Vervielfältigung von Daten erforderlich
machen. Ausführungsarten
zur Wiederherstellung nach einem Stör- oder Ausfall, zur Umlagerung
von Daten, zur Sicherung von Daten und zur Vervielfältigung
von Daten können eine
Funktion zum Spiegeln oder zum Kopieren von Daten in Speichersysteme
beinhalten. Bei bestimmten Informationstechnologie-Systemen werden
Daten von einer primären
Speichersteuerung in eine sekundäre
Speichersteuerung kopiert. Als Reaktion darauf, dass die primäre Speichersteuerung
nicht zur Verfügung
steht, kann die sekundäre
Speichersteuerung als Ersatz für
die nicht zur Verfügung
stehende primäre
Speichersteuerung verwendet werden.
-
Das
Kopien von Daten in Informationstechnologie-Systemen kann synchron
oder asynchron stattfinden. Beim synchronen Kopieren werden Daten
von der primären
Speichersteuerung an die sekundäre
Speichersteuerung gesendet, und der Empfang dieser Daten wird bestätigt, bevor
die Schreiboperationen an die primäre Speichersteuerung abgeschlossen
sind. Ein synchroner Kopiervorgang verlangsamt daher die Antwortzeit
bei der Schreiboperation, während
auf die Bestätigung
von der sekundären
Speichersteuerung gewartet wird. Ein synchroner Kopiervorgang stellt
jedoch fortlaufend übereinstimmende
Daten an der sekundären
Speichersteuerung bereit.
-
Ein
asynchroner Kopiervorgang kann ein besseres Leistungsverhalten als
ein synchroner Kopiervorgang aufweisen, da die Schreiboperation
an die primäre
Speichersteuerung abgeschlossen werden kann, bevor der Empfang der
gesendeten Daten von der sekundären
Speichersteuerung bestätigt wird.
Jedoch muss die Datenfolgekonsistenz gegebenenfalls sichergestellt
werden, da an der sekundären
Speichersteuerung empfangene Daten möglicherweise nicht in der Reihenfolge
der an der primären
Speichersteuerung vorgenommenen Aktualisierungen, d.h. der Schreiboperationen,
empfangen werden. Bei einem asynchronen Kopiervorgang kann eine
einheitenübergreifende Übereinstimmung
zwischen der primären
Speichersteuerung und der sekundären
Speichersteuerung erzielt werden, indem Aktualisierungen vorübergehend
an einem festen Ort wie zum Beispiel einem Journal-Datensatz gespeichert
werden, bis eine Gruppe von übereinstimmenden
Aktualisierungen zur Anwendung auf den Sekundärspeicher, der zu der sekundären Speichersteuerung
gehört,
verfügbar
ist.
-
Gemäß der vorliegenden
Erfindung, die in den beigefügten
unabhängigen
Ansprüchen
1, 5 und 6 erläutert
ist, gibt es ein Verfahren, ein System und einen Herstellungsgegenstand,
die dazu dienen, den Speicherinhalt zu kopieren, wobei eine erste
Einheit Datenaktualisierungen von einer zweiten Einheit empfängt. Die
Datenaktualisierungen werden in einer Vielzahl von physischen Speicherplätzen gespeichert,
die zu der ersten Einheit gehören.
Verknüpfungen
werden zu mindestens einem der Vielzahl der physischen Speicherplätze erzeugt,
um übereinstimmende
Daten zwischen der ersten Einheit und der zweiten Einheit zu erzielen.
-
In
weiteren Ausführungsformen
ist die erste Einheit eine sekundären Speichersteuerung, die
mit einem Sekundärspeicher
verbunden ist, und die zweite Einheit ist eine primäre Speichersteuerung, die
mit einem Primärspeicher
verbunden ist, wobei die Vielzahl der physischen Speicherplätze zu dem Sekundärspeicher
gehören,
und wobei die Datenaktualisierungen an der ersten Einheit asynchron
empfangen werden.
-
In
weiteren Ausführungsformen
werden die empfangenen Daten nur einmal an der Vielzahl der physischen
Speicherplätze
gespeichert, die zu der ersten Einheit gehören, und physische Speicherplätze, die
keine Verknüpfung
haben, werden freigegeben, damit sie zur Speicherung von späteren Datenaktualisierungen
verwendet werden können.
-
In
noch weiteren Ausführungsformen
sendet eine Anwendung Eingabe-/Ausgabeanforderungen an die zweite
Einheit, wobei die Datenaktualisierungen Ausgabeanforderungen von
der Anwendung entsprechen und wobei die Datenaktualisierungen nur einmal
an der ersten Einheit gespeichert werden, wobei die erste Einheit
die zweite Einheit beim Antworten auf die Eingabe-/Ausgabeanforderungen
von der Anwendung jederzeit ersetzen kann und wobei die Daten in
der ersten Einheit und in der zweiten Einheit jederzeit übereinstimmen.
-
In
noch weiteren Ausführungsformen
wird festgestellt, ob die gespeicherten Datenaktualisierungen eine
Konsistenzgruppe (CG) bilden, bevor die Verknüpfungen erzeugt werden. Es
erfolgt der Eintritt in einen Wartezustand, um als Reaktion auf
die gespeicherten Datenaktualisierungen, die keine Konsistenzgruppe
bilden, eine nächste
Datenaktualisierung zu empfangen.
-
In
noch weiteren Ausführungsformen
wird festgestellt, ob die gespeicherten Datenaktualisierungen eine
Konsistenzgruppe bilden, bevor die Verknüpfungen erzeugt werden. Der
mindestens eine physische Speicherplatz, an dem die Konsistenzgruppe
festgeschrieben wird, wird ermittelt, wobei zwischen dem virtuellen
Speicher, der zu der ersten Einheit gehört, und dem mindestens einen
ermittelten physischen Speicherplatz eine Verknüpfung hergestellt wird.
-
In
weiteren Ausführungsformen
wird eine Datenstruktur verwaltet, die virtuelle Speicherplätze auf
den mindestens einen der Vielzahl der physischen Speicherplätze abbildet,
wobei die erzeugten Verknüpfungen
zu der Datenstruktur gehören
und wobei eine Vielzahl von Anwendungen Eingabe-/Ausgabeoperationen mit den virtuellen
Speicherplätzen
durchführen
kann.
-
In
weiteren Ausführungsformen
werden die Datenstrukturen, die Konsistenzgruppen darstellen, welche
den Datenaktualisierungen entsprechen, verwaltet, wobei die verwalteten
Datenstrukturen auf die Vielzahl der physischen Speicherplätze zeigen
können.
An einer ersten Datenstruktur, die eine erste Konsistenzgruppe darstellt,
wird als Antwort auf erste Datenaktualisierungen, die zu der ersten
Konsistenzgruppe gehören,
die festgeschrieben wird, eine Löschoperation
durchgeführt.
-
In
weiteren Ausführungsformen
wird an der ersten Einheit als Reaktion darauf, dass auf eine Datenaktualisierung
gewartet wird, eine Fehlermeldung empfangen. Die erzeugten Verknüpfungen
werden geändert,
um übereinstimmende
Daten zwischen der ersten Einheit und der zweiten Einheit anzuzeigen.
-
Bestimmte
Ausführungsformen
erreichen mittels eines virtuellen Speichersystems eine Übereinstimmung
der Daten bei asynchronen Fernkopien. Eine Nachbildungsverwaltungsanwendung
(replication management application) schreibt Daten, die empfangen
wurden, die aber noch nicht mit Daten übereinstimmen, die zu anderen
Speichersteuerungen gehören,
in nicht verwendeten physischen Speicher. Als Reaktion auf den Empfang
von Daten, die notwendig sind, um eine Übereinstimmung zu ermöglichen,
können
Virtualisierungstabellen an den gültigen sekundären Speicherplätzen aktualisiert werden,
damit sie auf Speicherplätze
in dem physischen Speicher zeigen, an die die Daten geschrieben wurden.
In bestimmen Ausführungsformen
können die
an einer sekundären
Speichersteuerung empfangenen Daten nur einmal in den physischen
Speicher geschrieben werden, der zu der sekundären Speichersteuerung gehört.
-
Kurze Beschreibung der Zeichnungen
-
Es
wird nun Bezug auf die Zeichnungen genommen, in denen gleiche Bezugszahlen überall entsprechende
Teile darstellen:
-
1 zeigt
ein Blockschaltbild einer Datenverarbeitungsumgebung gemäß bestimmten
beschriebenen Aspekten der Erfindung;
-
2 zeigt
ein Blockschaubild von Datenstrukturen und Einheiten in Bezug auf
die Datenverarbeitungsumgebung gemäß bestimmten beschriebenen
Ausführungsarten
der Erfindung;
-
3 zeigt
ein Schaubild von Konsistenzgruppen gemäß bestimmten beschriebenen
Ausführungsarten
der Erfindung;
-
4 zeigt
Logik zur Aufrechterhaltung der Übereinstimmung
mittels Virtualisierung gemäß bestimmten
beschriebenen Ausführungsarten
der Erfindung;
-
5 zeigt
ein Blockschaubild eines ersten Zustands von Datenstrukturen in
einer beispielhaften Ausführungsform
gemäß bestimmten
beschriebenen Ausführungsarten
der Erfindung;
-
6 zeigt
ein Blockschaubild eines zweiten Zustands von Datenstrukturen in
einer beispielhaften Ausführungsform
gemäß bestimmten
beschriebenen Ausführungsarten
der Erfindung;
-
7 zeigt
ein Blockschaubild eines dritten Zustands von Datenstrukturen in
einer beispielhaften Ausführungsform
gemäß bestimmten
beschriebenen Ausführungsarten
der Erfindung;
-
8 zeigt
Logik für
Logik zur Aufrechterhaltung der Übereinstimmung
und zur Wiederherstellung nach einem schweren Fehler gemäß bestimmten
beschriebenen Ausführungsarten
der Erfindung; und
-
9 zeigt
ein Blockschaubild einer Rechnerarchitektur, bei der bestimmte beschriebene
Aspekte der Erfindung realisiert sind.
-
Beste Art und Weise der Durchführung der
Erfindung
-
In
der folgenden Beschreibung wird Bezug auf die beigefügten Zeichnungen
genommen, die einen Teil der Beschreibung bilden und mehrere Ausführungsarten
darstellen. Es versteht sich, dass andere Ausführungsarten verwendet und Änderungen am
Aufbau und an der Betriebsweise vorgenommen werden können, ohne
vom Umfang der vorliegenden Ausführungsarten
abzuweichen.
-
1 zeigt
ein Blockschaltbild einer Datenverarbeitungsumgebung gemäß bestimmten
Aspekten der Erfindung. Eine primäre Speichersteuerung 100 ist
mit einer sekundären
Speichersteuerung 102 verbunden. Ein Anwendungssystem 104,
das eine oder mehrere Anwendungen enthält, kann E/A-Operationen einschließlich Schreiboperationen
an die primäre
Speichersteuerung 100 durchführen. In bestimmten Ausführungsformen
kann sich das Anwendungssystem 104 in einer Host-Rechnereinheit
befinden, die über
einen Host-Busadapter mit der primären Speichersteuerung 100 verbunden
ist.
-
Die
primäre
Speichersteuerung 100 und die sekundäre Speichersteuerung 102 können Daten
in einem Primärspeicher 106 beziehungsweise
einem Sekundärspeicher 108 speichern
und aus ihnen abrufen, wobei der Primärspeicher 106 mit
der primären Speichersteuerung 100 und
der Sekundärspeicher 108 mit
der sekundären
Speichersteuerung 102 verbunden ist. Darüber hinaus
können
die primäre
Speichersteuerung 100 und die sekundäre Speichersteuerung 102 die
Operationen des Primärspeichers 106 beziehungsweise
des Sekundärspeichers 108 steuern.
Der Primärspeicher 106 und
der Sekundärspeicher 108 können einen
nichtflüchtigen
Speicher wie zum Beispiel Festplattenlaufwerke, RAIDS, Direktzugriffspeichereinheiten
oder andere Arten von physischem Speicher einschließen.
-
In
bestimmten Ausführungsformen
ist die primäre
Speichersteuerung 100 gegebenenfalls nicht funktionsbereit,
und Daten, die zu der sekundären Speichersteuerung 102 gehören, können von
einem Wiederherstellungssystem 110 zur Verarbeitung verwendet
werden. In Ausführungsformen
der Erfindung werden Daten, die zu der sekundären Speichersteuerung 102 gehören, in Übereinstimmung
mit Daten gehalten, die zu der primären Speichersteuerung 100 gehören. Die Übereinstimmung
wird von einer Nachbildungsverwaltungsanwendung 112 aufrechterhalten.
-
Die
Nachbildungsverwaltungsanwendung 112 ist mit der primären Speichersteuerung 100 und der
sekundären
Speichersteuerung 102 verbunden, und in bestimmten Ausführungsformen
kann sie Daten von der primären
Speichersteuerung 100 auf die sekundäre Speichersteuerung 102 spiegeln.
In manchen Ausführungsformen
kann die Spiegelung erfolgen, indem Daten asynchron von der primären Speichersteuerung 100 an
die sekundäre
Speichersteuerung 102 kopiert werden.
-
In
bestimmten Ausführungsformen
kann die Nachbildungsverwaltungsanwendung 112 über die primäre Speichersteuerung 100 und
die sekundäre Speichersteuerung 102 verteilt
sein. In anderen Ausführungsformen
kann sich die Nachbildungsverwaltungsanwendung 112 auf
einem gesonderten System befinden, das sich von der primären Speichersteuerung 100 und
der sekundären
Speichersteuerung 102 unterscheidet. In noch weiteren Ausführungsformen
kann sich die Nachbildungsverwaltungsanwendung 112 nur
in der primären
Speichersteuerung 100 oder aber nur in der sekundären Speichersteuerung 102 befinden.
-
In
bestimmten Ausführungsformen
hält die Nachbildungsverwaltungsanwendung 112 die Übereinstimmung
der Datenaktualisierungen, die sie von dem Anwendungssystem 104 empfangen
hat, aufrecht, wobei die Datenaktualisierungen von der primären Speichersteuerung 100 asynchron
an die sekundäre
Speichersteuerung 102 kopiert werden. Die Nachbildungsverwaltungsanwendung 112 kann
eine Virtualisierung des Sekundärspeichers 108,
der mit der sekundären
Speichersteuerung 102 verbunden ist, durchführen, um
die Übereinstimmung
von Daten bei der primären
Speichersteuerung 100 und der sekundären Speichersteuerung 102 aufrechtzuerhalten.
In bestimmten Ausführungsformen
beinhaltet die Virtualisierung die Abbildung des physischen Sekundärspeichers 108 auf
virtuelle Datenträger.
-
1 zeigt
daher eine Ausführungsform,
bei der die Nachbildungsverwaltungsanwendung 112 die sekundäre Speichersteuerung 102 virtualisiert
und die Übereinstimmung
von Daten bei der primären Speichersteuerung 100 und
der sekundären
Speichersteuerung 102 aufrechterhält, wobei Daten asynchron von
der primären
Speichersteuerung 100 an die Speichersteuerung 102 kopiert
werden.
-
2 zeigt
ein Blockschaubild von Datenstrukturen und Einheiten gemäß bestimmten
beschriebenen Ausführungsarten
der Erfindung, die zu der Nachbildungsverwaltungsanwendung 112 und der
sekundären
Speichersteuerung 102 gehören.
-
Die
sekundäre
Speichersteuerung 102 kann Datenaktualisierungen 200 empfangen,
die als Folge von Schreiboperationen von einer oder von mehreren
Anwendungen 204a bis 204m an die primäre Speichersteuerung 100 erzeugt
wurden, wobei die eine oder die mehreren Anwendungen 204a bis 204m das
Anwendungssystem 104 bilden können. In bestimmten Ausführungsformen
kommen die Datenaktualisierungen 200 von dem Anwendungssystem 104 asynchron
an der sekundären
Speichersteuerung 102 über
die primäre
Speichersteuerung 100 an, und die Datenaktualisierungen 200 können als ein
Datenaktualisierungsstrom bezeichnet werden.
-
Die
Nachbildungsverwaltungsanwendung 112 erzeugt eine oder
mehrere virtuelle Einheiten wie zum Beispiel die virtuellen Datenträger 206a bis 206n,
die zu der sekundären
Speichersteuerung 102 gehören. Die primäre Speichersteuerung 100 kann auch über virtuelle
Datenträger
verfügen,
die den virtuellen Datenträgern 206a bis 206n entsprechen.
In bestimmten Ausführungsformen
werden die Daten, die den virtuellen Datenträgern 206a bis 206n entsprechen,
an Speicherplätzen
in dem physischen Sekundärspeicher 108 gespeichert.
Die Abbildung der virtuellen Datenträger 206a bis 206n auf
Speicherplätze
in dem physischen Sekundärspeicher 108 kann
in Virtualisierungstabellen gespeichert werden, die zu der sekundären Speichersteuerung 102 gehören. In
bestimmten Ausführungsformen
kann eine Verbindung zwischen den Virtualisierungstabellen 208 und
den virtuellen Datenträgern 206a bis 206n hergestellt
werden.
-
Das
Anwendungssystem 104 führt
E/A-Operationen an virtuellen Datenträgern aus, die zu der primären Speichersteuerung 100 gehören, und
zu der sekundären
Speichersteuerung 102 gehören auch entsprechende virtuelle
Datenträger 206a bis 206n.
-
In
bestimmten Ausführungsformen
kann die Nachbildungsverwaltungsanwendung 112 eine Konsistenzgruppen-Feststellungsanwendung 210 und zugehörige Datenstrukturen
beinhalten, die den Konsistenzgruppen 212 entsprechen.
-
Folglich
beschreibt 2 eine Ausführungsform, bei der die Nachbildungsverwaltungsanwendung 112 die
sekundäre
Speichersteuerung 100 virtualisiert und eine Übereinstimmung
der Daten bei der primären
Speichersteuerung 100 und der sekundären Speichersteuerung 102 aufrechterhält.
-
3 zeigt
ein Schaubild von beispielhaften von der Nachbildungsverwaltungsanwendung 112 erzeugten
Konsistenzgruppen gemäß bestimmten beschriebenen
Ausführungsarten
der Erfindung.
-
Eine
Konsistenzgruppe ist eine Gruppe von Aktualisierungen, bei der sich
die Aktualisierungen über
eine Vielzahl von Datenträgern
erstrecken können
und wobei die Aktualisierungen zusammen geschrieben werden müssen, um
eine gegenseitige Datenkonsistenz zwischen den Daten aufrechtzuerhalten,
die auf jedem Datenträger
der Vielzahl der Datenträger
enthalten sind. Um ein Beispiel zu geben, das nicht als Einschränkung zu
verstehen ist, kopiert ein erster Befehl den Inhalt des Datenträgers A1,
der zu der primären
Speichersteuerung 100 gehört, auf den Datenträger B1,
der zu der sekundären
Speichersteuerung 102 gehört, und ein zweiter Befehl
kopiert den Inhalt des Datenträgers
A2, der zu der primären
Speichersteuerung gehört,
auf den Datenträger
B2, der zu der sekundären
Speichersteuerung gehört.
Es ist notwendig, dass die Datenträger B1 und B2 zu einem bestimmten
Zeitpunkt einen übereinstimmenden
Zustand des Datensatzes auf den Datenträgern A1 und A2 darstellen.
Bei einer bestimmten Abfolge von Operationen auf den Datenträgern kann
der folgende Satz von abhängigen
Schreiboperationen durch das Anwendungssystem 104 stattfinden
(wobei die zweite Operation nach der ersten Operation stattfindet):
- 1. Schreibe in den Datensatz auf dem Datenträger A1 (Daten
aktualisiert)
- 2. Schreibe in den Datensatz auf dem Datenträger A2 (Daten aktualisiert)
-
Wenn
der Inhalt der Datenträger
A1 und A2 über
die Datenaktualisierungen 200 asynchron auf die Datenträger B1 beziehungsweise
B2 kopiert wird, kann die folgende nicht als Einschränkung zu
verstehende Abfolge von Operationen einen Zustand erzeugen, bei
dem der Inhalt der Datenträger
B1, B2 nicht mit dem Inhalt der Datenträger A1, A2 übereinstimmt.
- 1. Kopiere den Inhalt des Datenträgers A1 auf den Datenträger B1
- 2. Schreibe in den Datensatz auf dem Datenträger A1 (Daten aktualisiert)
- 3. Schreibe in den Datensatz auf dem Datenträger A2 (Daten aktualisiert)
- 4. Kopiere den Inhalt des Datenträgers A2 auf den Datenträger B2
-
Bei
Beendigung aller Kopieroperationen, d.h. bei Beendigung der vierten
Operation, enthält
der Datenträger
B2 die Datenaktualisierung des Datenträgers A2, wohingegen der Datenträger B1 nicht
die Datenaktualisierung des Datenträgers A1 enthält. Der
Satz von Datenträgern
B1, B2 befindet sich in einem Zustand, der nicht mit dem Zustand
des Satzes der Datenträger
A1, A2 übereinstimmt.
Eine Anwendung 204a bis 204m, die die Datenträger B1,
B2 verwendet, welche zu der sekundären Speichersteuerung 102 gehören, könnte nach
einem Fehler nicht mit einer auf den Datenträgern B1, B2 gespeicherten Sicherungskopie
wiederhergestellt werden.
-
Folglich
können
nicht alle in Folge stattfindenden Datenaktualisierungen einen übereinstimmenden
Satz von Datenaktualisierungen bilden. In 3 stellen
die Zeilen der Tabelle 300 verschiedene Einheiten dar,
und die Spalten stellen unterschiedliche Zeitpunkte dar. Bei den
Zeitpunkten handelt es sich um relative und nicht um absolute Zeitpunkte. Zum
Beispiel ist t3 (Bezugszahl 306) ein Zeitpunkt nach t2
(Bezugszahl 304), und t2 (Bezugszahl 304) ist
ein Zeitpunkt nach t1 (Bezugszahl 302). Eine Kombination
aus Buchstabe und Zahl im Hauptteil der Tabelle 300 gibt
eine an einer Einheit vorgenommene Aktualisierung zu einem bestimmten
Zeitpunkt an, wobei der Buchstabe eine Anwendung und die Zahl eine
Abfolge von Aktualisierungen für
die Anwendung angibt. B1 (Bezugszahl 308) zum Beispiel ist
die erste Datenaktualisierung von einer Anwendung mit der Bezeichnung
B, wobei die Aktualisierung für
die Einheit D3 (Bezugszahl 310) ist, die zum relativen
Zeitpunkt t1 (Bezugszahl 302) ankommt. Die unterschiedlichen
Schattierungen bei den Einträgen
der Tabelle 300 geben einen Satz von Aktualisierungen mit übereinstimmenden
Daten an und sind nicht unbedingt nur senkrechte Eintragungsbereiche in
der Tabelle. Die Tabelle 300 beispielsweise hat drei Konsistenzgruppen 312, 314, 316.
Bei Daten, die zu der Sekundärsteuerung 102 gehören, müssen die Aktualisierungsdaten
in einer Konsistenzgruppe gegebenenfalls zusammen auf die Sekundärsteuerung 102 angewendet
werden, damit sie weiterhin mit den Daten, die zu der Primärsteuerung 100 gehören, übereinstimmen.
Die Festlegung der Konsistenzgruppen 312, 314, 316 in
der Tabelle 300 kann in jeder beliebigen in der Technik
bekannten Art und Weise vorgenommen werden.
-
Folglich
zeigt 3 eine Ausführungsform von
beispielhaften Konsistenzgruppen 312, 314, 316, die
von der Nachbildungsverwaltungsanwendung 112 durch Verarbeitung
des Datenaktualisierungsstroms 200 erzeugt werden können, welcher
von der primären
Speichersteuerung 100 asynchron an der sekundären Speichersteuerung 102 ankommt.
Um die Übereinstimmung
der Daten mit den Daten der primären
Speichersteuerung 102 zu wahren, wird zunächst eine
Konsistenzgruppe festgelegt und festgeschrieben, und anschließend werden
die Datenaktualisierungen der Konsistenzgruppe über Zeiger oder Verknüpfungen
in den virtuellen Datenträgern 206a bis 206n der
sekundären
Speichersteuerung 108 widergespiegelt.
-
4 zeigt
Logik zur Aufrechterhaltung der Übereinstimmung
mittels Virtualisierung, die in der sekundären Speichersteuerung 102 gemäß bestimmten
beschriebenen Ausführungsarten
der Erfindung realisiert ist.
-
Die
Steuerung beginnt am Block 400, an dem die Nachbildungsverwaltungsanwendung 112 Virtualisierungstabellen 208 erzeugt,
die den virtuellen Datenträgern 206a bis 206n entsprechen,
welche zu der sekundären
Speichersteuerung 102 gehören, wobei die Virtualisierungstabellen 208 auf
Speicherplätze
in dem physischen Speicher 108 zeigen und den übereinstimmenden
Dateninhalt der virtuellen Datenträger 206a bis 206n angeben.
Die Übereinstimmung
des Dateninhalts der virtuellen Datenträger 206a bis 206n gilt
in Bezug auf den Dateninhalt, der zu der primären Speichersteuerung 100 gehört.
-
Die
Nachbildungsverwaltungsanwendung 112 empfängt (am
Block 402) eine Datenaktualisierung 200 für einen
virtuellen Datenträger 206a bis 206n,
der zu der sekundären
Speichersteuerung 102 gehört. In bestimmten Ausführungsformen
kann die Datenaktualisierung 200 zum Beispiel die Datenaktualisierung
B1 (Bezugszahl 308) sein.
-
Die
Nachbildungsverwaltungsanwendung 112 schreibt (am Block 404)
die Datenaktualisierung 200 in nicht verwendeten physischen
Speicher. Die Nachbildungsverwaltungsanwendung 112 kann
die Datenaktualisierung 200 zum Beispiel in nicht verwendete
Speicherplätze
des Sekundärspeichers 108 schreiben.
-
Die
Nachbildungsverwaltungsanwendung 112 stellt (am Block 406)
fest, ob alle Datenaktualisierungen für eine Konsistenzgruppe 212 wie
zum Beispiel für
die Konsistenzgruppen 312, 314, 316 empfangen
worden sind. Wenn ja, aktualisiert die Nachbildungsverwaltungsanwendung 112 (am
Block 408) die Virtualisierungstabellen 208, damit
sie auf die Speicherplätze
in dem physischen Speicher 108 zeigen, die eine Festschreibung
der Datenaktualisierungen, die in der Konsistenzgruppe 212 enthalten
sind, angeben. Die aktualisierten Virtualisierungstabellen 208 geben
die neuen Daten an, die zu den virtuellen Datenträgern 206a bis 206n gehören. Die
zu den virtuellen Datenträgern 206a bis 206n gehörenden Daten
der sekundären
Speichersteuerung 102 stimmen folglich mit den Daten überein,
die zu der primären Speichersteuerung 100 gehören.
-
Die
Nachbildungsverwaltungsanwendung 112 gibt (am Block 410)
als Folge der an den Virtualisierungstabellen 208 vorgenommenen
Aktualisierungen Speicherplatz in dem physischen Speicher 108 frei.
Zum Beispiel werden bestimmte Datenaktualisierungen 200,
die am Block 404 in den nicht verwendeten physischen Speicher
geschrieben werden, möglicherweise
nicht benötigt,
und folglich kann Speicherplatz freigegeben werden. Die Nachbildungsverwaltungsanwendung 112 empfängt (am Block 402)
die nächste
Datenaktualisierung 200.
-
Wenn
die Nachbildungsverwaltungsanwendung 112 (am Block 406)
feststellt, dass nicht alle Datenaktualisierungen für eine Konsistenzgruppe 212, wie
zum Beispiel für
die Konsistenzgruppen 312, 314, 316,
empfangen worden sind, empfängt
die Nachbildungsverwaltungsanwendung 112 (am Block 402)
die nächste
Datenaktualisierung 200.
-
Folglich
beschreibt 4 bestimmte Ausführungsformen,
bei denen die Nachbildungsverwaltungsanwendung 112 alle
Datenaktualisierungen 200 an Speicherplätze in dem nicht verwendeten
physischen Speicher 108 schreibt, und nachdem sie eine Konsistenzgruppe 212 festgestellt
hat, kann sie nur eine bestimmte Anzahl der geschriebenen Datenaktualisierungen
dauerhaft schreiben, indem sie die Virtualisierungstabellen 208 aktualisiert,
damit diese auf die bestimmte Anzahl der geschriebenen Datenaktualisierungen
zeigen. Es ist nicht notwendig, die geschriebenen Datenaktualisierungen
zu kopieren.
-
5 zeigt
ein Blockschaubild eines ersten Zustands von Datenstrukturen in
einer beispielhaften Ausführungsform
gemäß bestimmten
beschriebenen Ausführungsarten
der Erfindung, wobei ursprüngliche
Daten zu der sekundären
Speichersteuerung 102 gehören und Datenaktualisierungen,
die ersten und zweiten Konsistenzgruppen entsprechen, an der sekundären Speichersteuerung 102 angekommen sind,
aber nicht festgeschrieben wurden.
-
In 5 ist
eine lineare Darstellung einer beispielhaften Platte 500 wie
zum Beispiel des physischen Speichers 108 gezeigt. Die
beispielhafte Platte 500 hat zehn physische Blöcke, wobei
der erste physische Block einen ersten virtuellen Block (VB) mit der
Bezeichnung VB1 enthält,
der Teil der ursprünglichen
Daten auf der Platte 500 ist. Wenn Datenaktualisierungen 200 ankommen
und verschiedenen Konsistenzgruppen (CG) zugeordnet werden, werden
die Datenaktualisierungen auf die Platte 500 geschrieben.
Zum Beispiel wird eine Datenaktualisierung 200 für den vierten
virtuellen Block (V34), der zu der zweiten Konsistenzgruppe (CG2)
gehört,
in den physischen Block fünf
geschrieben. Die virtuellen Blöcke entsprechen
den virtuellen Datenträgern 206a bis 206n.
-
5 zeigt
auch die aktuellen Datenzeiger 502, die auf die physischen
Blöcke
der ursprünglichen
Daten auf der Platte 500 zeigen, Zeiger 504 auf eine
erste Konsistenzgruppe, die auf die physischen Blöcke zeigen,
welche den Datenaktualisierungen entsprechen, die die erste Konsistenzgruppe
bilden, und Zeiger 506 auf eine zweite Konsistenzgruppe, die
auf die physischen Blöcke
zeigen, welche den Datenaktualisierungen entsprechen, die die zweite Konsistenzgruppe
bilden.
-
Tabellen
der Zeiger 502, 504, 506, die die Abbildung
der virtuellen Blöcke
auf die physischen Blöcke
darstellen, werden ebenfalls verwaltet. Zum Beispiel zeigt die Tabelle 508 des
aktuellen Datenzeigers die aktuelle Abbildung der virtuellen Blöcke auf die
physischen Blöcke
auf der Platte 500. Die Abbildung in der Tabelle 508 des
aktuellen Datenzeigers zeigt dauerhaft geschriebene (hardened) oder
festgeschriebene Daten, das heißt
Daten, die bei der primären
Speichersteuerung 100 und bei der sekundären Speichersteuerung 102 übereinstimmen.
Die Anwendungen 204a bis 204n, die auf Daten zugreifen, welche
der sekundären
Speichersteuerung 102 zugeordnet sind, arbeiten mit den
Daten, auf die die Zeiger 502 für die aktuellen Daten zeigen.
-
Die
Tabelle 510 des Zeigers auf die erste Konsistenzgruppe
zeigt die Abbildung der virtuellen Blöcke auf die physischen Blöcke auf
der Platte 500 bei Datenaktualisierungen, die zu der ersten
Konsistenzgruppe gehören.
Die Daten, die in der Tabelle 510 des Zeigers auf die erste
Konsistenzgruppe dargestellt werden, werden nicht dauerhaft geschrieben, da
die erste Konsistenzgruppe noch nicht festgeschrieben wurde.
-
Ebenso
zeigt eine Tabelle 512 des Zeigers auf die zweite Konsistenzgruppe
die Abbildung der virtuellen Blöcke
auf die physischen Blöcke
auf der Platte 500 bei Datenaktualisierungen, die zu der zweiten
Konsistenzgruppe gehören.
Die Daten, die in der Tabelle 512 des Zeigers auf die zweite
Konsistenzgruppe dargestellt werden, werden nicht dauerhaft geschrieben,
da die zweite Konsistenzgruppe noch nicht festgeschrieben wurde.
-
Folglich
zeigt 5 einen ersten Zustand von Datenstrukturen in
einer Ausführungsform,
bei der Datenaktualisierungen 200 für die erste Konsistenzgruppe
und die zweite Konsistenzgruppe an der sekundären Speichersteuerung 102 angekommen sind,
aber noch nicht festgeschrieben wurden.
-
6 zeigt
ein Blockschaubild eines zweiten Zustands von Datenstrukturen in
einer beispielhaften Ausführungsform
gemäß bestimmten
beschriebenen Ausführungsarten
der Erfindung, wobei die Datenaktualisierungen 200, die
der Tabelle 510 des Zeigers auf die erste Konsistenzgruppe
entsprechen, dauerhaft geschrieben wurden, das heißt, die
erste Konsistenzgruppe wurde festgeschrieben, und nicht festgeschriebene
Datenaktualisierungen 200, die einer dritten Konsistenzgruppe
entsprechen, kamen an der sekundären
Speichersteuerung 102 an.
-
6 zeigt
die aktualisierten aktuellen Datenzeiger 502, die auf die
physischen Blöcke
der ursprünglichen
Daten auf der Platte 500 zeigen, die Zeiger 506 auf
die zweite Konsistenzgruppe, die auf die physischen Blöcke zeigen,
welche den Datenaktualisierungen entsprechen, die die nicht festgeschriebene
zweite Konsistenzgruppe bilden, und Zeiger 600 auf eine
neue dritte Konsistenzgruppe, die auf die physischen Blöcke zeigen,
die den nicht festgeschriebenen Datenaktualisierungen entsprechen, welche
die dritte Konsistenzgruppe bilden.
-
Tabellen
der Zeiger 502, 506, 510, die die Abbildung
der virtuellen Blöcke
auf die physischen Blöcke
darstellen, werden ebenfalls verwaltet. Zum Beispiel zeigt die Tabelle 508 des
aktuellen Datenzeigers die aktuelle Abbildung der virtuellen Blöcke auf die
physischen Blöcke
auf der Platte 500. Die Abbildung in der Tabelle 508 des
aktuellen Datenzeigers zeigt dauerhaft geschriebene oder festgeschriebene Daten,
nachdem die Datenaktualisierungen 200 der ersten Konsistenzgruppe
festgeschrieben worden sind.
-
Die
Tabelle 602 des Zeigers auf die dritte Konsistenzgruppe
zeigt die Abbildung der virtuellen Blöcke auf die physischen Blöcke auf
der Platte 500 bei Datenaktualisierungen, die zu der dritten
Konsistenzgruppe gehören.
Die Daten, die in der Tabelle 512 des Zeigers auf die zweite
Konsistenzgruppe oder in der Tabelle 602 des Zeigers auf
die dritte Konsistenzgruppe dargestellt sind, werden nicht dauerhaft
geschrieben, da die zweite Konsistenzgruppe und die dritte Konsistenzgruppe
noch nicht festgeschrieben wurden. In 6 wurde
die Tabelle 510 des Zeigers auf die erste Konsistenzgruppe
gelöscht, da
die Datenaktualisierungen für
die erste Konsistenzgruppe festgeschrieben wurden.
-
Folglich
zeigt 6 eine Ausführungsform, bei
der Datenaktualisierungen 200 für die erste, die zweite und
die dritte Konsistenzgruppe an der sekundären Speichersteuerung 102 angekommen
sind und nur die Datenaktualisierungen der ersten Konsistenzgruppe
festgeschrieben wurden.
-
7 zeigt
ein Blockschaubild eines dritten Zustands von Datenstrukturen in
einer beispielhaften Ausführungsform
gemäß bestimmten
beschriebenen Ausführungsarten
der Erfindung. In 7 wurden die Datenaktualisierungen 200,
die der zweiten und der dritten Konsistenzgruppe entsprechen, festgeschrieben.
-
Da
die Datenaktualisierungen der ersten, der zweiten und der dritten
Konsistenzgruppe festgeschrieben wurden, sind die Tabelle 510 des
Zeigers auf die erste Konsistenzgruppe, die Tabelle 512 des Zeigers
auf die zweite Konsistenzgruppe und die Tabelle 602 des
Zeigers auf die dritte Konsistenzgruppe alle als gelöscht gezeigt.
Die aktuellen Datenzeiger zeigen auf die physischen Blöcke 5, 6,
8, 9 der Platte 500 und entsprechen den virtuellen Blöcken VB4, VB2,
VB1 beziehungsweise VB3.
-
Folglich
zeigt 7 eine Ausführungsform, bei
der Datenaktualisierungen 200 für die erste, die zweite und
die dritte Konsistenzgruppe an der sekundären Speichersteuerung 102 angekommen
sind und alle Datenaktualisierungen festgeschrieben wurden.
-
8 zeigt
Logik für
Logik zur Aufrechterhaltung der Übereinstimmung
von Daten und zur Wiederherstellung nach einem schweren Fehler gemäß bestimmten
beschriebenen Ausführungsarten
der Erfindung, welche in der Nachbildungsverwaltungsanwendung 112 ausgeführt wird.
-
Die
Steuerung beginnt am Block 800, an dem eine aktuelle Konsistenzgruppe
auf den Anfangswert eins gesetzt wird. Die Nachbildungsverwaltungsanwendung 112 stellt
(am Block 802) fest, ob alle Speichersteuerungen, das heißt die primäre Speichersteuerung 100 und
die sekundäre
Speichersteuerung 102, die Datenaktualisierungen der aktuellen
Konsistenzgruppe empfangen haben. Wenn ja, schreibt die Nachbildungsverwaltungsanwendung 112 die
Datenaktualisierungen der aktuellen Konsistenzgruppe fest und setzt
(am Block 804) die aktuellen Zeiger bei allen Speichersteuerungen
auf die Datenaktualisierungen der aktuellen Konsistenzgruppe. In
bestimmten Ausführungsformen
können
die aktuellen Zeiger über
Datenstrukturen realisiert werden, die den Virtualisierungstabellen 208 und/oder
den Zeigertabellen 508, 510, 512, 602 zugeordnet
sind.
-
Die
Nachbildungsverwaltungsanwendung 112 stellt (am Block 806)
fest, ob alle Zeiger aktualisiert worden sind. Wenn ja, löscht die
Nachbildungsverwaltungsanwendung (am Block 808) die Zeiger auf
die aktuelle Konsistenzgruppe.
-
Die
Nachbildungsverwaltungsanwendung 112 erhöht (am Block 810)
die aktuelle Konsistenzgruppe. Wenn die Datenaktualisierungen der
ersten Konsistenzgruppe zum Beispiel in einem ersten Wiederholungslauf
der Blöcke 802 bis 808 verarbeitet werden,
würden
in dem zweiten Wiederholungslauf der Blöcke 802 bis 808 die
Datenaktualisierungen der zweiten Konsistenzgruppe verarbeitet werden.
Die Nachbildungsverwaltungsanwendung 112 wartet (am Block 812)
auf die Ankunft von Datenaktualisierungen der aktuellen Konsistenzgruppe.
Wenn während der
Wartezeit kein Fehler auftritt, schaltet die Steuerung zum Block 802,
an dem die Nachbildungsverwaltungsanwendung 112 feststellt,
ob alle Speichersteuerungen die Datenaktualisierungen für die aktuelle
Konsistenzgruppe empfangen haben.
-
Wenn
die Nachbildungsverwaltungsanwendung 112 (am Block 802)
feststellt, dass nicht alle Speichersteuerungen die Datenaktualisierungen
der aktuellen Konsistenzgruppe empfangen haben, wartet die Nachbildungsverwaltungsanwendung 112 (am Block 812)
auf die Ankunft aller Datenaktualisierungen der aktuellen Konsistenzgruppe.
Wenn während der
Wartezeit (am Block 814) ein Fehler oder eine schwere Störung auftritt,
stellt die Nachbildungsverwaltungsanwendung 112 (am Block 814)
zunächst die
aktuelle Konsistenzgruppe bei allen Speichersteuerungen und dann
die letzte vorhandene Konsistenzgruppe in jeder Speichersteuerung
fest. Die Nachbildungsverwaltungsanwendung 112 stellt (am Block 818)
die bei allen Speichersteuerungen größte vorhandene Konsistenzgruppe
fest und aktualisiert dann (am Block 820) die Zeiger bei
allen Speichersteuerungen, damit sie der letzten vorhandenen Konsistenzgruppe
bei allen Speichersteuerungen entsprechen.
-
Wenn
die Nachbildungsverwaltungsanwendung 112 (am Block 806)
feststellt, dass nicht alle Zeiger aktualisiert worden sind, wartet
die Nachbildungsverwaltungsanwendung 112 (am Block 822) darauf,
dass alle Zeiger aktualisiert werden. Wenn während der Wartezeit kein Fehler
auftritt, schaltet die Steuerung zum Block 806 zurück, an dem
die Nachbildungsverwaltungsanwendung 112 feststellt, ob
alle Zeiger aktualisiert worden sind.
-
Wenn
während
der Wartezeit (am Block 822) ein Fehler auftritt, beginnt
die Nachbildungsverwaltungsanwendung 112 (am Block 824)
mit der Ausführung
einer FOR-Schleife für
alle Speichersteuerungen. Die Steuerung für die FOR-Schleife wird (am Block 824)
in jedem Wiederholungslauf für
eine Speichersteuerung ausgeführt.
Wenn die FOR-Schleife nicht vollständig abgearbeitet wurde, das
heißt,
wenn nicht alle Speichersteuerungen verarbeitet worden sind, stellt
die Nachbildungsverwaltungsanwendung 112 (am Block 826)
fest, ob die Zeiger der aktuellen Konsistenzgruppe für die Speichersteuerung
entsprechen, die gerade verarbeitet wird. Wenn ja, setzt die Nachbildungsverwaltungsanwendung 112 (am Block 828)
die Zeiger zurück,
damit sie der vorherigen Konsistenzgruppe entsprechen, und die Steuerung
schaltet (am Block 824) zum nächsten Wiederholungslauf der
FOR-Schleife mit der nächsten
Speichersteuerung.
-
Wenn
die Zeiger (am Block 826) nicht der aktuellen Konsistenzgruppe
entsprechen, schaltet die Steuerung (am Block 824) zum
nächsten
Wiederholungslauf der FOR-Schleife mit der nächsten Speichersteuerung. Nach
Beendigung der FOR-Schleife (am Block 830) stimmen die
Daten in den Speichersteuerungen mit der vorherigen Konsistenzgruppe überein.
-
Folglich
hält die
Logik von 8 die Daten bei allen Speichersteuerungen
in Übereinstimmung miteinander,
und überdies
kann sie im Falle eines Fehlers oder einer schweren Störung, der
beziehungsweise die sich auf eine Speichersteuerung während der
Aktualisierung von Zeigern oder während des Empfangs von Datenaktualisierungen
auswirkt, die Zeiger in den Speichersteuerungen zurücksetzen,
damit sie die Datenaktualisierungen widerspiegeln, die zu einer
zuvor verarbeiteten Konsistenzgruppe gehören, so dass die Daten in den
Speichersteuerungen miteinander übereinstimmen.
-
Diese
Ausführungsformen
erzielen eine Übereinstimmung
der Daten bei einer asynchronen Fernkopie, indem sie Speichersysteme
virtualisieren. Eine Nachbildungsverwaltungsanwendung schreibt Daten,
die empfangen wurden, die aber noch nicht mit Daten in anderen Speicher-Teilsystemen übereinstimmen,
in nicht verwendeten physischen Speicher. Als Reaktion auf den Empfang
von Daten, die notwendig sind, um eine Übereinstimmung zu ermöglichen,
können
Zeiger und Tabellen an den gültigen Zielspeicherplätzen aktualisiert
werden, damit sie auf Speicherplätze
in dem physischen Speicher zeigen, an die die Daten geschrieben
wurden.
-
Folglich
bedürfen
die Ausführungsformen keiner
Zwei-Phasen-Festschreibungsoperation
an der sekundären
Speichersteuerung, um eine Übereinstimmung
von Daten sicherzustellen. Bei einer Zwei-Phasen-Festschreibungsoperation
können
die Datenaktualisierungen in einer ersten Phase in einen Journal-Datensatz geschrieben
werden, der zu der sekundären
Speichersteuerung gehört,
und in einer zweiten Phase können
die entsprechenden Datenaktualisierungen kopiert werden, wenn die
Konsistenzgruppe festgeschrieben wird. Die Ausführungsformen werden ohne Verwendung
eines Journal-Datensatzes
realisiert. Als Reaktion darauf, dass eine Konsistenzgruppe festgeschrieben
wird, werden Zeiger so eingestellt, dass sie auf entsprechende Speicherplätze im physischen
Speicher zeigen, so dass die eingestellten Zeiger über alle
Speichersteuerungen hinweg einen übereinstimmenden Datensatz
darstellen.
-
Darüber hinaus
können
die Ausführungsformen
im Falle eines Fehlers oder einer schweren Störung, der beziehungsweise die
während
der Aktualisierung von Zeigern oder während des Wartens auf Datenaktualisierungen
auftritt, die Zeiger in den Speichersteuerungen so einstellen, dass
sie die Datenaktualisierungen widerspiegeln, die zu einer zuvor
verarbeiteten Konsistenzgruppe gehören, so dass die Daten in den
Speichersteuerungen miteinander übereinstimmen.
-
Da
die Datenaktualisierungen auf der Platte gespeichert werden können, gibt
es überdies
weniger Einschränkungen
hinsichtlich der Speichernutzung oder der Flüchtigkeit, als wenn die Datenaktualisierungen
in einem Cachespeicher abgelegt würden. Ferner muss zur Aufnahme
von Aktualisierungen für
die Anzahl der Konsistenzgruppen, die jeweils gerade verarbeitet
werden, lediglich genügend zusätzlicher
Speicherplatz auf der Platte vorhanden sein.
-
Da
keine Datenaktualisierungen physisch überschrieben werden, ist es
in bestimmten Ausführungsformen
gegebenenfalls auch möglich,
mehrere ältere
Versionen von übereinstimmenden
Datengruppen in den Speichersteuerungen zu hinterlegen oder auf
diese zurückzugreifen.
-
Die
beschriebenen Vorgehensweisen können
als ein Verfahren, eine Vorrichtung oder als ein Herstellungsgegenstand
realisiert werden, die beziehungsweise der mittels standardmäßiger Programmier-
und/oder technischer Verfahren Software, Firmware, Hardware oder
eine beliebige Kombination daraus herstellt. Der Begriff "Herstellungsgegenstand" bezieht sich in
der hier verwendeten Weise auf Code oder Logik, die in Form von
Hardware-Logik (z.B. in Form eines Schaltkreis-Chip, eines programmierbaren
Universalschaltkreises (Programmable Gate Array (PGA)), einer anwendungsspezifischen integrierten
Schaltung (ASIC) usw.) ausgeführt
ist, oder auf einen rechnerlesbaren Datenträger (beispielsweise ein Magnetspeichermedium
wie z.B. Festplattenlaufwerke, Disketten, Bänder usw.), einen optischen
Speicher (CD-ROMs, optische Platten usw.) flüchtige und nichtflüchtige Speichereinheiten (z.B.
EEPROMs, ROMs, PROMs, RAMs, DRAMs, SRAMs, Firmware, programmierbare
Logik usw.). Der Zugriff auf den Code in dem rechnerlesbaren Datenträger und
die Ausführung
des Codes erfolgen durch einen Prozessor. Auf den Code, in dem Ausführungsarten
realisiert werden, kann überdies über ein Übertragungsmedium
oder von einem Dateiserver über
ein Netzwerk zugegriffen werden. In diesen Fällen kann der Herstellungsgegenstand,
in dem der Code ausgeführt
wird, ein Übertragungsmedium
wie zum Beispiel eine Netzwerk-Übertragungsleitung,
ein drahtloses Übertragungsmedium,
sich durch den freien Raum ausbreitende Signale, Funkwellen, Infrarotsignale
usw. umfassen. Natürlich
erkennt der Fachmann, dass an dieser Konfiguration viele Änderungen
vorgenommen werden können,
ohne vom Umfang der Ausführungsarten
abzuweichen, und dass der Herstellungsgegenstand jedweden in der
Technik bekannten Datenträger
umfassen kann.
-
9 zeigt
ein Blockschaubild einer Rechnerarchitektur, bei der bestimmte Aspekte
der Erfindung realisiert wurden. 9 zeigt
eine Ausführungsart
der Speichersteuerungen 100, 102, einen Hostrechner,
der das Anwendungssystem 104 enthält, und eine Rechnereinheit,
die die Nachbildungsverwaltungsanwendung 112 enthält. Die
Speichersteuerungen 100, 102, der Hostrechner,
der das Anwendungssystem 104 enthält, und eine Rechnereinheit,
die die Nachbildungsverwaltungsanwendung 112 enthält, können eine
Rechnerarchitektur 900 mit einem Prozessor 902,
einem Arbeitsspeicher 904 (z.B. einer flüchtigen
Speichereinheit) und einem Permanentspeicher 906 (z.B.
einem nichtflüchtigen Speicher,
Magnetplattenlaufwerken, optischen Plattenlaufwerken, Bandlaufwerken
usw.) realisieren. Der Permanentspeicher 906 kann eine
interne Speichereinheit, eine an ihn angeschlossene Speichereinheit
oder eine Speichereinheit umfassen, auf die über ein Netzwerk zugegriffen
werden kann. Programme im Permanentspeicher 906 können in
den Arbeitsspeicher 904 geladen und von dem Prozessor 902 in
einer in der Technik bekannten Weise ausgeführt werden. Die Architektur
kann überdies
eine Netzwerkkarte 908 beinhalten, um den Datenaustausch
mit einem Netzwerk zu ermöglichen.
Die Architektur kann auch mindestens eine Eingabeeinheit 910 wie
zum Beispiel eine Tastatur, einen berührungsempfindlichen Bildschirm,
einen Stift, eine sprachaktivierte Eingabe usw. und mindestens eine Ausgabeeinheit 912 wie
zum Beispiel einen Bildschirm, einen Lautsprecher, einen Drucker
usw. beinhalten.
-
Die 4 bis 8 beschreiben
ganz bestimmte Operationen, die in einer bestimmten Reihenfolge
stattfinden. Überdies
können
die Operationen parallel sowie in Folge durchgeführt werden. In alternativen
Ausführungsformen
können
bestimmte der Logikoperationen in einer anderen Reihenfolge durchgeführt, geändert oder
entfernt werden und dennoch Ausführungsarten
der vorliegenden Erfindung realisieren. Auch kann die vorstehend
beschriebene Logik um Schritte erweitert werden und dennoch den
Ausführungsarten
entsprechen. Noch weitere Schritte können von einem einzigen Prozess oder
von verteilten Prozessen durchgeführt werden.
-
Obgleich
die Ausführungsformen
mit Bezug auf eine asynchrone Fernkopie zwischen Gleichgestellten
beschrieben wurden, können
weitere Ausführungsformen
zur Anwendung kommen, bei denen eine Zwei-Phasen-Festschreibungsoperation
zum Kopieren notwendig ist. wenn sich zum Beispiel ein Datenbankprotokoll
und auch Tabellenspeicherplatz in derselben Virtualisierungsmaschine
befinden, können
Transaktionen in das Protokoll geschrieben werden, und anschließend kann
die Festschreibungsoperation mittels der in den Ausführungsformen
beschriebenen Virtualisierung durchgeführt werden. Bei der Verarbeitung
des Inhalts der Datenbank kann gegebenenfalls eine Leistungssteigerung
erzielt werden, da die Daten zum Festschreiben nicht in den Speicher übertragen
werden müssen.
-
Viele
der Software- und der Hardware-Komponenten wurden zur anschaulicheren
Darstellung als getrennte Module beschrieben. Diese Komponenten
können
zu einer geringeren Anzahl von Komponenten zusammengefasst oder
in eine größere Anzahl
von Komponenten aufgeteilt werden. Darüber hinaus können bestimmte
Operationen, die als von einer bestimmten Komponente durchgeführte Operationen
beschrieben wurden, von anderen Komponenten durchgeführt werden.
-
Die
vorstehende Beschreibung der Ausführungsarten erfolgte folglich
zum Zweck der anschaulichen Darstellung und Erklärung. Sie erhebt weder Anspruch
auf Vollständigkeit
noch soll sie die Erfindung auf genau die Form, die offen gelegt
wurde, beschränken.
Viele Ab- und Veränderungen
sind in Anbetracht der vorstehenden Lehre möglich.