[go: up one dir, main page]

DE602005000819T2 - Aufrechterhaltung der konsistenz einer fernkopie unter verwendung von virtualisierung - Google Patents

Aufrechterhaltung der konsistenz einer fernkopie unter verwendung von virtualisierung Download PDF

Info

Publication number
DE602005000819T2
DE602005000819T2 DE602005000819T DE602005000819T DE602005000819T2 DE 602005000819 T2 DE602005000819 T2 DE 602005000819T2 DE 602005000819 T DE602005000819 T DE 602005000819T DE 602005000819 T DE602005000819 T DE 602005000819T DE 602005000819 T2 DE602005000819 T2 DE 602005000819T2
Authority
DE
Germany
Prior art keywords
data
processing unit
unit
data updates
updates
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
Application number
DE602005000819T
Other languages
English (en)
Other versions
DE602005000819D1 (de
Inventor
David Shackelford
Gregory Edward Winchester Mcbride
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of DE602005000819D1 publication Critical patent/DE602005000819D1/de
Application granted granted Critical
Publication of DE602005000819T2 publication Critical patent/DE602005000819T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/16Protection against loss of memory contents
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error 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/2053Error 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/2056Error 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/2071Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring using a plurality of controllers
    • G06F11/2074Asynchronous techniques
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error 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
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error 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/2053Error 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/2056Error 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/2064Error 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
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99951File or database maintenance
    • Y10S707/99952Coherency, e.g. same view to multiple users
    • Y10S707/99953Recoverability
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99951File or database maintenance
    • Y10S707/99952Coherency, e.g. same view to multiple users
    • Y10S707/99954Version management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Liquid Developers In Electrophotography (AREA)
  • Non-Silver Salt Photosensitive Materials And Non-Silver Salt Photography (AREA)
  • Curing Cements, Concrete, And Artificial Stone (AREA)
  • Filling Or Discharging Of Gas Storage Vessels (AREA)
  • Pharmaceuticals Containing Other Organic And Inorganic Compounds (AREA)

Description

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

Claims (10)

  1. Verfahren zum Kopieren von Speicherinhalt, das Folgendes umfasst: an einer ersten Einheit (102) Empfangen von Datenaktualisierungen von einer zweiten Einheit (100); Speichern der Datenaktualisierungen an einer Vielzahl von physischen Speicherplätzen (108), die zu der ersten Einheit (102) gehören, und Erzeugen von aktuellen Datenzeigern auf mindestens einen der Vielzahl der physischen Speicherplätze, um übereinstimmende Daten zwischen der ersten Einheit (102) und der zweiten Einheit (100) zu erhalten; wobei der Schritt des Erzeugens die vor der Erzeugung der aktuellen Datenzeiger durchgeführte Ermittlung umfasst, ob die gespeicherten Datenaktualisierungen eine Konsistenzgruppe bilden; and Warten auf den Empfang einer nächsten Datenaktualisierung als Reaktion auf die gespeicherten Datenaktualisierungen, die keine Konsistenzgruppe bilden.
  2. Verfahren nach Anspruch 1, wobei die erste Einheit (102) eine sekundäre Speichersteuerung ist, die mit einem Sekundärspeicher (108) verbunden ist, und wobei die zweite Einheit (100) eine primäre Speichersteuerung ist, die mit einem Primärspeicher (106) verbunden ist, wobei die Vielzahl der physischen Speicherplätze zu dem Sekundärspeicher (108) gehören und wobei die Datenaktualisierungen an der ersten Einheit (102) asynchron empfangen werden.
  3. Verfahren nach Anspruch 1, wobei die empfangenen Daten nur einmal an der Vielzahl der physischen Speicherplätze gespeichert werden, die zu der ersten Einheit (102) gehören, wobei das Verfahren des Weiteren Folgendes umfasst: Freigeben von physischen Speicherplätzen, die keine Verknüpfung haben und zur Speicherung von späteren Datenaktualisierungen verwendet werden sollen.
  4. Verfahren nach Anspruch 1, wobei eine Anwendung Eingabe-/Ausgabeanforderungen an die zweite Einheit (100) sendet, wobei die Datenaktualisierungen Ausgabeanforderungen von der Anwendung entsprechen, und wobei die Datenaktualisierungen nur einmal an der ersten Einheit (102) gespeichert werden, wobei die erste Einheit (102) die zweite Einheit (100) beim Antworten auf die Eingabe-/Ausgabeanforderungen von der Anwendung jederzeit ersetzen kann und wobei Daten in der ersten Einheit und in der zweiten Einheit jederzeit übereinstimmen.
  5. Rechnerprogramm, das Rechnerprogrammcode umfasst, um, wenn dieser in ein Rechnersystem geladen wurde und darauf ausgeführt wird, das Rechnersystem zur Durchführung aller Schritte eines Verfahrens nach einem der Ansprüche 1 bis 4 zu veranlassen.
  6. System zum Kopieren von Speicherinhalt, das Folgendes umfasst: eine erste Verarbeitungseinheit (102), eine Vielzahl von physischen Speicherplätzen (108), die zu der ersten Verarbeitungseinheit (102) gehören; eine zweite Verarbeitungseinheit (100); Programmlogik, die Code enthält, der die erste Verarbeitungseinheit (102) zur Durchführung von Folgendem veranlassen kann: (i) an der ersten Verarbeitungseinheit (102) Empfangen von Datenaktualisierungen von der zweiten Verarbeitungseinheit (100); (ii) Speichern der Datenaktualisierungen an der Vielzahl der physischen Speicherplätze (108); und (iii) Erzeugen von aktuellen Datenzeigern auf mindestens einen der Vielzahl der physischen Speicherplätze, um übereinstimmende Daten zwischen der ersten Verarbeitungseinheit (102) und der zweiten Verarbeitungseinheit (100) zu erhalten; wobei die Programmlogik darüber hinaus die erste verarbeitungseinheit dazu veranlassen kann, Folgendes durchzuführen: vor dem Erzeugen der aktuellen Datenzeiger Feststellen, ob die gespeicherten Datenaktualisierungen eine Konsistenzgruppe bilden; und Warten auf den Empfang einer nächsten Datenaktualisierung als Reaktion darauf, dass die gespeicherten Datenaktualisierungen keine Konsistenzgruppe bilden.
  7. System nach Anspruch 6, wobei die Verarbeitungseinheit eine sekundäre Speichersteuerung (102) ist, die mit einem Sekundärspeicher (108) verbunden ist, wobei die Vielzahl der physischen Speicherplätze zu dem Sekundärspeicher (108) gehören und wobei die Datenaktualisierungen an der sekundären Speichersteuerung (102) asynchron empfangen werden.
  8. System nach Anspruch 6, wobei die empfangenen Daten nur einmal an der Vielzahl der physischen Speicherplätze gespeichert werden, die zu der ersten Verarbeitungseinheit (102) gehören, und wobei die Programmlogik darüber hinaus den Prozessor dazu veranlassen kann, Folgendes durchzuführen: Freigeben von physischen Speicherplätzen, die keine Verknüpfung haben und zur Speicherung von späteren Datenaktualisierungen verwendet werden sollen.
  9. System nach Anspruch 6, wobei die erste Verarbeitungseinheit (102) mit der zweiten Verarbeitungseinheit (100) verbunden ist, wobei eine Anwendung Eingabe-/Ausgabeanforderungen an die zweite Verarbeitungseinheit (100) sendet, wobei die Datenaktualisierungen Ausgabeanforderungen von der Anwendung entsprechen und wobei die Datenaktualisierungen nur einmal an der ersten Verarbeitungseinheit (102) gespeichert werden, wobei die erste Verarbeitungseinheit (102) die zweite Verarbeitungseinheit (100) beim Antworten auf die Eingabe-/Ausgabeanforderungen von der Anwendung jederzeit ersetzen kann und wobei Daten in der ersten Verarbeitungseinheit (102) und in der zweiten Verarbeitungseinheit (100) jederzeit übereinstimmen.
  10. System nach Anspruch 6, wobei die Programmlogik darüber hinaus die erste Verarbeitungseinheit (102) dazu veranlassen kann, Folgendes durchzuführen: vor dem Erzeugen der aktuellen Datenzeiger Feststellen, ob die gespeicherten Datenaktualisierungen eine Konsistenzgruppe bilden; und Ermitteln des mindestens einen physischen Speicherplatzes, der die Konsistenzgruppe festschreibt, wobei virtueller Speicher, der zu der ersten Verarbeitungseinheit (102) gehört, mit dem mindestens einen ermittelten physischen Speicherplatz verknüpft ist.
DE602005000819T 2004-01-09 2005-01-07 Aufrechterhaltung der konsistenz einer fernkopie unter verwendung von virtualisierung Expired - Lifetime DE602005000819T2 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US754231 1996-11-20
US10/754,231 US7478211B2 (en) 2004-01-09 2004-01-09 Maintaining consistency for remote copy using virtualization
PCT/EP2005/050065 WO2005069143A1 (en) 2004-01-09 2005-01-07 Maintaining consistency for remote copy using virtualization

Publications (2)

Publication Number Publication Date
DE602005000819D1 DE602005000819D1 (de) 2007-05-16
DE602005000819T2 true DE602005000819T2 (de) 2008-01-10

Family

ID=34739337

Family Applications (1)

Application Number Title Priority Date Filing Date
DE602005000819T Expired - Lifetime DE602005000819T2 (de) 2004-01-09 2005-01-07 Aufrechterhaltung der konsistenz einer fernkopie unter verwendung von virtualisierung

Country Status (9)

Country Link
US (2) US7478211B2 (de)
EP (1) EP1706822B1 (de)
JP (1) JP4644684B2 (de)
KR (1) KR100961739B1 (de)
CN (1) CN100422949C (de)
AT (1) ATE358848T1 (de)
DE (1) DE602005000819T2 (de)
TW (1) TWI339793B (de)
WO (1) WO2005069143A1 (de)

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005309550A (ja) 2004-04-19 2005-11-04 Hitachi Ltd リモートコピー方法及びリモートコピーシステム
US20050154786A1 (en) * 2004-01-09 2005-07-14 International Business Machines Corporation Ordering updates in remote copying of data
US7657717B1 (en) * 2004-02-02 2010-02-02 Symantec Operating Corporation Coherently sharing any form of instant snapshots separately from base volumes
JP4512386B2 (ja) 2004-03-05 2010-07-28 株式会社日立製作所 バックアップシステムおよび方法
US7765187B2 (en) * 2005-11-29 2010-07-27 Emc Corporation Replication of a consistency group of data storage objects from servers in a data network
GB0616257D0 (en) * 2006-08-16 2006-09-27 Ibm Storage management system for preserving consistency of remote copy data
JP5073348B2 (ja) * 2007-04-04 2012-11-14 株式会社日立製作所 アプリケーション管理支援システム、管理計算機、ホスト計算機、及びアプリケーション管理支援方法
US20100153612A1 (en) * 2008-12-15 2010-06-17 Lsi Corporation Transport agnostic scsi i/o referrals
US8893147B2 (en) 2012-01-13 2014-11-18 Ca, Inc. Providing a virtualized replication and high availability environment including a replication and high availability engine
US9430343B1 (en) * 2012-05-07 2016-08-30 Emc Corporation Using affinity to mediate bias in a distributed storage system
US9367394B2 (en) * 2012-12-07 2016-06-14 Netapp, Inc. Decoupled reliability groups
US20160217175A1 (en) * 2015-01-23 2016-07-28 Netapp, Inc. Techniques for asynchronous snapshot invalidation
US10191672B2 (en) * 2015-10-16 2019-01-29 Google Llc Asynchronous copying of data within memory
CN109150986A (zh) * 2018-07-27 2019-01-04 郑州云海信息技术有限公司 存储双活模式下数据的访问方法、装置及存储介质
US11836130B2 (en) * 2019-10-10 2023-12-05 Unisys Corporation Relational database blockchain accountability
US20240192980A1 (en) * 2022-12-12 2024-06-13 Netapp, Inc. Methods and Systems for Protecting and Restoring Virtual Machines

Family Cites Families (77)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US87780A (en) * 1869-03-16 Improvement in bolt-heading dies
US178162A (en) * 1876-05-30 Improvement in wrenches
US178335A (en) * 1876-06-06 Improvement in jack-spools
US120763A (en) * 1871-11-07 Improvement in ferrules
US519184A (en) * 1894-05-01 Brook
US4853843A (en) * 1987-12-18 1989-08-01 Tektronix, Inc. System for merging virtual partitions of a distributed database
US5193184A (en) 1990-06-18 1993-03-09 Storage Technology Corporation Deleted data file space release system for a dynamically mapped virtual data storage subsystem
US5893117A (en) 1990-08-17 1999-04-06 Texas Instruments Incorporated Time-stamped database transaction and version management system
US5544347A (en) * 1990-09-24 1996-08-06 Emc Corporation Data storage system controlled remote data mirroring with respectively maintained data indices
US5504899A (en) 1991-10-17 1996-04-02 Digital Equipment Corporation Guaranteeing global serializability by applying commitment ordering selectively to global transactions
US5701480A (en) 1991-10-17 1997-12-23 Digital Equipment Corporation Distributed multi-version commitment ordering protocols for guaranteeing serializability during transaction processing
CA2285096C (en) * 1991-11-12 2000-05-09 Ibm Canada Limited-Ibm Canada Limitee Logical mapping of data objects using data spaces
US5499367A (en) 1991-11-15 1996-03-12 Oracle Corporation System for database integrity with multiple logs assigned to client subsets
JPH0619785A (ja) * 1992-03-27 1994-01-28 Matsushita Electric Ind Co Ltd 分散共有仮想メモリーとその構成方法
US5555371A (en) * 1992-12-17 1996-09-10 International Business Machines Corporation Data backup copying with delayed directory updating and reduced numbers of DASD accesses at a back up site using a log structured array data storage
US5446871A (en) * 1993-03-23 1995-08-29 International Business Machines Corporation Method and arrangement for multi-system remote data duplexing and recovery
KR0128271B1 (ko) * 1994-02-22 1998-04-15 윌리암 티. 엘리스 재해회복을 위한 일관성 그룹 형성방법 및 레코드갱싱의 섀도잉 방법, 주시스템, 원격데이타 섀도잉 시스템과 비동기 원격데이타 복제 시스템
JP2894676B2 (ja) 1994-03-21 1999-05-24 インターナショナル・ビジネス・マシーンズ・コーポレイション 非同期式遠隔コピー・システム及び非同期式遠隔コピー方法
US5592618A (en) 1994-10-03 1997-01-07 International Business Machines Corporation Remote copy secondary data copy validation-audit function
US5850522A (en) 1995-02-03 1998-12-15 Dex Information Systems, Inc. System for physical storage architecture providing simultaneous access to common file by storing update data in update partitions and merging desired updates into common partition
US5682513A (en) * 1995-03-31 1997-10-28 International Business Machines Corporation Cache queue entry linking for DASD record updates
US5787476A (en) * 1995-05-05 1998-07-28 Silicon Graphics, Inc. System and method for maintaining coherency of virtual-to-physical memory translations in a multiprocessor computer
US5895499A (en) * 1995-07-03 1999-04-20 Sun Microsystems, Inc. Cross-domain data transfer using deferred page remapping
US5765171A (en) 1995-12-29 1998-06-09 Lucent Technologies Inc. Maintaining consistency of database replicas
US5852715A (en) * 1996-03-19 1998-12-22 Emc Corporation System for currently updating database by one host and reading the database by different host for the purpose of implementing decision support functions
US5806074A (en) * 1996-03-19 1998-09-08 Oracle Corporation Configurable conflict resolution in a computer implemented distributed database
US6438586B1 (en) 1996-09-30 2002-08-20 Emc Corporation File transfer utility which employs an intermediate data storage system
US5896492A (en) * 1996-10-28 1999-04-20 Sun Microsystems, Inc. Maintaining data coherency between a primary memory controller and a backup memory controller
US6067550A (en) * 1997-03-10 2000-05-23 Microsoft Corporation Database computer system with application recovery and dependency handling write cache
US6490594B1 (en) * 1997-04-04 2002-12-03 Microsoft Corporation Database computer system with application recovery and dependency handling write cache
US6032216A (en) * 1997-07-11 2000-02-29 International Business Machines Corporation Parallel file system with method using tokens for locking modes
US5924096A (en) * 1997-10-15 1999-07-13 Novell, Inc. Distributed database using indexed into tags to tracks events according to type, update cache, create virtual update log on demand
US5999931A (en) 1997-10-17 1999-12-07 Lucent Technologies Inc. Concurrency control protocols for management of replicated data items in a distributed database 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
US6085200A (en) 1997-12-23 2000-07-04 Unisys Corporation System and method for arranging database restoration data for efficient data recovery in transaction processing systems
US6131148A (en) * 1998-01-26 2000-10-10 International Business Machines Corporation Snapshot copy of a secondary volume of a PPRC pair
US6324654B1 (en) * 1998-03-30 2001-11-27 Legato Systems, Inc. Computer network remote data mirroring system
US6157991A (en) * 1998-04-01 2000-12-05 Emc Corporation Method and apparatus for asynchronously updating a mirror of a source device
US6161191A (en) * 1998-05-12 2000-12-12 Sun Microsystems, Inc. Mechanism for reliable update of virtual disk device mappings without corrupting data
US6185663B1 (en) 1998-06-15 2001-02-06 Compaq Computer Corporation Computer method and apparatus for file system block allocation with multiple redo
US6260120B1 (en) 1998-06-29 2001-07-10 Emc Corporation Storage mapping and partitioning among multiple host processors in the presence of login state changes and host controller replacement
US6148383A (en) * 1998-07-09 2000-11-14 International Business Machines Corporation Storage system employing universal timer for peer-to-peer asynchronous maintenance of consistent mirrored storage
US6321276B1 (en) * 1998-08-04 2001-11-20 Microsoft Corporation Recoverable methods and systems for processing input/output requests including virtual memory addresses
US6269382B1 (en) * 1998-08-31 2001-07-31 Microsoft Corporation Systems and methods for migration and recall of data from local and remote storage
US6301643B1 (en) 1998-09-03 2001-10-09 International Business Machines Corporation Multi-environment data consistency
US6611901B1 (en) 1999-07-02 2003-08-26 International Business Machines Corporation Method, system, and program for maintaining electronic data as of a point-in-time
US6539462B1 (en) * 1999-07-12 2003-03-25 Hitachi Data Systems Corporation Remote data copy using a prospective suspend command
US6513051B1 (en) * 1999-07-16 2003-01-28 Microsoft Corporation Method and system for backing up and restoring files stored in a single instance store
US6671705B1 (en) * 1999-08-17 2003-12-30 Emc Corporation Remote mirroring system, device, and method
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
US6438558B1 (en) 1999-12-23 2002-08-20 Ncr Corporation Replicating updates in original temporal order in parallel processing database systems
US6493727B1 (en) * 2000-02-07 2002-12-10 Hewlett-Packard Company System and method for synchronizing database in a primary device and a secondary device that are derived from a common database
US6487645B1 (en) * 2000-03-06 2002-11-26 International Business Machines Corporation Data storage subsystem with fairness-driven update blocking
US6532527B2 (en) * 2000-06-19 2003-03-11 Storage Technology Corporation Using current recovery mechanisms to implement dynamic mapping operations
US6804755B2 (en) 2000-06-19 2004-10-12 Storage Technology Corporation Apparatus and method for performing an instant copy of data based on a dynamically changeable virtual mapping scheme
US6925528B2 (en) 2000-06-20 2005-08-02 Storage Technology Corporation Floating virtualization layers
JP2002116939A (ja) * 2000-10-06 2002-04-19 Telecommunication Advancement Organization Of Japan 分散型データベースシステム
US7475199B1 (en) 2000-10-19 2009-01-06 Emc Corporation Scalable network file system
JP2002132568A (ja) * 2000-10-30 2002-05-10 Nec Corp 顧客管理システム及び顧客管理方法
WO2002056181A2 (en) 2001-01-11 2002-07-18 Force Communications Inc Z File switch and switched file system
US20020178162A1 (en) 2001-01-29 2002-11-28 Ulrich Thomas R. Integrated distributed file system with variable parity groups
US7305421B2 (en) * 2001-07-16 2007-12-04 Sap Ag Parallelized redo-only logging and recovery for highly available main memory database systems
JP4215542B2 (ja) 2002-03-19 2009-01-28 ネットワーク アプライアンス, インコーポレイテッド 2つのスナップショット間の変化を判定して宛先スナップショットに送信するシステム及び方法
KR100453228B1 (ko) * 2002-03-21 2004-10-15 한국전자통신연구원 공유 디스크 파일 시스템의 저널링 및 회복 방법
US6898609B2 (en) * 2002-05-10 2005-05-24 Douglas W. Kerwin Database scattering system
JP2003330780A (ja) * 2002-05-14 2003-11-21 Ricoh Co Ltd 文書管理プログラム及び記録媒体
US7266587B2 (en) * 2002-05-15 2007-09-04 Broadcom Corporation System having interfaces, switch, and memory bridge for CC-NUMA operation
US7739240B2 (en) 2002-12-09 2010-06-15 Hewlett-Packard Development Company, L.P. Replication and replica management in a wide area file system
US6899685B2 (en) * 2003-01-24 2005-05-31 Acueity, Inc. Biopsy device
US6898685B2 (en) * 2003-03-25 2005-05-24 Emc Corporation Ordering data writes from a local storage device to a remote storage device
US7051176B2 (en) * 2003-03-25 2006-05-23 Emc Corporation Reading data provided to a remote storage device
US7111136B2 (en) 2003-06-26 2006-09-19 Hitachi, Ltd. Method and apparatus for backup and recovery system using storage based journaling
US7278049B2 (en) * 2003-09-29 2007-10-02 International Business Machines Corporation Method, system, and program for recovery from a failure in an asynchronous data copying system
US7143122B2 (en) * 2003-10-28 2006-11-28 Pillar Data Systems, Inc. Data replication in data storage systems
US7228456B2 (en) * 2003-12-01 2007-06-05 Emc Corporation Data recovery for virtual ordered writes for multiple storage devices
US7155586B1 (en) 2003-12-30 2006-12-26 Emc Corporation Method of allowing point-in-time view of data on a disk using a map on cache disk
US20050154786A1 (en) 2004-01-09 2005-07-14 International Business Machines Corporation Ordering updates in remote copying of data

Also Published As

Publication number Publication date
TWI339793B (en) 2011-04-01
US7660958B2 (en) 2010-02-09
KR20060123460A (ko) 2006-12-01
JP4644684B2 (ja) 2011-03-02
EP1706822B1 (de) 2007-04-04
TW200532444A (en) 2005-10-01
JP2007518174A (ja) 2007-07-05
EP1706822A1 (de) 2006-10-04
CN1906594A (zh) 2007-01-31
DE602005000819D1 (de) 2007-05-16
KR100961739B1 (ko) 2010-06-07
US20050154845A1 (en) 2005-07-14
CN100422949C (zh) 2008-10-01
US7478211B2 (en) 2009-01-13
US20090055610A1 (en) 2009-02-26
WO2005069143A1 (en) 2005-07-28
ATE358848T1 (de) 2007-04-15

Similar Documents

Publication Publication Date Title
DE112020000749T5 (de) Indexerstellung für sich entwickelnde umfangreiche Datensätze in Hybriden Transaktions- und Analysenverarbeitungssystemen mit mehreren Mastern
DE602005000819T2 (de) Aufrechterhaltung der konsistenz einer fernkopie unter verwendung von virtualisierung
DE69311952T2 (de) Verfahren und System zur inkrementalen Datensicherung
DE3784190T2 (de) Eintragung eines datenbasisindex in das journal zur verbesserten rueckstellung.
DE69126067T2 (de) Verfahren und Gerät zur Verwaltung von Zustandsidentifizierern zur effizienten Wiederherstellung
DE68927142T2 (de) Verriegelungs- und Lese-Minimierung in einem segmentierten Speicherraum
DE69021957T2 (de) Verfahren und Anordnung zur Steuerung von Schattenspeichern.
DE60018872T2 (de) System und Methode für das Löschen von Datenbank-Aktualisierungsbilddateien nach Abschluss der dazugehörigen Transaktionen
DE60213867T2 (de) Vorrichtung zur verwaltung von datenreplikation
DE69528430T2 (de) Verfahren und System zum Auswählen von Daten für Migration in einem hierarchischen Datenspeichersystem mit Frequenzverteilungstabellen
DE69502651T2 (de) Asynchrone Datenfernduplizierung
DE69702734T2 (de) Verfahren zur Umbenennung oder zum Austausch von Metagerätetreibern für ein Rechnersystem mit mehreren unabhängigen Gerätetreibern
DE102016103769B4 (de) Inkrementelle Replikation eines Quellen-Datasets
DE602004007925T2 (de) Verwalten einer beziehung zwischen einem zielvolumen und einem quellenvolumen
DE602005001041T2 (de) Speicherauszugssystem
DE69112694T2 (de) Verfahren zum Betrieb eines Datenverarbeitungssystems zur Ausführung von Datenbanktransaktionen.
DE69714344T2 (de) Vorrichtung und Verfahren für die Verfügbarkeit und Wiedergewinnung von Dateien unter Verwendung von Sammlungen von Kopierspeicher
DE3779770T2 (de) Instandhaltung der verfuegbarkeit eines wiederanlauffaehigen datenbasissystems.
DE69425222T2 (de) Dynamisch ausbaubares Speichereinheitsmatrixsystem
DE602004002216T2 (de) Verfahren, system und programm für eine inkrementelle virtuelle kopie
DE69802437T2 (de) Feinkörniger übereinstimmungsmechanismus für optimistische parallelsteuerung mit verriegelungsgruppen
DE69714498T2 (de) Steuervorrichtung und Verfahren für ein RAID-Untersystem
DE69119222T2 (de) Datensicherung und Beseitigung in einem Datenverarbeitungssystem
DE69126066T2 (de) Verfahren und Gerät zur Optimierung des Logbuchaufhebungsgebrauchs
DE60313468T2 (de) Speicherdienste und -systeme

Legal Events

Date Code Title Description
8381 Inventor (new situation)

Inventor name: MCBRIDE, GREGORY, EDWARD, WINCHESTER, HAMPSHIR, GB

Inventor name: SHACKELFORD, DAVID, HAMPSHIRE SO21 2JN, GB

8364 No opposition during term of opposition
8320 Willingness to grant licences declared (paragraph 23)