DE69502125T2 - Synchrone Datenfernduplizierung - Google Patents
Synchrone DatenfernduplizierungInfo
- Publication number
- DE69502125T2 DE69502125T2 DE69502125T DE69502125T DE69502125T2 DE 69502125 T2 DE69502125 T2 DE 69502125T2 DE 69502125 T DE69502125 T DE 69502125T DE 69502125 T DE69502125 T DE 69502125T DE 69502125 T2 DE69502125 T2 DE 69502125T2
- Authority
- DE
- Germany
- Prior art keywords
- primary
- data
- storage subsystem
- station
- duplex
- 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
- 230000001360 synchronised effect Effects 0.000 title claims abstract description 26
- 238000011084 recovery Methods 0.000 claims abstract description 58
- 238000000034 method Methods 0.000 claims abstract description 47
- 238000004891 communication Methods 0.000 claims description 23
- 238000012546 transfer Methods 0.000 claims description 8
- 230000015654 memory Effects 0.000 claims description 7
- 230000005540 biological transmission Effects 0.000 claims description 2
- 230000011664 signaling Effects 0.000 abstract 1
- 238000012545 processing Methods 0.000 description 27
- 230000008569 process Effects 0.000 description 14
- 238000013500 data storage Methods 0.000 description 9
- 239000000872 buffer Substances 0.000 description 6
- 238000005457 optimization Methods 0.000 description 6
- 230000004044 response Effects 0.000 description 6
- ZGRQPKYPJYNOKX-XUXIUFHCSA-N Cys-Cys-His-His Chemical compound C([C@H](NC(=O)[C@H](CS)NC(=O)[C@H](CS)N)C(=O)N[C@@H](CC=1NC=NC=1)C(O)=O)C1=CN=CN1 ZGRQPKYPJYNOKX-XUXIUFHCSA-N 0.000 description 5
- 230000015572 biosynthetic process Effects 0.000 description 5
- 238000010586 diagram Methods 0.000 description 5
- 230000001419 dependent effect Effects 0.000 description 4
- 238000012360 testing method Methods 0.000 description 4
- 230000000694 effects Effects 0.000 description 3
- 239000000835 fiber Substances 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 238000007726 management method Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 101100537665 Trypanosoma cruzi TOR gene Proteins 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000001174 ascending effect Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 238000004880 explosion Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 239000000696 magnetic material Substances 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000000060 site-specific infrared dichroism spectroscopy Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000036962 time dependent Effects 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
- 230000003442 weekly effect Effects 0.000 description 1
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/2082—Data synchronisation
-
- 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/2064—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 while ensuring consistency
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/70—Masking faults in memories by using spares or by reconfiguring
- G11C29/74—Masking faults in memories by using spares or by reconfiguring using duplex memories, i.e. using dual copies
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Hardware Redundancy (AREA)
Description
- Die vorliegende Erfindung betrifft allgemein Verfahren zur Wiederherstellung von Daten in Datenverarbeitungssystenen nach einer Katastrophe und insbesondere ein System zum Echtzeit- Fernkopieren von Daten in Direktzugriffsspeichereinheiten (DASDs).
- In Verbindung mit der Verarbeitung von Daten müssen Datenverarbeitungssysteme typischerweise große Datenmengen (oder Datensätze) speichern, wobei der Zugriff auf, die Änderung und die Rückspeicherung dieser Daten wirkungsvoll erfolgen kann. Der Datenspeicher ist typischerweise in mehrere unterschiedliche Ebenen oder hierarchisch aufgeteilt, um eine wirkungsvolle und kostengünstige Datenspeicherung zu ermöglichen. Eine erste oder höchste Ebene des Datenspeichers schließt einen elektronischen Speicher ein, gewöhnlich einen dynamischen oder einen statischen Arbeitsspeicher (DRAM oder SRAM). Elektronische Speicher haben die Form von integrierten Halbleiterschaltungen, wobei Millionen von Datenbytes auf jeder Schaltung gespeichert werden können und der Zugriff auf diese Datenbytes in Nanosekunden gemessen wird. Der elektronische Speicher ermöglicht den schnellsten Zugriff auf Daten, weil der Zugriff vollkommen elektronisch erfolgt.
- Eine zweite Ebene des Datenspeichers schließt gewöhnlich Direktzugriffsspeichereinheiten (DASDs) ein. Ein DASD-Speicher kann beispiels wei se Magnetplatten und/oder optische Platten umfassen, die Datenbits als mikrometergroße, magnetische oder optische geänderte Stellen auf einer Plattenoberfläche speichern, um die "Einsen und die "Nullen" darzustellen, die diese Daten bits bilden. Eine magnetische DASD enthält eine oder mehrere Platten, die mit restmagnetischem Material beschichtet sind. Die Platten sind in einer geschützten ümgebung drehbar montiert. Jede Platte ist in viele konzentrische Spuren oder eng beiemanderliegende Kreise unterteilt. Die Daten werden seriell, bitweise, auf jeder Spur gespeichert. Ein Zugriffsmechanismus, der als Magnetkopf-Platteneinheit (HDA) bekannt ist, enthält typischerweise einen oder mehrere Schreib-/Leseköpfe und ist in jeder DASD vorgesehen, um sich zur Übertragung der Daten auf die und von der Oberfläche der Platten über die Spuren zu bewegen, während die Platten an den Schreib-/Leseköpfen vorbei gedreht werden. DASDs können Gigabytes an Daten speichern, wobei der Zugriff auf diese Daten typischerweise in Millisekunden gemessen wird (Größenordnungen langsamer als der elektronische Speicher). Der Zugriff auf Daten, die in der DASD gespeichert sind, ist aufgrund der Notwendigkeit, die Platte und die HDA physisch auf den gewünschten Datenspeicherplatz zu positionieren, langsamer.
- Eine dritte oder untere Ebene des Datenspeichers enthält Bandund/oder Band- und DASD-Bibliotheken. Auf dieser Speicherebene ist der Zugriff auf Daten in einer Bibliothek viel langsamer, weil ein Roboter notwendig ist, um das benötigte Datenspeichermedium auszuwählen und zu laden. Der Vorteil sind niedrigere Kosten für sehr große Datenspeicherkapazitäten, beispielsweise Terabytes an Datenspeicher. Der Bandspeicher wird oft für Sicherungszwecke verwendet, das heißt, Daten, die auf der zweiten Hierarchieebene gespeichert werden, werden zur sicheren Aufbewahrung auf Magnetband kopiert. Der Zugriff auf Daten, die auf Band und/oder in einer Bibliothek gespeichert sind, wird typischerweise in Sekunden gemessen.
- Das Anlegen einer Sicherungsdatenkopie ist für viele Unternehmen unabdingbar, da ein Datenverlust für das Unternehmen katastrophal sein könnte. Die Zeit, die für das Wiederherstellen von Daten, die auf Primärspeicherebene verlorengingen, notwendig ist, ist auch ein wichtiger Gesichtspunkt bei der Wiederherstellung. Zu einer Geschwindigkeitsverbesserung gegenüber der Band- oder Bibliotheksicherung gehört eine Zweitkopie. Ein Beispiel für eine Zweitkopie schließt die Bereitstellung von zusätzlichen DASDs ein, so daß Daten in die zusätzlichen DASDs geschrieben werden (was manchmal als Spiegeln bezeichnet wird). Wenn die Primär-DASDs dann ausfallen, kann man sich hinsichtlich der Daten auf die Sekundär-DASDs verlassen. Ein Nachteil dieses Lösungsansatzes ist der, daß sich die Anzahl der benötigten DASDs verdoppelt.
- Eine andere Alternative der Datensicherung, welche die Notwendigkeit, doppelt so viele Speichereinheiten bereitzustellen, überflüssig macht, schließt das Schreiben der Daten in eine Redundant-Array-of-Inexpensive-Disk-(RAID-)Konfiguration ein. In diesem Fall werden die Daten so geschrieben, daß sie gleichmäßig auf viele DASDs verteilt werden. Wenn eine einzelne DASD ausfällt, können die verlorenen Daten durch Verwendung der restlichen Daten und Fehlerkorrekturverfahren wiederhergestellt werden. Derzeit stehen mehrere unterschiedliche RAID- Konfigurationen zur Verfügung.
- Die vorstehend erwähnten Sicherungslösungen reichen im allgemeinen aus, um Daten im Falle eines Ausfalls einer Speichereinheit oder eines Datenträgers wiederherzustellen. Diese Sicherungsverfahren sind nur bei Geräteausfällen von Nutzen, da die Sekundärdaten ein Spiegel der Primärdaten sind, das heißt, die Sekundärdaten haben dieselben Datenträgerfolgenummern (VOLSERS) und DASD-Adressen wie die Primärdaten. Andererseits ist die Wiederherstellung nach einem Systemausfall unter Verwendung von gespiegelten Sekundärdaten nicht möglich. Folglich ist ein weitergehender Schutz notwendig, um Daten wiederherzustellen, nachdem eine Katastrophe, die das gesamte System oder sogar den Standort zerstört, eingetreten ist, wie zum Beispiel ein Erdbeben, ein Brand; eine Explosion, ein Wirbelsturm usw. Die Wiederherstellung nach einer Katastrophe erfordert, daß die Sekundärkopie der Daten an einem von den Primärdaten entfernten Ort gespeichert wird. Ein bekanntes Verfahren zum Schutz vor Datenverlust in Falle einer Katastrophe ist die tägliche oder wöchentliche usw. Sicherung von Daten auf Band. Das Band wird dann von einem Fahrzeug abgeholt und an einen sicheren Aufbewahrungsort gebracht, der gewöhnlich einige Kilometer von dem Ort, an dem sich die Primärdaten befinden, entfernt ist. Bei diesem Sicherungsplan gibt es ein Problem, da das Zurückholen der Sicherungsdaten Tage in Anspruch nehmen könnte und zwischenzeitlich in mehreren Stunden oder sogar Tagen erfaßte Daten verloren sein könnten, oder schlimmer noch, der Aufbewahrungsort könnte durch dieselbe Katastrophe zerstört worden sein. Ein etwas verbessertes Sicherungsverfahren wäre die allabendliche Übertragung von Daten an einen Sicherungsort. Dadurch können die Daten an einem weiter entfernt liegenden Ort gespeichert werden. Wieder gehen möglicherweise einige Daten zwischen den Sicherungsläufen verloren, da die Sicherung nicht fortlaufend erfolgt wie bei der Lösung mit der Zweitkopie. Folglich könnte eine beträchtliche Datenmenge verloren sein, was für manche Benutzer möglicherweise unannehmbar ist.
- In jüngerer Zeit vorgestellte Lösungen zur Wiederherstellung von Daten nach einer Katastrophe schließen eine ferne Zweitkopie ein, bei der Daten nicht nur an einem fernen Ort, sondern auch fortlaufend gesichert werden. Um Duplexdaten von einem Hostprozessor an einen anderen Hostprozessor oder von einer Speichersteuereinheit an eine andere Speichersteuereinheit oder einer Kombination daraus zu übertragen, ist eine beträchtliche Menge an Steuerdaten erforderlich, um den Prozeß zu verwirklichen. Ein hoher Aufwand kann jedoch die Fähigkeit einer Sekundärstation, mit der Verarbeitung einer Primärstation Schritt zu halten, beeinträchtigen und es infolgedessen der Sekundärstation unmöglich machen, die Primärstation im Falle des Eintretens einer Katastrophe wiederherzustellen.
- Dementsprechend ist es erwünscht, ein Verfahren und eine Vorrichtung bereitzustellen, um eine Aktualisierung von Daten in Echtzeit, die mit den Daten an einem Primärverarbeitungsstandort übereinstimmen, unter Verwendung von einem Minimum an Steuerdaten zu ermöglichen, wobei das Verfahren und die Vorrichtung unabhängig von den jeweiligen Anwendungsdaten, die wiederhergestellt werden, arbeiten, das heißt, sie arbeiten auf der Basis eines generischen Speichermediums und nicht auf der Basis von bestimmten Anwendungsdaten.
- Es ist deshalb ein Ziel der vorliegenden Erfindung, ein verbessertes Konzept und Verfahren bereitzustellen, um Aktualisierungen von Schreiboperationen an einer Primärstation auf eine Sekundärstation zu spiegeln.
- Gemäß einer ersten Ausführungsform der vorliegenden Erfindung enthält ein Verfahren zur Bereitstellung einer Datenfernspiegelung eine Primärstation, die einen Primärprozessor hat, der mit einen Primärspeicher-Subsystem verbunden ist, in dem der Pnnärprozessor mindestens eine Anwendung ausführt, die Aktualisierungen von E/A-Schreiboperationen in dem Primärspeicher- Subsystem bewirkt. Der Primärprozessor hat des weiteren ein darin laufendes E/A-Fehlerbehebungsprogramm (I/O ERP). Eine Sekundärstation enthält einen Sekundärprozessor, der mit einem Sekundärspeicher-Subsystem verbunden ist, wobei die Sekundärstation die Aktualisierungen der Schreiboperationen synchron spiegelt und das Sekundärspeicher-Subsystem mit dem I/O ERP kommuniziert. Das Verfahren schließt das Senden der Aktualisierungen der Schreiboperationen vom Primärspeicher-Subsystem an das Sekundärspeicher-Subsystem und die Feststellung, ob ein Du-. plexpaar zwischen dem Primärspeicher-Subsystem und dem Sekundärspeicher-Subsystem eingerichtet ist, ein. Ein ausgefallenes Duplexpaar wird dem Primärprozessor vom Primärspeicher- Subsystem gemeldet. Der Primärprozessor überträgt die Steuerung von der mindestens einen Anwendung an das I/O ERP, wenn ein ausgefallenes Duplexpaar auftritt, wobei das I/O ERP die Ursache für den Ausfall des Duplexpaares feststellt und eine Nachricht über ein ausgefallenes Duplexpaar an das Sekundärspeicher-Subsystem sendet.
- In einer anderen Ausführungsform der vorliegenden Erfindung enthält ein Datenfernduplizierungssystem eine Primärstation und eine Sekundärstation, wobei die Sekundärstation von der Primärstation Aktualisierungen von Schreiboperationen zur Datensicherung empfängt. Die Sekundärstation befindet sich in ausreichender Entfernung von der Primärstation, so daß die Sekundärstation in dem Fall, daß eine Katastrophe eintritt, welche die Prinärstation außer Betrieb setzt, Daten in Echtzeit bereitstellen kann. Ein Primärprozessor an der Primärstation führt mindestens eine Anwendung aus, die Aktualisierungen von E/A- Schreiboperationen bewirkt, und ein Primärspeicher-Subsystem ist mit ihm verbunden, um die Aktualisierungen der E/A- Schreiboperationen zu empfangen und zu speichern. Ein Sekundärprozessor befindet sich an der Sekundärstation und ist über eine Datenübertragungsverbindung mit dem Primärprozessor verbunden. Ein Sekundärspeicher-Subsystem; das sich ebenfalls an der Sekundärstation befindet, ist mit dem Sekundärprozessor und ferner über Kommunikationsverbindungen mit dem Primärspeicher(Subsystem verbunden, wobei das Sekundärspeicher-Subsystem ein auf dem Speicher basierendes Duplexpaar zur Sicherung der Aktualisierungen der E/A-Schreiboperationen bereitstellt, wobei die. Aktualisierungen der E/A-Schreiboperationen in der Reihenfolge, in der sie empfangen werden, in das Sekundärspeicher- Subsystem geschrieben werden. Das E/A-Fehlerbehebungsprogramm im Primärprozessor ist mit dem Sekundärspeicher-Subsystem verbunden, um im. Falle eines ausgefallenen Duplexpaares eine Fehlerbehebung zu ermöglichen.
- In einer weiteren Ausführungsform der Erfindung ist ein Primärdatenverarbeitungssystem bereitgestellt, das ein E/A- Fehlerbehebungsprogramm zum Anschluß an ein Sekundärdatenverarbeitungssystem enthält, um dadurch ein Datenfernduplizierungssystem zu bilden.
- Eine Ausführungsform der Erfindung wird nun lediglich anhand eines Beispiels unter Bezugnahme auf die Begleitzeichnungen beschrieben, in denen:
- FIG.1 ein Blockdiagramm eines Systems zur Wiederherstellung von Daten nach einer Katastrophe ist, das über Funktionen zur Durchführung einer synchronen Datenfernspiegelung verfügt.
- FIG. 2 ein Flußdiagramm eines Verfahrens zur Bereitstellung einer synchronen Fernkopie gemäß den System zur Wiederherstellung von Daten nach einer Katastrophe von FIG. 1 ist.
- FIG. 3 ein Flußdiagramm eines Verfahrens einer Operation eines E/A-Fehlerbehebungsprogramms (I/O ERP) ist.
- FIG. 4 ein Blockdiagramm eines System zur Wiederherstellung von Daten nach einer Katastrophe ist, das über Funktionen zur Durchführung einer asynchronen Datenfernspiegelung verfügt.
- FIG. 5 ein Datenformatdiagramm ist, das einen Präfix- Kopfbereich zeigt, der Lesedatensatzgruppen von der Primärstation von FIG. 4 mit einem Präfix versieht.
- FIG. 6 ein Datenformatdiagramm ist, das Felder beschreibt, die eine Lesedatensatzgruppe bilden.
- FIG. 7 eine Zustandstabelle ist, die Datenträger-Konfigurations informationen kennzeichnet.
- FIG. 8 ein Hauptjournal ist, wie es von der Sekundärstation von FIG. 4 verwendet wird.
- FIG. 9 eine beispielhafte Reihenfolge zur Bildung einer Konsistenzgruppe ist.
- Fig. 10 ein Flußdiagramm ist, das ein Verfahren zeigt, um Informationen und Lesedatensatzgruppen zur Bildung von Konsistenzgruppen zu erfassen.
- FIG. 11 ein Flußdiagramm ist, das ein Verfahren zur Bildung von Konsistenzgruppen zeigt.
- FIG. 12 eine Tabelle ist, die eine Anwendung mit Regeln zur vollständigen Wiederherstellung einer Konsistenzgruppe für eine ECKD-Architektureinheit für eine bestimmte Reihenfolge von E/A- Operationen an einer DASD-Spur angibt.
- FIG. 13 eine Beschreibung der in der Tabelle von FIG. 12 zu verwendenden Regeln ist.
- FIG. 14 ein Flußdiagramm eines Verfahrens zum Schreiben von Kopien von Lesedatensatzgruppen in eine Sekundärstation ist, die in der Lage ist, eine Konsistenzgruppe vollständig wiederherzustellen.
- Ein typisches Datenverarbeitungssystem kann die Form eines Hostprozessors, wie beispielsweise eines Prozessors vom Typ IBM System/360 oder IBM System/370, annehmen, um Daten zu berechnen und zu verarbeiten und um beispielsweise Software für Dateneinrichtungs-Speicherverwaltungssubsysteme/mehrere virtuelle Systeme (DFSMS/MVS) auszuführen, an den mindestens eine IBM-3990- Hauptspeichersteuereinheit angeschlossen ist, wobei die Hauptspeichersteuereinheit eine Speichersteuereinheit umfaßt, in der eine oder mehrere Arten von Cachespeichern enthalten sind. Die Hauptspeichersteuereinheit ist darüber hinaus mit einer Gruppe von Direktzugriffsspeichereinheiten (DASDs), wie beispielsweise DASDs vom Typ IBM 3380 oder IBM 3390, verbunden. Während der Hostprozessor eine beträchtliche Rechenleistung bietet, stellt die Hauptspeichersteuereinheit die notwendigen Funktionen bereit, um große Datenbanken wirkungsvoll zu übertragen, zwischenzuspeichern/auszulagern, umzusetzen und um allgemein auf sie zuzugreifen.
- Der für das typische Datenverarbeitungssystem ausgelegte Wiederherstellungsschutz im Falle einer Katastrophe macht es erforderlich, daß in Primär-DASDs gespeicherte Primärdaten an einer sekundären oder fernen Daten-station gesichert werden. Die Entfernung, welche die Primär- und die Sekundärdatenstation voneinander trennt, hängt von dem Risikograd ab, der für den Benutzer tragbar ist, und kann von mehreren Kilometern bis zu Tausenden von Kilometern variieren. Die sekundäre oder ferne Datenstation muß über die Bereitstellung einer Sicherungsdatenkopie hinaus auch über genügend Systeminformationen verfügen, um die Verarbeitung für das Primärsystem zu ubernehmen, falls das Primärsystem ausfällt. Dies liegt zum Teil daran, daß eine einzige Hauptspeichersteuereinheit Daten nicht sowohl in den Primär- als auch den Sekundär-DASD-Strang an der Primär- und der Sekundärstation schreibt. Statt dessen werden die Primärdaten in einem Primär-DASD-Strang gespeichert, der mit einer Pri- märspeicher-Steuereinheit verbunden ist, während die Sekundärdaten in einem Sekundär-DASD-Strang gespeichert werden, der mit einer Sekundärspeicher-Steuereinheit verbunden ist.
- Die Sekundärstation muß sich nicht nur in ausreichender Entfernung von der Primärstation befinden, sondern muß auch in der Lage sein, Primärdaten in Echtzeit zu sichern. Die Sekundärstation muß die Primärdaten sichern, während die Primärdaten mit einer minimalen Verzögerung aktualisiert werden. Außerdem muß die Sekundärstation die Primärdaten ungeachtet des Anwendungsprogramms (z.B. IMS, DB2) sichern, das an der Primärstation ausgeführt wird und die Daten und/oder Aktualisierungen erzeugt. Eine schwierige Aufgabe, die der Sekundärstation abverlangt wird, ist, daß die Sekundärdaten reihenfolgekonsistent sein müssen, das heißt, die Sekundärdaten werden in derselben fortschreitenden Reihenfolge wie die Primärdaten kopiert (Folgekonsistenz), was beträchtliche Anforderungen an das System stellt. Die Folgekonsistenz wird durch das Vorhandensein von mehreren Hauptspeichersteuereinheiten, von denen jede mehrere DASDs in einem Datenverarbeitungssystem steuert, erschwert. Ohne Folgekonsistenz würde man Sekundärdaten erhalten, die nicht mit den Primärdaten übereinstimmen, was die Wiederherstellung nach einer Katastrophe unmöglich machen.
- Die Datenfernduplizierung fällt unter zwei allgemeine Kategorien, synchron und asynchron. Die synchrone Fernkopie schließt das Senden von Primärdaten an die Sekundärdatenstation und die Bestätigung des Empfangs dieser Daten vor der Beendigung einer Eingabe-/Ausgabe-(I/O-)Operation der Primär-DASD ein (die dem Primär-Host ein Kanalende (CE) und ein Geräteende (DE) bereitstellt). Eine synchrone Kopie verlangsamt daher die E/A- Antwortzeit der Primär-DASD, während sie auf eine Bestätigung der Sekundärdatenstation wartet. Die E/A-Antwortverzögerung der Primär-DASD erhöht sich proportional mit der Entfernung zwischen dem Primär- und dem Sekundärsystem - ein Faktor, der die Entfernung auf eine Kilometerzahl im zweistelligen Bereich beschränkt. Die synchrone Kopie stellt jedoch mit einem verhältnismäßig geringen Systemaufwand sequentiell konsistente Daten an der Sekundärstation bereit.
- Die asynchrone Fernkopie ermöglicht eine bessere Leistung des primären Anwendungssystems, weil die E/A-Operation der Primär- DASD abgeschlossen ist (die dem Primär-Host ein Kanalende (CE) und ein Geräteende (DE) bereitstellt), bevor die Daten an der Sekundärstation bestätigt werden. Daher hängt die E/A- Antwortzeit der Primär-DASD nicht von der Entfernung zur Sekundärstation ab, und die Sekundärstation könnte Tausende von Kilometern von der Primärstation entfernt sein. Ein höherer Systemaufwand ist jedoch notwendig, um eine Datenfolgekonsistenz zu gewährleisten, da sich die an der Sekundärstation empfangenen Daten oftmals nicht in der Reihenfolge der von der Primärstation vorgenommenen Aktualisierungen befinden. Eine Störung an der Primärstation könnte zum Verlust einiger Daten führen, die zwischen der Primär- und der Sekundärdatenstation unterwegs waren.
- Eine synchrone Echtzeit-Fernkopie zur Wiederherstellung von Daten nach einer Katastrophe macht es erforderlich, daß kopierte DASD-Datenträger eine Gruppe bilden. Die Bildung einer solchen Gruppe erfordert ferner, daß der Sekundärstation genügend Systeminformationen zur Verfügung gestellt werden, damit sie diese Datenträger, aus denen jede Gruppe besteht, und die Gegenstücke der Primärstation (VOLSERs) erkennt. Wichtigerweise bildet die Sekundärstation mit der Primärstation ein "Duplexpaar", und die Sekundärstation muß erkennen, wenn sich ein oder mehrere Datenträger nicht im Gleichlauf mit der Gruppe befinden, das heißt, wenn ein "ausgefallenes Duplexpaar" aufgetreten ist. Verbindungsausfälle sind bei einer synchronen Fernkopie sichtbarer als bei einer asynchronen Fernkopie, da die Ein-/Ausgabe der Primär-DASD verzögert wird, während alternative Pfade wiederholt versucht werden. Die Primärstation kann den Kopiervorgang abbrechen oder zurückstellen, damit sie weiterarbeiten kann, während Aktualisierungen für die Sekundärstation in die Warteschlange gestellt werden, wobei die Primärstation solche Aktualisierungen markiert, um zu zeigen, daß sich die Sekundärstation nicht im Gleichlauf befindet. Das Erkennen von Ausnahmebedingungen, die dazu führen können, daß die Sekundärstation aus dem Gleichlauf mit der Primärstation kommt, ist notwendig, damit die Sekundärstation jederzeit zur Wiederherstellung von Daten nach einer Katastrophe zur Verfügung steht. Fehlerbedingungen und Fehlerbehebungsmaßnahmen dürfen die Sekundärstation nicht inkonsistent mit der Primärstation machen.
- Die Aufrechterhaltung einer Verbindung zwischen der Sekundärstation und der Primärstation, wöbei die Sekundär-DASD vorhanden und ein Zugriff auf sie möglich ist, gewährleistet jedoch keinen zufriedenstellenden Gleichlauf. Die Sekundärstation kann aus einer Reihe von Gründen aus dem Gleichlauf mit der Primärstation kommen. Die Sekundärstation befindet sich anfangs, wenn das Duplexpaar gebildet wird, nicht im Gleichlauf und erreicht den Gleichlauf, wenn eine erste Datenkopie fertiggestellt ist. Die Primärstation kann das Duplexpaar unterbrechen, wenn sie nicht in der Lage ist, aktualisierte Daten in die Sekundärstation zu schreiben, wobei die Primärstation in diesem Fall unter den Bedingungen eines unterbrochenen Duplexpaars Aktualisierungen in die Primär-DASD schreibt, so daß die Aktualisierungsanwendung fortgesetzüwerden kann. Die Primärstation läuft somit ungeschützt, das heißt ohne aktuelle Katastrophenschutzkopie, bis das Duplexpar wiederhergestellt ist. Nach der Wiederherstellung des Duplexpaares befindet sich die Sekundärstation nicht-sofort im Gleichlauf. Nachdem nun anstehende Aktualisierungen durchgeführt werden, kommt die Sekundärstation wieder in den Gleichlauf. Die Primärstation kann auch bewirken, daß die Sekundärstation aus dem Gleichlauf kommt, indem sie einen Unterbrechungsbefehl für diesen Datenträger an die Primär-DASD ausgibt. Die Sekundärstation läuft mit der Primärstation wieder synchron, nachdem der Unterbrechungsbefehl beendet, das Duplexpaar wiederhergestellt und anstehende Aktualisierungen kopiert worden sind. Eine Online-Wartung kann auch zu einem Verlust des Gleichlaufs führen.
- Wenn sich ein Sekundärdatenträger nicht im Gleichlauf mit einem Primärdatenträger befindet, kann der Sekundärdatenträger nicht für die Wiederherstellung des Sekundärsystems und die Wiederaufnahme von Primäranwendungen verwendet werden. Ein nicht im Gleichlauf befindlicher Datenträger an der Sekundärstation muß als solcher erkannt werden, und Wiederherstellungsübernahmeprozeduren an der Sekundärstation müssen die nicht im Gleichlauf befindlichen Datenträger erkennen, um ihnen den Zugriff auf die Anwendung zu verweigern (die Datenträger werden zwangsweise vom Prozeß entkoppelt oder ihre VOLSERs werden geändert). Die Sekundärstation kann ersucht werden, die Primärstation in jedem Moment, in dem auf den Host der Primärstation kein Zugriff möglich ist, wiederherzustellen - folglich benötigt die Sekundärstation alle einschlägigen Informationen über den Synchronisationszustand aller Datenträger. Das Sekundärspeicher-Subsystem, das heißt die Sekundärspeicher-Steuereinheit und die DASD, ist nicht in der Lage, alle Bedingungen festzustellen, die dazu führen, daß die Primärstation den Gleichlauf aufgrund von an der Primärstation angetroffenen Ausnahmebedingungen unterbricht. Beispielsweise kann die Primärstation ein Duplexpaar unterbrechen, wenn sie aufgrund eines primären E/A-Pfad- oder Verbindungsausfalls, von dem die Sekundärstation nichts weiß, nicht auf die Sekundärstation zugreifen kann. In diesem Fall weist die Sekundärstation einen Zustand "im Gleichlauf" auf, während die Primärstation angibt, daß das Duplexpaar unterbrochen ist.
- Durch externe Kommunikation kann der Sekundärstation mitgeteilt werden, daß ein nicht im Gleichlauf befindlicher Duplexpaar- Datenträger vorhanden ist. Dies ist durch die Verwendung einer Verwaltungsfunktion eines Benutzersystems durchführbar. Primäre E/A-Operationen enden mit einem Kanalende-/Geräteende- /Einheitenprüfungs-(CE/DE/UC-)Status, und Prüfdaten geben die Art des Fehlers an. Mit dieser Form von E/A-Konfiguration verarbeitet ein Fehlerbehebungsprogramm (ERP) den Fehler,und sendet eine entsprechende Nachricht an den Sekundärprozessor, bevor es der Primäranwendung mitteilt, daß die Ein-/Ausgabe abgeschlossen ist. Der Benutzer ist dann dafür verantwortlich, die ERP-Nachricht über die Unterbrechung des Duplexpaares zu erkennen und diese Informationen an der Sekundärdatenstation zu sichern. Wenn die Sekundärstation anstelle der Primärstation den Betrieb aufnehmen muß, stellt eine Startprozedur eine Verbindung zwischen der Sekundär-DASD und dem Sekundär-Host her, wobei der in dem Sekundär-DASD-Subsystem gespeiclierte Synchronisationszustand abgerufen wird, um sicherzustellen, daß zu Datenträgern, die sich nicht im Gleichlauf befinden, zum Zweck der Anwendungszuordnung keine Verbindung hergestellt wird. Dieser Synchronisationszustand in Verbindung mit allen ERP- Nachrichten über die Unterbrechung des Duplexpaares ergibt ein vollständiges Bild der Sekundärdatenträger, die sich nicht im Gleichlauf befinden.
- Nun Bezug nehmend auf FIG. 1, ist ein System 10 zur Wiederherstellung von Daten nach einer Katastrophe gezeigt, das eine Primärstation 14 und eine Sekundärstation 15 hat, wobei sich die Sekundärstation 15 beispielsweise 20 Kilometer von der Primärstation 14 entfernt befindet. Die Primärstation 14 enthält einen Hostprozessor oder Primärprozessor 1, auf dem eine Anwendung und ein System-E/A-Fehlerbehebungsprogramm 2 (nachstehend als I/O ERP 2 bezeichnet) läuft. Der Primärprozessor 1 könnte zum Beispiel ein Prozessor vom Typ IBM Enterprise Systems/9000 (ES/9000) sein, der DFSMS/MVS-Betriebssoftware ausführt und auf dem darüber hinaus mehrere Anwendungsprogramme laufen können. Eine Primärspeicher-Steuereinheit 3, zum Beispiel eine Speichersteuereinheit vom Typ IBM 3990 Model 6, ist uber einen Kanal 12 mit dem Primärprozessor 1 verbunden. Wie in der Technik bekannt ist, können mehrere solcher Primärspeicher- Steuereinheiten 3 mit dem Primärprozessor 1 verbunden werden, oder alternativ dazu können mehrere Primärprozessoren 1 an die Primärspeicher-Steuereinheiten 3 angeschlossen werden. Eine Primär-DASD 4, zum Beispiel eine DASD vom Typ IBM 3390, ist mit der Primärspeicher-Steuereinheit 3 verbunden. Mehrere Primär- DASDs 4 können an die Primärspeicher-Steuereinheit 3 angeschlossen werden. Die Primärspeicher-Steuereinheit 3 und die angeschlossene Primär-DASD 4 bilden ein Primärspeicher- Subsystem. Außerdem könnten die Primärspeicher-Steuereinheit 3 und die Primär-DASD 4 eine einzige integrierte Einheit sein.
- Die Sekundärstation 15 enthält einen Sekundärprozessor 5, zum Beispiel einen IBM ES/9000, der über einen Kanal 13 mit einer Sekundärspeicher-Steuereinheit 6, zum Beispiel einer IBM 3990 Model 3, verbunden ist. Eine DASD 7 ist außerdem mit der Sekundärspeicher-Steuereinheit 6 verbunden. Der Primärprozessor 1 ist uber mindestens eine Host-zu-Host-Kommunikationsverbindung 11, zum Beispiel Kanalverbindungen oder T1/T3-Telefonleitungen usw., mit dem Sekundärprozessor 5 verbunden. Der Primärprozessor 1 kann auch über beispielsweise mehrere Enterprise-Systems- Connection-(ESCON-)Verbindungen 9 direkt an die Sekundärspeicher-Steuereinheit 6 angeschlossen werden. Folglich kann das I/O ERP 2 bei Bedarf mit der Sekundärspeicher-Steuereinheit 6 kommunizieren. Die Primärspeicher-Steuereinheit 3 kommuniziert mit der Sekundärspeicher-Steuereinheit 6 über mehrere Peer-zu- Peer-Verbindungen 8, zum Beispiel mehrere ESCON-Verbindungen.
- Wenn eine E/A-Schreiboperation von einem Anwendungsprogramm, das im Primärprozessor 1 läuft, ausgeführt wird, wird ein Hardwarestatus des Kanalendes/Geräteendes (CE/DE) bereitgestellt, der angibt, daß die E/A-Operation erfolgreich abgeschlossen wurde. Nach dem erfolgreichen Abschluß der E/A-Operation markiert die Betriebssystemsoftware des Primärprozessors 1 die E/A-Schreiboperation der Anwendung als erfolgreich und erlaubt damit dem Anwendungsprogramm, zu einer nächsten E/A- Schreiboperation weiterzugehen, die vielleicht von der ersten oder der vorhergehenden E/A-Schreiboperation, die erfolgreich abgeschlossen wurde, abhängig ist. Wenn die E/A-Schreiboperation andererseits erfolglos verlief, wird der Betriebssystemsoftware des Primärprozessors 1 der E/A-Status der Kanalende-/Geräteende-/Einheitenprüfung (nachstehend als CE/DE/UC bezeichnet) übergeben. Nach der Übergabe der Einheitenprüfung übernimmt das I/O ERP 2 die Steuerung, wobei es von der Primärspeicher-Steuereinheit 3 bestimmte Prüfinformationen in bezug auf die Art der fehlgeschlagenen E/A-Schreiboperation abruft. Wenn an einem Datenträger ein eindeutiger Fehler auftritt, wird dem I/O ERP 2 ein eindeutiger, mit diesem Fehler in Verbindung stehender Status übergeben. Das I/O ERP 2 kann daraufhin eine neue Peer-zu-Peer-Synchronisationsfehlerbehebung durchführen, um die Datenintegrität zwischen der Primärspeicher-Steuereinheit 3 und der Sekundärspeicher-Steuereinheit 6 oder im schlimmsten Fall zwischen dem Primärprozessor 1 und dem Sekundärprozessor 5 aufrechtzuerhalten.
- Bezug nehmend auf FIG. 2 und FIG. 3, ist das Fehlerbehebungsverfahren dargelegt. In FIG. 2 enthält ein Schritt 201 ein Anwendungsprogramm, das im Primärprozessor 1 läuft und eine Datenaktualisierung an die Primärspeicher-Steuereinheit 3 sendet. Im Schritt 203 wird die Datenaktualisierung in die Primär-DASD 4 geschrieben, und die Datenaktualisierung wird auf die Sekundärspeicher-Steuereinheit 6 gespiegelt. Im Schritt 205 wird der Status des Duplexpaares überprüft, um festzustellen, ob die Primärstation und die Sekundärstation synchronisiert sind. Wenn sich das Duplexpaar in einem synchronisierten Zustand befindet, wird die Datenaktualisierung im Schritt 207 in die Sekundär- DASD 7 geschrieben, während die Verarbeitung dann am Primärprozessor 1 über Anwendungsprogramme, die dort ausgeführt werden, fortgesetzt wird.
- In dem Fall, daß sich das Duplexpaar in einem Zustand "ausgefallen" befindet, teilt die Primärspeicher-Steuereinheit 3 im Schritt 209 dem Primärprozessor 1 mit, daß das Duplexpaar unterbrochen wurde oder ausgefallen ist. Das Duplexpaar kann aufgrund eines Verbindungsausfalls zwischen der Primärspeicher- Steuereinheit 3 und der Sekundärspeicher-Steuereinheit 6 über die Kommunikationsverbindungen 8 "ausfallen". Alternativ dazu kann das Duplexpaar aufgrund von Fehlern entweder im Primär- oder im Sekundärsubsystem "ausfallen". Wenn der Ausfall in den Kommunikationsverbindungen 8 auftritt, kann die Primärspeicher- Steuereinheit 3 den Ausfall nicht direkt der Sekundärspeicher- Steuereinheit 6 mitteilen. Im Schritt 211 gibt die Primärspeicher-Steuereinheit 3 den E/A-Status der CE/DE/UC an den Primärprozessor 1 zurück. Das I/O ERP 2 bringt die Anwendungsprogram me zum Stoppen und übernimmt daher im Schritt 213 die Steuerung des Primärprozessors 1 zum Zweck der Fehlerbehebung und Aufrechterhaltung der Datenintegrität, bevor es die Steuerung an die Anwendung, welche die E/A-Schreiboperation anfordert, zurückgibt.
- Fig. 3 stellt die vom I/O ERP 2 durchgeführten Schritte dar. Das I/O ERP 2 gibt im Schritt 221 eine Prüf-E/A an die Primärspeicher-Steuereinheit 3 aus. Die Prüf-E/A-Operation gibt Informationen zurück, welche die Ursache des E/A-Fehlers beschreiben, das heißt, die Datenbeschreibungsinformationen sind für die Speichersteuereinheiten oder die Duplexpaar-Operation in bezug auf bestimmte Fehler eindeutig. Im dem Fall, daß die Datenbeschreibungsinformationen angeben, daß die Peer-zu-Peer- Kommunikationsverbindungen 8 zwischen der Primärspeicher- Steuereinheit 1 und der Sekundärspeicher-Steuereinheit 6 ausgefallen sind, löst das I/O ERP 2 im Schritt 223 eine E/A- Operation auf Speichersteuereinheitenebene gegen die Primärspeicher-Steuereinheit 3 und die Sekundärspeicher-Steuereinheit 6 aus, die angibt, daß der betroffene Datenträger in einen Zustand "fehlgeschlagene synchrone Fernkopie" gesetzt werden muß. Diese Sekundärspeicher-Steuereinheit 6 kann den Zustand des betroffenen Datenträgers vom I/O ERP 2 über die vielen ESCON- Verbindungen 9 oder die Host-zu-Host-Kommunikationsverbindung 11 empfangen. Folglich wird der aktuelle Status der Duplexpaar- Operation sowohl am Primärprozesor 1 als auch am Sekundärprozessor 5 in Verbindung mit Anwendungen, die im Primärprozessor 1 laufen, verwaltet. Die Konsolen 18 und 19 sind zur Übertragung von Informationen vom Primärprozessor 1 beziehungsweise vom Sekundärprozessor 5 bereitgestellt, wobei das I/O ERP sowohl der Konsole 18 als auch der Konsole 19 Statusinformationen übergibt.
- Im Schritt 225 wurde die Datenintegrität nach erfolgreichem Abschluß der fehlgeschlagenen synchronen Fernkopie-E/A-Operation an die Primärspeicher-Steuereinheit 3 und die Sekundärspeicher- Steuereinheit 6 aufrechterhalten. Wenn an der Sekundärstation 15 eine Wiederherstellung versucht wird, erkennt die Sekundärspeicher-Steuereinheit 6 daher den mit "fehlgeschlagene synchrone Fernkopie" markierten Datenträger als unbrauchbar, bis die Daten auf diesem Datenträger mit anderen Daten in dieser Synchronisationsgruppe von Datenwiederherstellungsmitteln (herkömmlichen Datenbankprotokollen und/oder -journalen, um den Zustand dieser Daten auf dem Datenträger festzustellen) synchronisiert sind.
- Im Schritt 227 wird ein Test durchgeführt, um festzustellen, ob das I/O ERP 2 den erfolgreichen Abschluß der E/A-Operationen an der Aktualisierung des Status der fehlgeschlagenen synchronen Fernkopie an der Primärspeicher-Steuereinheit 3 und der Sekundärspeicher-Steuereinheit 6 empfangen hat. Nach erfolgreichem Abschluß gibt das I/O ERP 2 im Schritt 229 die Steuerung an den Primärprozessor 1 zurück. Andernfalls führt der Schritt 231 eine Benachrichtigung über eine Wiederherstellung auf nächster Ebene durch, die einschließt, daß ein Bediener uber die Konsole 18 über den ausgefallenen Datenträger und daruber, daß ein Status dieses Datenträgers entweder an der Primärspeicher- Steuereinheit. 3 oder der Sekundärspeicher-Steuereinheit 6 möglicherweise falsch ist, informiert wird. Die Benachrichtigung wird über die Konsole 19 oder eine gemeinsam benutzte DASD- Datei auf die Sekundärstation 15 gespiegelt, um dort den Status des bestimmten Datenträgers anzugeben.
- Im Schritt 233 wird eine Fehlerprotokoll-Aufzeichnungsdatei aktualisiert Diese Aktualisierung wird entweder in die Primär- DASD 4 oder an einen anderen Speicherplatz geschrieben und auf die Sekundärstation 15 gespiegelt. Nach Abschluß der Fehlerbehebungsmaßdahmen übergibt das I/O ERP 2 im Schritt 235 der E/A- Schreiboperation der Primäranwendung einen. "permanenten Fehler", um die Primäranwendung zur normalen Behebung des "permanenten Fehlers" für die fehlgeschlagene E/A-Schreiboperation zu veranlassen. Sobald der Fehler behoben worden ist, können die Zustände der Datenträger wiederhergestellt werden, und zwar zuerst als "anstehend" (geänderte Daten erneut kopieren) und dann wieder als Vollduplex. Die Daten können später erneut auf die Sekundär-DASD 7 angewandt werden, sobald das Duplexpaar wiederhergestellt ist.
- Beim Einrichten eines Duplexpaares kann ein Datenträger entsprechend den Bedürfnissen eines Kunden als KRITISCH gekennzeichnet werden. Wenn eine Operation dazu führt, daß ein Duplexpaar ausfällt, wird bei einem KRITISCHEN Datenträger ungeachtet der aktuellen Position des Fehlers ein Ausfall des Primärdatenträgers aufgrund eines permanenten Fehlers gemeldet. Bei CRIT=Y empfangen alle nachfolgenden Versuche, in die Pnmär-DASD 405 des ausgefallenen Paares zu schreiben, einen permanenten Fehler, wodurch sichergestellt wird, daß auf diesen Primärdatenträger, der auch nicht auf den paarigen Sekundärdatenträger gespiegelt werden kann, keine Daten geschrieben werden. Dies erlaubt bei Bedarf eine vollständige Synchronisation mit den Maßnahmen der Primäranwendung und den E/A-Datenoperationen.
- Folglich führt das hier beschriebene System 10 zur Wiederherstellung von Daten nach einer Katastrophe eine synchrone Gerätefernkopie so ein, daß ein Fehlerbehebungsverfahren eines Prozesses eines Primär-Hosts, das eine E/A-Reihenfolge (Kanalbefehlswort (CCW)) hat, den Status eines primären und eines sekundären synchronen Fernkopie-Datenträgers von "Duplexpaar" in "ausgefallenes Duplexpaar" ändern kann und dadurch die Datenintegrität für mehrere Arten von Fehlern des Primär- und des Sekundär-Subsystems aufrechterhalten kann. Eine auf dem Speicher und nicht auf der Anwendung basierende Sicherung, bei der Datenaktualisierungen in Echtzeit dupliziert werden, wurde bereitgestellt. Das System 10 zur Wiederherstellung von Daten nach einer Katastrophe versucht auch mehrere Ebenen von primären/sekundären Statusaktualisierungen, einschließlich: (1) Statusaktualisierungen des Datenträgers der Primärspeicherund der Sekundärspeicher-Steuereinheit; (2) Benachrichtigung des Primär- und des Sekundär-Hostprozessors über den Aktualisierungsstatus eines bestimmten Datenträgers durch Bedienernachrichten oder gemeinsame Fehlerprotokoll-Aufzeichnungsdateien; und (3) eines Hinweises KRITISCHER Datenträger, zukünftige Aktualisierungen des Primärdatenträgers können verhindert werden, wenn das Datenträgerpaar in ein ausgefallenes Duplexpaar übergeht. Infolgedessen wird eine vollständige Fehlerbehebung nach einer Katastrophe durchgeführt.
- Von einer asynchronen Datenfernspiegelung wird Gebrauch gemacht, wenn es notwendig ist, die Entfernung zwischen einer Primärstation und einer Sekundärstation weiter zu erhöhen, um die Wahrscheinlichkeit, daß eine einzige Katastrophe sowohl die Primärstation als auch die Sekundärstation beschädigt, zu verringern, oder wenn der Leistungseinfluß der Primäranwendung minimiert werden muß. Während sich die Entfernung zwischen der Primär- und der Sekundärstation nun um die Erde oder darüber hinaus erstrecken kann, ist die Synchronisation von Aktualisierungen von Schreiboperationen über mehrere DASD-Datenträger hinter mehreren Primär-Subsystemen auf mehrere Sekundär- Subsysteme weitaus schwieriger. Aktualisierungen von Datensatz- Schreiboperationen können von einer Primärspeicher-Steuereinheit über ein Primär-Datenverschiebungsprogramm an ein Sekundär-Datenverschiebungsprogramm zur Spiegelung auf einem Sekundärspeicher-Subsystem gesandt werden, aber die Menge der Steuerdaten, die zwischen ihnen übertragen wird, muß auf ein Minimum reduziert werden, während man dennoch in der Lage ist, die exakte Reihenfolge der Aktualisierungen der Datensatz- Schreiboperationen auf dem Sekundärsystem über mehrere Speichersteuereinheiten, wie sie auf dem Primärsystem über mehrere DASD-Datenträger hinter mehreren Speichersteuereinheiten auftraten, zu rekonstruieren.
- FIG. 4 veranschaulicht ein asynchrones System 400 zur Wiederherstellung von Daten nach einer Katastrophe, das eine Primärstation 421 und eine ferne oder Sekundärstation 431 enthält. Üle Primärstation 421 enthält einen Primärprozessor 401, zum Beispiel einen IBM ES/9000, der DFSMS/MVS-Hostsoftware ausführt. Der Primärprozessor 401 enthält außerdem Anwendungsprogramme 402 und 403, zum Beispiel IMS- und DB2-Anwendungen, und ein Primär-Datenverschiebungsprogramm (PDM) 404. Ein gemeinsamer Sysplex-Taktgeber 407 ist im Primärprozessor 401 enthalten, um allen darin laufenden Anwendungen (402, 403) eine gemeinsame Referenz zur Verfügung zu stellen, wobei alle Systemtaktgeber oder Zeitquellen (nicht gezeigt) auf den Sysplex-Taktgeber 407 synchronisieren, der sicherstellt, daß alle zeitabhängigen Prozesse im Verhältnis zueinander zeitlich korrekt gesteuert werden. Die Primärspeicher-Steuereinheiten 406 beispielsweise synchronisieren auf eine Auflösung, die geeignet ist, eine Unterscheidung zwischen den Aktualisierungszeitpunkten von Datensatz-Schreiboperationen zu gewährleisten, so daß keine zwei aufeinanderfolgenden E/A-Schreiboperationen in eine einzige Primärspeicher-Steuereinheit 404 denselben Zeitstempelwert aufweisen. Die Auflösung und nicht die Genauigkeit des Sysplex- Zeitgebers 407 ist entscheidend. Das PDM 404, obwohl es als mit dem Sysplex-Zeitgeber 407 verbunden gezeigt ist, braucht nicht auf den Sysplex-Zeitgeber 407 zu synchronisieren, weil darin keine E/A-Schreiboperationen erzeugt werden. Ein Sysplex- Zeitgeber 407 ist nicht erforderlich, wenn der Primärprozessor 401 eine einzige Zeitreferenz (zum Beispiel ein einziges ES/9000-Mehrprozessorsystem) hat.
- Eine Vielzahl von Primärspeicher-Steuereinheiten 405, zum Beispiel Speichersteuereinheiten vom Typ IMB 3990 Model 6, sind über eine Vielzahl von Kanälen, zum Beispiel Lichtwellenleiterkanälen, mit dem Primärprozessor 401 verbunden. Mit jeder Primärspeicher-Steuereinheit 405 ist mindestens ein Strang von Primär-DASDs 406, zum Beispiel DASDs vom Typ IBM 3390, verbunden. Die Primärspeicher-Steuereinheiten 405 und die Primär- DASDs 406 bilden ein Primärspeicher-Subsystem. Die einzelnen Speichersteuereinheiten 405 und Primär-DASDs 406 brauchen keine getrennten Einheiten zu sein, sondern können zu einem einzigen Einschub zusammengefaßt werden.
- Die Sekundärstation 431, die sich beispielsweise einige tausend Kilometer von der Primärstation 421 entfernt befindet und ähnlich der Primärstation 421 ist, enthält einen Sekundärprozessor 411, in dem ein Sekundär-Datenverschiebungsprogramm (SDM) 414 arbeitet. Eine Vielzahl von Sekundärspeicher-Steuereinheiten 415 ist über Kanäle, zum Beispiel Lichtwellenleiterkanäle, mit dem Sekundärprozessor 411 verbunden, wie in der Technik bekannt ist. Mit den Speichersteuereinheiten 415 sind eine Vielzahl von Sekundär-DASDs 416 und (eine) Steuerinformations-DASD(s) 417 verbunden. Die Speichersteuereinheiten 415 und die DASDs 416 und 417 bilden ein Sekundärspeicher-Sübsystem.
- Die Primärstation 421 kommuniziert mit der Sekundärstation 431 über eine Kommunikationsverbindung 408. Genauer gesagt, der Primärprozessor 401 überträgt Daten und Steuerinformationen über ein Übertragungsprotokoll, zum Beispiel eine Kommunikationsverbindung 408 für ein virtuelles Datenfernübertragungs- Zugriffsverfahren (VTAM), an den Sekundärprozessor 411. Die Kommunikationsverbindung 408 läßt sich über mehrere geeignete Kommunikationsverfahren, einschließlich Telefon (T1-, T3- Leitungen), Funk, Funk/Telefon, Richtfunk, Satellit usw., realisieren.
- Das asynchrone Datenspiegelungssystem 400 schließt die Erfassung von Steuer daten von den Primärspeicher-Steuereinheiten 405 ein, so daß eine Reihenfolge aller Datenschreiboperationen in die Primär-DASDs 406 beibehalten und auf die Sekundär-DASDs 416 angewandt wird (wobei die Datenschreibreihenfolge über alle Primärspeicher-Sübsysteme hinweg beibehalten wird). Die an die Sekundärstation 431 übertragenen Daten und Steuerinformationen müssen so umfangreich sein, daß die Primärstation 421 zur Aufrechterhaltung der Datenintegrität nicht mehr vorhanden sein muß.
- Die Anwendungen 402, 403 erzeugen Daten- oder Datensatzaktualisierungen, wobei diese Datensatzaktualisierungen von den Primärspeicher-Steuereinheiten 405 erfaßt und vom PDM 404 gelesen werden. Jede der Primärspeicher-Steuereinheiten 405 hat ihre jeweiligen Datensatzaktualisierungen für eine asynchrone Datenfernspiegelungssitzung gruppiert und stellt diese Datensatzaktualisierungen dem PDM 404 über unspezifische LESE-Anforderungen des Primär-DASD 406 bereit. Die Übertragung der Datensatzaktualisierungen von den Primärspeicher-Steuereinheiten 405 an das PDM 404 wird vom PDM 404 gesteuert und optimiert, um eine Anzahl von START-E/A-Operationen auf ein Minimum zu reduzieren, gleichzeitig aber die zwischen jeder Primärspeicher- Steuereinheit 405 und dem Primärprozessor 401 übertragene Datenmenge zu maximieren. Das PDM 404 kann zwischen unspezifischen LESE-Anforderungen ein Zeitintervall verändern, um sowohl diese Optimierung des Primärspeicher-Steuereinheitenhosts als auch die Gültigkeit der Datensatzaktualisierungen für die Sekundär-DASDs 416 zu steuern.
- Die Erfassung von Datensatzaktualisierungen durch das PDM 404 und die Übertragung dieser Datensatzaktualisierungen an das SDM 414, während die Datenintegrität aufrechterhalten wird, macht es erforderlich, daß die Datensatzaktualisierungen für bestimmte Zeitintervalle und in mehreren geeigneten Zeitintervallen mit genügend Steuerdaten übertragen werden, um die Datensatz- SCHREIB-Folge der Primär-DASDs 406 über alle Primärspeicher- Subsysteme hinweg auf den Sekundär-DASDs 416 wiederherzustellen. Die Wiederherstellung der Datensatz-SCHREIB-Folgen der Primär-DASDs 406 erfolgt durch Weiterleitung von selbstbeschreibenden Datensätzen vom PDM 404 an das SDM 414. Das SDM 414 prüft die selbstbeschreibenden Datensätze, um festzustellen, ob irgendwelche Datensätze für ein bestimmtes Zeitintervall verlorengingen oder unvollständig sind.
- FIG. 5 und FIG. 6 zeigen ein vom PDM 404 für jeden selbstbeschreibenden Datensatz erzeugtes Journaldatensatzformat, das einen Präfix-Kopfbereich 500 (FIG. 5) und eine Datensatzgruppeninformation 600 (FIG. 6), wie von der Primärspeicher- Steuereinheit 405 erzeugt, enthält. Jeder selbstbeschreibende Datensatz wird außerdem vom SDM 414 für jedes Zeitintervall in ein Journal eingetragen, so daß jeder selbstbeschreibende Datensatz in Zeitfolge für jedes Zeitintervall auf die Sekundär- DASDs 416 angewandt werden kann.
- Nun Bezug nehmend auf FIG. 5, enthält der Präfix-Kopfbereich 500, der am Anfang einer jeden Datensatzgruppe eingefügt wird, eine Gesamtdatenlänge 501, um die gesamte Länge des Präfix- Kopfbereichs 500 zu beschreiben, und die aktuelle Primärdatensatzgruppeninformation 600, die für jede Datensatzgruppe an das SDM 414 übertragen wird. Ein Verarbeitungszeitstempel 502 ist ein Zeitstempel, der einen Startzeitpunkt für die Verarbeitungsgruppe angibt, die das PDM 404 gerade verarbeitet. Der Verarbeitungszeitstempel 502 wird vom PDM 404 (entsprechend dem Sysplex-Zeitgeber 407) erzeugt, wenn es an einer Gruppe der Primärspeicher-Steuereinheiten 405 eine Funktion der LESEDATENSATZGRUPPE ausführt. Einen E/A-Zeitpunkt 610 (FIG. 6) der Schreiboperation der Primär-DASDs 406 gibt es für jede LESEDATENSATZGRUPPE der Primärspeicher-Steuereinheit 405 nur einmal. Der Verarbeitungszeitstempel 502 ist allen Steuerspeichereinheiten gemein. Ein Befehl der LESEDATENSATZGRUPPE wird vom PDM 404 ausgegeben und kann von einer der folgenden Bedingungen abhängig gemacht werden:
- (1) Die Abrufunterbrechung der Primärspeicher-Steuereinheit 405 basiert auf dem vorher festgelegten Schwellenwert dieser Primärspeicher-Steuereinheit;
- (2) Die Zeitgeberunterbrechung des Primärprozessors 401 basiert auf einem vorher festgelegten Zeitintervall; oder
- (3) Die Datensatzgruppeninformationen geben weitere Informationen über ausstehende Datensatzgruppen an, die zur Verfügung stehen, aber noch nicht gelesen wurden
- Die Bedingung (2) verwendet ein Zeitgeberintervall, um zu kontrollieren, wie weit das Sekundärsystem 431 während Perioden geringer Aktivität mit der Ausführung im Rückstand ist. Die Bedingung (3) tritt auf, wenn das PDM 404 nicht alle Datensatzgruppen während eines Verarbeitungsintervalls, das weitere Aktivitäten steuert, mit DRAIN stoppt, um sicherzustellen, daß das PDM 404 mit der Aktivität der Primärspeicher-Steuereinheit 405 Schritt hält.
- Eine Zeitintervall-Gruppennummer 503 wird vom PDM 404 geliefert, um ein Zeitintervall (das vom Verarbeitungszeitstempel 502 und einem Datensatzlesezeitpunkt 507 begrenzt wird) zu kennzeichnen, zu dem die aktuellen Datensatzgruppen gehören (Gruppen von Datensätzen über alle Primärspeicher-Steuereinheiten 405 hinweg für eine bestimmte Zeitintervallgruppe bilden Konsistenzgruppen). Eine Folgenummer innerhalb der Gruppe 504 ist eine von der Hardware (dem PDM 40,4) zur Verfügung gestellte Kennung einer Folge von Anwendungs-SCHREIB-Ein-/Ausgaben für die Primärspeicher-Steuereinheit 405 für jede Datensatzgruppe innerhalb einer bestimmten Zeitintervallgruppe 503. Eine Pnmär-SSID (Subspeicherkennung) 505 kennzeichnet eindeutig die bestimmte Primärspeicher-Steuereinheit der Primärspeicher- Steuereinheiten 405 für jede Datensatzgruppe. Ein Sekundär- Zieldatenträger 506 wird in Abhängigkeit von den Leistungsvoraussetzungen entweder vom PDM 404 oder vom SDM 414 zugeordnet. Ein Datensatzlesezeitpunkt 507 liefert einen Verarbeitungszeitstempel, der allen Primärspeicher-Steuereinheiten 405 gemeinist und einen Endzeitpunkt für die Datensatzgruppe des aktuel len Intervalls angibt.
- Nun Bezug nehmend auf FIG. 6, wird die Datensatzgruppeninformation 600 von den Primärspeicher-Steuereinheiten 405 erzeugt und vom PDM 404 erfaßt. Das Feld "Bestimmte Informationen aktualisierentt 601 bis 610 enthält eine Primärgeräteeinheit-Adresse 601 eines jeden Datensatzes, welche die aktuelle Primär-DASD 406 angibt, auf der die Datensatzaktualisierung erfolgte. Eine Zylindernummer/Spurnummer (CCHH) 602 gibt für jede Datensatzaktualisierung einen Speicherplatz in der Primär-DASD 406 an. Die Primär-SSID 603, die Sitzungskennung der Primärspeicher- Steuereinheit ist gleich wie die Primär-SSID 505. Die Statusmarkierungen 604 stellen Statusinformationen in bezug darauf bereit, ob bestimmte Datensätze 620 folgen. Die Folgenummern 605 und 630 ordnen jedem Datensatz eine Nummer zu, um anzuzeigen, ob die gesamte Datensatzgruppe gelesen worden ist (alle Daten an das PDM 404 übertragen worden sind). Das Feld "Typ der E/A-Schreiboperation der Primär-DASD" 606 ist ein Operationsanzeiger, der den Typ der Schreiboperation angibt, die an jedem Datensatz ausgeführt wird, wobei die Operationsanzeiger folgendes einschließen: "Aktualisierungsschreiboperation"; "Formatierungsschreiboperation"; "Teilspurdatensätze folgen"; "Vollspurdaten folgen"; "Löschbefehl ausgeführt"; oder "beliebige Daten schreiben ausgeführt". Das Suchargument 607 gibt Anfangspositionierinformationen für den ersten Datensatz der Lesedatensatzgruppe 620 an. Eine Sektornummer 608 kennzeichnet den Sektor, an dem der Datensatz aktualisiert wurde. Das Zählfeld 609 beschreibt eine Anzahßbestimmter Satzdatenfelder 620, die folgen. Ein Host-Anwendungszeitpunkt, zu dem die Aktualisierung der Schreiboperation der Primär-DASD 406 erfolgte, wird im Feld "Zeitpunkt der Aktualisierungen" 610 aufgezeichnet. Das Feld "Spezifische Satzdaten" 620 stellt ein Zähl-/Schlüssel-/Daten-(CKD-)Feld einer jeden Datensatzaktualisierung bereit. Zuletzt wird die Folgenummer 630 mit der Folgenummer 605 verglichen, um anzugeben, ob die gesamte Lesedatensatzgruppe an das PDM 404 übertragen worden ist.
- Die Datensatzaktualisierungen werden in Softwaregruppen mit der Bezeichnung Konsistenzgruppen verarbeitet, so daß das SDM 414 die Datensatzaktualisierungen in derselben Reihenfolge kopieren kann, in der sie an den Primär-DASDs 406 geschrieben wurden. Zu den Informationen, die zur Erstellung der Konsistenzgruppen (über alle Datensatzgruppen hinweg, die von allen Speichersteuereinheiten 405 erfaßt wurden) verwendet werden, gehören: der Verarbeitungszeitstempel 502; die Zeitinteryallgruppennummer 503; die Folgenummer innerhalb der Gruppe 504; die Primärsteuereinheit-SSID 505; der Datensatzlesezeitpunkt 507; die Primärgeräteeinheit-Adresse 601; die Primär-SSID 603; und die Stätusmarkierungen 604 Zu den Informationen, die verwendet werden, um festzustellen, ob alle Datensätze für eine Zeitintervallgruppe für jede Speichersteuereinheit 405 am SDM 414 empfangen worden sind, gehören: die Zeitintervallgruppennummer 503; die Folgenummer innerhalb der Gruppe 504; die Kennung der physischen Steuereinheit 505; und die Primär-SSID 603. Zu den Informationen, die notwendig sind, um Datensatzaktualisierungen auf den Sekundär-DASDs 416 so zu plazieren, daß sie mit den Datensatzaktualisierungen der Primär-DASDs 496 gleichgestellt sind und eine vollständige Wiederherstellung möglich ist, gehören: der Sekundär-Zieldatenträger 506; CCHH 602; der Typ der E/A- Schreiboperation der Primär-DASD 606; das Suchargument 607; die Sektornummer 608; das Zählfeld 609; der Zeitpunkt der Aktualisierungen 610; und die Spezifischen Satzdaten 620.
- FIG. 7 und FIG. 8 zeigen eine Zustandstabelle 700 beziehungsweise ein Hauptjournal 800, um den aktuellen Inhalt eines Journals zu beschreiben, was die Wiederherstellungszeit und die Journalübertragungszeit verringert. Die Zustandstabelle 700 stellt Konfigurationsinformationen zur Verfügung, die entweder vom PDM 404 oder vom SDM 414 erfaßt wurden, und enthält Sitzungskennungen der Primärspeicher-Steuereinheit (SSID-Nummern) und die darin befindlichen Datenträger sowie die entsprechenden Sitzungskennungen der Sekundärspeicher-Steuereinheit und die entsprechenden Datenträger. Somit protokollieren die Konfigurationsinformationen, welche Primärdatenträger 710 oder Primär- DASD-Speicherbereiche auf die Sekundärdatenträger 711 oder Sekundär-DASD-Speicherbereiche abgebildet werden. Mit einer einfachen Erweiterung der Zustandstabelle 700, welphe die Teildatenträger-Speicherbereiche 712 (CCHH bis CCHH) angibt, kann eine Teildatenträger-Fernkopie unter Verwendung derselben asynchronen Fernkopierverfahren, die hier beschrieben werden, durchgeführt werden, aber mit einer feineren Unterteilung (Spur oder Speicherbereich) als beim Gesamtdatenträger.
- Das Hauptjournal 800 enthält: die Nummer der Konsistenzgruppe; den Speicherplatz auf den Journal-Datenträgern; und den Verarbeitungszeitstempel. Das Hauptjournal 800 verwaltet darüber hinaus bestimmte Datensatzaktualisierungen so, wie sie in Konsistenzgruppen gruppiert sind. Die Zustandstabelle 700 und das Hauptjournal 800 unterstützen die Wiederherstellung von Daten nach einer Katastrophe und müssen daher in der Lage sein, in einer unabhängigen Umgebung zu arbeiten, in der das Primärsystem 401 nicht mehr vorhanden ist.
- Am Anfang und am Ende eines jeden Hauptjournals 800 wird eine Zeitstempelsteuerung plaziert, um sicherzustellen, daß der ganze Steuereintrag erfolgreich geschrieben wurde. Die Zeitstempelsteuerung wird darüber hinaus in die Sekundär-DASDs 417 geschrieben. Die Steuerelemente enthalten Doppeleinträge (1) und (2), wobei ein Eintrag immer ein aktueller Eintrag ist, zum Beispiel:
- (1) Zeitstempelsteuerung Steuerinformationen Zeitstempelsteuerung
- (2) Zeitstempelsteuerung Steuerinformationen Zeitstempelsteuerung
- Zu einem beliebigen Zeitpunkt ist entweder der Eintrag (1) oder der Eintrag (2) der aktuelle oder gültige Eintrag, wobei der gültige Eintrag derjenige Eintrag ist, der am Anfang und am Ende die gleichen Zeitstempelsteuerungen hat. Die Wiederherstellung von Daten nach einer Katastrophe verwendet den gültigen Eintrag mit dem neuesten Zeitstempel, um Steuerinformationen abzurufen. Diese Steuerinformationen dienen zusammen mit Zustandsinformationen (Umgebungsinformationen in bezug auf die Speichersteuereinheiten, Geräte und angewandten Konsistenzgruppen) zur Feststellung, welche Datensatzaktualisierungen auf die Sekundärspeicher-Steuereinheiten 415 angewandt wurden.
- Nachdem alle Lesedatensatzgruppen über alle Primärspeicher- Steuereinheiten 405 hinweg für ein vorher festgelegtes Zeitintervall an der Sekundärstation 431 empfangen worden sind, interpretiert das SDM 414 die empfangenen Steuerinformationen und wendet die empfangenen Lesedatensatzgruppen auf die Sekundär- DASDs 416 in Gruppen von Datensatzaktualisierungen so an, daß die Datensatzaktualisierungen in derselben Reihenfolge angewändt werden, in der die Datensatzaktualisierungen ursprünglich in die Primär-DASDs 406 geschrieben wurden. Somit wird die Konsistenz der Reihenfolge der gesamten Primäranwendung (Datenintegrität) an der Sekundärstation 431 aufrechterhalten. Dieser Prozeß wird nachstehend als Bildung von Konsistenzgruppen bezeichnet. Die Bildung von Konsistenzgruppen beruht auf den folgenden Annahmen: (A) Anwendungs-Schreiboperationen, die unabhängig sind, können in einer beliebigen Reihenfolge ausgeführt werden, sofern sie die Reihenfolge der Steuereinheiten nicht mißachten; (B) Anwendungs-Schreiboperationen, die abhängig sind, müssen in der Reihenfolge der Zeitstempel ausgeführt werden, daher kann eine Anwendung eine abhängige Schreiboperation Nummer 2 nicht vor dem Empfang des Steuereinheitenendes und des Geräteendes von der Schreiboperation Nummer eins ausführen; und (C) eine zweite Schreiboperation befindet sich immer entweder in (1) einer gleichen Konsistenzgruppe einer Datensatzgruppe wie eine erste Schreiboperation mit einem späteren Zeitstempel oder (2) in einer nachfolgenden Konsistenzgruppe einer Datensatzgruppe.
- Bezug nehmend auf FIG. 91 ist ein Beispiel für die Bildung einer Konsistenzgruppe (die Konsistenzgruppe könnte entweder an der Primärstation 421 oder an der Sekundärstation 431 gebildet werden), zum Beispiel für die Speichersteuereinheiten SSID 1, SSID 2 und SSID 3, gezeigt (eine beliebige Anzahl von Speichersteuereinheiten kann eingeschlossen werden, aber der Klarheit halber werden in diesem Beispiel drei verwendet). Von den. Zeitintervallen T1, T2 und T3 wird angenommen, daß sie in aufsteigender Reihenfolge auftreten. Ein Verarbeitungszeitstempel 502 des Zeitintervalls T1 wird für die Speichersteuereinheiten SSID 1, SSID 2 und SSID 3 festgelegt. Das PDM 404 ruft Satzgruppendaten von den Speichersteuereinheiten SSID 1, 2 und 3 für das Zeitintervall T1 bis T3 ab. Die Datensatzgruppen für die SSIDs 1, 2 und 3 für das Zeitintervall T1 werden der Zeitintervallgruppe 1, G1 (Zeitintervallgruppennummer 503) zugeordnet. Die Folgenummer innerhalb der. Gruppe 504 ist für jede SSID 1, 2 und 3 gezeigt, wobei die SSID 1 drei Aktualisierungen um 11:59, 12:00 und 12:01, die SSID 2 zwei Aktualisierungen um 12:00 und 12:02 und die SSID 3 drei Aktualisierungen um 11:58, 11:59 und 12:02 hat. Die Datensatzgruppen der Zeitintervalle T2 und T3 werden aufgeführt, aber Beispiel-Aktualisierungszeitpunkte werden der Einfachheit halber nicht gegeben.
- Die Konsistenzgruppe N kann nun auf der Grundlage der an der Sekundärstation 431 empfangenen Steuerinformationen und Datensatzaktualisierungen gebildet werden. Um sicherzustellen, daß eine Datensatzaktualisierung in der Zeitintervallgruppe Nummer eins nicht später als eine Datensatzaktualisierung in der Zeitintervallgruppe Nummer zwei erfolgt, wird ein Mindestzeitpunkt festgelegt, der gleich dem frühesten Zeitpunkt der Lesedatensatzgruppe der letzten Datensatzaktualisierungen für jede Speichersteuereinheit SSID 1, 2 und 3 ist. In diesem Beispiel ist der Mindestzeitpunkt dann gleich 12:01. Datensatzaktualisierungen, deren Lesedatensatzgruppen-Zeitpunkt größer oder gleich dem Mindestzeitpunkt ist, sind in der Konsistenzgruppe N + 1 enthalten. Wenn zwei Datensatzaktualisierungs-Zeitpunkte an demselben Datenträger gleich wären, obwohl dies unter der Voraussetzung, daß der Sysplex-Zeitgeber 407 über eine ausreichende Auflösung verfügt, unwahrscheinlich ist, würde die Datensatzaktualisierung mit der früheren Folgenummer innerhalb der Zeitintervallgruppe N bei dieser Gruppe für die Konsistenzgruppe N behalten werden. Die Datensatzaktualisierungen werden nun auf der Grundlage der Zeitpunkte der Lesedatensatzgruppen geordnet. Bei Datensatzaktualisierungen, die gleiche Zeitpunkte haben, wird die Datensatzaktualisierung mit der niedrigeren Folgenummer vor die Datensatzaktualisierung mit der späteren Folgenummer gestellt. Alternativ dazu können Datensatzaktualisierungen, die gleiche Zeitstempel, aber verschiedene Datenträger haben, in beliebiger Reihenfolge geordnet werden, solange sie in derselben Konsistenzgruppe gehalten werden.
- Wenn eine Primärspeicher-Steuereinheit 405 eine Antwort auf eine Lesedatensatzgruppe während eines angegebenen Zeitintervalls nicht fertigstellt, kann bis zur Fertigstellung der Antwort durch diese Primärspeicher-Steuereinheit 405 keine Konsistenzgruppe gebildet werden. Falls die Primärspeicher-Steuereinheit 405 ihre Operation nicht abschließt, ist eine fehlende Unterbrechung die Folge, die bewirkt, daß eine Systemroutine für fehlende Unterbrechungen die Steuerung erhält, und die Operation wird abgeschlossen. Wenn die Primärspeicher-Steuereinheit 405 die Operation andererseits rechtzeitig abschließt, wird die E/A vollständig ausgeführt und der Normalbetrieb fortgesetzt. Bei der Bildung von Konsistenzgruppen wird davon ausgegangen, daß Schreiboperationen für die Primärspeicher-Steuereinheiten 405 Zeitstempel haben. Manche Programme bewirken jedoch, daß Schreiboperationen ohne Zeitstempel erzeugt werden, wobei die Primärspeicher-Steuereinheit 405 in diesem Fall Nullen für den Zeitstempel zurückgibt. Die Bildung von Konsistenzgruppen kann diese Datensätze ohne Zeitstempel auf der Grundlage des Zeitstempels, der den Zeitpunkt angibt, zu dem die Daten gelesen wurden, begrenzen. Wenn in einem Zeitintervall zu viele Datensatzaktualisierungen ohne Zeitstempel auftreten, so daß die Datensatzaktualisierungen nicht ohne weiteres von Konsistenzgruppenzeitpunkten begrenzt werden können, kann ein Fehler, daß sich die Duplex-Datenträger nicht im Gleichlauf befinden, die Folge sein.
- FIG. 10 und FIG. 11 sind Flußdiagramme, die das Verfahren zur Bildung von Konsistenzgruppen darstellen. Bezug nehmend auf FIG. 10, beginnt der Ablauf im Schritt 1000, in dem die Primärstation 421 festlegt, daß eine Datenfernspiegelung erfolgen soll. Im Schritt 1010 werden alle Anwendungs-E/A-Operationen mit Zeitstempeln versehen, wobei der Sysplex-Zeitgeber 407 als Synchronisationstaktgeber verwendet wird (FIG. 4). Das PDM 404 beginnt im Schritt 1020 eine Datenfernspiegelungssitzung mit jeder Primärspeicher-Steuereinheit 405, welche die Feststellung derjenigen Primärdatenträger einschließt, die Daten oder Datensätze spiegeln lassen. Die Datensatzgruppeninformation 600 wird im Schritt 1030 von den Primärspeicher-Steuereinheiten 405 füü jede Anwendungs-E/A-SCHREIB-Operation abgefangen (siehe FIG. 6).
- Der Schritt 1040 schließt ein, daß das PDM 404 die erfaßte Datensatzgruppeninformation 600 von jeder Primärspeicher- Steuereinheit 405 entsprechend einer Systemanfrage liest, die eine Abrufnachricht, ein vörher festgelegtes Zeitintervall oder eine Benachrichtigung, daß weitere Datensätze gelesen werden müssen, wie zuvor beschrieben wurde, enthält. Wenn das PDM 404 im Schritt 1050 mit dem Lesen von Datensatzgruppen beginnt, stellt das PDM 404 jeder Datensatzgruppe einen Präfix- Kopfbereich 500 (siehe FIG. 5) voran, um bestimmte Journaldatensätze (ein Journaldatensatz enthält den Präfix-Kopfbereich 500 und die Datensatzgruppeninformation 600) zu erstellen. Die Journaldatensätze enthalten die Steuerinformationen (und Datensätze), die zur Bildung von Konsistenzgruppen an der Sekundärstation 431 (oder an der Primärstation 421) notwendig sind.
- Im Schritt 1060 überträgt das PDN 404 die erzeugten Journaldatensätze über die Kommunikationsverbindung 408 (oder innerhalb desselben Datenverschiebungssystems, wenn die Konsistenzgruppen darin gebildet werden) an das SDM 414. Im Schritt 1070 verwendet das SDM 414 die Zustandstabelle 700, um die empfangenen Datensatzaktualisierungen für jede Zeitintervallgruppe und Pnmärspeicher-Steuereinheit 405, die für die Datenspiegelungssitzung festgelegt wurden, nach Gruppen- und Folgenummern zusammenzustellen. Im Schritt 1080 prüft das SDM 414 die Journaldatensätze, um festzustellen, ob für jede Zeitintervallgruppe alle Datensatzinformationen empfangen worden sind. Wenn die Journaldatensätze unvollständig sind, wird das SDM 414 im Schritt 1085 veranlaßt, dem PDM 404 mitzuteilen, daß es die benötigten Datensatzgruppen erneut senden soll. Wenn das PDM 404 die Datensatzgruppen nicht korrekt neu senden kann, ist das Duplex- Datenträgerpaar ausgefallen. Wenn die Journaldatensätze vollständig sind, wird der Schritt 1090 durchgeführt, der die Bildung der Konsistenzgruppen durch das SDM 414 einschließt.
- Bezug nehmend auf FIG. 11, sind die Schritte 1100 bis 1160, die den Schritt 1090 (FIG. 10) zur Bildung von Konsistenzgruppen darstellen, gezeigt. Die Bildung der Konsistenzgruppen beginnt im Schritt 1100, in dem jede Software-Konsistenzgruppe in ein Journalprotokoll des SDM 414 geschrieben wird, das auf der Sekundär-DASD 417 (FIG. 4) ("fest vorhanden") ist. Der Schritt 1110 führt einen Test durch, um festzustellen, ob die Zeitintervallgruppen vollständig sind, das heißt, jede Primärspeicher-Steuereinheit 405 muß entweder mindestens einen Lesedatensatzgruppenpuffer übergeben oder eine Bestätigung vom PDM 404 haben, daß solche Datensatzaktualisierungen nicht in den Lesedatensatzgruppenpuffer gestellt wurden, und alle Lesedatensatzgruppenpuffer mit Daten (oder Nullzeichen) müssen vom SDM 414 empfangen worden sein. Wenn eine Zeitintervallgruppe unvollständig ist, versucht der Schritt 1110 immer wieder, die Datensatzgruppen von der Primärspeicher-Steuereinheit 405 zu lesen, bis die benötigten Daten empfangen werden. Wenn Fehler auftreten, sind möglicherweise ein bestimmtes Duplex-Datenträgerpaar oder Duplex-Datenträgerpaare ausgefallen. Nachdem der Schritt 1120 vollständige Zeitintervallgruppen empfangen hat, legt er einen ersten Konsistenzgruppen-Journaldatensatz fest. Der erste (oder aktuelle) Konsistenzgruppen-Journaldatensatz ist der Datensatz, der den frühesten Verarbeitungszeitstempel 502 und den frühesten Aktualisierungszeitpunkt 610 von allen Datensätzen enthält, die gleiche Verarbeitungszeitstempel 502 haben.
- Der Schritt 1130 prüft die Datensätze, die im aktuellen Konsistenzgruppen-Journaldatensatz enthalten sind, um festzustellen, welcher Datensatz der letzte darin aufzunehmende Datensatz ist (einige Datensätze werden ausgelassen und in den nächsten Konsistenzgruppen-Journaldatensatz aufgenommen). Der letzte Datensatz im aktuellen Konsistenzgruppen-Journaldatensatz wird als Mindestaktualisierungszeitpunkt (Mindestzeitpunkt) der Maximalaktualisierungszeitpunkte für jede Primärspeicher- Steuereinheit 405 festgelegt (das heißt, die letzte Aktualisierung einer jeden Primärspeicher-Steuereinheit 405 wird verglichen, und nur die früheste von ihnen bleibt im aktuellen Konsistenzgruppen-Journaldatensatz).
- Diese restlichen Datensatzaktualisierungen im aktuellen Konsistenzgruppen-Journaldatensatz werden vom Schritt 1140 entsprechend dem Aktualisierungszeitpunkt 610 und der Folgenummer innerhalb der Gruppe 504 geordnet. Eine Primärspeicher- Steuereinheit 405, die keine Datensatzaktualisierungen hatte, nimmt nicht an der Konsistenzgruppe teil. Im Schritt 1150 werden die restlichen Datensatzaktualisierungen der aktuellen Konsistenzgruppe (die spätere Aktualisierungszeitpunkte als den Mindestzeitpunkt haben) an die nächste Konsistenzgruppe weitergeleitet. Jede Folgenummer innerhalb der Gruppe 504 sollte mit einem Nullpuffer enden, der angibt, daß alle Lesedatensatzgruppen für dieses Verarbeitungszeitintervall gelesen worden sind. Wenn der Nullpuffer nicht vorhanden ist, kann der Schritt 1120 der Definition des letzten Datensatzes in der aktuellen Software-Konsistenzgruppe, verbunden mit dem Datensatzlesezeitpunkt 507 und dem Aktualisierungszeitpunkt 610, zur Feststellung der richtigen Reihenfolge der Anwendungs-E/A-SCHREIB-Operationen uber die Primärspeicher-Steuereinheiten 405 hinweg verwendet werden.
- Der Schritt 1160 stellt eine Ausgangsseite des Datenfernspiegelungsprozesses dar, wobei bestimmte Aktualisierungen von Schreiboperationen unter der Vorgabe der vollständigen Wiederherstellung von Daten nach einer Katastrophe auf die Sekundär- DASDs 416 angewandt werden. Wenn beim Schreiben der Aktualisierungen in die Sekundär-DASDs 416 ein E/A-Fehler auftritt oder die ganze Sekundärstation 431 ausfällt und neu initialisiert wird, kann die ganze Konsistenzgruppe, die gerade geschrieben wurde, von Anfang an neu angewandt werden. Dadurch kann die Fernspiegelung erfolgen, ohne daß ermittelt werden muß, welche E/As der Sekundär-DASDs 416 aufgetreten sind, welche E/As nicht aufgetreten sind und welche E/As gerade im Gang waren usw.
- Eine Schlüsselkomponente des Schritts 1160 ist, daß das PDM 414 bewirkt, daß die Datensätze wirkungsvoll in die Sekundär-DASDs 416 geschrieben werden, so daß die Sekundärstation 431 mit der Primärstation 421 Schritt halten kann. Die notwendige Wirksamkeit wird zum Teil dadurch erreicht, daß mehrere E/A- Operationen an verschiedenen Sekundär-DASDs 416 gleichzeitig ausgeführt werden. Würde man jeweils eine Sekundär-DASD 416 seriell beschreiben, würde dies dazu führen, daß die Sekundärstation 431 zu weit hinter der Primärstation 421 zurückbleibt. Eine noch höhere Wirksamkeit wird an der Sekundärstation 431 erreicht, indem die Datensätze für jede Konsistenzgruppe, die für eine einzige Sekundäreinheit bestimmt sind, über eine einzige Kanalbefehlswort-(CCW-)Kette geschrieben werden. Innerhalb einer jeden CCW-Kette können die darin ausgeführten E/A- Operationen weiter optimiert werden, solange diese E/A- Operationen an jeder Datenspur einer Sekundär-DASD 416 in der Reihenfolge ihres Auftretens auf den Primärdatenträgern beibehalten werden.
- Die Optimierung von Sekundär-E/A-Operationen für bestimmte Konsistenzgruppen und innerhalb einzelner CCW-Ketten beruht zum Teil auf dem Muster von primären E/A-Schreiboperationen und zum Teil auf den physischen Eigenschaften der Sekundär-DASBs 416. Die Optimierung kann in Abhängigkeit davon, ob die sekundär- DASD 415 eine Zähl-/Schlüssel-/Daten-(Ckb-)Architektur, eine erweiterte Zähl-/Schlüssel-/Daten-(ECKD-)Architektur oder eine Festblockarchitektur (FBA) usw. hat, etwas variieren. Folglich kann eine Anzahl von E/A-SCHREIB-Operationen (m) in einen Datenträger in Form einer Primär-DASD 406 während eines bestimmten Zeitintervalls auf eine einzige E/A-START-Operation an ei nem Datenträger in Form einer Sekundär-DASD 416 verringert werden. Diese Optimierung der Anzahl der E/A-START-Operationen an den Sekundärspeicher-Steuereinheiten 415 von m:1 kann es den Sekundär-DASDs 416 ermöglichen, mit den Datensatzaktualisierungen an der Primärstation 421 Schritt zu halten und sie dadurch zeitnäher zu spiegeln.
- Ein Schlüssel zur erfolgreichen Datenfernspiegelung und folglich zur Optimierung der Sekundär-E/A-Operationen ist die Minimierung von nicht behebbaren Fehlern bei beliebigen der vielen gleichzeitigen E/A-Operationen an den Sekundär-DASDs 416, so daß übereinstimmende Kopien zur Wiederherstellung zur Verfügung stehen. Ein Fehler in einer besstimmten Sekundär-Schreiboperation könnte dazu führen, daß eine spätere abhängige Schreiboperation ohne die Bedingungsschreiboperation aufgezeichnet wird (ein Protokolleintrag zum Beispiel, der angibt, daß ein Datenbanksatz aktualisiert worden ist, wenn die aktuelle Aktualisierungsschreiboperation für die Datenbank in Wirklichkeit fehlgeschlagen ist, verstößt gegen die Folgeintegrität der Kopie der Sekundär-DASD 416).
- Eine fehlgeschlagene Kopie der Sekundär-DASD 416 ist für die Wiederherstellung der Anwendung unbrauchbar, bis der Aktualisierungsfehler behoben worden ist. Die fehlgeschlagene Aktualisierung könnte korrigiert werden, indem man das SDM 414 eine aktuelle Kopie vom PDM 404 anfordern läßt. In der Zwischenzeit ist die Sekundär-Datenkopie inkonsistent und folglich unbrauchbar, bis das PDM 404 mit der aktuellen Aktualisierung antwortet und alle anderen vorherigen Aktualisierungen vom PDM 414 verarbeitet werden. Die für die Wiederherstellung der fehlgeschlagenen Aktualisierung notwendige Zeit stellt typischerweise ein unannehmbar langes Nichtwiederherstellungs-Zeitfenster für einen angemessenen Wiederherstellungsschutz im Falle einer Katastrophe dar.
- Eine wirksame E/A-Optimierung der Sekundärstation 431 wird erreicht, indem die Datensatzgruppen, die für eine bestimmte Konsistenzgruppe geschrieben werden müssen, geprüft und Ketten auf der Grundlage von Regeln der bestimmten Architektur der Sekundär-DASD 416, beispielsweise einer ECKD-Architektur, aufgebaut werden. Das hier beschriebene Optimierungsverfahren vereinfacht die Behebung von E/A-Fehlern, so daß die CCW-Kette bei Anwendung einer Konsistenzgruppe erneut ausgeführt werden kann, wenn ein E/A-Fehler auftritt, oder die ganze Konsistenzgruppe im Falle der Wiederherstellung eines Sekundär-IPL-Wiederanlaufs (IPL = einleitendes Programmladen) ohne Datenverlust erneut angewandt werden kann.
- FIG. 12 faßt die Regeln für die vollständige Wiederherstellung von Konsistenzgruppen (FCGR) zum Aufbau von CCW-Ketten für alle Kombinationen von E/A-SCHREIB-Operationen für eine ECKD- Architektur zusammen, wobei das CCHHR-Datensatzformat (Zylindernummer, Spurnummer, Datensatznummer) verwendet wird. FIG. 12 wird erstellt, indem jede mögliche Kombination von E/A- SCHREIB-Operationew auf eine DASD-Spur innerhalb des Bereichs einer Konsistenzgruppe geprüft wird. Die FCGR-Regeln von FIG. 12, die in FIG. 13 beschrieben sind; werden dann zur Steuerung der, Plazierung der Daten (CCW-Ketten von E/A-Schreiboperationen der Sekundär-DASD 416) befolgt, um eine vollständige Fehlerbehebung zu erreichen, indem eine Konsistenzgruppe angelegt wird. Die in FIG 12 veranschaulichten FCGR-Regeln würden entsprechend erweitert werden, wenn neue E/A-SCHREIB-Operationen hinzugefügt würden. Diese Regeln können an der Sekundärstation 431 in Hardware oder in Software vorhanden sein. Die FCGR-Regeln verringern die LESE-Datensatzgruppe vorteilhaft auf eine Analyse derselben DASD-Spur, auf eine Prüfung des Typs der E/A- SCHREIB-Operationen, des Sucharguments und des Zähl- und Schlüsselfelds der Primär-DASD 406.
- Wenn eine DASD-Spur beschrieben wird, ohne daß die Schreiboperationen der Konsistenzgruppe geprüft werden, wie in FIG. 12 gezeigt ist, können zuvor geschriebene Datensätze möglicherweise nicht zurückgeschrieben werden. Nehmen wir beispielsweise an, daß eine Kette folgendes enthält:
- AKTUALISIERUNGSSCHREIBOPERATION in Datensatz fünf; und
- FORMATIERUNGSSCHREIBOPERATION in Datensatz eins,
- wobei der Datensatz eins und der Datensatz fünf auf derselben DASD-Spur auftreten und der Datensatz eins dem Datensatz fünf vorausgeht. Der Datensatz fünf wird von einem AKTUALISIERUNGSSCHREIBOPERATIONS-CCW aktualisiert, und das E/A- FORMATIERUNGSSCHREIBOPERATIONS-CCW aktualisiert den Datensatz eins, wobei der Rest der Spur gelöscht und dadurch der Datensatz fünf gelöscht wird. Wenn diese Kette erneut ausgeführt werden müßte, hätte das DATENSATZ-AUFFINDEN-CCW, das sich am Anfang des Datensatzes fünf positioniert, keinen Positionierpunkt mehr (den Datensatz fünf gibt es nicht mehr), und die Kette kann nicht von Anfang an vollständig wiederhergestellt werden. Da die Schreiboperationen an der Primärstation 421 bereits erfolgreich verlaufen sind, ist es notwendig, daß man immer eine ganze Konsistenzgruppe auf die Sekundär-DASD 416 anwenden kann, um die Konsistenz und die Integrität der Daten aufrechtzuerhalten.
- FIG. 14, Schritte 1410 bis 1470, zeigt den Prozeß, der vom Schritt 1160 in FIG. 11 dargestellt und die in FIG. 12 angegebenen FCGR-Regeln verwendet, ausführlicher. Im Schritt 1410 teilt das SDM 414 die Datensätze der aktuellen Konsistenzgruppe in zwei Kategorien ein. Eine erste Kategorie enthält E/A- Reihenfolgen, die an denselben Sekundär-DASD-Datenträger übertragen werden, und eine zweite Kategorie enthält E/A- Reihenfolgen derjenigen Datensätze in der ersten Kategorie, die an dieselbe CCHH übertragen werden (d.h. Datensätze, die auf dieselbe DASD-Spur aktualisiert werden).
- Nachdem die Datensätze der aktuellen Konsistenzgruppe in Kategorien eingeteilt worden sind, bringt der Schritt 1420 die Anwendungs-E/A-SCHREIB-Operationen und die E/A-SCHREIB- Operationen des SDM 414 mit der Architektur der Sekundär-DASDs 416, beispielsweise mit den FCGR-Regeln der ECKD-Architektur (siehe FIG. 12) in Übereinstimmung, um die Plazierung der Daten auf einer Spur und die Spur-/Datensatzadressierung festzustellen. Im Schritt 1430 gruppiert das SDM 414 die E/A-SCHREIB- Operationen der Sekundär-DASD auf dieselben Datenträger in einzelne E/A-CCW-Ketten. Der Schritt 1440 schließt das Bewegen der Magnetkopf-Platteneinheit (HDA) einer jeden Sekundär-DASD 416 gemäß Suchargumenten und bestimmten Satzdaten (CKD-Feldern) für die aktuellen Schreiboperationen der Sekundär-DASD 416 ein.
- Der Schritt 1450 vergleicht die LESEDATENSATZGRUPPENPUFFER eins und zwei auf Datensätze, welche. die zweiten Kategorien bilden (es gibt typischerweise eine Vielzahl von zweiten Kategorien, eine für jeden spurempfangenden Datensatz), wobei er die FCGR- Regeln von FIG. 12 zur Feststellung, ob eine nachfolgende Schreiboperation eine vorherige Schreiboperation oder ein DASD- Suchargument ungültig macht (einen Datensatz, der nun gelöscht ist, in Abschnitte unterteilt usw.) verwendet. Die Befolgung der FCGR-Regeln gewährleistet, daß das SDM 414 im Falle eines Fehlers eine ganze Konsistenzgruppe zurückschreiben kann, ohne erneut Datensatzaktualisierungen von der Primärstation 421 zu empfangen. Nachdem das SDM 414 die aktuelle Konsistenzgruppe auf die Sekundär-DASD 416 angewandt hat, aktualisiert der Schritt 1460 die Zustandstabelle (FIG. 7) und das Hauptjournal (FIG. 8).
- Der Fernkopierprozeß wird in Echtzeit fortgesetzt, während der Schritt 1470 eine nächste Konsistenzgruppe (welche zur aktuellen Konsistenzgruppe wird) abruft und die Verarbeitung an den Schritt 1410 zurückgibt. Der Fernkopierprozeß wird angehalten, wenn die Kommunikation zwischen der Primärstation 421 und der Sekundärstation 431 abbricht. Die Kommunikation kann abbrechen, wenn Datenträgerpaare vom PDM 404 aus dem Prozeß gelöscht werden, die Primärstation zerstört wird (eine Katastrophe eintritt), ein planmäßiger Abschluß durchgeführt wird oder an der Sekundärstation 431 ein bestimmter Übernahmevorgang erfolgt. Konsistenzgruppen, die an der Sekundärstation 431 in ein Journal eingetragen sind, können während einer Übernahmeoperation auf die Sekundär-DASD 416 angewandt werden. Die einzigen verlorenen Daten sind die von der Primärstation 421 erfaßten Daten, die vom SDM 414 nicht vollständig empfangen worden sind.
- Zusammenfassend kann gesagt werden, daß synchrone und asynchrone Datenfernduplizierungssysteme beschrieben wurden. Das synchrone Datenfernduplizierungssystem bietet speicherbasierende Echtzeit-Wiederherstellungsfunktionen nach einer Katastrophe, wobei das Datenfernduplizierungssystem eine Primärstation und eine Sekundärstation einschließt. Die Sekundärstation empfängt synchron Aktualisierungen der E/A-Schreiboperationen von der Primärstation zur Datenspiegelung, während sich die Sekundärstation mehrere Kilometer von der Primärstation entfernt befindet, so daß die Sekundärstation im dem Fall, daß die Primärstation durch eine Katastrophe außer Betrieb gesetzt wird, die Daten in Echtzeit zur Verfügung stellen kann. Ein Primärprozessor an der Primärstation unterstützt eine Vielzahl von Anwendungen, wobei die Vielzahl der Anwendungen die Aktualisierungen der E/A-Schreiboperationen bewirken. Eine Vielzahl von Primärspeicher-Steuereinheiten empfängt die Aktualisierungen der E/A- Schreiboperationen und bewirkt, daß diese in eine Vielzahl von Primärspeichereinheiten geschrieben werden. Ein Sekundärprozessor an der Sekundärstation ist über eine Datenübertragungsverbindung mit dem Primärprozessor verbunden, und eine Vielzahl von Sekundärspeicher-Steuereinheiten an der Sekundärstation ist mit dem Sekundärprozessor und über eine Vielzahl von Lichtwellenleiterverbindungen außerdem mit der Vielzahl der Primärspeicher-Steuereinheiten verbunden, wobei die Vielzahl der Sekundärspeicher-Steuereinheiten ein speicherbasierendes Duplexpaar bereitstellt, um die Aktualisierungen der E/A-Schreiboperationen zu spiegeln. Eine Vielzahl von Sekundärspeichereinheiten empfängt die Aktualisierungen der E/A-Schreiboperationen von der Vielzahl der Sekundärspeicher-Steuereinheiten in der Reihenfolge, in der sie von der Vielzahl der Primärspeicher- Steuereinheiten empfangen worden sind.
- Ein E/A-Fehlerbehebungsprogramm im Primärprozessor kommuniziert mit der Vielzahl der Sekundärspeicher-Steuereinheiten, wobei das E/A-Fehlerbehebungsprogramm die Steuerung von der Vielzahl der Anwendungen in dem Fall übernimmt, daß ein ausgefallenes Duplexpaar auftritt, wobei das E/A-Fehlerbehebungsprogramm dem Primärprozessor und der Vielzahl der Sekundärspeicher- Steuereinheiten eine Nachricht über ein ausgefallenes Duplexpaar mit Informationen über die Art des ausgefallenen Duplexpaares zukommen läßt, während es eine Fehlerbehebung ermöglicht. Das E/A-Fehlerbehebungsprogramm verhindert weitere Aktualisierungen von E/A-Schreiboperationen, während es dem Pnmärprozessor und dem Sekundärprozessor in dem Fall, daß die Fehlerbehebung erfolglos verlief, einen Status übermittelt.
- Während die Erfindung insbesondere mit Bezug auf bevorzugte Ausführungsformen gezeigt und beschrieben wurde, versteht es sich für den Fachmann von selbst, daß verschiedene Änderungen an der Form und den Einzelheiten der Erfindung vorgenommen werden können, ohne vom Umfang der, Erfindung, wie in den beigefügten Ansprüchen definiert, abzuweichen. Beispielsweise können die Kommunikationsverbindungen zwischen dem Primär- und dem Sekundärprozessor und zwischen den Primärspeicher- und den Sekundärspeicher-Steuereinheiten variieren. Beispielsweise können die Entfernungen, welche die Primär- und die Sekundärstationen im synchronen Fernduplizierungsmodus voneinander trennen, mit verbesserten Kommunikaßionsverbindungen in zukünftigen Ausführungsformen der Erfindung zunehmen, ohne von den hier beschriebenen Lehren abzuweichen.
Claims (19)
1. Verfahren zur Bereitstellung einer synchronen
Datenfernspiegelung in einem Datenfernduplexsystem, wobei eine
Primärstation des Systems einen Primärprozessor enthält, der
mit einem Primärspeicher-Subsystem verbunden ist, wobei
der Primärprozessor darin mindestens eine Anwendung
ausführt, die Aktualisierungen der E/A-Schreiboperationen in
dem Primärspeicher-Subsystem bewirkt, wobei der
Primärprozessor des weiteren ein darin laufendes
E/A-Fehlerbehebungsprogramm (I/O ERP) hat, wobei eine
Sekundärstation des Systems einen Sekundärprozessor enthält, der
mit einem Sekundärspeicher-Subsystem verbunden ist, wobei
die Sekundärstation die Aktualisierungen der E/A-
Schreiboperationen synchron spiegelt und das
Sekundärspeicher-Subsystem mit dem 1/6 ERP kommuniziert; wobei das
Verfahren die folgenden Schritte umfaßt:
(a) Senden der Aktualisierungen der
E/A-Schreiboperationen von dem Primärspeicher-Subsystem an das
Sekundärspeicher-Subsystem;
(b) Feststellen, ob zwischen dem Primärspeicher-Subsystem
und dem Sekundärspeicher-Subsystem ein Duplexpaar
eingerichtet ist;
(c) Melden eines ausgefallenen Duplexpaares vom
Primärspeicher-Subsystem an den Primärprozessor;
(d) Übertragen der Steuerung des Primärprozessors von der
mindestens einen Anwendung an das I/O ERP, wenn ein
ausgefallenes Duplexpaar auftritt;
(e) Feststellen der Ursache für den Ausfall des
Duplexpaares; und
(f) Senden einer Nachricht über ein ausgefallenes
Duplexpaar vom I/O ERP an das Sekundärspeicher-Subsystem.
2. Verfahren wie in Anspruch 1 beansprucht, wobei das
Primärspeicher-Subsystem weiterhin Aktualisierungen schreibt,
wenn der Status des Duplexpaares festgestellt oder
wiederhergestellt worden ist.
3. Verfahren wie in Anspruch 1 oder in Anspruch 2
beansprucht, wobei der Schritt (c) einschließt, daß das
Primärspeicher-Subsystem dem Primärprozessor beim Melden
eines ausgefallenen Duplexpaares einen E/A-Status der
Kanalende-/Geräteende-/Einheitenüberprüfung meldet.
4. Verfahren wie in einem vorhergehenden Anspruch
beansprucht, wobei der Schritt (d) einschließt, daß das I/O
ERP eine Richtungs-E/A an das Primärspeicher-Subsystem
ausgibt.
5. Verfahren wie in einem vorhergehenden Anspruch
beansprucht, das des weiteren einen Schritt (g) umfaßt, um im
Falle eines ausgefallenen Duplexpaares die Fehlerbehebung
durch das I/O ERP vorzunehmen und die Datenintegrität än
der Sekundärstation aufrechtzuerhalten.
6. Verfahren wie in Anspruch 5 beansprucht, das des weiteren
einen Schritt (h) umfaßt, um die Steuerung vom I/O ERP an
die mindestens eine Anwendung zurückzugeben, nachdem die
Fehlerbehebung erfolgreich abgeschlossen worden ist.
7. Verfahren wie in Anspruch 6 beansprucht, das des weiteren
einen Schritt (i) umfaßt, um über das I/O ERP eine
Nachricht über eine fehlgeschlagene synchrone Fernkopie an die
Sekundärstation zu senden, wenn die Fehlerbehebung nicht
erfolgreich abgeschlossen werden konnte.
8. Verfahren wie in Anspruch 7 beansprucht, wobei der Schritt
(i) des weiteren nachfolgende E/A-Schreiboperationen in
das Primärspeicher-Subsystem verhindert.
9. Verfahren wie in einem der Ansprüche 5 bis 8 beansprucht,
wobei die Kommunikation zur Fehlerbehebung zwischen dem
Primärprozessor und dem Sekundärprozessor erfolgt.
10. Verfahren wie in einem der Ansprüche 5 bis 8 beansprucht,
wobei die Kommunikation zur Fehlerbehebung zwischen dem
Primärspeicher-Subsystem und dem Sekundärspeicher-
Subsystem erfolgt.
11. Datenfernduplexsystem mit einer Primärstation und einer
entfernten Sekundärstation, das folgendes umfaßt:
einen Primärprozessor (1) an der Primärstation, der
mindestens eine Anwendung, die Aktualisierungen der E/A-
Schreiboperationen erzeügt, ausführt;
ein Primärspeicher-Subsystem (3, 4), um die
Aktualisierungen der E/A-Schreiboperationen zu empfangen und zu
speichern;
einen Sekundärprozessor (5) an der Sekundärstation, der
über eine Datenübertragungsverbindung (11) mit dem
Primärprozessor verbunden ist;
ein Sekundärspeicher-Subsystem (6, 7) an der
Sekundärstation, das mit dem Sekundärprozessor und des weiteren über
Kommunikationsverbindungen (8) mit dem Primärspeicher-
Subsysten verbunden ist, wobei das Sekundärspeicher-
Subsystem ein auf dem Speicher basierendes Duplexpaar zur
Sicherung der Aktualisierungen der E/A-Schreiboperationen
bereitstellt, wobei die Aktualisierungen der E/A-
Schreiboperationen in der bestimmten sychronen
Reihenfolge, in der sie empfangen werden, in das Sekundärspeicher-
Subsystem geschrieben werden; und
ein Fehlerbehebungsmittel, das dem Primärprozessor
zugeordnet und mit dem Sekundärspeicher-Subsystem verbunden
ist, um im Falle eines ausgefallenen Duplexpaares eine
Fehlerbehebung zu ermöglichen.
12. Datenfernduplexsystem wie in Anspruch 11 beansprucht,
wobei das Fehlerbehebungsmittel einen ausgefallenen
Duplexbetrieb sowohl dem Primärprozessor als auch der
Sekundärstation mitteilt.
13. Datenfernduplexsystem wie in Anspruch 11 oder in Anspruch
12 beansprucht, wobei das Fehlerbehebungsmittel
betriebsbereit ist, um die Anwendung, die auf dem Primärprozessor
ausgeführt wird, zum Stoppen zu bringen, während es die
Ursache für den Ausfall des Duplexpaares ermittelt.
14. Datenfernduplexsystem wie in einem der Ansprüche 11 bis 13
beansprucht, wobei das Fehlerbehebungsmittel
betriebsbereit ist, um eine Richtungs-E/A an das Primärspeicher-
Subsystem auszugeben.
15. Datenfernduplexsystem wie in Anspruch 14 beansprucht,
wobei das Fehlerbehebungsmittel die Steuerung an die
Anwendung,
die auf dem Primärprozessor ausgeführt wird,
zurückgibt, nachdem das Fehlerbehebungsmittel die Fehlerbehebung
abgeschlossen hat und der Duplexbetrieb wieder aufgenommen
wurde.
16. Datenfernduplexsystem wie in Anspruch 15 beansprucht,
wobei das Fehlerbehebungsmittel weitere Aktualisierungen der
E/A-Schreiboperationen in dem Primärspeicher- und dem
Sekundärspeicher-Subsystem verhindert, wenn das
Fehlerbehebungsmittel die Fehlerbehebung nicht erfolgreich
abschließen kann.
17. Datenfernduplexsystem wie in einem der Ansprüche 11 bis 16
beansprucht, das des weiteren folgendes umfaßt:
eine Primärkonsole (18), die mit dem Primärprozessor
verbunden ist, um die Fehlernachrichten von dem
Fehlerbehebungsmitteb zu empfangen; und
eine Sekundärkonsole (19), die mit dem Sekundärprozessor
verbunden ist, um die Fehlernachrichten von dem
Fehlerbehebungsmittel zu empfangen.
.
18. Datenfernduplexsystem wie in einem der Ansprüche 11 bis 17
beansprucht, wobei das Primärspeicher- und das
Sekundärspeicher-Sübsystem jeweils eine Vielzahl von
Speichersteuereinheiten enthalten.
19. Datenfernduplexsystem wie in einem der Ansprüche 11 bis 18
beansprucht, wobei die Kommunikationsverbindung eine
Vielzahl von ESCON-Verbindungen (ESCON = Enterprise Systems
Connection) enthält.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US08/199,448 US5615329A (en) | 1994-02-22 | 1994-02-22 | Remote data duplexing |
Publications (2)
Publication Number | Publication Date |
---|---|
DE69502125D1 DE69502125D1 (de) | 1998-05-28 |
DE69502125T2 true DE69502125T2 (de) | 1998-11-19 |
Family
ID=22737546
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE69502125T Expired - Lifetime DE69502125T2 (de) | 1994-02-22 | 1995-02-07 | Synchrone Datenfernduplizierung |
Country Status (4)
Country | Link |
---|---|
US (1) | US5615329A (de) |
EP (1) | EP0671686B1 (de) |
JP (1) | JPH07239799A (de) |
DE (1) | DE69502125T2 (de) |
Families Citing this family (137)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5544347A (en) | 1990-09-24 | 1996-08-06 | Emc Corporation | Data storage system controlled remote data mirroring with respectively maintained data indices |
US5680580A (en) * | 1995-02-28 | 1997-10-21 | International Business Machines Corporation | Remote copy system for setting request interconnect bit in each adapter within storage controller and initiating request connect frame in response to the setting bit |
JPH0926892A (ja) * | 1995-04-27 | 1997-01-28 | Tandem Comput Inc | 遠隔的に複製されかつ動的に再構成可能なメモリを有するコンピュータシステム |
US5720029A (en) * | 1995-07-25 | 1998-02-17 | International Business Machines Corporation | Asynchronously shadowing record updates in a remote copy session using track arrays |
US5961656A (en) * | 1995-10-31 | 1999-10-05 | Sun Microsystems, Inc. | Method and apparatus for testing memory devices under load |
US6304980B1 (en) | 1996-03-13 | 2001-10-16 | International Business Machines Corporation | Peer-to-peer backup system with failure-triggered device switching honoring reservation of primary device |
US5870537A (en) * | 1996-03-13 | 1999-02-09 | International Business Machines Corporation | Concurrent switch to shadowed device for storage controller and device errors |
US5892969A (en) * | 1996-03-15 | 1999-04-06 | Adaptec, Inc. | Method for concurrently executing a configured string of concurrent I/O command blocks within a chain to perform a raid 5 I/O operation |
US5889935A (en) * | 1996-05-28 | 1999-03-30 | Emc Corporation | Disaster control features for remote data mirroring |
US6052797A (en) * | 1996-05-28 | 2000-04-18 | Emc Corporation | Remotely mirrored data storage system with a count indicative of data consistency |
US5781912A (en) * | 1996-12-19 | 1998-07-14 | Oracle Corporation | Recoverable data replication between source site and destination site without distributed transactions |
US6038677A (en) * | 1997-03-31 | 2000-03-14 | International Business Machines Corporation | Automatic resource group formation and maintenance in a high availability cluster configuration |
US6578120B1 (en) * | 1997-06-24 | 2003-06-10 | International Business Machines Corporation | Synchronization and resynchronization of loosely-coupled copy operations between a primary and a remote secondary DASD volume under concurrent updating |
US6571324B1 (en) * | 1997-06-26 | 2003-05-27 | Hewlett-Packard Development Company, L.P. | Warmswap of failed memory modules and data reconstruction in a mirrored writeback cache system |
US6070251A (en) * | 1997-06-26 | 2000-05-30 | Sun Microsystems, Inc. | Method and apparatus for high availability and caching data storage devices |
JP3414218B2 (ja) | 1997-09-12 | 2003-06-09 | 株式会社日立製作所 | 記憶制御装置 |
US6988176B2 (en) * | 1997-09-12 | 2006-01-17 | Hitachi, Ltd. | Method and apparatus for data duplexing in storage unit system |
US6665781B2 (en) * | 2000-10-17 | 2003-12-16 | Hitachi, Ltd. | Method and apparatus for data duplexing in storage unit system |
US6105078A (en) * | 1997-12-18 | 2000-08-15 | International Business Machines Corporation | Extended remote copying system for reporting both active and idle conditions wherein the idle condition indicates no updates to the system for a predetermined time period |
US6128630A (en) * | 1997-12-18 | 2000-10-03 | International Business Machines Corporation | Journal space release for log-structured storage systems |
US6035347A (en) * | 1997-12-19 | 2000-03-07 | International Business Machines Corporation | Secure store implementation on common platform storage subsystem (CPSS) by storing write data in non-volatile buffer |
US6052758A (en) * | 1997-12-22 | 2000-04-18 | International Business Machines Corporation | Interface error detection and isolation in a direct access storage device DASD system |
US6073221A (en) * | 1998-01-05 | 2000-06-06 | International Business Machines Corporation | Synchronization of shared data stores through use of non-empty track copy procedure |
JPH11242566A (ja) * | 1998-02-26 | 1999-09-07 | Hitachi Ltd | 多重化データ記憶システム |
US6065018A (en) * | 1998-03-04 | 2000-05-16 | International Business Machines Corporation | Synchronizing recovery log having time stamp to a remote site for disaster recovery of a primary database having related hierarchial and relational databases |
US6289357B1 (en) * | 1998-04-24 | 2001-09-11 | Platinum Technology Ip, Inc. | Method of automatically synchronizing mirrored database objects |
US6178521B1 (en) * | 1998-05-22 | 2001-01-23 | Compaq Computer Corporation | Method and apparatus for disaster tolerant computer system using cascaded storage controllers |
DE19831773A1 (de) * | 1998-07-15 | 2000-01-20 | Axel Pfeiffer | Verfahren und System zur Datensicherung |
US6237008B1 (en) | 1998-07-20 | 2001-05-22 | International Business Machines Corporation | System and method for enabling pair-pair remote copy storage volumes to mirror data in another storage volume |
US6253295B1 (en) | 1998-07-20 | 2001-06-26 | International Business Machines Corporation | System and method for enabling pair-pair remote copy storage volumes to mirror data in another pair of storage volumes |
US6260124B1 (en) | 1998-08-13 | 2001-07-10 | International Business Machines Corporation | System and method for dynamically resynchronizing backup data |
US6327644B1 (en) | 1998-08-18 | 2001-12-04 | International Business Machines Corporation | Method and system for managing data in cache |
US6381677B1 (en) | 1998-08-19 | 2002-04-30 | International Business Machines Corporation | Method and system for staging data into cache |
US6141731A (en) * | 1998-08-19 | 2000-10-31 | International Business Machines Corporation | Method and system for managing data in cache using multiple data structures |
US6308284B1 (en) * | 1998-08-28 | 2001-10-23 | Emc Corporation | Method and apparatus for maintaining data coherency |
US6301643B1 (en) | 1998-09-03 | 2001-10-09 | International Business Machines Corporation | Multi-environment data consistency |
JP2000099277A (ja) * | 1998-09-18 | 2000-04-07 | Fujitsu Ltd | ファイルユニット間のリモート転送方法 |
US6339799B1 (en) | 1998-10-29 | 2002-01-15 | International Business Machines Corporation | Method of repositioning an I/O device to a predetermined position to retry a program without knowledge of which part of the program caused the retry |
US6336194B1 (en) * | 1998-10-29 | 2002-01-01 | International Business Machines Corporation | Program products for repositioning an input/output device without knowledge of current positioning of the device |
US6343335B1 (en) | 1998-10-29 | 2002-01-29 | International Business Machines Corporation | System for repositioning an I/O device to a predetermined position to retry a program without knowledge of which part of the program caused the retry |
US6751714B2 (en) | 1999-02-02 | 2004-06-15 | Storage Technology Corporation | Systems and methods for relocation of compressed data tracks |
US6351792B1 (en) | 1999-02-02 | 2002-02-26 | Storage Technology Corporation | Selective remote storage copy system and methods |
US6513097B1 (en) * | 1999-03-03 | 2003-01-28 | International Business Machines Corporation | Method and system for maintaining information about modified data in cache in a storage system for use during a system failure |
EP1039387B1 (de) | 1999-03-19 | 2010-05-19 | Hitachi, Ltd. | System um Daten zu duplizieren |
JP2000305856A (ja) | 1999-04-26 | 2000-11-02 | Hitachi Ltd | ディスクサブシステム及びこれらの統合システム |
US6539462B1 (en) | 1999-07-12 | 2003-03-25 | Hitachi Data Systems Corporation | Remote data copy using a prospective suspend command |
US6463501B1 (en) | 1999-10-21 | 2002-10-08 | International Business Machines Corporation | Method, system and program for maintaining data consistency among updates across groups of storage areas using update times |
US6792557B1 (en) * | 1999-10-22 | 2004-09-14 | Hitachi, Ltd. | Storage area network system |
US6684306B1 (en) * | 1999-12-16 | 2004-01-27 | Hitachi, Ltd. | Data backup in presence of pending hazard |
US6938256B2 (en) * | 2000-01-18 | 2005-08-30 | Galactic Computing Corporation | System for balance distribution of requests across multiple servers using dynamic metrics |
JP4434407B2 (ja) * | 2000-01-28 | 2010-03-17 | 株式会社日立製作所 | サブシステム及びこれらの統合システム |
US6477628B1 (en) | 2000-01-28 | 2002-11-05 | International Business Machines Corporation | Backup copy achieving improved efficiency by waiting until rewind/unload command for bulk data copy |
US6499112B1 (en) * | 2000-03-28 | 2002-12-24 | Storage Technology Corporation | Automatic stand alone recovery for peer to peer remote copy (PPRC) operations |
JP4044717B2 (ja) | 2000-03-31 | 2008-02-06 | 株式会社日立製作所 | 記憶サブシステムのデータ二重化方法及びデータ二重化システム |
US6484187B1 (en) | 2000-04-28 | 2002-11-19 | International Business Machines Corporation | Coordinating remote copy status changes across multiple logical sessions to maintain consistency |
JP3705731B2 (ja) * | 2000-06-05 | 2005-10-12 | 富士通株式会社 | 入出力制御装置 |
US6859824B1 (en) | 2000-06-30 | 2005-02-22 | Hitachi, Ltd. | Storage system connected to a data network with data integrity |
US6816905B1 (en) | 2000-11-10 | 2004-11-09 | Galactic Computing Corporation Bvi/Bc | Method and system for providing dynamic hosted service management across disparate accounts/sites |
US7844513B2 (en) | 2000-07-17 | 2010-11-30 | Galactic Computing Corporation Bvi/Bc | Method and system for operating a commissioned e-commerce service prover |
US8538843B2 (en) | 2000-07-17 | 2013-09-17 | Galactic Computing Corporation Bvi/Bc | Method and system for operating an E-commerce service provider |
US6505307B1 (en) * | 2000-09-06 | 2003-01-07 | Unisys Corporation | Method and apparatus for ensuring data integrity |
US6823336B1 (en) | 2000-09-26 | 2004-11-23 | Emc Corporation | Data storage system and method for uninterrupted read-only access to a consistent dataset by one host processor concurrent with read-write access by another host processor |
US7310743B1 (en) * | 2001-06-12 | 2007-12-18 | Emc Corporation | Data recovery method and apparatus |
US6742138B1 (en) | 2001-06-12 | 2004-05-25 | Emc Corporation | Data recovery method and apparatus |
GB0118665D0 (en) | 2001-07-31 | 2001-09-19 | Hewlett Packard Co | Remote monitoring of computer devices |
US6667022B2 (en) * | 2001-08-14 | 2003-12-23 | General Electric Co. | Process for separating synthesis gas into fuel cell quality hydrogen and sequestration ready carbon dioxide |
EP1249744A1 (de) * | 2001-08-23 | 2002-10-16 | Siemens Aktiengesellschaft | Verfahren zum Herstellen konsistenter Speicherinhalte in redundanten Systemen |
US6910098B2 (en) * | 2001-10-16 | 2005-06-21 | Emc Corporation | Method and apparatus for maintaining data coherency |
JP2003223287A (ja) * | 2001-11-22 | 2003-08-08 | Toshiba Corp | 記憶装置、この記憶装置のバックアップ方法及びプログラム |
JP2003167683A (ja) * | 2001-11-30 | 2003-06-13 | Hitachi Ltd | 情報記憶システム及びその制御方法 |
US6910153B2 (en) * | 2002-01-03 | 2005-06-21 | International Business Machines Corporation | Method and system for recovery from a coupling facility failure without preallocating space |
US7546364B2 (en) * | 2002-05-16 | 2009-06-09 | Emc Corporation | Replication of remote copy data for internet protocol (IP) transmission |
US7315960B2 (en) * | 2002-05-31 | 2008-01-01 | Hitachi, Ltd. | Storage area network system |
US7546482B2 (en) * | 2002-10-28 | 2009-06-09 | Emc Corporation | Method and apparatus for monitoring the storage of data in a computer system |
FI20022297A (fi) * | 2002-12-31 | 2004-07-01 | Nokia Corp | Menetelmä muistikomponenttien sisältöjen vertailemiseksi |
US7024584B2 (en) | 2003-01-09 | 2006-04-04 | International Business Machines Corporation | Method, system, and article of manufacture for maintaining data integrity |
US7089446B2 (en) * | 2003-01-09 | 2006-08-08 | International Business Machines Corporation | Method, system, and article of manufacture for creating a consistent copy |
US7003706B2 (en) * | 2003-05-27 | 2006-02-21 | International Business Machines Corporation | Method, system, and program for improved device blocking and suspension |
US7047390B2 (en) * | 2003-06-17 | 2006-05-16 | International Business Machines Corporation | Method, system, and program for managing a relationship between one target volume and one source volume |
US7043665B2 (en) | 2003-06-18 | 2006-05-09 | International Business Machines Corporation | Method, system, and program for handling a failover to a remote storage location |
US7467168B2 (en) * | 2003-06-18 | 2008-12-16 | International Business Machines Corporation | Method for mirroring data at storage locations |
US7567991B2 (en) * | 2003-06-25 | 2009-07-28 | Emc Corporation | Replication of snapshot using a file system copy differential |
US7275177B2 (en) * | 2003-06-25 | 2007-09-25 | Emc Corporation | Data recovery with internet protocol replication with or without full resync |
JP2005062928A (ja) * | 2003-08-11 | 2005-03-10 | Hitachi Ltd | 複数のサイトにリモートコピーを行うシステム |
US7127636B2 (en) * | 2003-09-08 | 2006-10-24 | International Business Machines Corporation | Autonomic recovery of PPRC errors detected by PPRC peer |
US20050071380A1 (en) * | 2003-09-29 | 2005-03-31 | Micka William F. | Apparatus and method to coordinate multiple data storage and retrieval systems |
US7133983B2 (en) | 2003-09-29 | 2006-11-07 | International Business Machines Corporation | Method, system, and program for asynchronous copy |
JP4307202B2 (ja) * | 2003-09-29 | 2009-08-05 | 株式会社日立製作所 | 記憶システム及び記憶制御装置 |
US7133986B2 (en) * | 2003-09-29 | 2006-11-07 | International Business Machines Corporation | Method, system, and program for forming a consistency group |
JP4285202B2 (ja) * | 2003-10-31 | 2009-06-24 | 株式会社日立製作所 | 複合計算機システムおよび複合i/oシステム |
US7054883B2 (en) | 2003-12-01 | 2006-05-30 | Emc Corporation | Virtual ordered writes for multiple storage devices |
JP2007513424A (ja) * | 2003-12-01 | 2007-05-24 | イーエムシー コーポレイション | 複数の記憶装置に対する仮想の順序付けられた書き込み |
JP4319017B2 (ja) * | 2003-12-02 | 2009-08-26 | 株式会社日立製作所 | ストレージシステムの制御方法、ストレージシステム、及び記憶装置 |
JP4075790B2 (ja) * | 2003-12-08 | 2008-04-16 | 株式会社日立製作所 | 複合計算機システムおよび複合i/oシステム |
JP3977803B2 (ja) | 2003-12-17 | 2007-09-19 | 株式会社日立製作所 | バックアップシステム及び方法並びにプログラム |
US7415628B2 (en) * | 2004-01-09 | 2008-08-19 | International Business Machines Corporation | Restricting the execution of copy services commands |
US7475099B2 (en) * | 2004-02-25 | 2009-01-06 | International Business Machines Corporation | Predictive algorithm for load balancing data transfers across components |
US7206911B2 (en) * | 2004-02-25 | 2007-04-17 | International Business Machines Corporation | Method, system, and program for a system architecture for an arbitrary number of backup components |
US7857701B2 (en) | 2004-03-12 | 2010-12-28 | Microsoft Corporation | Silent sign-in for offline games |
JP4382602B2 (ja) * | 2004-04-23 | 2009-12-16 | 株式会社日立製作所 | リモートコピーシステム |
US7254685B1 (en) * | 2004-06-15 | 2007-08-07 | Emc Corporation | Method for maintaining high performance while preserving relative write I/O ordering for a semi-synchronous remote replication solution |
JP4477950B2 (ja) | 2004-07-07 | 2010-06-09 | 株式会社日立製作所 | リモートコピーシステム及び記憶装置システム |
JP4915775B2 (ja) | 2006-03-28 | 2012-04-11 | 株式会社日立製作所 | ストレージシステム及びストレージシステムのリモートコピー制御方法 |
US7330861B2 (en) | 2004-09-10 | 2008-02-12 | Hitachi, Ltd. | Remote copying system and method of controlling remote copying |
US7647357B2 (en) * | 2004-11-12 | 2010-01-12 | International Business Machines Corporation | Data transfer management in consistency group formation |
JP2006236019A (ja) * | 2005-02-25 | 2006-09-07 | Hitachi Ltd | データコピー方式の切替方法 |
US20060212744A1 (en) * | 2005-03-15 | 2006-09-21 | International Business Machines Corporation | Methods, systems, and storage medium for data recovery |
JP4699091B2 (ja) * | 2005-05-31 | 2011-06-08 | 株式会社日立製作所 | ディザスタリカバリ方法およびシステム |
US7933987B2 (en) * | 2005-09-30 | 2011-04-26 | Lockheed Martin Corporation | Application of virtual servers to high availability and disaster recovery solutions |
US7660955B2 (en) * | 2005-12-01 | 2010-02-09 | International Business Machines Corporation | Node polling in consistency group formation |
US7571292B2 (en) | 2006-03-21 | 2009-08-04 | International Business Machines Corporation | Producing tertiary instant virtual copies without volume suspension |
US7571268B2 (en) * | 2006-04-06 | 2009-08-04 | International Business Machines Corporation | Consistent updates across storage subsystems coupled to a plurality of primary and secondary units at selected times |
TWI307035B (en) * | 2006-04-10 | 2009-03-01 | Ind Tech Res Inst | Method and system for backing up remote mirror data on internet |
JP2007048319A (ja) * | 2006-11-09 | 2007-02-22 | Hitachi Ltd | 複合計算機システムおよび複合i/oシステム |
JP2008250695A (ja) * | 2007-03-30 | 2008-10-16 | Nec Corp | ディスクアレイコントローラ及びこれを備えたディスクアレイシステム |
US7610459B2 (en) * | 2007-04-11 | 2009-10-27 | International Business Machines Corporation | Maintain owning application information of data for a data storage system |
JP4475598B2 (ja) * | 2007-06-26 | 2010-06-09 | 株式会社日立製作所 | ストレージシステム及びストレージシステムの制御方法 |
JP4480756B2 (ja) * | 2007-12-05 | 2010-06-16 | 富士通株式会社 | ストレージ管理装置、ストレージシステム制御装置、ストレージ管理プログラム、データ記憶システムおよびデータ記憶方法 |
JP5593718B2 (ja) * | 2010-02-05 | 2014-09-24 | 富士通株式会社 | ストレージ装置、ストレージ装置制御プログラムおよびストレージ装置制御方法 |
US8484503B2 (en) * | 2010-08-18 | 2013-07-09 | International Business Machines Corporation | Disaster recovery replication throttling in deduplication systems |
US9015519B2 (en) * | 2012-01-31 | 2015-04-21 | Symantec Corporation | Method and system for cluster wide adaptive I/O scheduling by a multipathing driver |
US20130339784A1 (en) * | 2012-06-15 | 2013-12-19 | International Business Machines Corporation | Error recovery in redundant storage systems |
US9304902B2 (en) | 2013-03-15 | 2016-04-05 | Saratoga Speed, Inc. | Network storage system using flash storage |
US9578599B2 (en) * | 2013-04-25 | 2017-02-21 | Honeywell International Inc. | System and method for optimizing battery life in wireless multi-hop communication systems |
US9509604B1 (en) | 2013-12-31 | 2016-11-29 | Sanmina Corporation | Method of configuring a system for flow based services for flash storage and associated information structure |
JP2015142344A (ja) * | 2014-01-30 | 2015-08-03 | 日本電気株式会社 | 通信システム、制御装置、通信ノード、制御情報の設定方法及びプログラム |
US9608936B1 (en) | 2014-07-03 | 2017-03-28 | Sanmina Corporation | Network system with offload services for flash storage |
US10296429B2 (en) * | 2014-07-25 | 2019-05-21 | Hitachi, Ltd. | Storage device |
US9672180B1 (en) * | 2014-08-06 | 2017-06-06 | Sanmina Corporation | Cache memory management system and method |
US9715428B1 (en) | 2014-09-24 | 2017-07-25 | Sanmina Corporation | System and method for cache data recovery |
US9471409B2 (en) * | 2015-01-24 | 2016-10-18 | International Business Machines Corporation | Processing of PDSE extended sharing violations among sysplexes with a shared DASD |
US10585764B2 (en) * | 2017-10-02 | 2020-03-10 | International Business Machines Corporation | Data storage system comprising primary and secondary storage systems |
US11100135B2 (en) | 2018-07-18 | 2021-08-24 | EMC IP Holding Company LLC | Synchronous replication in a storage system |
US10802935B2 (en) * | 2018-07-23 | 2020-10-13 | EMC IP Holding Company LLC | Method to support synchronous replication failover |
US11604590B2 (en) * | 2018-09-06 | 2023-03-14 | International Business Machines Corporation | Metadata track entry sorting in a data storage system |
US11068191B2 (en) | 2019-01-23 | 2021-07-20 | EMC IP Holding Company LLC | Adaptive replication modes in a storage system |
US11334455B2 (en) * | 2019-09-28 | 2022-05-17 | Atlassian Pty Ltd. | Systems and methods for repairing a data store of a mirror node |
Family Cites Families (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3623014A (en) * | 1969-08-25 | 1971-11-23 | Control Data Corp | Computer communications system |
JPS603225B2 (ja) * | 1979-12-03 | 1985-01-26 | 富士通株式会社 | 主記憶装置情報修復方式 |
JPS58175064A (ja) * | 1982-04-07 | 1983-10-14 | Fujitsu Ltd | 多重化ボリユ−ム処理方式 |
US4701845A (en) * | 1984-10-25 | 1987-10-20 | Unisys Corporation | User interface processor for computer network with maintenance and programmable interrupt capability |
US5051887A (en) * | 1987-08-25 | 1991-09-24 | International Business Machines Corporation | Maintaining duplex-paired storage devices during gap processing using of a dual copy function |
US4958273A (en) * | 1987-08-26 | 1990-09-18 | International Business Machines Corporation | Multiprocessor system architecture with high availability |
JPH02284247A (ja) * | 1989-04-26 | 1990-11-21 | Hitachi Ltd | 共用メモリのアクセス切り替え方式およびそれを用いた制御システム |
JPH03241441A (ja) * | 1990-02-20 | 1991-10-28 | Nec Corp | ローカルファイルデュプレックス装置 |
US5155845A (en) * | 1990-06-15 | 1992-10-13 | Storage Technology Corporation | Data storage system for providing redundant copies of data on different disk drives |
US5212784A (en) * | 1990-10-22 | 1993-05-18 | Delphi Data, A Division Of Sparks Industries, Inc. | Automated concurrent data backup system |
JPH04299435A (ja) * | 1991-03-27 | 1992-10-22 | Nec Corp | データベース等価方式 |
JPH05204739A (ja) * | 1992-01-29 | 1993-08-13 | Nec Corp | 重複型分散データベースの同期方式 |
JPH05235912A (ja) * | 1992-02-21 | 1993-09-10 | Fujitsu Ltd | 二重化処理装置 |
US5241669A (en) * | 1992-04-20 | 1993-08-31 | International Business Machines Corporation | Method and system for sidefile status polling in a time zero backup copy process |
US5241670A (en) * | 1992-04-20 | 1993-08-31 | International Business Machines Corporation | Method and system for automated backup copy ordering in a time zero backup copy session |
US5241668A (en) * | 1992-04-20 | 1993-08-31 | International Business Machines Corporation | Method and system for automated termination and resumption in a time zero backup copy process |
JPH05334161A (ja) * | 1992-05-28 | 1993-12-17 | Matsushita Electric Ind Co Ltd | マルチサーバシステム |
US5530855A (en) * | 1992-10-13 | 1996-06-25 | International Business Machines Corporation | Replicating a database by the sequential application of hierarchically sorted log records |
US5446871A (en) * | 1993-03-23 | 1995-08-29 | International Business Machines Corporation | Method and arrangement for multi-system remote data duplexing and recovery |
US5491788A (en) * | 1993-09-10 | 1996-02-13 | Compaq Computer Corp. | Method of booting a multiprocessor computer where execution is transferring from a first processor to a second processor based on the first processor having had a critical error |
US5504861A (en) * | 1994-02-22 | 1996-04-02 | International Business Machines Corporation | Remote data duplexing |
-
1994
- 1994-02-22 US US08/199,448 patent/US5615329A/en not_active Expired - Lifetime
- 1994-12-05 JP JP6301109A patent/JPH07239799A/ja active Pending
-
1995
- 1995-02-07 EP EP95300752A patent/EP0671686B1/de not_active Expired - Lifetime
- 1995-02-07 DE DE69502125T patent/DE69502125T2/de not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
DE69502125D1 (de) | 1998-05-28 |
EP0671686B1 (de) | 1998-04-22 |
US5615329A (en) | 1997-03-25 |
JPH07239799A (ja) | 1995-09-12 |
EP0671686A1 (de) | 1995-09-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE69502125T2 (de) | Synchrone Datenfernduplizierung | |
DE69502651T2 (de) | Asynchrone Datenfernduplizierung | |
DE602004005344T2 (de) | Verfahren, system und programm zur handhabung eines failover zu einem fernspeicherort | |
DE69410671T2 (de) | Datensicherung in einer Datenverarbeitungsanlage | |
DE69426264T2 (de) | Datenfernkopierung | |
DE69911930T2 (de) | Hochverfügbare dateiprozessoren | |
DE60317383T2 (de) | Datenwiederherstellungsvorrichtung unter Verwendung von Journaldaten und Identifikationsinformation | |
DE69703181T2 (de) | Registrierdateioptimierung in einem Client/Server-Rechnersystem | |
DE112011100534B4 (de) | Mehrstufiger Sicherungsprozess | |
US6981114B1 (en) | Snapshot reconstruction from an existing snapshot and one or more modification logs | |
DE69311952T2 (de) | Verfahren und System zur inkrementalen Datensicherung | |
DE602004002216T2 (de) | Verfahren, system und programm für eine inkrementelle virtuelle kopie | |
DE60018872T2 (de) | System und Methode für das Löschen von Datenbank-Aktualisierungsbilddateien nach Abschluss der dazugehörigen Transaktionen | |
US8478955B1 (en) | Virtualized consistency group using more than one data protection appliance | |
DE69714344T2 (de) | Vorrichtung und Verfahren für die Verfügbarkeit und Wiedergewinnung von Dateien unter Verwendung von Sammlungen von Kopierspeicher | |
DE60112462T2 (de) | Wiederherstellung von dateisystemdaten in dateiservern mit gespiegelten dateisystemvolumen | |
DE602004011181T2 (de) | Speicherplattenanordnungsgerät | |
DE69712689T2 (de) | Prüfpunktrechnersystem | |
DE69528443T2 (de) | Betriebsverfahren einer Speicherplattenanordnung | |
US6484187B1 (en) | Coordinating remote copy status changes across multiple logical sessions to maintain consistency | |
US8977593B1 (en) | Virtualized CG | |
US8392680B1 (en) | Accessing a volume in a distributed environment | |
DE60001460T2 (de) | Datenfernkopieren unter verwendung von potentiellen aufhebungsbefehlen | |
DE69714498T2 (de) | Steuervorrichtung und Verfahren für ein RAID-Untersystem | |
DE69231873T2 (de) | Verfahren zur Synchronisierung von reservierten Bereichen in einer redundanten Speicheranordnung |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8364 | No opposition during term of opposition | ||
8320 | Willingness to grant licences declared (paragraph 23) | ||
8328 | Change in the person/name/address of the agent |
Representative=s name: DUSCHER, R., DIPL.-PHYS. DR.RER.NAT., PAT.-ANW., 7 |