DE602004002216T2 - Verfahren, system und programm für eine inkrementelle virtuelle kopie - Google Patents

Verfahren, system und programm für eine inkrementelle virtuelle kopie Download PDF

Info

Publication number
DE602004002216T2
DE602004002216T2 DE602004002216T DE602004002216T DE602004002216T2 DE 602004002216 T2 DE602004002216 T2 DE 602004002216T2 DE 602004002216 T DE602004002216 T DE 602004002216T DE 602004002216 T DE602004002216 T DE 602004002216T DE 602004002216 T2 DE602004002216 T2 DE 602004002216T2
Authority
DE
Germany
Prior art keywords
data block
source
destination
indicator
memory
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.)
Active
Application number
DE602004002216T
Other languages
English (en)
Other versions
DE602004002216D1 (de
Inventor
Warren Tucson STANLEY
Frank William Tucson MICKA
Clark Sam Tucson WERNER
Siven Tal
Andrea Gail Tucson SPEAR
Mary Theresa Tucson BROWN
Matthew Tucson SANCHEZ
Sheli Rahav
Charles Thomas Tucson JARVIS
Amiram Hayardeny
Dalit Tzafrir
Shachar Fienblit
Mayraz Rivka MATOSEVICH
Svetlana Shukevich
Ifat Nuriel
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 DE602004002216D1 publication Critical patent/DE602004002216D1/de
Application granted granted Critical
Publication of DE602004002216T2 publication Critical patent/DE602004002216T2/de
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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/2082Data synchronisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1448Management of the data involved in backup or backup restore
    • G06F11/1451Management of the data involved in backup or backup restore by selection of backup contents
    • 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

Description

  • Technisches Gebiet
  • Die vorliegende Erfindung betrifft inkrementelles virtuelles Kopieren.
  • Grundlagen
  • Datenverarbeitungssysteme beinhalten oftmals einen oder mehrere Hostcomputer ("Hosts") zur Verarbeitung von Daten und zur Ausführung von Anwendungsprogrammen, Einheiten mit Direktzugriffspeicher (DASDs) zur Speicherung von Daten und eine Speichersteuereinheit zur Steuerung der Datenübertragung zwischen den Hosts und der DASD. Speichersteuereinheiten, die auch als Steuereinheiten oder Speicherdirektoren (storage directors) bezeichnet werden, verwalten den Zugriff auf einen Speicherbereich, der aus zahlreichen in einer Schleifenarchitektur verbundenen Festplattenlaufwerken besteht, die auch als Einheit mit Direktzugriffspeicher (DASD) bezeichnet werden. Hosts können durch die Speichersteuereinheit Ein-/Ausgabe- (E/A-) Anforderungen an den Speicherbereich übertragen.
  • In vielen Systemen können Daten in einer Speichereinheit, beispielsweise einer DASD, in dieselbe oder eine andere Speichereinheit kopiert werden, so dass der Zugriff auf Datenträger von zwei verschiedenen Einheiten bereitgestellt werden kann. Eine Momentankopie (point-in-time copy) beinhaltet das physische Kopieren aller Daten von Quellendatenträgern (source volumes) in Zieldatenträger (target volumes), so dass der Zieldatenträger eine Kopie der Daten von einem bestimmten Zeitpunkt hat. Eine Momentankopie kann auch ausgeführt werden, indem eine Kopie der Daten logisch erstellt wird und anschließend nur bei Bedarf Daten kopiert werden, wodurch der physische Kopiervorgang in der Tat verzögert wird. Dieser logische Kopiervorgang wird ausgeführt, um den Zeitraum, während dessen auf die Ziel- und Quellendatenträger nicht zugegriffen werden kann, so kurz wie möglich zu halten.
  • Eine Anzahl von Teilsystemen von Einheiten mit Direktzugriffspeicher (DASD) können Vorgänge einer "virtuellen Sofortkopie" ("instant virtual copy" operations) ausführen, die auch als "schnelle Replikationsfunktionen" ("fast replicate functions") bezeichnet werden. Virtuelle Sofortkopiervorgänge arbeiten mit der Änderung von Metadaten, beispielsweise Beziehungstabellen oder Zeigern, um ein Quellendatenobjekt sowohl als Original als auch als Kopie zu behandeln. Auf die Kopieranforderung eines Hosts hin meldet das Speicherteilsystem sofort die Erzeugung der Kopie, ohne eine physische Kopie der Daten erstellt zu haben. Es wurde lediglich eine "virtuelle" Kopie erzeugt, und das Fehlen einer zusätzlichen physischen Kopie ist dem Host vollkommen unbekannt.
  • Wenn das Speicherteilsystem zu einem späteren Zeitpunkt Aktualisierungen am Original oder an der Kopie empfängt, werden die Aktualisierungen getrennt gespeichert und erhalten lediglich einen Querverweis auf das aktualisierte Datenobjekt.
  • An dieser Stelle beginnen die Original- und die Kopiedatenobjekte voneinander abzuweichen. Der anfängliche Vorteil besteht darin, dass die virtuelle Sofortkopie fast unmittelbar erfolgt, wobei sie viel schneller als ein normaler physischer Kopiervorgang ausgeführt wird. Dadurch werden der Host und das Speicherteilsystem frei für die Ausführung anderer Tasks. Der Host oder das Speicherteilsystem können sogar während der Hintergrundverarbeitung oder zu einem anderen Zeitpunkt mit der Erzeugung einer tatsächlichen physischen Kopie des ursprünglichen Datenobjekts fortfahren.
  • Ein solcher virtueller Kopiervorgang ist als FlashCopyTM-Vorgang bekannt. Ein FlashCopyTM-Vorgang beinhaltet die Einrichtung einer logischen Momentanbeziehung (point-in-time relationship) zwischen Quellen- und Zieldatenträgern in denselben oder in verschiedenen Einheiten. Der FlashCopyTM-Vorgang garantiert, dass eine Spur sich auf der Quellenplatte befindet, bis sie in einer FlashCopyTM-Beziehung in ihrer Position auf der Zielplatte festgeschrieben wird. Zum Verwalten von Daten zu allen vorhandenen FlashCopyTM-Beziehungen im Teilsystem wird eine Beziehungstabelle verwaltet. Während der Einrichtungsphase einer FlashCopyTM-Beziehung wird ein Eintrag in der Quellen- und der Zielbeziehungstabelle für die Quelle und das Ziel aufgezeichnet, die an der eingerichteten FlashCopyTM beteiligt sind. Jeder hinzugefügte Eintrag enthält alle notwendigen Daten bezüglich der FlashCopyTM-Beziehung. Beide Einträge für die Beziehung werden aus den Beziehungstabellen entfernt, wenn alle FlashCopyTM-Spuren aus dem Quellenspeicherbereich physisch in die Zielspeicherbereiche kopiert wurden oder wenn ein Entnahmebefehl (withdraw command) empfangen wird. In bestimmten Fällen bleibt die Beziehung selbst dann bestehen, wenn alle Spuren vom Quellenspeicherbereich in den Zielspeicherbereich kopiert wurden.
  • Die Zielbeziehungstabelle enthält außerdem eine Bitmap, die kennzeichnet, welche an der FlashCopyTM-Beziehung beteiligten Spuren noch nicht kopiert wurden und somit geschützte Spuren sind. Jede Spur in der Zieleinheit wird durch ein Bit in der Bitmap dargestellt. Das Zielbit wird gesetzt, wenn die entsprechende Spur als eine Zielspur einer FlashCopyTM-Beziehung eingerichtet wird. Das Zielbit wird zurückgesetzt, wenn die entsprechende Spur aus der Quellenposition kopiert und aufgrund von Schreibvorgängen in der Quellen- oder der Zieleinheit oder eine Kopier-Task im Hintergrund in die Zieleinheit ausgespeichert wurde.
  • US 6 092 066 (Ofek et al.) beschreibt ein Verfahren und ein System zur Verringerung der zwischen einer Quelle und einem Ziel übertragenen Datenmenge. Zu diesem Zweck verwaltet das Verfahren eine erste Tabelle, die die in der Quelle geänderten Blöcke kennzeichnet, und eine zweite Tabelle, die die im Ziel geänderten Blöcke kennzeichnet. Diese Kennzeichnungen werden sodann verknüpft, um alle Datenblöcke im Ziel zu kennzeichnen, die nicht entsprechende Blöcke in der Quelle spiegeln.
  • Als Teil der Einrichtung der logischen Momentanbeziehung während des FlashCopyTM-Vorgangs müssen nach dem Stand der Technik alle Spuren im Quellencachespeicher, die in der FlashCopyTM-Beziehung enthalten sind, in den physischen Quellendatenträger, z.B. die Quellen-DASD, ausgespeichert werden, und alle in der FlashCopyTM enthaltenen Spuren im Zielcachespeicher müssen gelöscht werden.
  • Sobald die logische Beziehung eingerichtet worden ist, können Hosts einen direkten Zugriff auf Daten in den Quellen- und Zieldatenträgern haben, und die Daten können als Teil eines Hintergrundvorgangs kopiert werden. Ein Lesevorgang einer Spur, die eine Spur in einer FlashCopyTM-Beziehung ist und sich nicht im Cachespeicher befindet, löst eine Einspeicherungserfassung (stage intercept) aus, wodurch veranlasst wird, dass die der angeforderten Zielspur entsprechende Quellenspur in den Zielcachespeicher eingespeichert wird, wenn die Quellenspur noch nicht hinüber kopiert wurde und bevor der Zugriff auf die Spur aus dem Zielcachespeicher bereitgestellt wird. Dadurch wird sichergestellt, dass das Ziel die Kopie aus der Quelle hat, die zum Zeitpunkt des FlashCopyTM-Vorgangs vorhanden war. Außerdem lösen Ausspeicherungsvorgänge von Spuren in der Quelleneinheit, die noch nicht hinüber kopiert wurden, eine Ausspeicherungserfassung (destage intercept) aus, wodurch veranlasst wird, dass die Spuren in der Quelleneinheit in die Zieleinheit kopiert werden.
  • Der Grund für die Entwicklung von virtuellen Sofortkopierverfahren bestand zumindest teilweise darin, schnell eine Kopie von Daten zu erzeugen, ohne im Vordergrund ablaufende Prozesse zu unterbrechen oder zu verlangsamen. Virtuelle Sofortkopierverfahren, beispielsweise ein FlashCopyTM-Vorgang, stellen ein Hilfsmittel für Momentankopien bereit. Virtuelle Sofortkopierverfahren können für eine Vielfalt von Anwendungen verwendet werden, unter anderem für die Datensicherung, die Datenmigration, die Datenerhebung, Prüfvorgänge usw. Beispielsweise kann ein virtuelles Sofortkopierverfahren für die Erzeugung einer physischen "Sicherungs"-Kopie der Quellendaten verwendet werden, um die Wiederherstellung nach einer Panne zu unterstützen.
  • Obwohl die virtuellen Sofortzeitkopierverfahren zum Kopieren großer Datenmengen hilfreich sind, können herkömmliche Sofortkopierverfahren verbessert werden. Insbesondere besteht nach dem Stand der Technik ein Bedarf an verbesserten virtuellen Sofortkopierverfahren, die ein physisches Kopieren großer Datenmengen vermeiden.
  • Beschreibung der Erfindung
  • Die vorliegende Erfindung wird durch die unabhängigen Ansprüche definiert. Bevorzugte Ausführungsformen werden in den abhängigen Ansprüchen beschrieben.
  • Unter einem ersten Aspekt stellt die vorliegende Ausführungsform ein Verfahren zur Verringerung einer übertragenen Datenmenge bereit, das Folgendes umfasst: verwalten eines ersten Anzeigers für jeden Quellendatenblock, um anzuzeigen, ob der Quellendatenblock seit der letzten Übertragung des Quellendatenblocks an den Zielspeicher im Quellenspeicher aktualisiert wurde; Verwalten eines zweiten Anzeigers für jeden Zieldatenblock im Zielspeicher, um anzuzeigen, ob der Zieldatenblock seit der Überschreibung des Zieldatenblocks durch einen entsprechenden Quellendatenblock im Zielspeicher aktualisiert wurde; und wenn Daten aus dem Quellenspeicher an den Zielspeicher übertragen werden, Übertragen jedes Quellendatenblocks, für den ein erster Anzeiger gesetzt wurde, um anzuzeigen, dass der Quellendatenblock aktualisiert wurde; und Übertragen jedes Quellendatenblocks, der einem Zieldatenblock entspricht, für den ein zweiter Anzeiger gesetzt wurde, um anzuzeigen, dass der Zieldatenblock aktualisiert wurde.
  • Außerdem umfasst das Verfahren vorzugsweise Folgendes: Verwalten eines dritten Anzeigers für jeden Zieldatenblock, um anzuzeigen, ob ein entsprechender Quellendatenblock oder der Zieldatenblock für einen Speicherungsvorgang abgerufen werden muss.
  • Außerdem umfasst das Verfahren vorzugsweise Folgendes: wenn ein Quellendatenblock in den Zielspeicher kopiert wurde, Aktualisieren des dritten Anzeigers für den Zieldatenblock.
  • Außerdem umfasst das Verfahren vorzugsweise Folgendes: Empfangen eines inkrementellen virtuellen Kopiervorgangs; und Aktualisieren des dritten Anzeigers für jeden Zieldatenblock auf der Grundlage des ersten Anzeigers für den Quellendatenblock und des zweiten Anzeigers für den dem Quellendatenblock entsprechenden Zieldatenblock, wobei das Übertragen von Daten aus dem Quellenspeicher an den Zielspeicher das Übertragen jedes Quellendatenblocks umfasst, für den ein dritter Anzeiger anzeigt, dass der Quellendatenblock an den Zielspeicher übertragen werden muss.
  • Außerdem umfasst das Verfahren vorzugsweise Folgendes: nach der Einrichtung einer inkrementellen virtuellen Kopierbeziehung Aktualisieren des dritten Anzeigers für jeden Zieldatenblock, um anzuzeigen, dass der dem Zieldatenblock entsprechende Quellendatenblock für einen Einspeicherungsvorgang aus dem Quellenspeicher abgerufen werden muss.
  • Außerdem umfasst das Verfahren vorzugsweise Folgendes: nach der Übertragung von Daten aus dem Quellenspeicher an den Zielspeicher Aktualisieren des ersten Anzeigers für jeden Quellendatenblock, um anzuzeigen, dass der Quellendatenblock seit der letzten Übertragung des Quellendatenblocks an den Zielspeicher im Quellenspeicher nicht aktualisiert wurde.
  • Außerdem umfasst das Verfahren vorzugsweise Folgendes: nach der Übertragung von Daten aus dem Quellenspeicher an den Zielspeicher Aktualisieren des zweiten Anzeigers für jeden Zieldatenblock, um anzuzeigen, dass der Zieldatenblock seit der letzten Übertragung. des Quellendatenblocks an den Zielspeicher im Zielspeicher nicht aktualisiert wurde.
  • Vorzugsweise umfassen jeder Quellendatenblock und jeder Zieldatenblock eine Spur eines Datenträgers.
  • Vorzugsweise umfassen jeder Quellendatenblock und jeder Zieldatenblock einen Sektor eines Datenträgers.
  • Außerdem umfasst das Verfahren vorzugsweise Folgendes: Erzeugen einer inkrementellen virtuellen Kopierbeziehung zwischen einem Quellenteil von Daten und einem Zielteil von Daten, indem ein inkrementeller virtueller Kopiervorgang zwischen dem Quellenteil von Daten und dem Zielteil von Daten ausgeführt wird, wobei der erste Anzeiger und der zweite Anzeiger für jeden Quellendatenblock und jeden Zieldatenblock in den Quellen- bzw. Zielteilen von Daten in der inkrementellen virtuellen Kopierbeziehung verwaltet werden.
  • Außerdem umfasst das Verfahren vorzugsweise Folgendes: Aktualisieren des ersten Anzeigers für jeden Quellendatenblock, um anzuzeigen, dass der Quellendatenblock nicht aktualisiert wurde; Aktualisieren des zweiten Anzeigers für jeden Zieldatenblock, um anzuzeigen, dass der Zieldatenblock nicht aktualisiert wurde; und Aktualisieren eines dritten Anzeigers für jeden Zieldatenblock, um anzuzeigen, dass der Quellendatenblock an den Zielspeicher übertragen werden muss.
  • Außerdem umfasst das Verfahren vorzugsweise Folgendes: wenn ein Quellendatenblock aktualisiert wird, Aktualisieren des ersten Anzeigers für den Quellendatenblock, um anzuzeigen, dass der Quellendatenblock aktualisiert wurde.
  • Außerdem umfasst das Verfahren vorzugsweise Folgendes: wenn ein Zieldatenblock aktualisiert wird, Aktualisieren des zweiten Anzeigers für den Zieldatenblock, um anzuzeigen, dass der Zieldatenblock aktualisiert wurde.
  • Außerdem kann ein gewerblich erzeugter Gegenstand zur Verringerung einer übertragenen Datenmenge bereitgestellt werden, wobei der gewerblich erzeugte Gegenstand Vorgänge veranlasst, die Folgendes umfassen: Verwalten eines ersten Anzeigers für jeden Quellendatenblock, um anzuzeigen, ob der Quellendatenblock seit der letzten Übertragung des Quellendatenblocks an den Zielspeicher im Quellenspeicher aktualisiert wurde; Verwalten eines zweiten Anzeigers für jeden Zieldatenblock im Zielspeicher, um anzuzeigen, ob der Zieldatenblock seit der Überschreibung des Zieldatenblocks durch einen entsprechenden Quellendatenblock im Zielspeicher aktualisiert wurde; und wenn Daten aus dem Quellenspeicher an den Zielspeicher übertragen werden, Übertragen jedes Quellendatenblocks, für den ein erster Anzeiger gesetzt wurde, um anzuzeigen, dass der Quellendatenblock aktualisiert wurde; und Übertragen jedes Quellendatenblocks, der einem Zieldatenblock entspricht, für den ein zweiter Anzeiger gesetzt wurde, um anzuzeigen, dass der Zieldatenblock aktualisiert wurde.
  • Der gewerblich erzeugte Gegenstand umfasst vorzugsweise Vorgänge, die außerdem Folgendes umfassen: Verwalten eines dritten Anzeigers für jeden Zieldatenblock, um anzuzeigen, ob ein entsprechender Quellendatenblock oder der Zieldatenblock für einen Einspeicherungsvorgang abgerufen werden muss.
  • Vorzugsweise umfasst der gewerblich erzeugte Gegenstand Folgendes: wenn ein Quellendatenblock in den Zielspeicher kopiert wurde, Aktualisieren des dritten Anzeigers für den Zieldatenblock.
  • Vorzugsweise umfasst der gewerblich erzeugte Gegenstand Folgendes: Empfangen eines inkrementellen virtuellen Kopiervorgangs; und Aktualisieren des dritten Anzeigers für jeden Zieldatenblock auf der Grundlage des ersten Anzeigers für den Quellendatenblock und des zweiten Anzeigers für den dem Quellendatenblock entsprechenden Zieldatenblock, wobei das Übertragen von Daten aus dem Quellenspeicher an den Zielspeicher das Übertragen jedes Quellendatenblocks umfasst, für den ein dritter Anzeiger anzeigt, dass der Quellendatenblock an den Zielspeicher übertragen werden muss.
  • Vorzugsweise umfasst der gewerblich erzeugte. Gegenstand Folgendes: nach dem Einrichten einer inkrementellen virtuellen Kopierbeziehung Aktualisieren des dritten Anzeigers für jeden Zieldatenblock, um anzuzeigen, dass der dem Zieldatenblock entsprechende Quellendatenblock für einen Einspeicherungsvorgang aus dem Quellenspeicher abgerufen werden muss.
  • Vorzugsweise umfasst der gewerblich erzeugte Gegenstand Folgendes: nach dem Übertragen von Daten aus dem Quellenspeicher an den Zielspeicher Aktualisieren des ersten Anzeigers für jeden Quellendatenblock, um anzuzeigen, das der Quellendatenblock seit der letzten Übertragung des Quellendatenblocks an den Zielspeicher im Quellenspeicher nicht aktualisiert wurde.
  • Vorzugsweise umfasst der gewerblich erzeugte Gegenstand Folgendes: nach dem Übertragen von Daten aus dem Quellenspeicher an den Zielspeicher Aktualisieren des zweiten Anzeigers für jeden Zieldatenblock, um anzuzeigen, dass der Zieldatenblock seit der letzten Übertragung des Quellendatenblocks an den Zielspeicher im Zielspeicher nicht aktualisiert wurde.
  • Vorzugsweise umfassen jeder Quellendatenblock und jeder Zieldatenblock eine Spur eines Datenträgers.
  • Vorzugsweise umfassen jeder Quellendatenblock und jeder Zieldatenblock einen Sektor eines Datenträgers.
  • Vorzugsweise umfasst der gewerblich erzeugte Gegenstand Folgendes: Erzeugen einer inkrementellen virtuellen Kopierbeziehung zwischen einem Quellenteil von Daten und einem Zielteil von Daten, indem ein inkrementeller virtueller Kopiervorgang zwischen dem Quellenteil von Daten und dem Zielteil von Daten ausgeführt wird, wobei der erste Anzeiger und der zweite Anzeiger für jeden Quellendatenblock und jeden Zieldatenblock in den Quellen- bzw. Zielteilen von Daten in der inkrementellen virtuellen Kopierbeziehung verwaltet werden.
  • Vorzugsweise umfasst der gewerblich erzeugte Gegenstand Folgendes: Aktualisieren des ersten Anzeigers für jeden Quellendatenblock, um anzuzeigen, dass der Quellendatenblock nicht aktualisiert wurde; Aktualisieren des zweiten Anzeigers für jeden Zieldatenblock, um anzuzeigen, dass der Zieldatenblock nicht aktualisiert wurde; und Aktualisieren eines dritten Anzeigers für jeden Zieldatenblock, um anzuzeigen, dass der Quellendatenblock an den Zielspeicher übertragen werden muss.
  • Vorzugsweise umfasst der gewerblich erzeugte Gegenstand Folgendes: wenn ein Quellendatenblock aktualisiert wird, Aktualisieren des ersten Anzeigers für den Quellendatenblock, um anzuzeigen, dass der Quellendatenblock aktualisiert wurde.
  • Vorzugsweise umfasst der gewerblich erzeugte Gegenstand Folgendes: wenn ein Zieldatenblock aktualisiert wurde, Aktualisieren des zweiten Anzeigers für den Zieldatenblock, um anzuzeigen, dass der Zieldatenblock aktualisiert wurde.
  • Unter einem zweiten Aspekt stellt die vorliegende Erfindung ein System zur Verringerung einer übertragenen Datenmenge bereit, das Folgendes umfasst: ein Mittel zum Verwalten eines ersten Anzeigers für jeden Quellendatenblock, um anzuzeigen, ob der Quellendatenblock seit der letzten Übertragung des Quellendatenblocks an den Zielspeicher im Quellenspeicher aktualisiert wurde; ein Mittel zum Verwalten eines zweiten Anzeigers für jeden Zieldatenblock im Zielspeicher, um anzuzeigen, ob der Zieldatenblock seit der Überschreibung des Zieldatenblocks durch einen entsprechenden Quellendatenblock im Zielspeicher überschrieben wurde; und ein Mittel, um bei einer Datenübertragung aus dem Quellenspeicher an den Zielspeicher jeden Quellendatenblock zu übertragen, für den ein erster Anzeiger gesetzt wurde, um anzuzeigen, dass der Quellendatenblock aktualisiert wurde; und ein Mittel zum Übertragen jedes Quellendatenblocks, der einem Zieldatenblock entspricht, für den ein zweiter Anzeiger gesetzt wurde, um anzuzeigen, dass der Zieldatenblock aktualisiert wurde.
  • Vorzugsweise umfasst das System Folgendes: ein Mittel zum Verwalten eines dritten Anzeigers für jeden Zieldatenblock, um anzuzeigen, ob ein entsprechender Quellendatenblock oder der Zieldatenblock für einen Einspeicherungsvorgang abgerufen werden muss.
  • Vorzugsweise umfasst das System Folgendes: ein Mittel zum Aktualisieren des dritten Anzeigers für den Zieldatenblock, wenn ein Quellendatenblock in den Zielspeicher kopiert wurde.
  • Vorzugsweise umfasst das System Folgendes: ein Mittel zum Empfangen eines inkrementellen virtuellen Kopiervorgangs; und ein Mittel zum Aktualisieren des dritten Anzeigers für jeden Zieldatenblock auf der Grundlage des ersten Anzeigers für den Quellendatenblock und des zweiten Anzeigers für den dem Quellendatenblock entsprechenden Zieldatenblock, wobei das Übertragen von Daten aus dem Quellenspeicher an den Zielspeicher das Übertragen jedes Quellendatenblocks umfasst, für den ein dritter Anzeiger anzeigt, dass der Quellendatenblock an den Zielspeicher übertragen werden muss.
  • Vorzugsweise umfasst das System Folgendes: nach dem Einrichten einer inkrementellen virtuellen Kopierbeziehung ein Mittel zum Aktualisieren des dritten Anzeigers für jeden Zieldatenblock, um anzuzeigen, dass der dem Zieldatenblock entsprechende Quellendatenblock für einen Einspeicherungsvorgang aus dem Quellenspeicher abgerufen werden muss.
  • Vorzugsweise umfasst das System Folgendes: nach dem Übertragen von Daten aus dem Quellenspeicher an den Zielspeicher ein Mittel zum Aktualisieren des ersten Anzeigers für jeden Quellendatenblock, um anzuzeigen, dass der Quellendatenblock seit der letzten Übertragung des Quellendatenblocks an den Zielspeicher im Quellenspeicher nicht aktualisiert wurde.
  • Vorzugsweise umfasst das System Folgendes: nach der Übertragung von Daten aus dem Quellenspeicher an den Zielspeicher ein Mittel zum Aktualisieren des zweiten Anzeigers für jeden Zieldatenblock, um anzuzeigen, dass der Zieldatenblock seit der letzten Übertragung des Quellendatenblocks an den Zielspeicher im Zielspeicher nicht aktualisiert wurde.
  • Vorzugsweise umfassen jeder Quellendatenblock und jeder Zieldatenblock eine Spur eines Datenträgers.
  • Vorzugsweise umfassen jeder Quellendatenblock und jeder Zieldatenblock einen Sektor eines Datenträgers.
  • Vorzugsweise umfasst das System Folgendes: ein Mittel zum Erzeugen einer inkrementellen virtuellen Kopierbeziehung zwischen einem Quellenteil von Daten und einem Zielteil von Daten, indem ein inkrementeller virtueller Kopiervorgang zwischen dem Quellenteil von Daten und dem Zielteil von Daten ausgeführt wird, wobei der erste Anzeiger und der zweite Anzeiger für jeden Quellendatenblock und jeden Zieldatenblock in den Quellen- bzw. Zielteilen von Daten in der inkrementellen virtuellen Kopierbeziehung verwaltet werden.
  • Vorzugsweise umfasst das System Folgendes: ein Mittel zum Aktualisieren des ersten Anzeigers für jeden Quellendatenblock, um anzuzeigen, das der Quellendatenblock nicht aktualisiert wurde; ein Mittel zum Aktualisieren des zweiten Anzeigers für jeden Zieldatenblock, um anzuzeigen, dass der Zieldatenblock nicht aktualisiert wurde; und ein Mittel zum Aktualisieren eines dritten Anzeigers für jeden Zieldatenblock, um anzuzeigen, dass der Quellendatenblock an den Zielspeicher übertragen werden muss.
  • Vorzugsweise umfasst das System Folgendes: wenn ein Quellendatenblock aktualisiert wird, ein Mittel zum Aktualisieren des ersten Anzeigers für den Quellendatenblock, um anzuzeigen, dass der Quellendatenblock aktualisiert wurde.
  • Vorzugsweise umfasst das System Folgendes: wenn ein Zieldatenblock aktualisiert wird, ein Mittel zum Aktualisieren des zweiten Anzeigers für den Zieldatenblock, um anzuzeigen, dass der Zieldatenblock aktualisiert wurde.
  • Unter einem dritten Aspekt stellt die vorliegende Erfindung ein Computerprogramm bereit, dass einen Computerprogrammcode umfasst, der, wenn er in ein Computersystem geladen und in diesem ausgeführt wird, dieses veranlasst, die Schritte eines Verfahrens gemäß dem ersten Aspekt auszuführen. Bevorzugte Merkmale des Computerprogramms umfassen einen Computerprogrammcode, der den bevorzugten Verfahrensschritten des ersten Aspektes entspricht.
  • Folglich werden vorzugsweise ein Verfahren, ein System und ein Programm zur Verringerung einer übertragenen Datenmenge bereitgestellt. Für jeden Quellendatenblock wird ein erster Anzeiger verwaltet, um anzuzeigen, ob der Quellendatenblock seit der letzten Übertragung des Quellendatenblocks an den Zielspeicher im Quellenspeicher aktualisiert wurde. Für jeden Zieldatenblock wird ein zweiter Anzeiger verwaltet, um anzuzeigen, ob der Zieldatenblock seit der Überschreibung des Zieldatenblocks durch einen entsprechenden Quellendatenblock im Zielspeicher aktualisiert wurde. Wenn Daten aus dem Quellenspeicher an den Zielspeicher übertragen werden, werden jeder Quellendatenblock, für den ein erster Anzeiger gesetzt wurde, um anzuzeigen, dass der Quellendatenblock aktualisiert wurde, und jeder Quellendatenblock, der einem Zieldatenblock entspricht, für den ein zweiter Anzeiger gesetzt wurde, um anzuzeigen, dass der Zieldatenblock aktualisiert wurde, übertragen.
  • Die beschriebenen Ausführungen der Erfindung stellen ein Verfahren, ein System und ein Programm zum Erzeugen einer inkrementellen virtuellen Kopie bereit.
  • Kurze Beschreibung der Zeichnungen
  • Nun wird eine bevorzugte Ausführungsform der vorliegenden Erfindung lediglich beispielhaft mit Bezugnahme auf die begleitenden Zeichnungen beschrieben, in denen:
  • 1A und 1B in Blockschaltbildern eine Datenverarbeitungsumgebung gemäß bestimmten Ausführungen der Erfindung darstellen.
  • 2 verschiedene Strukturen gemäß bestimmten Ausführungen der Erfindung darstellt.
  • 3 eine Logik zum Aktualisieren von Strukturen gemäß bestimmten Ausführungen der Erfindung darstellt.
  • 4 eine Logik zum Ausführen eines inkrementellen virtuellen Kopiervorgangs gemäß bestimmten Ausführungen der Erfindung darstellt.
  • 5 eine Logik darstellt, die zur Verarbeitung eines Schreibvorgangs gemäß bestimmten Ausführungen der Erfindung im Schreibprozess realisiert wird.
  • 6 eine Logik darstellt, die zur Verarbeitung eines Lesevorgangs gemäß bestimmten Ausführungen der Erfindung im Leseprozess realisiert wird.
  • 7 einen Hintergrundkopierprozess gemäß bestimmten Ausführungen der Erfindung darstellt.
  • 8 eine Architektur eines Computersystems darstellt, das gemäß bestimmten Ausführungen der Erfindung verwendet werden kann.
  • Modus für die Erfindung
  • In der folgenden Beschreibung wird auf die begleitenden Zeichnungen Bezug genommen, die einen Teil hiervon bilden und verschiedene Ausführungen der vorliegenden Erfindung darstellen. Es versteht sich von selbst, dass andere Ausführungen verwendet sowie strukturelle und funktionelle Änderungen vorgenommen werden können, ohne vom Anwendungsbereich der vorliegenden Erfindung abzuweichen.
  • Ausführungen der vorliegenden Erfindung stellen einen inkrementellen virtuellen Kopiervorgang bereit, der eine Verbesserung eines virtuellen Sofortkopiervorgangs darstellt. Bei dem inkrementellen virtuellen Kopiervorgang werden nur die Datenblöcke kopiert, die seit dem letzten virtuellen Sofortkopiervorgang aus dem Quellenspeicher in den Zielspeicher in den Quellen- und Zieldatenträgern aktualisiert wurden. Ein inkrementeller virtueller Kopiervorgang verringert die Dauer der Erzeugung einer physischen Kopie eines Quellendatenträgers und setzt die Auswirkungen auf andere Anwendungen auf ein Minimum herab (z.B. wird die Nutzung von Bandbreite für die physische Speicherung zur Ausspeicherung von Daten auf ein Minimum herabgesetzt, wodurch mehr Bandbreite für Lesevorgänge aus dem physischen Speicher ermöglicht wird).
  • Die 1A und 1B stellen in Blockschaltbildern eine Datenverarbeitungsumgebung gemäß bestimmten Ausführungen der Erfindung dar. Eine Speichersteuereinheit 100 empfängt Ein-/Ausgabe- (EtA-) Anforderungen von Hosts 140a, b, ...l (wobei a, b und l ein beliebige ganzzahliger Wert sein können) über ein Netz 190, das auf Speichereinheiten 120, 130 gerichtet ist, die so konfiguriert sind, dass sie Datenträger (z.B. symbolische Gerätenummern (Logical Unit Numbers), Logikeinheiten usw.) 122a, b, ...n bzw. 132a, b, ...m aufweisen, wobei m und n verschiedene ganzzahlige Werte oder der gleiche ganzzahlige Wert sein können. In bestimmten Ausführungen kann der Zielspeicher 130 hinsichtlich der Größe größer als oder gleich groß wie der Quellenspeicher 120 sein.
  • Der Quellenspeicher 120 enthält einen oder mehrere Datenträger 122a, b, ...n, die in Speicherblöcke 150 unterteilt werden können, die Datenblöcke enthalten, und die Speicherblöcke 150 sind weiter unterteilt in Teilspeicherblöcke (150a bis 150p, wobei a und p ein beliebiger ganzzahliger Wert sein können), die Teildatenblöcke enthalten. Ein Datenträger kann ein beliebiges logisches oder physisches Speicherelement sein. In bestimmten Ausführungen sind die Datenblöcke Inhalte von Spuren, während die Teildatenblöcke Inhalte von Sektoren von Spuren sind.
  • Der Zielspeicher 130 verwaltet Kopien von allen oder von einer Teilgruppe der Datenträger 122a, b, ...n des Quellenspeichers 120. Außerdem kann der Zielspeicher 130 beispielsweise vom Host 140 geändert werden. Der Zielspeicher 130 enthält einen oder mehrere Datenträger 132a, b, ...m, die in Speicherblöcke 150 unterteilt sein können, die Datenblöcke enthalten, und die Speicherblöcke 150 sind weiter in Teilspeicherblöcke (150a bis 150p, wobei a und p beliebige ganzzahlige Werte sein können) unterteilt, die Teildatenblöcke enthalten. Ein Datenträger kann ein beliebiges logisches oder physisches Speicherelement sein. In bestimmten Ausführungen sind die Datenblöcke Spuren, während die Teildatenblöcke Sektoren von Spuren sind.
  • Zur Erleichterung der Bezugnahme werden die Begriffe "Spuren" und "Sektoren" im Folgenden als Beispiele für Datenblöcke und Teildatenblöcke verwendet, jedoch soll die Verwendung dieser Begriffe Ausführungen der Erfindung nicht auf Spuren und Sektoren begrenzen. Die Ausführungen der Erfindung können auf einen beliebigen Typ von Speicher, Speicherblock oder Datenblock angewandt werden, der auf eine beliebige Weise unterteilt ist. Obwohl Ausführungen der Erfindung sich auf Datenblöcke beziehen, können alternative Ausführungen der Erfindung außerdem auf Teildatenblöcke angewandt werden.
  • Die Speichersteuereinheit 100 enthält einen Quellencachespeicher 124, in dem Aktualisierungen an Spuren im Quellenspeicher 120 aufbewahrt werden, bis sie in den Quellenspeicher 120 geschrieben werden (d.h., die Spuren werden in den physischen Speicher ausgespeichert). Die Speichersteuereinheit 100 enthält einen Zielcachespeicher 134, in dem Aktualisierungen an Spuren im Zielspeicher 130 aufbewahrt werden, bis sie in den Zielspeicher 130 geschrieben werden (d.h., die Spuren werden in den physischen Speicher ausgespeichert). Der Quellencachespeicher 124 und der Zielcachespeicher 134 können gesonderte Speichereinheiten oder verschiedene Abschnitte ein und derselben Speichereinheit umfassen. Der Quellencachespeicher 124 und der Zielcachespeicher 134 werden zum Zwischenspeichern von Lese- und Schreibdaten verwendet, die zwischen den Hosts 140a, b, ...l, dem Quellenspeicher 120 und dem Zielspeicher 130 übertragen werden. Obwohl die Cachespeicher 124 und 134 als Quellen- bzw. Zielspeicher bezeichnet werden, da sie Quellen- oder Zieldatenblöcke in einer Momentankopiebeziehung zwischenspeichern, können sie außerdem gleichzeitig Quellen- und Zieldatenblöcke in verschiedenen Momentankopiebeziehungen speichern.
  • Außerdem enthält die Speichersteuereinheit 100 einen nichtflüchtigen Speicher 118. Der nichtflüchtige Speicher 118 kann beispielsweise ein batteriegesicherter flüchtiger Speicher sein, um eine nichtflüchtige Kopie von Datenaktualisierungen aufzubewahren.
  • Außerdem enthält die Speichersteuereinheit 100 einen Systemspeicher 110, der in flüchtigen und/oder nichtflüchtigen Einheiten realisiert werden kann. Der Systemspeicher 110 enthält einen Leseprozess 112 zum Lesen von Daten, einen Schreibprozess 114 zum Schreiben von Daten und einen inkrementellen virtuellen Kopierprozess 116. Der Leseprozess 112 läuft im Systemspeicher 110 ab, um Daten aus den Speichern 120 und 130 zu lesen und in die Cachespeicher 124 bzw. 134 zu schreiben. Der Schreibprozess 114 läuft im Systemspeicher 110 ab, um Daten aus den Cachespeichern 124 und 134 zu lesen in die Speicher 120 bzw. 130 zu schreiben. Der inkrementelle virtuelle Kopierprozess 116 läuft im Systemspeicher 110 ab, um einen inkrementellen virtuellen Kopiervorgang auszuführen, der Daten aus dem Quellenspeicher 120 in den Zielspeicher 130 überträgt. In bestimmten Ausführungen der Erfindung können mehrere inkrementelle virtuelle Kopierprozesse vorhanden sein. In bestimmten Ausführungen der Erfindung kann der inkrementelle virtuelle Kopierprozess anstelle der oder zusätzlich zu der Ausführung in der Speichersteuereinheit 100 in einer anderen, mit der Speichersteuereinheit 100 verbundenen Speichersteuereinheit ausgeführt werden. Der Systemspeicher 110 kann sich in von den Cachespeichern 124 und 134 gesonderten Speichereinheiten befinden oder eine Speichereinheit mit einem oder beiden Cachespeichern 124 und 134 gemeinsam nutzen.
  • Ausführungen der Erfindungen können auf die Übertragung von Daten zwischen zwei beliebigen Speichermedien angewandt werden, die hierin zur Erleichterung der Bezugnahme als Quellenspeicher und Zielspeicher bezeichnet werden. Bestimmte Ausführungen der Erfindung können beispielsweise mit zwei Speichermedien verwendet werden, die sich in einer einzigen Speichersteuereinheit befinden, wie in 1A dargestellt wird. Außerdem können bestimmte alternative Ausführungen der Erfindung mit zwei Speichermedien verwendet werden, die sich in verschiedenen Speichersteuereinheiten, an verschiedenen physischen Standorten usw. befinden. Zur Erleichterung der Bezugnahme wird ein Datenblock im Quellenspeicher außerdem als "Quellendatenblock" und ein Datenblock im Zielspeicher als "Zieldatenblock" bezeichnet.
  • In bestimmten Ausführungen kann ein austauschbarer Speicher (anstelle von oder zusätzlich zu einem Zielspeicher 130) verwendet werden, um Kopien des gesamten oder eines Teils des Quellenspeichers 120 aufzubewahren, und die Ausführungen der Erfindung übertragen Daten an den austauschbaren Speicher anstatt an den Zielspeicher. Der austauschbare Speicher kann sich in der Speichersteuereinheit 100 befinden.
  • Die Speichersteuereinheit 100 kann außerdem einen Prozessorkomplex (nicht gezeigt) enthalten und eine beliebige Speichersteuereinheit oder einen beliebigen, nach dem Stand der Technik bekannten Server umfassen, beispielsweise einen Enterprise Storage Server (ESS), eine Speichersteuereinheit 39907 usw. Die Hosts 140a, b, ...l können eine beliebige nach dem Stand der Technik bekannte Datenverarbeitungseinheit umfassen, beispielsweise einen Server, einen Großrechner, einen Arbeitsplatzrechner, einen Personal Computer, einen Taschencomputer, eine Laptop-Fernsprecheinheit, eine Netzanwendung usw. Die Speichersteuereinheit 100 und das(die) Hostsystem(e) 140a, b, ...l tauschen Daten über ein Netz 190 aus, das ein Speicherbereichnetz (Storage Area Network, SAN), ein lokales Netz (LAN), ein überregionales Netz (WAN), das Internet, ein Intranet usw. umfassen kann. Der Quellenspeicher 120 und der Zielspeicher 130 können jeweils eine Gruppe von Speichereinheiten umfassen, beispielsweise Einheiten mit Direktzugriffspeicher (DASDs), ein JBOD-System (Just a Bunch of Disks), ein RAID-System (Redundant Array of Independent Disks), eine Virtualisierungseinheit (virtualization device) usw.
  • Obwohl 1A eine einzige Speichersteuereinheit zeigt, würden Fachleute außerdem wissen, dass mehrere Speichersteuereinheiten über ein Netz (z.B. ein lokales Netz (LAN), ein überregionales Netz (WAN), das Internet usw.) verbunden werden können und eine oder mehrere Speichersteuereinheiten die Erfindung realisieren können.
  • Wenn der Host 140 einen Datenblock im Quellenspeicher 120 aktualisieren möchte, schreibt er Daten in einen Speicherblock im Quellencachespeicher 124. Schreibvorgänge ändern den Speicherblock im Quellencachespeicher 124 synchron (d.h., der den Schreibvorgang ausführende Host 140 wartet auf die Ausführung des Vorgangs), und anschließend wird der Inhalt des Quellencachespeichers 124 in einem Hintergrundprozess in den Quellenspeicher 120 geschrieben. Ein Schreibvorgang kann Daten aktualisieren, neue Daten schreiben oder dieselben Daten erneut schreiben. Das Schreiben von Daten aus dem Quellencachespeicher 124 in den Quellenspeicher 120 wird als Ausspeicherungsvorgang bezeichnet. Das Kopieren des gesamten oder eines Teils des Datenblocks aus dem Quellenspeicher 120 in den Quellencachespeicher 124 ist ein Einspeicherungsvorgang. Ebenso können Daten zwischen dem Zielspeicher 130 und dem Zielcachespeicher 134 ein- und ausgespeichert werden. Außerdem können Daten aus dem Quellenspeicher 120 in den Zielcachespeicher 134 eingespeichert werden.
  • 2 stellt verschiedene Strukturen 200, 210 und 220 gemäß bestimmten Ausführungen der Erfindung dar. Der nichtflüchtige Speicher 118 enthält eine Zielkopierstruktur (target copy structure) 200. Die Zielkopierstruktur 200 kann verwendet werden, um festzustellen, ob Daten aus dem Quellenspeicher 120 oder dem Zielspeicher 130 in den Cachespeicher 124 bzw. 134 abgerufen werden müssen (d.h. für einen Einspeicherungsvorgang). Außerdem kann die Zielkopierstruktur 200 verwendet werden, um festzustellen, welche Datenblöcke im Quellenspeicher 120 in den Zielspeicher 130 kopiert werden müssen. Die Zielkopierstruktur 200 enthält einen Anzeiger (z.B. ein Bit) für jeden Datenblock in beispielsweise einem Datenträger. Wenn ein Anzeiger auf einen ersten Wert (z.B. eins) gesetzt wird, zeigt dies an, dass der Datenblock für einen Einspeicherungsvorgang aus dem Quellenspeicher 120 abgerufen werden muss oder dass der Datenblock für einen inkrementellen virtuellen Kopiervorgang in den Zielspeicher 130 kopiert werden muss. Wenn ein Anzeiger auf einen zweiten Wert (z.B. null) gesetzt wird, zeigt dies an, dass der Datenblock für einen Einspeicherungsvorgang aus dem Zielspeicher 130 abgerufen werden muss oder dass der Datenblock nicht für einen inkrementellen virtuellen Kopiervorgang aus dem Quellenspeicher 120 in den Zielspeicher 130 kopiert werden muss.
  • Eine Struktur 210 zur Aufzeichnung von Quellenänderungen (source change recording structure) wird zum Überwachen von Aktualisierungen von Datenblöcken in Teilen von Daten im Quellenspeicher 120 verwendet, für die eine inkrementelle virtuelle Kopierbeziehung eingerichtet wurde. Die Struktur 210 zur Aufzeichnung von Quellenänderungen enthält einen Anzeiger (z.B. ein Bit) für jeden Datenblock im Quellenspeicher 120, der Teil der inkrementellen virtuellen Kopierbeziehung ist. Wenn ein Anzeiger auf einen ersten Wert (z.B. eins) gesetzt wird, zeigt dies an, dass der Datenblock seit dem letzten inkrementellen virtuellen Kopiervorgang aktualisiert wurde. Wenn ein Anzeiger auf einen zweiten Wert (z.B. null) gesetzt wird, zeigt dies an, dass der Datenblock seit dem letzten inkrementellen Kopiervorgang nicht aktualisiert wurde.
  • Eine Struktur 220 zur Aufzeichnung von Zieländerungen (target change recording structure) wird zum Überwachen von Aktualisierungen von Datenblöcken im Zielspeicher 130 verwendet, nachdem eine inkrementelle virtuelle Kopierbeziehung eingerichtet wurde. Die Struktur 220 zur Aufzeichnung von Zieländerungen enthält einen Anzeiger (z.B. ein Bit) für jeden Datenblock im Zielspeicher 130, der Teil der inkrementellen virtuellen Kopierbeziehung ist. Wenn ein Anzeiger auf einen ersten Wert (z.B. eins) gesetzt wird, zeigt dies an, dass der Datenblock seit dem letzten inkrementellen virtuellen Kopiervorgang aktualisiert wurde. Wenn ein Anzeiger auf einen zweiten Wert (z.B. null) gesetzt wird, zeigt dies an, dass der Datenblock seit dem letzten inkrementellen Kopiervorgang nicht aktualisiert wurde.
  • In bestimmten Ausführungen der Erfindung umfasst jede Struktur 200, 210 und 220 eine Bitmap, und jeder Anzeiger umfasst ein Bit. In jeder Struktur 200, 210 und 220 entspricht der n-te Anzeiger dem n-ten Datenblock (z.B. entspricht der erste Anzeiger in jeder Struktur 200, 210 und 220 dem ersten Datenblock). Obwohl die Strukturen 200, 210 und 220 als drei gesonderte Strukturen dargestellt wurden, können sie in einer beliebigen Form verknüpft werden, ohne vom Anwendungsbereich der Erfindung abzuweichen. In bestimmten Ausführungen der Erfindung gibt es für jeden Datenträger eine Kopie jeder Struktur. In bestimmten alternativen Ausführungen der Erfindung gibt es für alle Datenträger eine einzige Kopie jeder Struktur.
  • 3 stellt die Logik dar, die im inkrementellen virtuellen Kopierprozess 116 realisiert wird, um Strukturen gemäß bestimmten Ausführungen der Erfindung zu aktualisieren. Die Steuerung beginnt beim Block 300 mit der anfänglichen Einrichtung einer inkrementellen virtuellen Kopierbeziehung. Die inkrementelle virtuelle Kopierbeziehung wird zwischen einem oder mehreren Datenteilen (z.B. Quellendatenträgern) im Quellenspeicher 120 und entsprechenden Datenteilen (z.B. Zieldatenträgern) im Zielspeicher 130 gebildet, wenn ein inkrementeller virtueller Kopiervorgang zwischen den entsprechenden Datenteilen ausgeführt wird. Der erste inkrementelle virtuelle Kopiervorgang kann beispielsweise einen oder mehrere Quellendatenträger in entsprechende Zieldatenträger kopieren. Nachfolgende Kopiervorgänge machen jedoch möglicherweise inkrementelle Kopien, wodurch das erneute Kopieren von beliebigen Teilen von Quellendatenträgern, die seit dem letzten virtuellen Sofortkopiervorgang nicht geändert wurden, vermieden wird.
  • Im Block 310 aktualisiert der inkrementelle virtuelle Kopiervorgang 116 Anzeiger in der Zielkopierstruktur 200, um anzuzeigen, dass alle den Anzeigern entsprechenden Datenblöcke für einen Einspeicherungsvorgang aus dem Quellenspeicher abgerufen werden müssen, und um anzuzeigen, dass alle Datenblöcke für einen inkrementellen virtuellen Kopiervorgang oder einen physischen Kopiervorgang aus dem Quellenspeicher in den Zielspeicher kopiert werden müssen. In bestimmten Ausführungen der Erfindung müssen die Anzeiger in der Zielkopierstruktur 200 auf eins gesetzt werden.
  • Im Block 320 aktualisiert der inkrementelle virtuelle Kopierprozess 116 die Anzeiger in der Struktur 210 zur Aufzeichnung von Quellenänderungen, um anzuzeigen, dass die den Anzeigern entsprechenden Quellendatenblöcke seit dem letzten inkrementellen virtuellen Kopiervorgang nicht aktualisiert wurden. In bestimmten Ausführungen der Erfindung werden alle Anzeiger in der Struktur 210 zur Aufzeichnung von Quellenänderungen auf null gesetzt. Im Block 330 aktualisiert der inkrementelle virtuelle Kopierprozess 116 die Anzeiger in der Struktur 220 zur Aufzeichnung von Zieländerungen, um anzuzeigen, dass die den Anzeigern entsprechenden Zieldatenblöcke seit dem letzten inkrementellen virtuellen Kopiervorgang nicht aktualisiert wurden. In bestimmten Ausführungen der Erfindung werden alle Anzeiger in der Struktur 220 zur Aufzeichnung von Zieländerungen auf null gesetzt.
  • 4 veranschaulicht die im inkrementellen virtuellen Kopierprozess 116 realisierte Logik zur Ausführung eines inkrementellen virtuellen Kopiervorgangs gemäß bestimmten Ausführungen der Erfindung. Die Steuerung beginnt beim Block 400 mit dem Empfang eines inkrementellen virtuellen Kopiervorgangs durch den inkrementellen virtuellen Kopierprozess 116. Ein inkrementeller virtueller Kopiervorgang kann vom Host 140 ausgegeben werden. Obwohl dies im Fluss von 4 nicht gezeigt wird, wurden vor dem Empfang des inkrementellen virtuellen Kopiervorgangs möglicherweise ein oder mehrere Datenblöcke im Quellenspeicher 120 und/oder im Zielspeicher 130 beispielsweise durch einen Benutzer am Host 140 aktualisiert.
  • Im Block 410 aktualisiert der inkrementelle virtuelle Kopierprozess 116 Anzeiger in der Zielkopierstruktur 200 mit den Anzeigern in den Strukturen 210 bzw. 220 zur Aufzeichnung von Quellen- bzw. Zieländerungen. In bestimmten Ausführungen der Erfindung wird die Struktur 210 zur Aufzeichnung von Quellenänderungen unter Verwendung einer "ODER"-Verknüpfung mit der Struktur 220 zur Aufzeichnung von Zieländerungen verknüpft, und das Ergebnis der "ODER"-Verknüpfung wird mit der Zielkopierstruktur 200 "ODER-verknüpft".
  • Nachdem die Zielkopierstruktur 200 aktualisiert wurde, aktualisiert der inkrementelle virtuelle Kopierprozess 116 im Block 420 Anzeiger in der Struktur 210 zur Aufzeichnung von Quellenänderungen, um anzuzeigen, das die Quellendatenblöcke seit dem letzten inkrementellen virtuellen Kopiervorgang nicht aktualisiert wurden. In bestimmten Ausführungen der Erfindung werden alle Anzeiger in der Struktur 210 zur Aufzeichnung von Quellenänderungen auf null gesetzt. Im Block 430 aktualisiert der inkrementelle virtuelle Kopierprozess 116 die Anzeiger in der Struktur 220 zur Aufzeichnung von Zieländerungen, um anzuzeigen, dass die Zieldatenblöcke seit dem letzten inkrementellen virtuellen Kopiervorgang nicht aktualisiert wurden. In bestimmten Ausführungen der Erfindung werden alle Anzeiger in der Struktur 220 zur Aufzeichnung von Zieländerungen auf null gesetzt.
  • 5 veranschaulicht die im Schreibprozess 114 realisierte Logik zur Verarbeitung eines Schreibvorgangs gemäß bestimmten Ausführungen der Erfindung. Die Steuerung beginnt beim Block 500 mit dem Empfang einer Anforderung zum Schreiben eines Datenblocks durch den Schreibprozess 114. Im Block 520 stellt der Schreibprozess 114 fest, ob der Datenblock sich in einer inkrementellen virtuellen Kopierbeziehung befindet. Ist dies der Fall, geht die Verarbeitung weiter zum Block 530, andernfalls geht die Verarbeitung weiter zum Block 560. Im Block 530 stellt der Schreibprozess 114 fest, ob der Datenblock sich im Zielspeicher 130 befindet. Ist dies der Fall, geht die Verarbeitung weiter zum Block 540, andernfalls geht die Verarbeitung weiter zum Block 550.
  • Im Block 540 wird der Anzeiger für den Datenblock in der Struktur 220 zur Aufzeichnung von Zieländerungen aktualisiert, um anzuzeigen, dass der Zieldatenblock seit dem letzten inkrementellen virtuellen Kopiervorgang geändert wurde. In bestimmten Ausführungen der Erfindung wird der Anzeiger in der Struktur 220 zur Aufzeichnung von Zieländerungen auf eins gesetzt. Im Block 550 wird der Anzeiger für den Datenblock in der Struktur 210 zur Aufzeichnung von Quellenänderungen aktualisiert, um anzuzeigen, dass der Quellendatenblock seit dem letzten inkrementellen virtuellen Kopiervorgang geändert wurde. In bestimmten Ausführungen der Erfindung wird der Anzeiger in der Struktur 210 zur Aufzeichnung von Quellenänderungen auf eins gesetzt. Im Block 560 wird der Schreibvorgang durch den Schreibprozess 114 ausgeführt.
  • 6 veranschaulicht die im Leseprozess 112 realisierte Logik zur Verarbeitung eines Lesevorgangs gemäß bestimmten Ausführungen der Erfindung. Die Steuerung beginnt beim Block 600 mit dem Empfang einer Anforderung zum Lesen eines Datenblocks. Im Block 620 stellt der Leseprozess 112 fest, ob der Datenblock ein Ziel in einer inkrementellen virtuellen Kopierbeziehung ist. Ist dies der Fall, geht die Verarbeitung weiter zum Block 630, andernfalls geht die Verarbeitung weiter zum Block 660. Im Block 630 stellt der Leseprozess fest, ob ein Anzeiger für den Datenblock in der Zielkopierstruktur gesetzt ist, um anzuzeigen, dass Daten aus dem Quellenspeicher 120 gelesen werden müssen. Ist dies der Fall, geht die Verarbeitung weiter zum Block 640, andernfalls geht die Verarbeitung weiter zum Block 650.
  • Im Block 640 liest der Leseprozess 112 den Datenblock aus dem Quellenspeicher 120 (d.h., er speichert diesen ein). Im Block 650 liest der Leseprozess 112 den Datenblock aus dem Zielspeicher 130 (d.h., er speichert diesen ein). Im Block 660 führt der Leseprozess 112 einen normalen Lesevorgang des Datenblocks aus.
  • 7 veranschaulicht einen Hintergrundkopierprozess gemäß bestimmten Ausführungen der Erfindung. Die Steuerung beginnt beim Block 700 mit einer Feststellung, dass es an der Zeit ist, einen Datenblock zu kopieren. Im Block 710 wird festgestellt, ob der Anzeiger in der Zielkopierstruktur 200 für den Datenblock anzeigt, dass der Datenblock nicht kopiert wurde. Ist dies der Fall, geht die Verarbeitung weiter zum Block 730, andernfalls geht die Verarbeitung weiter zum Block 720. Im Block 720 kann ein nächster Datenblock verarbeitet werden, oder diese Logik endet, falls keine weiteren Datenblöcke verarbeitet werden müssen.
  • Im Block 730 wird der Datenblock gemäß der Logik von 6 gelesen. Im Block 740 wird der Datenblock in den Zielspeicher 130 ausgespeichert. Im Block 750 wird ein Anzeiger in der Zielkopierstruktur 200 für den Datenblock aktualisiert, um anzuzeigen, dass der Datenblock kopiert wurde. In bestimmten Ausführungen der Erfindung wird der Anzeiger in der Zielkopierstruktur 200 auf null gesetzt.
  • Folglich wird der inkrementelle virtuelle Kopiervorgang in bestimmten Ausführungen der Erfindung durch die Überwachung von Schreibvorgängen (d.h. Aktualisierungen) und die Aufzeichnungen von Änderungen an Spuren für Datenträger ausgeführt, die Teil einer virtuellen Sofortkopierbeziehung sind. Nach einem anfänglichen virtuellen Sofortkopiervorgang können Spuren, die auf einem Quellen- oder Zieldatenträger aktualisiert wurden, vom Quellendatenträger in den Zieldatenträger kopiert werden, ohne den gesamten Quellendatenträger zu kopieren.
  • Enterprise Storage Server, FlashCopy und 3990 sind eingetragene Warenzeichen oder Warenzeichen nach bürgerlichem Recht (common law marks) von International Business Machines Corporation in den Vereinigten Staaten von Amerika und/oder anderen Ländern.
  • Zusätzliche Einzelheiten der Ausführung
  • Die beschriebenen Verfahren für inkrementelle virtuelle Kopiervorgänge können unter Verwendung von Standardprogrammierverfahren und/oder technischen Verfahren zur Erzeugung von Software, Firmware, Hardware oder einer beliebigen Kombination von diesen als ein Verfahren, eine Vorrichtung oder ein gewerblich erzeugter Gegenstand realisiert werden. Der hierin verwendete Begriff "gewerblich erzeugter Gegenstand" bezieht sich auf einen Code oder eine Logik, die in einer Hardwarelogik (z.B. einem integrierten Schaltkreischip, einer programmierbaren Schaltelementanordnung (Programmable Gate Array, PGA), einem anwendungsspezifischen integrierten Schaltkreis (Application Specific Integrated Circuit, ASIC) usw.) oder in einem computerlesbaren Medium, beispielsweise einem Magnetspeichermedium (z.B. Festplattenlaufwerke, Disketten, Band usw.), einem optischen Speicher (CD-ROMs, optische Platten usw.), flüchtigen und nichtflüchtigen Speichereinheiten (z.B. EEPROMs, ROMs, PROMs, RAMs, DRAMs, SRAMs, Firmware, programmierbare Logik usw.) realisiert werden. Ein Prozessor greift auf den Code im computerlesbaren Medium zu und führt diesen aus. Auf den Code, in dem bevorzugte Ausführungsformen realisiert werden, kann außerdem durch Übertragungsmedien oder von einem Dateiserver über ein Netz zugegriffen werden. In solchen Fällen kann der gewerblich erzeugte Gegenstand, in dem der Code realisiert ist, ein Übertragungsmedium umfassen, beispielsweise eine Netzübertragungsleitung, ein drahtloses Übertragungsmedium, Signalübertragung per Satellit, Funkwellen, Infrarotsignale usw. Außerdem kann der "gewerblich erzeugte Gegenstand" eine Kombination von Hardware- und Softwarekomponenten umfassen, in denen der Code enthalten ist, verarbeitet und ausgeführt wird. Fachleute werden selbstverständlich erkennen, dass viele Änderungen an dieser Konfiguration vorgenommen werden können, ohne vom Anwendungsbereich der vorliegenden Erfindung abzuweichen, und dass der gewerblich erzeugte Gegenstand ein beliebiges, nach dem Stand der Technik bekanntes datentragendes Medium umfassen kann.
  • Die Logik der 3 bis 7 beschreibt spezifische Vorgänge, die in einer bestimmten Reihenfolge stattfinden. In alternativen Ausführungen können bestimmte der Logikvorgänge in einer anderen Reihenfolge ausgeführt, geändert oder entfernt werden. Außerdem können Vorgänge zu der oben beschriebenen Logik hinzugefügt werden und dennoch den beschriebenen Ausführungen entsprechen. Außerdem können die hierin beschriebenen Vorgänge sequenziell stattfinden, oder bestimmte Vorgänge können parallel ausgeführt werden, oder Vorgänge, die gemäß der Beschreibung von einem einzigen Prozess ausgeführt werden, können von verteilten Prozessen ausgeführt werden.
  • Die dargestellte Logik der 3 bis 7 kann in Form von Software, Hardware, einer programmierbaren oder nichtprogrammierbaren Standardschaltkreislogik (gate array logic) oder als eine Kombination von Hardware, Software oder einer Standardschaltkreislogik realisiert werden.
  • 8 veranschaulicht eine Architektur eines Computersystems, das gemäß bestimmten Ausführungen der Erfindung verwendet werden kann. Eine Speichersteuereinheit 100 und/oder ein Host 140 können die Computerarchitektur 800 realisieren. Die Computerarchitektur 800 kann einen Prozessor 802 (z.B. einen Mikroprozessor), einen Speicher 804 (z.B. eine flüchtige Speichereinheit) und einen Speicher 810 (z.B. einen nichtflüchtigen Speicherbereich, beispielsweise Magnetplattenlaufwerke, optische Plattenlaufwerke, ein Bandlaufwerk usw.) beinhalten. Ein Betriebssystem 805 kann im Speicher 804 ausgeführt werden. Der Speicher 810 kann eine interne Speichereinheit oder einen verbundenen oder über ein Netz zugänglichen Speicher umfassen. Computerprogramme 806 im Speicher 810 können in den Speicher 804 geladen und vom Prozessor 802 auf eine nach dem Stand der Technik bekannte Weise ausgeführt werden. Außerdem beinhaltet die Architektur eine Netzkarte 808, um den Datenaustausch mit einem Netz zu ermöglichen. Eine Eingabeeinheit 812 wird zur Übertragung einer Benutzereingabe an den Prozessor 802 verwendet, dabei kann es sich um eine Tastatur, eine Maus, einen elektronischen Stift, ein Mikrofon, einen berührungsempfindlichen Bildschirm oder einen beliebigen anderen nach dem Stand der Technik bekannten Betätigungs- oder Eingabemechanismus handeln. Eine Ausgabeeinheit 814 kann Daten, die vom Prozessor 804 oder einer anderen Komponente, z.B. einem Bildschirm, einem Drucker, einem Speicher usw. übertragenen wurden, wiedergeben. Die Computerarchitektur 800 des Computersystems kann weniger Komponenten als dargestellt, zusätzliche, hierin nicht gezeigte Komponenten oder eine Kombination aus den dargestellten und zusätzlichen Komponenten beinhalten.
  • Die Computerarchitektur 800 kann eine beliebige nach dem Stand der Technik bekannte Datenverarbeitungseinheit umfassen, beispielsweise einen Großrechner, einen Server, einen Personal Computer, einen Arbeitsplatzrechner, einen Laptop-Computer, einen Taschencomputer, eine Fernsprecheinheit, eine Netzanwendung, eine Virtualisierungseinheit, eine Speichersteuereinheit usw. Jeder Prozessor 802 und jedes Betriebssystem 805, die nach dem Stand der Technik bekannt sind, können verwendet werden.
  • Die vorhergehende Beschreibung von Ausführungen der Erfindung dient zur Veranschaulichung und Beschreibung. Sie soll nicht erschöpfend sein oder die Erfindung auf die genaue beschriebene Form begrenzen. Viele Änderungen sind unter dem Aspekt der obigen Lehre möglich. Es ist vorgesehen, dass der Anwendungsbereich der Erfindung nicht durch diese ausführliche Beschreibung, sondern durch die angehängten Ansprüche begrenzt wird. Die obigen Angaben, Beispiele und Daten stellen eine vollständige Beschreibung der Herstellung und Verwendung der Erfindung bereit. Da viele Ausführungen der Erfindung ohne Abweichung vom Anwendungsbereich der Erfindung möglich sind, befindet sich die Erfindung in den im Folgenden angehängten Ansprüchen.

Claims (3)

  1. Verfahren zur Verringerung einer zwischen einer Quelle (120) und einem Ziel (130) übertragenen Datenmenge, wobei das Verfahren Folgendes umfasst: Verwalten eines ersten Anzeigers (210) für jeden Quellendatenblock, um anzuzeigen, ob der Quellendatenblock seit der letzten Übertragung des Quellendatenblocks an den Zielspeicher im Quellenspeicher (120) aktualisiert wurde; Verwalten eines zweiten Anzeigers (220) für jeden Zieldatenblock im Zielspeicher (130), um anzuzeigen, ob der Zieldatenblock seit der Überschreibung des Zieldatenblocks durch einen entsprechenden Quellendatenblock im Zielspeicher (130) aktualisiert wurde; Verwalten eines dritten Anzeigers (200) für jeden Zieldatenblock; wenn Daten aus dem Quellenspeicher (120) an den Zielspeicher (130) übertragen werden, Übertragen jedes Quellendatenblocks, für den ein erster Anzeiger (210) gesetzt wurde, um anzuzeigen, dass der Quellendatenblock aktualisiert wurde; und Übertragen jedes Quellendatenblocks, der einem Zieldatenblock entspricht, für den ein zweiter Anzeiger (220) gesetzt wurde, um anzuzeigen, dass der Zieldatenblock aktualisiert wurde; wobei das Übertragen von Daten aus dem Quellenspeicher (120) an den Zielspeicher (130) das Übertragen jedes Quellendatenblocks umfasst, für den der dritte Anzeiger (200) anzeigt, dass der Quellendatenblock an den Zielspeicher (130) übertragen werden muss; wobei das Verfahren dadurch gekennzeichnet ist, dass es Folgendes umfasst: Verbinden der Quelle (120) und des Ziels (130) in einer Beziehung einer virtuellen Momentankopie; Verwenden des dritten Anzeigers (200), um während des Betriebs vor einem inkrementellen virtuellen Kopiervorgang anzuzeigen, ob ein entsprechender Quellendatenblock oder der Zieldatenblock für einen Zwischenspeichervorgang abgerufen werden muss; wenn ein Quellendatenblock in den Zielspeicher (130) kopiert wurde, Aktualisieren des dritten Anzeigers (200) für den Zieldatenblock; Empfangen eines inkrementellen virtuellen Kopiervorgangs; und auf den Empfang des inkrementellen virtuellen Kopiervorgangs hin Aktualisieren des dritten Anzeigers (200) für jeden Zieldatenblock auf der Grundlage des ersten Anzeigers (210) für den Quellendatenblock, des zweiten Anzeigers (220) für den dem Quellendatenblock entsprechenden Zieldatenblock und des aktuellen Wertes des dritten Anzeigers (200).
  2. System zur Verringerung einer zwischen einer Quelle (120) und einem Ziel (130) übertragenen Datenmenge, wobei das System Folgendes umfasst: ein Mittel zum Verwalten eines ersten Anzeigers (210) für jeden Quellendatenblock, um anzuzeigen, ob der Quellendatenblock seit der letzten Übertragung des Quellendatenblocks an den Zielspeicher im Quellenspeicher (120) aktualisiert wurde; ein Mittel zum Verwalten eines zweiten Anzeigers (220) für jeden Zieldatenblock im Zielspeicher (130), um anzuzeigen, ob der Zieldatenblock seit der Überschreibung des Zieldatenblocks durch einen entsprechenden Quellendatenblock im Zielspeicher (130) aktualisiert wurde; ein Mittel zum Verwalten eines dritten Anzeigers (200) für jeden Zieldatenblock; ein Mittel, um bei einer Datenübertragung vom Quellenspeicher (120) an den Zielspeicher (130) jeden Quellendatenblock zu übertragen, für den ein erster Anzeiger (210) gesetzt wurde, um anzuzeigen, dass der Quellendatenblock aktualisiert wurde; und ein Mittel zum Übertragen jedes Quellendatenblocks, der einem Zieldatenblock entspricht, für den ein zweiter Anzeiger (220) gesetzt wurde, um anzuzeigen, dass der Zieldatenblock aktualisiert wurde; wobei das Mittel zum Übertragen von Daten vom Quellenspeicher (120) an den Zielspeicher (130) ein Mittel zum Übertragen jedes Quellendatenblocks umfasst, für den der dritte Anzeiger (200) anzeigt, dass der Quellendatenblock an den Zielspeicher (130) übertragen werden muss; wobei das System dadurch gekennzeichnet ist, dass es Folgendes umfasst: ein Mittel zum Verbinden der Quelle (120) und des Ziels (130) in einer Beziehung einer virtuellen Momentankopie; ein Mittel zum Verwenden des dritten Anzeigers (200), um während des Betriebs vor einem inkrementellen virtuellen Kopiervorgang anzuzeigen, ob ein entsprechender Quellendatenblock oder der Zieldatenblock für einen Zwischenspeichervorgang abgerufen werden muss; ein Mittel zum Aktualisieren des dritten Anzeigers (200) für den Zieldatenblock, wenn ein Quellendatenblock in den Zielspeicher (130) kopiert wurde; ein Mittel zum Empfangen eines inkrementellen virtuellen Kopiervorgangs; und ein Mittel, um auf den Empfang des inkrementellen virtuellen Kopiervorgangs hin den dritten Anzeiger (200) für jeden Zieldatenblock auf der Grundlage des ersten Anzeigers (210) für den Quellendatenblock, des zweiten Anzeigers (220) für den dem Quellendatenblock entsprechenden Zieldatenblock und des aktuellen Wertes des dritten Anzeigers (200) zu aktualisieren.
  3. Computerprogramm, das einen Computerprogrammcode umfasst, um bei Laden in ein Computersystem und Ausführung in demselben das Computersystem zu veranlassen, die Schritte eines Verfahrens nach Anspruch 1 auszuführen.
DE602004002216T 2003-06-18 2004-06-11 Verfahren, system und programm für eine inkrementelle virtuelle kopie Active DE602004002216T2 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US10/465,118 US6996586B2 (en) 2003-06-18 2003-06-18 Method, system, and article for incremental virtual copy of a data block
US465118 2003-06-18
PCT/EP2004/051044 WO2004114136A2 (en) 2003-06-18 2004-06-11 Method, system, and program for incremental virtual copy

Publications (2)

Publication Number Publication Date
DE602004002216D1 DE602004002216D1 (de) 2006-10-12
DE602004002216T2 true DE602004002216T2 (de) 2007-07-26

Family

ID=33517438

Family Applications (1)

Application Number Title Priority Date Filing Date
DE602004002216T Active DE602004002216T2 (de) 2003-06-18 2004-06-11 Verfahren, system und programm für eine inkrementelle virtuelle kopie

Country Status (8)

Country Link
US (1) US6996586B2 (de)
EP (1) EP1634173B1 (de)
JP (1) JP4398463B2 (de)
CN (1) CN100356336C (de)
AT (1) ATE338303T1 (de)
DE (1) DE602004002216T2 (de)
TW (1) TWI289749B (de)
WO (1) WO2004114136A2 (de)

Families Citing this family (40)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7000145B2 (en) * 2003-06-18 2006-02-14 International Business Machines Corporation Method, system, and program for reverse restore of an incremental virtual copy
US7467266B2 (en) * 2003-08-05 2008-12-16 International Business Machines Corporation Snapshot management method apparatus and system
US7277997B2 (en) * 2004-03-16 2007-10-02 International Business Machines Corporation Data consistency for mirroring updatable source data storage
US7409510B2 (en) * 2004-05-27 2008-08-05 International Business Machines Corporation Instant virtual copy to a primary mirroring portion of data
US7461100B2 (en) * 2004-05-27 2008-12-02 International Business Machines Corporation Method for fast reverse restore
US7346733B2 (en) 2004-09-09 2008-03-18 Hitachi, Ltd. Storage apparatus, system and method using a plurality of object-based storage devices
JP2006164162A (ja) 2004-12-10 2006-06-22 Fujitsu Ltd コピー制御装置および方法
US7617259B1 (en) * 2004-12-31 2009-11-10 Symantec Operating Corporation System and method for managing redundant storage consistency at a file system level
US7415488B1 (en) * 2004-12-31 2008-08-19 Symantec Operating Corporation System and method for redundant storage consistency recovery
US7617260B2 (en) * 2005-11-10 2009-11-10 International Business Machines Corporation Data set version counting in a mixed local storage and remote storage environment
US20090313428A1 (en) * 2006-09-25 2009-12-17 Intellimagic Optimising Remote Mirroring Resynchronisation
US7587564B2 (en) 2006-09-26 2009-09-08 International Business Machines Corporation System, method and computer program product for managing data versions
CN101589386B (zh) * 2006-12-04 2013-03-27 桑迪士克Il有限公司 增加透明的文件更新
US8589341B2 (en) * 2006-12-04 2013-11-19 Sandisk Il Ltd. Incremental transparent file updating
US7865473B2 (en) * 2007-04-02 2011-01-04 International Business Machines Corporation Generating and indicating incremental backup copies from virtual copies of a data set
US8250323B2 (en) * 2007-12-06 2012-08-21 International Business Machines Corporation Determining whether to use a repository to store data updated during a resynchronization
ATE525695T1 (de) 2008-10-30 2011-10-15 Ibm Durchführen eines datenschreibvorgangs auf einer speicheranordnung
WO2011007459A1 (ja) * 2009-07-17 2011-01-20 株式会社日立製作所 ストレージ装置及びその制御方法
JP5290938B2 (ja) * 2009-11-18 2013-09-18 富士通株式会社 コピー制御装置および方法
US8694745B2 (en) * 2010-09-15 2014-04-08 Symantec Corporation Physical to virtual disks creation (P2V) method, by harvesting data from critical sectors
US8433870B2 (en) 2010-10-12 2013-04-30 International Business Machines Corporation Multiple incremental virtual copies
US9218255B2 (en) * 2012-08-27 2015-12-22 International Business Machines Corporation Multi-volume instant virtual copy freeze
US9405704B2 (en) * 2012-10-16 2016-08-02 International Business Machines Corporation Establishing a point-in-time copy relationship between source logical addresses and target logical addresses
US9135121B2 (en) 2012-10-16 2015-09-15 International Business Machines Corporation Managing updates and copying data in a point-in-time copy relationship expressed as source logical addresses and target logical addresses
US9116852B2 (en) 2012-10-16 2015-08-25 International Business Machines Corporation Processing a copy command directed to a first storage architecture for data that is stored in a second storage architecture
US9589008B2 (en) * 2013-01-10 2017-03-07 Pure Storage, Inc. Deduplication of volume regions
US11768623B2 (en) 2013-01-10 2023-09-26 Pure Storage, Inc. Optimizing generalized transfers between storage systems
US9389799B2 (en) 2013-05-22 2016-07-12 International Business Machines Corporation Parallel processes for performing multiple incremental copies
CN103870544A (zh) * 2014-02-25 2014-06-18 小米科技有限责任公司 虚拟操作文件的方法、装置及电子设备
US9720620B1 (en) 2014-03-11 2017-08-01 Amazon Technologies, Inc. Efficient data volume replication for block-based storage
US9600203B2 (en) 2014-03-11 2017-03-21 Amazon Technologies, Inc. Reducing data volume durability state for block-based storage
US10007602B2 (en) 2014-05-06 2018-06-26 International Business Machines Corporation Flash copy relationship management
DK2996025T3 (en) * 2014-09-11 2018-06-18 Datadobi Cvba Data migration tool with intermediate incremental copies
US10108352B2 (en) * 2015-03-03 2018-10-23 International Business Machines Corporation Incremental replication of a source data set
US9607062B1 (en) * 2015-11-19 2017-03-28 International Business Machines Corporation Data locality in data integration applications
CN106406763A (zh) * 2016-09-21 2017-02-15 郑州云海信息技术有限公司 一种后台拷贝方法及装置
US11223528B2 (en) * 2017-01-27 2022-01-11 Box. Inc. Management of cloud-based shared content using predictive cost modeling
CN109522152B (zh) * 2018-09-06 2021-05-14 清华大学 电镜数据灾备方法、存储介质和装置
CN111143115A (zh) * 2018-11-05 2020-05-12 中国移动通信集团云南有限公司 基于备份数据的远程容灾方法及装置
TWI768478B (zh) * 2020-09-25 2022-06-21 宏碁股份有限公司 適應性調用外部硬體資源的方法

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH076530B2 (ja) * 1986-09-27 1995-01-30 日立建機株式会社 油圧ショベルの油圧回路
JP2778786B2 (ja) * 1990-03-02 1998-07-23 富士通株式会社 データ更新・復元処理方式
US5463765A (en) * 1993-03-18 1995-10-31 Hitachi, Ltd. Disk array system, data writing method thereof, and fault recovering method
JP3583829B2 (ja) * 1995-04-13 2004-11-04 株式会社日立製作所 外部記憶サブシステムの制御方法および制御装置
US6092066A (en) 1996-05-31 2000-07-18 Emc Corporation Method and apparatus for independent operation of a remote data facility
US20020156966A1 (en) * 2001-04-20 2002-10-24 Ward Alan R. Dual port RAM with automatic write indicators
GB0227786D0 (en) 2002-11-29 2003-01-08 Ibm Improved remote copy synchronization in disaster recovery computer systems

Also Published As

Publication number Publication date
EP1634173A2 (de) 2006-03-15
US6996586B2 (en) 2006-02-07
EP1634173B1 (de) 2006-08-30
WO2004114136A2 (en) 2004-12-29
CN100356336C (zh) 2007-12-19
TWI289749B (en) 2007-11-11
DE602004002216D1 (de) 2006-10-12
CN1788256A (zh) 2006-06-14
ATE338303T1 (de) 2006-09-15
WO2004114136A3 (en) 2005-05-26
TW200513845A (en) 2005-04-16
JP4398463B2 (ja) 2010-01-13
US20040260898A1 (en) 2004-12-23
JP2006527873A (ja) 2006-12-07

Similar Documents

Publication Publication Date Title
DE602004002216T2 (de) Verfahren, system und programm für eine inkrementelle virtuelle kopie
DE602004011181T2 (de) Speicherplattenanordnungsgerät
DE60213867T2 (de) Vorrichtung zur verwaltung von datenreplikation
DE60304677T2 (de) Verfahren und vorrichtung zur bereitstellung einer inkrementellen wiederherstellung eines speichermediums bei datenverlust
DE112011100534B4 (de) Mehrstufiger Sicherungsprozess
DE112010004947B4 (de) Wiederherstellung einer vollständigen Systemsicherung und inkrementeller Sicherungen unter Verwendung von mehreren gleichzeitigen Datenströmen von Einheiten
DE112018002951B4 (de) Verwenden eines spurformatcodes in einem cache-steuerblock für eine spur in einem cache, um lese- und schreibanforderungen in bezug auf die spur im cache zu verarbeiten
DE102013204972B4 (de) Hybride Sicherung und Wiederherstellung eines sehr grossen Dateisystems unter Verwendung von Metadaten-Abbildsicherung und herkömmlicher Sicherung
DE69920713T2 (de) Datei-system bild-übertragung
DE602004008808T2 (de) Verfahren und vorrichtung zur durchführung von operationen an gewählten daten in einem speicherbereich
DE112012002615B4 (de) Vorabladen von Datenspuren und Paritätsdaten zur Verwendung zum Auslagern aktualisierter Spuren
DE4220198C2 (de) Transaktionsverarbeitungsverfahren für einen digitalen Computer und Transaktionsverarbeitungssystem
DE112013001284B4 (de) Adaptive Cachespeicher-Umstufungen in einem Caching-System mit zwei Stufen
DE69831944T2 (de) Vorrichtung und verfahren zur sicherung eines plattenspeichersystem
DE60318687T2 (de) Herstellen einer gespiegelten kopie unter verwendung inkrementeller divergenz
DE102012216022B4 (de) Verwaltung einer Zeitpunktkopie-Beziehung für platzsparende Datenträger
DE112011100112B4 (de) Pufferspeicher-platte in blitzkopie-kaskade
DE602005000819T2 (de) Aufrechterhaltung der konsistenz einer fernkopie unter verwendung von virtualisierung
DE602004007925T2 (de) Verwalten einer beziehung zwischen einem zielvolumen und einem quellenvolumen
DE102012201154B4 (de) Transaktionsspeicher
DE102016010277A1 (de) Verfahren und systeme zum verbessern von speicher-journaling
DE112012001302T5 (de) Cachen von Daten in einem Speichersystem mit mehreren Cache-Speichern
DE112009004621B4 (de) Speichervorrichtungs-LöschbefehI mit einem Steuerfeld, das durch eine Anforderer-Vorrichtung steuerbar ist
DE112014003349T5 (de) Verfahren und Gerät zum Ausführen atomarer Schreibvorgänge
DE112006001636T5 (de) Technik zum Beschreiben eines nicht-flüchtigen Speichers

Legal Events

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