DE112012000604T5 - Löschen von Relationen zwischen Quellen und platzsparenden Zielen in Architekturen mit mehreren Zielen - Google Patents
Löschen von Relationen zwischen Quellen und platzsparenden Zielen in Architekturen mit mehreren Zielen Download PDFInfo
- Publication number
- DE112012000604T5 DE112012000604T5 DE112012000604.6T DE112012000604T DE112012000604T5 DE 112012000604 T5 DE112012000604 T5 DE 112012000604T5 DE 112012000604 T DE112012000604 T DE 112012000604T DE 112012000604 T5 DE112012000604 T5 DE 112012000604T5
- Authority
- DE
- Germany
- Prior art keywords
- relation
- destination
- target
- data
- sibling
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0629—Configuration or reconfiguration of storage systems
- G06F3/0631—Configuration or reconfiguration of storage systems by allocating resources to storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0629—Configuration or reconfiguration of storage systems
- G06F3/0635—Configuration or reconfiguration of storage systems by changing the path, e.g. traffic rerouting, path reconfiguration
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/067—Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Computer Networks & Wireless Communication (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Stored Programmes (AREA)
Abstract
Es wird ein Verfahren zum Löschen einer Relation zwischen einer Quelle und einem Ziel in einer Architektur mit mehreren Zielen beschrieben. Die Architektur mit mehreren Zielen beinhaltet eine Quelle und mehrere platzsparende (SE-)Ziele, die dieser zugeordnet sind. Bei einer Ausführungsform beinhaltet ein solches Verfahren zunächst ein Identifizieren einer Relation, die aus der Architektur mit mehreren Zielen gelöscht werden soll. Anschließend wird ein platzsparendes (SE-)Ziel identifiziert, das der Relation zugehörig ist. Eine Zuordnungsstruktur ordnet Daten in logischen Spuren des SE-Ziels physischen Spuren einer Datenablage zu. Anschließend identifiziert das Verfahren ein gleichgeordnetes SE-Ziel, das Daten von dem SE-Ziel erbt. Nachdem das SE-Ziel und das gleichgeordnete SE-Ziel identifiziert worden sind, modifiziert das Verfahren die Zuordnungsstruktur, um die Daten in den physischen Spuren der Datenablage den logischen Spuren des gleichgeordneten SE-Ziels zuzuordnen. Die Relation wird anschließend zwischen der Quelle und dem SE-Ziel gelöscht. Ein entsprechendes Computerprogrammprodukt wird hierin ebenfalls beschrieben.
Description
- Technisches Gebiet
- Diese Erfindung bezieht sich auf Datenreplikation und im Besonderen auf Vorrichtungen und Verfahren zum Erstellen von Zeitpunktkopien von Daten bei gleichzeitigem Minimieren von Datenduplikation.
- Hintergrund der Technik
- Datenreplikationsfunktionen wie zum Beispiel IBM® FlashCopy®, Hitachi Shadowlmage oder dergleichen können dazu verwendet werden, nahezu unmittelbare Zeitpunktkopien von logischen Datenträgern oder Datensätzen zu erzeugen. Neben sonstigen Verwendungen können diese Zeitpunktkopien für eine Wiederherstellung nach einem Absturz und für unterbrechungsfreie Geschäftsabläufe verwendet werden. IBM FlashCopy erstellt im Besonderen eine Zeitpunktkopie durch Erstellen einer Relation (oder „Zuordnung”) zwischen einem Quelldatenträger und einem Zieldatenträger. Nachdem diese Relation erstellt ist, können Daten entweder von dem Quelldatenträger oder von dem Zieldatenträger gelesen werden. Eine Ziel-Bit-Zuordnung, die einem Zieldatenträger zugehörig ist, verfolgt, welche Datenspuren tatsächlich von dem Quelldatenträger auf den Zieldatenträger kopiert worden sind. In bestimmten Fällen können Datenträger in einer mehrstufigen Konfiguration angeordnet sein, sodass bestimmte Datenträger sowohl als Ziele als auch als Quellen fungieren. In anderen Fällen können Datenträger in einer flachen Konfiguration (oder „mit mehreren Zielen”) angeordnet sein, sodass ein Quelldatenträger Relationen mit mehreren Zieldatenträgern aufweist.
- Dennoch kann die E/A-Leistungsfähigkeit mit zunehmender Anzahl von Datenträgern sowohl bei einer mehrstufigen Konfiguration als auch bei einer Konfiguration mit mehreren Zielen erheblich beeinträchtigt werden. Beispielsweise muss bei einer mehrstufigen Konfiguration ein Schreibvorgang auf einen Quelldatenträger möglicherweise darauf warten, dass Daten zwischen verschiedenen Datenträgern auf den mehreren Stufen kopiert werden, bevor der Schreibvorgang durchgeführt werden kann. Je größer die Anzahl der Datenträger auf den mehreren Stufen ist, desto größer ist folglich die Anzahl der Kopien, die erstellt werden müssen, bevor Daten auf den Quelldatenträger geschrieben werden können. Bei einer Konfiguration mit mehreren Zielen muss ein Schreibvorgang auf einen Quelldatenträger möglicherweise in ähnlicher Weise darauf warten, dass Daten auf jedes verbundene Ziel kopiert werden, bevor der Schreibvorgang durchgeführt werden kann. Je größer die Anzahl der Datenträger bei der Konfiguration mit mehreren Zielen ist, desto größer ist die Anzahl der Kopien, die erstellt werden müssen, bevor Daten auf den Quelldatenträger geschrieben werden können. Dies kann einen Schreibvorgang auf einen Quelldatenträger stark verlangsamen. Aus diesem Grund wird bei aktuellen FlashCopy-Implementierungen üblicherweise nur eine begrenzte Anzahl von Zielen bei einer Konfiguration mit mehreren Zielen zugelassen, um die Beeinträchtigung der Leistungsfähigkeit in einem vertretbaren Rahmen zu halten.
- Angesichts des Obigen werden Verfahren benötigt, um die Beeinträchtigung der Leistungsfähigkeit durch das Vorhandensein einer großen Anzahl von Datenträgern bei mehrstufigen Konfigurationen oder Konfigurationen mit mehreren Zielen zu verringern. Es werden zum Beispiel Verfahren zum Verringern einer Datenduplikation bei mehrstufigen Konfigurationen oder Konfigurationen mit mehreren Zielen beim Durchführen von Lese- und Schreibvorgängen darauf benötigt. Des Weiteren werden Verfahren benötigt, um Relationen bei mehrstufigen Konfigurationen oder Konfigurationen mit mehreren Zielen effizient zu löschen.
- Daher besteht nach dem Stand der Technik ein Bedarf, das oben genannte Problem zu lösen.
- KURZDARSTELLUNG
- Die Erfindung ist in Reaktion auf den gegenwärtigen Stand der Technik und insbesondere in Reaktion auf die Probleme und Bedürfnisse nach dem Stand der Technik entwickelt worden, die durch derzeit verfügbare Verfahren noch nicht vollständig gelöst worden sind. Dementsprechend ist die Erfindung entwickelt worden, um Verfahren, Vorrichtungen, ein Computerprogrammprodukt und ein Computerprogramm zum Löschen von Relationen zwischen Quellen und platzsparenden Zielen in Architekturen mit mehreren Zielen bereitzustellen. Die Merkmale und Vorteile der Erfindung werden aus der folgenden Beschreibung und den beigefügten Ansprüchen besser ersichtlich oder können durch Umsetzung der Erfindung, wie sie im Folgenden erläutert wird, erfahren werden.
- In Übereinstimmung mit dem Obigen wird ein Verfahren zum Löschen einer Relation zwischen einer Quelle und einem Ziel in einer Architektur mit mehreren Zielen offenbart. Die Architektur mit mehreren Zielen beinhaltet eine Quelle und mehrere platzsparende (space-efficient, SE-)Ziele, die dieser zugeordnet sind. Bei einer Ausführungsform beinhaltet ein solches Verfahren zunächst ein Identifizieren einer Relation, die aus der Architektur mit mehreren Zielen gelöscht werden soll. Anschließend wird ein platzsparendes (SE-)Ziel identifiziert, das der Relation zugehörig ist. Eine Zuordnungsstruktur ordnet Daten in logischen Spuren des SE-Ziels physischen Spuren einer Datenablage (repository) zu. Anschließend identifiziert das Verfahren ein gleichgeordnetes SE-Ziel, das Daten von dem SE-Ziel erbt. Nachdem das SE-Ziel und das gleichgeordnete SE-Ziel identifiziert worden sind, modifiziert das Verfahren die Zuordnungsstruktur so, dass die Daten in den physischen Spuren der Datenablage den logischen Spuren des gleichgeordneten SE-Ziels zugeordnet werden. Die Relation wird anschließend zwischen der Quelle und dem SE-Ziel gelöscht.
- Von einem ersten Aspekt aus betrachtet, stellt die vorliegende Erfindung ein Verfahren zum Löschen einer Relation zwischen einer Quelle und einem platzsparenden (SE-)Ziel in einer Architektur mit mehreren Zielen bereit, wobei die Architektur mit mehreren Zielen eine Quelle und eine Vielzahl von SE-Zielen aufweist, die dieser zugeordnet sind, wobei das Verfahren aufweist: Identifizieren einer ersten Relation, die aus einer Architektur mit mehreren Zielen gelöscht werden soll; Identifizieren eines platzsparenden (SE-)Ziels, das der ersten Relation zugehörig ist, wobei eine Zuordnungsstruktur Daten in logischen Spuren des SE-Ziels physischen Spuren einer Datenablage zuordnet; Identifizieren eines gleichgeordneten SE-Ziels, das Daten von dem SE-Ziel erbt; Modifizieren der Zuordnungsstruktur, um die Daten in den physischen Spuren der Datenablage den logischen Spuren des gleichgeordneten SE-Ziels zuzuordnen; und Löschen der ersten Relation.
- Von einem weiteren Aspekt aus betrachtet, stellt die vorliegende Erfindung ein Computerprogrammprodukt zum Löschen einer Relation zwischen einer Quelle und einem platzsparenden (SE-)Ziel in einer Architektur mit mehreren Zielen bereit, wobei die Architektur mit mehreren Zielen eine Quelle und eine Vielzahl von SE-Zielen aufweist, die dieser zugeordnet sind, wobei das Computerprogrammprodukt aufweist: ein computerlesbares Speichermedium, das durch eine Verarbeitungsschaltung gelesen werden kann und das Befehle zum Ausführen durch die Verarbeitungsschaltung zum Durchführen eines Verfahrens zum Ausführen der Schritte der Erfindung speichert.
- Von einem weiteren Aspekt aus betrachtet, stellt die vorliegende Erfindung ein Computerprogramm bereit, das auf einem computerlesbaren Medium gespeichert ist und in den internen Speicher eines Digitalcomputers geladen werden kann, das Abschnitte eines Software-Codes aufweist, um die Schritte der Erfindung auszuführen, wenn das Programm auf einem Computer ausgeführt wird.
- Von einem weiteren Aspekt aus betrachtet stellt die vorliegende Erfindung eine Vorrichtung zum Löschen einer Relation zwischen einer Quelle und einem platzsparenden (SE-)Ziel in einer Architektur mit mehreren Zielen bereit, wobei die Architektur mit mehreren Zielen eine Quelle und eine Vielzahl von SE-Zielen aufweist, die dieser zugeordnet sind, wobei die Vorrichtung aufweist: eine Identifizierungskomponente, um eine erste Relation zu identifizieren, die aus einer Architektur mit mehreren Zielen gelöscht werden soll; wobei die Identifizierungskomponente des Weiteren in der Lage ist, ein platzsparendes (SE-)Ziel zu identifizieren, das der ersten Relation zugehörig ist, wobei eine Zuordnungsstruktur Daten in logischen Spuren des SE-Ziels physischen Spuren einer Datenablage zuordnet; wobei die Identifzierungskomponente des Weiteren in der Lage ist, ein gleichgeordnetes SE-Ziel zu identifizieren, das Daten von dem SE-Ziel erbt; eine Modifizierungskomponente zum Modifizieren der Zuordnungsstruktur, um die Daten in den physischen Spuren der Datenablage den logischen Spuren des gleichgeordneten SE-Ziels zuzuordnen; und eine Löschkomponente zum Löschen der ersten Relation.
- Von einem weiteren Aspekt aus betrachtet, stellt die vorliegende Erfindung ein Verfahren zum Durchführen eines Schreibvorgangs auf einen Zieldatenträger (Ziel x) in einer Architektur mit mehreren Zielen bereit, wobei die Architektur mit mehreren Zielen einen Quelldatenträger und eine Vielzahl von Zieldatenträgern aufweist, die diesem zugeordnet sind, wobei das Verfahren aufweist: Ermitteln, ob das Ziel x ein nächstgelegenes, älteres gleichgeordnetes Element (closest older sibling, COS) aufweist, wobei es sich bei dem COS um einen Zieldatenträger handelt, der unmittelbar vor dem Ziel x erstellt worden ist; Ermitteln, ob eine Ziel-Bit-Zuordnung (target bit map, TBM) jeweils für das Ziel x und für das COS festgelegt ist; Kopieren von Daten von einem übergeordneten Quell-(higher source, HS-)Datenträger auf das COS, falls die TBMs sowohl für das COS als auch für das Ziel x festgelegt sind; Kopieren der Daten von dem Ziel x auf das COS, falls die TBM für das COS festgelegt ist und die TBM für das Ziel x nicht festgelegt ist; und Durchführen des Schreibvorgangs auf das Ziel x.
- Von einem weiteren Aspekt aus betrachtet, stellt die vorliegende Erfindung ein Verfahren zum Durchführen eines Lesevorgangs auf einem Zieldatenträger (Ziel x) in einer Architektur mit mehreren Zielen bereit, wobei die Architektur mit mehreren Zielen einen Quelldatenträger und eine Vielzahl von Zieldatenträgern aufweist, die diesem zugeordnet sind, wobei das Verfahren aufweist: Lesen einer Ziel-Bit-Zuordnung (TBM), die dem Ziel x zugehörig ist; Ermitteln, ob die TBM festgelegt ist; falls die TBM festgelegt ist, Lesen von Daten von einem übergeordneten Quell-(HS)Datenträger, wobei das Lesen von Daten von dem HS-Datenträger aufweist: Suchen des Quelldatenträgers, der dem Ziel x zugehörig ist; Suchen des nächstjüngeren gleichgeordneten Elements im Verhältnis zu dem Ziel x durch Untersuchen von Erzeugungsnummern (generation numbers, GNs) auf dem Quelldatenträger; und Lesen der Daten von dem nächstjüngeren gleichgeordneten Element, falls eine TBM, die dem nächstjüngeren gleichgeordneten Element zugehörig ist, nicht festgelegt ist.
- Von einem weiteren Aspekt aus betrachtet, stellt die vorliegende Erfindung ein Verfahren zum Durchführen eines Schreibvorgangs auf einen Quelldatenträger in einer Architektur mit mehreren Zielen bereit, wobei die Architektur mit mehreren Zielen einen Quelldatenträger und eine Vielzahl von Zieldatenträgern aufweist, die diesem zugeordnet sind, wobei das Verfahren aufweist: Kopieren von Daten in einer Spur des Quelldatenträgers auf einen Zieldatenträger (Ziel x), der dem Quelldatenträger zugeordnet ist; Ermöglichen, dass zumindest ein gleichgeordneter Zieldatenträger (gleichgeordnetes Element), der dem Quelldatenträger zugeordnet ist, die Daten von dem Ziel x erbt; und Durchführen eines Schreibvorgangs auf die Spur des Quelldatenträgers.
- Von einem weiteren Aspekt aus betrachtet, stellt die vorliegende Erfindung ein Verfahren zum Löschen einer Relation zwischen einer Quelle und einem Ziel in einer Architektur mit mehreren Zielen bereit, wobei die Architektur mit mehreren Zielen eine Quelle und eine Vielzahl von Zielen aufweist, die dieser zugeordnet sind, wobei das Verfahren aufweist: Identifizieren einer ersten Relation, die aus einer Architektur mit mehreren Zielen gelöscht werden soll; Identifizieren eines Ziels, das der ersten Relation zugehörig ist; Identifizieren eines gleichgeordneten Ziels, das Daten von dem Ziel erbt; Kopieren der Daten von dem Ziel zu dem gleichgeordneten Ziel; und Löschen der ersten Relation.
- Kurzbeschreibung der Zeichnungen
- Die vorliegende Erfindung wird nun lediglich beispielhaft unter Bezugnahme auf bevorzugte Ausführungsformen beschrieben, wie sie in den folgenden Figuren veranschaulicht werden:
-
1 ist ein Übersicht-Blockschaubild, das ein Beispiel für eine Netzwerkarchitektur darstellt, die verschiedene Typen von Speichersystemen nach dem Stand der Technik aufweist und in der eine bevorzugte Ausführungsform der vorliegenden Erfindung implementiert werden kann; -
2 ist ein Übersicht-Blockschaubild, das ein Beispiel für Speichersystem darstellt, in dem eine Methodik nach dem Stand der Technik, und in der eine bevorzugte Ausführungsform der vorliegenden Erfindung implementiert werden kann; -
3 ist ein Übersichts-Blockschaubild, das ein Beispiel für eine Architektur mit mehreren Zielen gemäß einer bevorzugten Ausführungsform der vorliegenden Erfindung darstellt, die einen Quelldatenträger aufweist, der mehreren Zieldatenträgern zugeordnet ist; -
4 ist ein Übersichts-Blockschaubild, das ein Beispiel für ein Verfahren zum Lesen einer Spur auf einem Zieldatenträger gemäß einer bevorzugten Ausführungsform der vorliegenden Erfindung darstellt; -
5 ist ein Ablaufplan, der eine Ausführungsform eines Verfahrens zum Kopieren einer Datenspur in Reaktion auf einen Schreibvorgang auf einem Quelldatenträger gemäß einer bevorzugten Ausführungsform der vorliegenden Erfindung darstellt; -
6 ist ein Ablaufplan, der eine Ausführungsform eines Verfahrens zum Kopieren einer Datenspur in Reaktion auf einen Schreibvorgang auf einem Zieldatenträger gemäß einer bevorzugten Ausführungsform der vorliegenden Erfindung darstellt; -
7 ist ein Ablaufplan, der eine Ausführungsform eines Verfahrens zum Suchen eines übergeordneten Quell-(HS)Datenträgers in Reaktion auf einen Lesevorgang auf einem Datenträger gemäß einer bevorzugten Ausführungsform der vorliegenden Erfindung darstellt; -
8 ist ein Ablaufplan, der eine Ausführungsform eines Verfahrens zum Suchen eines übergeordneten Quell-(HS)Datenträgers in Reaktion auf einen Schreibvorgang auf einem Datenträger gemäß einer bevorzugten Ausführungsform der vorliegenden Erfindung darstellt; -
9 ist ein Übersichtsschaubild, das ein Beispiel für eine Architektur mit mehreren Zielen darstellt, das die Verwendung von Erzeugungsnummern gemäß einer bevorzugten Ausführungsform der vorliegenden Erfindung darstellt; -
10 und11 sind Tabellen, die Daten und TBM-Werte für die in9 veranschaulichten Datenträger darstellen, nachdem verschiedene Schreibvorgänge gemäß einer bevorzugten Ausführungsform der vorliegenden Erfindung darauf durchgeführt worden sind; -
12A ist ein Übersichts-Blockschaubild, das das Löschen einer Relation zwischen einem Quelldatenträger und einem Zieldatenträger gemäß einer bevorzugten Ausführungsform der vorliegenden Erfindung darstellt; -
12B ist ein Übersichts-Blockschaubild, das das Löschen einer Relation zwischen einem Quelldatenträger und einem platzsparenden (SE-)Zieldatenträger gemäß einer bevorzugten Ausführungsform der vorliegenden Erfindung darstellt; -
13 ist ein Übersichts-Blockschaubild, das speicherinterne Quell- und Zielbeziehungseinträge gemäß einer bevorzugten Ausführungsform der vorliegenden Erfindung darstellt; -
14 ist ein Ablaufplan, der eine Ausführungsform eines Verfahrens zum Löschen einer Relation zwischen einer Quelle und einem SE-Ziel in einer Architektur mit mehreren Zielen gemäß einer bevorzugten Ausführungsform der vorliegenden Erfindung darstellt; -
15 ist ein Ablaufplan, der eine Ausführungsform eines Verfahrens zum Verarbeiten einer gelöschten Relation gemäß einer bevorzugten Ausführungsform der vorliegenden Erfindung darstellt; und -
16 ist ein Ablaufplan, der eine weitere Ausführungsform eines Verfahrens zum Verarbeiten einer gelöschten Relation gemäß einer bevorzugten Ausführungsform der vorliegenden Erfindung darstellt. - AUSFÜHRLICHE BESCHREIBUNG
- Es ist leicht zu verstehen, dass die Komponenten der vorliegenden Erfindung, wie hier allgemein beschrieben und in den Figuren veranschaulicht, in einer großen Vielfalt unterschiedlicher Konfigurationen zusammengestellt und aufgebaut sein könnten. Daher soll die folgende ausführlichere Beschreibung der bevorzugten Ausführungsformen der vorliegenden Erfindung, wie sie in den Figuren dargestellt werden, den Umfang der beanspruchten Erfindung nicht beschränken, sondern sie stellt lediglich bestimmte Beispiele für zurzeit vorgesehene Ausführungsformen gemäß der Erfindung dar. Die vorliegend beschriebenen Ausführungsformen sind am besten durch Bezugnahme auf die Zeichnungen zu verstehen, in denen durchgehend gleiche Teile durch gleiche Bezugszeichen gekennzeichnet werden.
- Wie für einen Fachmann ersichtlich ist, kann die vorliegende Erfindung als Vorrichtung, System, Verfahren oder Computerprogrammprodukt verkörpert werden. Des Weiteren kann die vorliegende Erfindung eine Hardware-Ausführungsform, eine Software-Ausführungsform (darunter Firmware, residente Software, Mikrocode usw.), die zum Betreiben der Hardware konfiguriert ist, oder eine Ausführungsform annehmen, in der Software- und Hardware-Aspekte kombiniert werden, die sämtlich hierin verallgemeinernd als „Modul” oder „System” bezeichnet werden können. Des Weiteren kann die vorliegende Erfindung die Form eines computerverwendbaren Speichermediums annehmen, das in einem beliebigen physischen Ausdrucksmedium verkörpert wird, in dem computerverwendbarer Programmcode gespeichert ist.
- Es kann eine beliebige Kombination eines oder mehrerer computerverwendbarer oder computerlesbarer Speichermedien zum Speichern des Computerprogrammprodukts verwendet werden. Bei dem computerverwendbaren oder computerlesbaren Speichermedium kann es sich zum Beispiel um ein(e) elektronische(s), magnetische(s), optische(s), elektromagnetische(s), Infrarot- bzw. Halbleitersystem, -vorrichtung oder -einheit handeln, ohne auf diese beschränkt zu sein. Zu konkreteren Beispielen (einer nicht erschöpfenden Liste) des computerlesbaren Speichermediums können folgende gehören: eine elektrische Verbindung mit einem oder mehreren Leitungen, eine tragbare Computerdiskette, eine Festplatte, ein Direktzugriffsspeicher (random access memory, RAM), ein Festwertspeicher (read-only memory, ROM), ein löschbarer, programmierbarer Festwertspeicher (erasable programmable read-only memory, EPROM oder Flash-Speicher), ein Lichtwellenleiter, ein tragbarer Compact-Disk-Festwertspeicher (CD-ROM), eine optische Speichereinheit oder eine Magnetspeichereinheit. Im Rahmen dieses Dokuments kann ein computerverwendbares oder computerlesbares Speichermedium ein beliebiges Medium sein, das das Programm zur Verwendung durch das System, die Vorrichtung oder Einheit zur Befehlsausführung bzw. in Verbindung mit diesen enthalten, speichern oder übertragen kann.
- Computerprogrammcode zum Ausführen von Vorgängen der vorliegenden Erfindung kann in einer beliebigen Kombination einer oder mehrerer Programmiersprachen geschrieben werden, zum Beispiel in einer objektorientierten Programmiersprache wie etwa Java®, Smalltalk, C++ oder dergleichen und in herkömmlichen verfahrensorientierten Programmiersprachen wie zum Beispiel der Programmiersprache „C” oder ähnlichen Programmiersprachen. Computerprogrammcode zum Implementieren der Erfindung kann auch in einer niedrigen Programmiersprache wie zum Beispiel einer Assemblersprache geschrieben werden. Der Programmcode kann vollständig auf dem Computer des Benutzers, zum Teil auf dem Computer des Benutzers, als eigenständiges Software-Paket, zum Teil auf dem Computer des Benutzers und zum Teil auf einem entfernt angeordneten Computer oder vollständig auf dem entfernt angeordneten Computer oder Server ausgeführt werden. In letzterem Szenario kann der entfernt angeordnete Computer mit dem Computer des Benutzers durch eine beliebige Art von Netzwerk verbunden sein, zum Beispiel durch ein lokales Netzwerk (local area network, LAN) oder ein Weitverkehrs-Netzwerk (wide area network, WAN), oder die Verbindung kann mit einem externen Computer (zum Beispiel über das Internet mithilfe eines Internet-Diensteanbieters) hergestellt werden. Java und alle Marken und Logos auf der Grundlage von Java sind Marken oder eingetragene Marken von Oracle und/oder seinen verbundenen Unternehmen.
- Die vorliegende Erfindung kann nachfolgend unter Bezugnahme auf Ablaufpläne und/oder Blockschaubilder von Verfahren, Vorrichtungen, Systemen und Computerprogrammprodukten gemäß Ausführungsformen der Erfindung beschrieben werden. Es versteht sich, dass jeder Block der Ablaufpläne und/oder Blockschaubilder und Kombinationen von Blöcken in den Ablaufplänen und/oder Blockschaubildern durch Computerprogrammbefehle oder -code implementiert werden kann/können. Diese Computerprogrammbefehle können für einen Prozessor eines Universalcomputers, eines Spezialcomputers oder einer sonstigen programmierbaren Datenverarbeitungsvorrichtung bereitgestellt werden, um eine Maschine zu erzeugen, sodass die Befehle, die über den Prozessor des Computers oder einer sonstigen programmierbaren Datenverarbeitungsvorrichtung ausgeführt werden, ein Mittel zum Implementieren der Funktionen/Vorgänge erzeugen, die in dem Block oder den Blöcken der Ablaufpläne und/oder der Blockschaubilder angegeben sind.
- Die Computerprogrammbefehle können auch in einem computerlesbaren Medium gespeichert werden, das einen Computer oder eine sonstige programmierbare Datenverarbeitungsvorrichtung so steuern kann, dass sie in einer bestimmten Weise funktionieren, sodass die in dem computerlesbaren Speichermedium gespeicherten Befehle einen Herstellungsgegenstand (article of manufacture) erzeugen, der Befehlsmittel beinhaltet, die die/den Funktion/Vorgang implementieren, die/der in dem Block oder den Blöcken der Ablaufpläne und/oder der Blockschaubilder angegeben ist. Die Computerprogrammbefehle können außerdem auf einen Computer oder eine sonstige programmierbare Datenverarbeitungsvorrichtung geladen werden, um zu bewirken, dass eine Reihe von Schritten eines Vorgangs auf dem Computer oder einer sonstigen programmierbaren Vorrichtung ausgeführt wird, um einen computerimplementierten Prozess zu erzeugen, sodass die auf dem Computer oder einer sonstigen programmierbaren Vorrichtung ausgeführten Befehle Prozesse bereitstellen, um die in dem Block oder den Blöcken der Ablaufpläne und/oder der Blockschaubilder angegebenen Funktionen/Vorgänge zu implementieren.
- Unter Bezugnahme auf
1 wird ein Beispiel für eine Netzwerkarchitektur100 veranschaulicht. Die Netzwerkarchitektur100 wird dargestellt, um ein Beispiel für eine Umgebung zu zeigen, in der eine Zeitpunktkopiemethodik gemäß der Erfindung implementiert werden kann. Die Netzwerkarchitektur100 wird lediglich als Beispiel und nicht beschränkend dargestellt. Tatsächlich kann die hierin offenbarte Methodik über die dargestellte Netzwerkarchitektur100 hinaus auf eine große Vielfalt verschiedener Computer, Server, Speichersysteme und Netzwerkarchitekturen anwendbar sein. - Wie dargestellt, beinhaltet die Netzwerkarchitektur
100 einen oder mehrere Computer102 ,106 , die durch ein Netzwerk104 miteinander verbunden sind. Als Netzwerk104 kommen zum Beispiel ein lokales Netzwerk (LAN)104 , ein Weitverkehrs-Netzwerk (WAN)104 , das Internet104 , ein Intranet104 oder dergleichen infrage. Bei bestimmten Ausführungsformen können die Computer102 ,106 sowohl Client-Computer102 als auch Server-Computer106 (die hierin auch als „Host-Systeme”106 bezeichnet werden) beinhalten. Im Allgemeinen können die Client-Computer102 Datenaustauschsitzungen initiieren, wohingegen die Server-Computer106 auf Anforderungen von den Client-Computern102 warten. Bei bestimmten Ausführungsformen können die Computer102 und/oder die Server106 eine Verbindung mit einem oder mehreren internen oder externen direkt angeschlossenen Speichersystemen112 (z. B. Arrays von Festplatten-Laufwerken, Halbleiter-Datenträgern, Bandlaufwerken usw.) herstellen. Diese Computer102 ,106 und die direkt angeschlossenen Speichersysteme112 können mithilfe von Protokollen wie zum Beispiel ATA, SATA, SCSI, SAS, Fibre Channel oder dergleichen Daten austauschen. Ein oder mehrere der Speichersysteme112 können die hierin offenbarte Zeitpunktkopiemethodik einsetzen. - Die Netzwerkarchitektur
100 kann bei bestimmten Ausführungsformen ein Speichernetzwerk108 hinter den Servern106 wie zum Beispiel ein Speicherbereichsnetz (storage area network, SAN)108 oder ein LAN108 beinhalten (z. B. wenn ein netzwerkgebundener Speicher verwendet wird). Dieses Netzwerk108 kann die Server106 mit einem oder mehreren Speichersystemen110 wie zum Beispiel Arrays110a aus Festplatten-Laufwerken oder Halbleiter-Datenträgern, Bildarchiven110b , einzelnen Festplatten-Laufwerken110c oder Halbleiter-Datenträgern110c , Bandlaufwerken110d , CD-ROM-Archiven oder dergleichen verbinden. Um auf ein Speichersystem110 zuzugreifen, kann ein Host-System106 über physische Verbindungen von einem oder mehreren Anschlüssen an dem Host106 mit einem oder mehreren Anschlüssen an dem Speichersystem110 Daten austauschen. Ein Verbindung kann durch einen Switch, eine Struktur, eine direkte Verbindung oder dergleichen bestehen. Bei bestimmten Ausführungsformen können die Server106 und die Speichersysteme110 mithilfe eines Netzwerkstandards wie zum Beispiel Fibre Channel (FC) Daten austauschen. Ein oder mehrere der Speichersysteme110 können die hierin offenbarte Zeitpunktkopiemethodik einsetzen. - Unter Bezugnahme auf
2 wird eine Ausführungsform eines Speichersystems110b veranschaulicht, das ein Array von Festplatten-Laufwerken204 und/oder Halbleiter-Datenträgern204 enthält. Die internen Komponenten des Speichersystems110b werden dargestellt, da die hierin offenbarte Zeitpunktkopiemethodik bei bestimmten Ausführungsformen innerhalb eines solchen Speichersystems110b implementiert werden kann, wenngleich die Methodik auch auf andere Speichersysteme110 anwendbar sein kann. Wie dargestellt, beinhaltet das Speichersystem110b eine Speichersteuereinheit200 , einen oder mehrere Switches202 und eine oder mehrere Speichereinheiten204 wie zum Beispiel Festplatten-Laufwerke204 oder Halbleiter-Datenträger204 (wie zum Beispiel Laufwerke204 auf der Grundlage von Flash-Speichern). Die Speichersteuereinheit200 kann einen oder mehrere Hosts106 (z. B. Open-System- und/oder Mainframe-Server106 ) in die Lage versetzen, auf Daten in der einen oder den mehreren Speichereinheiten204 zuzugreifen. - Bei ausgewählten Ausführungsformen beinhaltet die Speichersteuereinheit
200 einen oder mehrere Server206 . Die Speichersteuereinheit200 kann außerdem Host-Adapter208 und Einheitenadapter210 beinhalten, um die Speichersteuereinheit200 mit den Host-Einheiten106 bzw. den Speichereinheiten204 zu verbinden. Mehrere Server206a ,206b können Redundanz bereitstellen, um zu gewährleisten, dass Daten jederzeit für verbundene Hosts106 verfügbar sind. Wenn ein Server206a ausfällt, kann der andere Server206b auf diese Weise die E/A-Last des ausgefallenen Servers206a übernehmen, um sicherzustellen, dass die E/A zwischen den Hosts106 und den Speichereinheiten204 fortgesetzt werden kann. Dieser Prozess kann als Ausfallsicherung („failover” bezeichnet werden. - Ein Beispiel für ein Speichersystem
110b , das eine ähnliche Architektur wie die in2 veranschaulichte aufweist, ist das Unternehmensspeichersystem IBM DS8000®. Bei dem IBM DS8000 handelt sich um eine leistungsstarke Speichersteuereinheit mit hoher Speicherkapazität, die Plattenspeicher bereitstellt, die dazu bestimmt sind, einen Dauerbetrieb zu unterstützen. Gleichwohl sind die hierin offenbarten Verfahren nicht auf das Unternehmensspeichersystem IBM DS8000110b beschränkt, sondern können unabhängig von dem Hersteller, dem Produktnamen oder Komponenten oder Komponentennamen, die dem System110 zugehörig sind, in einem beliebigen vergleichbaren oder entsprechenden Speichersystem110 implementiert werden. Des Weiteren wird jedes Speichersystem, das einen Nutzen aus einer oder mehreren bevorzugten Ausführungsformen der vorliegenden Erfindung haben könnte, als in den Umfang der Erfindung fallend betrachtet. Folglich wird das IBM DS8000 lediglich als Beispiel dargestellt und ist nicht beschränkend gemeint. IBM, FlashCopy, DS8000 sind in vielen Ländern weltweit eingetragene Marken von International Business Machines Corporation. - Bei ausgewählten Ausführungsformen kann jeder Server
206 einen oder mehrere Prozessoren212 und einen Speicher214 beinhalten. Der Speicher214 kann einen flüchtigen Speicher (z. B. RAM) wie auch einen nichtflüchtigen Speicher (z. B. ROM, EPROM, EEPROM, Festplatten, Flash-Speicher usw.) beinhalten. Der flüchtige Speicher und der nichtflüchtige Speicher können bei bestimmten Ausführungsformen Software-Module speichern, die auf dem/den Prozessor(en)212 ausgeführt werden und dazu verwendet werden, auf Daten in den Speichereinheiten204 zuzugreifen. Die Server206 können zumindest eine Instanz dieser Software-Module betreiben. Diese Software-Module können sämtliche Lese- und Schreibanforderungen an logische Datenträger in den Speichereinheiten204 verwalten. - Bei ausgewählten Ausführungsformen beinhaltet der Speicher
214 einen Cachespeicher218 . Wenn ein Host106 (z. B. ein Open-System- oder Mainframe-Server106 ) einen Lesevorgang durchführt, kann der Server206 , der den Lesevorgang durchführt, Daten aus den Speichereinheiten204 abrufen und sie für den Fall, dass sie erneut benötigt werden, in seinem Cachespeicher218 speichern. Falls die Daten erneut durch einen Host106 angefordert werden, kann der Server206 die Daten aus dem Cachespeicher218 abrufen, statt sie aus den Speichereinheiten204 abzurufen und so Zeit und Ressourcen einsparen. Wenn ein Host106 einen Schreibvorgang durchführt, kann der Server106 , der die Schreibanforderung empfängt, den Schreibvorgang in ähnlicher Weise in seinem Cachespeicher218 speichern. Der Server106 kann dann den Schreibvorgang an die Speichereinheiten204 auslagern, wie es die Zeit und die Ressourcen erlauben. - Unter Bezugnahme auf
3 wird ein Beispiel für eine Architektur300 mit mehreren Zielen zum Erstellen von Zeitpunktkopien veranschaulicht. Eine solche Architektur300 kann innerhalb eines Speichersystems110 wie zum Beispiel des in2 veranschaulichten Speichersystems110b implementiert werden. Wie dargestellt, beinhaltet die Architektur300 mit mehreren Zielen einen Quelldatenträger302 und einen oder mehrere Zieldatenträger304a bis d. Jeder der Zieldatenträger304a bis d enthält eine Zeitpunktkopie von Daten auf dem Quelldatenträger302 . Bei ausgewählten Ausführungsformen wie zum Beispiel bei FlashCopy-Implementierungen wird eine Zeitpunktkopie durch Erstellen einer Relation (oder „Zuordnung”) zwischen einem Quelldatenträger302 und einem Zieldatenträger304 erstellt. Nachdem diese Relation erstellt worden ist, können Daten sowohl von dem Quelldatenträger302 als auch von dem Zieldatenträger304 gelesen werden, auch wenn die Daten möglicherweise noch nicht von dem Quelldatenträger302 auf den Zieldatenträger304 kopiert worden sind. Eine Ziel-Bit-Zuordnung (TBM)306 , die einem Zieldatenträger304 zugehörig ist, verfolgt, welche Datenspuren tatsächlich von dem Quelldatenträger302 auf den Zieldatenträger304 kopiert worden sind. Beispielsweise kann eine „0” in der TBM306 angeben, dass eine Datenspur kopiert worden ist (d. h., dass der Zieldatenträger304 über seine eigenen Daten verfügt), wohingegen eine „1” angeben kann, dass eine Datenspur noch nicht kopiert worden ist. In Fällen, in denen die TBM306 eine „1” enthält, kann ein Lesevorgang auf einer Spur auf dem Zieldatenträger306 an die entsprechende Spur auf dem Quelldatenträger302 gerichtet werden. Im Rahmen dieser Offenbarung gilt ein Bit in einer TBM304 als „gesetzt”, wenn es eine „1” enthält, und als „zurückgesetzt”, wenn es eine „0” enthält, wenngleich dies bei anderen Ausführungsformen umgekehrt sein könnte. Wenngleich die Quelle302 und die Ziele304 bei der veranschaulichten Ausführungsform als „Datenträger” gekennzeichnet sind, ist zu berücksichtigen, dass es sich bei der Quelle302 und den Zielen304 auch um Datensätze oder sonstige Sammlungen von Daten handeln könnte. - Wie zuvor erwähnt, muss bei herkömmlichen Architekturen
300 mit mehreren Zielen ein Schreibvorgang auf einen Quelldatenträger302 unter Umständen darauf warten, dass Daten auf dem Quelldatenträger302 auf jeden verbundenen Zieldatenträger304a bis d kopiert (d. h. ausgelagert) werden, der seine eigenen Daten nicht enthält, bevor der Schreibvorgang auf den Quelldatenträger302 abgeschlossen werden kann. Das heißt, bevor ein Schreibvorgang auf einer Datenspur des Quelldatenträgers302 durchgeführt werden kann, muss die vorhandene Datenspur auf die Zieldatenträger304a bis d, die die Datenspur noch nicht enthalten, kopiert werden, bevor die Datenspur auf dem Quelldatenträger302 überschrieben wird. Je größer die Anzahl der Zieldatenträger304a bis d in der Architektur300 mit mehreren Zielen ist, desto größer ist die Anzahl der Kopien, die erstellt werden müssen, bevor Daten erfolgreich auf den Quelldatenträger302 geschrieben werden können. Dies kann einen Schreibvorgang auf den Quelldatenträger302 stark verlangsamen. Aus diesem Grund können herkömmliche Technologien der Zeitpunktkopie nur eine begrenzte Anzahl (z. B. zwölf) von Zielen304 in Architekturen300 mit mehreren Zielen unterstützen, um die Beeinträchtigung der Leistungsfähigkeit in einem vertretbaren Rahmen zu halten. - Wie im Folgenden ausführlicher erläutert wird, kann eine verbesserte Methodik gemäß bevorzugten Ausführungsformen der vorliegenden Erfindung verwendet werden, um die Beeinträchtigung der Leistungsfähigkeit durch das Vorhandensein mehrerer Zieldatenträger
304a bis d, die einem Quelldatenträger302 zugeordnet sind, zu verringern. Statt Daten auf mehrere Ziele304a bis d zu kopieren, wenn ein Schreibvorgang auf den Quelldatenträger302 durchgeführt wird, kopiert die verbesserte Methodik die Daten auf ein einziges Ziel304 oder auf eine Teilmenge der Ziele304 . Ein Vererbungsschema ermöglicht anschließend den anderen Zielen304 , die Daten von dem einzigen Ziel304 oder der Teilmenge von Zielen304 , die die Daten enthalten, zu erben. Auf diese Weise muss ein Schreibvorgang auf einen Quelldatenträger302 unter Umständen lediglich Daten auf ein einziges Ziel304 oder auf eine Teilmenge der Ziele304 kopieren, bevor der Schreibvorgang auf den Quelldatenträger302 abgeschlossen werden kann. Die in den4 bis8 veranschaulichten Ablaufpläne stellen verschiedene spezifische Beispiele für Verfahren zum Implementieren einer solchen Methodik dar. - Unter Bezugnahme auf
4 wird ein Beispiel für ein Verfahren400 zum Lesen einer Spur von einem Zieldatenträger304 veranschaulicht. Nach dem Empfangen einer Anforderung zum Lesen einer Datenspur von einem Zieldatenträger304 ermittelt402 das Verfahren400 , ob die TBM des Zieldatenträgers304 festgelegt ist. - Falls die TBM nicht festgelegt ist (wodurch angegeben wird, dass der Zieldatenträger
304 die angeforderten Daten enthält), liest406 das Verfahren400 einfach die angeforderte Datenspur von dem Zieldatenträger304 . Falls die TBM festgelegt ist (wodurch angegeben wird, dass der Zieldatenträger304 die angeforderten Daten nicht enthält), sucht404 das Verfahren400 demgegenüber einen übergeordneten Quell-(HS)Datenträger, von dem die Daten zu lesen sind, und liest404 von dem HS-Datenträger. Ein Verfahren700 zum Suchen des HS-Datenträgers wird im Zusammenhang mit7 beschrieben. Im Rahmen dieser Offenbarung handelt es sich bei dem HS-Datenträger um den Datenträger, der die angeforderten Daten enthält und von dem der Zieldatenträger304 erbt. - Unter Bezugnahme auf
5 wird eine Ausführungsform eines Verfahrens500 zum Auslagern einer Datenspur in Reaktion auf einen Schreibvorgang auf einen Quelldatenträger302 veranschaulicht. Wie dargestellt, sucht502 das Verfahren500 zunächst das jüngste untergeordnete Element (youngest child, YC) des Quelldatenträgers302 . Im Rahmen dieser Offenbarung handelt es sich bei dem YC um den Zieldatenträger304 , der dem Quelldatenträger302 zuletzt zugeordnet worden war. Bei ausgewählten Ausführungsformen können Erzeugungsnummern (GNs) dazu verwendet werden, die Reihenfolge zu ermitteln, in der die Zieldatenträger304 dem Quelldatenträger302 hinzugefügt wurden, um Zeitpunktkopien zu erzeugen. Die Weise, in der GNs dazu verwendet werden, die Reihenfolge zu ermitteln, in der die Ziele304 dem Quelldatenträger302 zugeordnet wurden, wird im Zusammenhang mit9 erörtert. - Nachdem das Verfahren
500 das YC gefunden hat, ermittelt504 das Verfahren500 , ob die TBM des YC festgelegt ist. Falls die TBM nicht festgelegt ist (wodurch angegeben wird, dass das YC304 seine eigene Kopie der Daten enthält), ergreift508 das Verfahren500 keine Maßnahmen, da das YC304 bereits über eine Kopie der Daten verfügt. Falls die TBM festgelegt ist (wodurch angegeben wird, dass das YC304 keine eigene Kopie der Daten enthält), kopiert506 das Verfahren500 demgegenüber die Daten von dem Quelldatenträger302 auf das YC304 . Wenn ein Schreibvorgang auf dem Quelldatenträger302 durchgeführt wird, wird auf diese Weise eine einzige Kopie von dem Quelldatenträger302 auf dem YC304 erstellt, anstatt die Daten auf sämtliche Zieldatenträger304 zu kopieren, die die Daten nicht enthalten. Die anderen Zieldatenträger304 (nicht das YC304 ) können anschließend diese Daten von dem YC304 erben, beispielsweise wenn ein Lesevorgang auf den anderen Datenträgern304 durchgeführt wird oder wenn Daten von den anderen Datenträgern304 kopiert werden. - Unter Bezugnahme auf
6 wird eine Ausführungsform eines Verfahrens600 zum Auslagern einer Datenspur in Reaktion auf einen Schreibvorgang auf einen Zieldatenträger304 (Ziel x) veranschaulicht. Wie dargestellt, ermittelt602 das Verfahren600 zunächst, ob die TBMs für das Ziel x304 und das nächstgelegene, ältere gleichgeordnete Element (COS)304 für die Spur festgelegt sind, auf die geschrieben wird. Im Rahmen dieser Offenbarung handelt es sich bei dem COS um den Zieldatenträger304 , der unmittelbar vor dem Ziel x304 zugeordnet worden war. Falls beide TBMs festgelegt sind (wodurch angegeben wird, dass keiner der Datenträger die Daten in der Spur enthält, auf die geschrieben wird), kopiert604 das Verfahren600 die Datenspur von dem übergeordneten Quell-(HS-)Datenträger auf das COS304 . Ein Verfahren zum Suchen des HS-Datenträgers wird im Zusammenhang mit8 beschrieben. Falls die TBM für das Ziel x nicht festgelegt ist und die TBM für das COS festgelegt ist (wodurch angegeben wird, dass das Ziel x304 Daten in der Datenspur enthält, die überschrieben wird), wie in Schritt606 ermittelt, kopiert608 das Verfahren600 demgegenüber die Datenspur von dem Ziel x auf das COS304 – d. h., die Datenspur wird von dem Ziel x304 auf das COS304 ausgelagert. Falls die TBM des COS nicht festgelegt ist (wodurch angegeben wird, das das COS die Daten enthält) oder kein COS vorhanden ist, ergreift610 das Verfahren600 demgegenüber keine Maßnahme, da keine Kopie benötigt wird. Nachdem das Ende des Verfahrens600 erreicht ist, kann der Schreibvorgang auf dem Ziel x durchgeführt werden. - Es ist zu berücksichtigen, dass die oben beschriebenen Verfahren
500 ,600 auf verschiedene Weisen modifiziert werden könnten, ohne von der Erfindung abzuweichen. Das jüngste untergeordnete Element (YC) könnte zum Beispiel durch das älteste untergeordnete Element ersetzt werden, und das nächstgelegene, ältere gleichgeordnete Element (COS) könnte durch das nächstgelegene, jüngere gleichgeordnete Element ersetzt werden. Folglich gilt im Rahmen dieser Offenbarung dass Ausführungsformen, die das YC und das COS verwenden, auch Ausführungsformen einschließen, die das älteste untergeordnete Element und das nächstgelegene, jüngere gleichgeordnete Element verwenden. Sonstige Varianten sind ebenfalls möglich und fallen in den Umfang der Erfindung. - Unter Bezugnahme auf
7 wird eine Ausführungsform eines Verfahrens700 zum Suchen des HS-Datenträgers für einen Lesevorgang veranschaulicht. Ein solches Verfahren700 kann im Zusammenhang mit Schritt404 von4 verwendet werden. Wie dargestellt, ermittelt702 das Verfahren700 zunächst, ob es sich bei dem Datenträger, der gelesen wird, um einen Zieldatenträger304 handelt. Anderenfalls liest704 das Verfahren700 von dem Datenträger, da es sich um einen Quelldatenträger302 handelt. Falls es sich bei dem Datenträger um einen Zieldatenträger304 handelt, ermittelt706 das Verfahren, ob die TBM des Datenträgers festgelegt ist. Falls die TBM nicht festgelegt ist, liest704 das Verfahren700 von dem Datenträger304 . Falls die TBM des Datenträgers festgelegt ist, sucht708 das Verfahren700 den Quelldatenträger302 , der dem Zieldatenträger304 zugehörig ist. Das Verfahren700 sucht710 anschließend die nächste Relation mit einer Erzeugungsnummer (GN), die unmittelbar höher als die des betreffenden Zieldatenträgers304 ist. Die Weise, in der die GNs verwendet werden, wird in dem Beispiel von9 ausführlicher erläutert. - Im Allgemeinen wird im Entscheidungsschritt
710 die Relation des Quelldatenträgers302 gesucht, die unmittelbar jünger als die Relation ist, die dem betreffenden Zieldatenträger304 (wie in Schritt702 identifiziert) zugehörig ist. Das Verfahren700 sucht714 anschließend das Ziel304 dieser Relation. Falls die TBM dieses Ziels304 festgelegt716 ist, liest das Verfahren700 von dem Ziel304 . Falls die TBM dieses Ziels304 nicht festgelegt716 ist, wiederholt das Verfahren700 die Schritte710 ,714 , um das nächstjüngere Ziel304 zu suchen und zu ermitteln716 , ob seine TBM festgelegt ist. Auf diese Weise durchläuft das Verfahren700 die jüngeren gleichgeordneten Elemente des Zieldatenträgers304 , der in Schritt702 identifiziert worden ist, bis der Zieldatenträger304 gefunden wird, der die gewünschten Daten enthält. Nachdem diese Daten gefunden worden sind, liest718 das Verfahren700 von dem Datenträger304 . Falls kein jüngeres gleichgeordnetes Ziel304 gefunden wird, das die gewünschten Daten enthält, liest712 das Verfahren700 einfach von dem Quelldatenträger302 . Auf diese Weise ist ein Zieldatenträger304 in der Lage, Daten von einem gleichgeordneten Element304 zu erben, wenn ein Lesevorgang darauf durchgeführt wird. - Unter Bezugnahme auf
8 wird eine Ausführungsform eines Verfahrens800 zum Suchen des HS-Datenträgers veranschaulicht, von dem Daten kopiert werden sollen. Ein solches Verfahren800 kann im Zusammenhang mit Schritt604 von6 verwendet werden. Wie dargestellt, ermittelt802 das Verfahren800 zunächst, ob es sich bei dem Datenträger, auf den geschrieben wird, um einen Zieldatenträger304 handelt. Anderenfalls ist keine Kopie erforderlich, wie in Schritt804 dargestellt. Falls es sich bei dem Datenträger um einen Zieldatenträger304 handelt, ermittelt806 das Verfahren, ob die TBM des Datenträgers festgelegt ist. Falls die TBM nicht festgelegt ist, ist keine Kopie erforderlich. Falls es sich bei dem Datenträger um einen Zieldatenträger304 handelt und die TBM des Datenträgers festgelegt ist, sucht808 das Verfahren den Quelldatenträger302 , der dem Zieldatenträger304 zugehörig ist. Anschließend sucht das Verfahren800 auf die zuvor erörterte Weise die nächste Relation mit einer höheren Erzeugungsnummer (GN). - Nachdem die nächsthöhere GN gefunden worden ist, sucht
814 das Verfahren800 das Ziel304 dieser Relation, bei dem es sich um ein gleichgeordnetes Element des in Schritt802 identifizierten Ziels304 handelt. Falls die TBM dieses gleichgeordneten Ziels304 nicht festgelegt816 ist (wodurch angegeben wird, dass es die gewünschten Daten enthält), kopiert818 das Verfahren800 die Daten von dem gleichgeordneten Ziel304 auf das COS304 . Falls die TBM dieses gleichgeordneten Ziels304 festgelegt816 ist (wodurch angegeben wird, dass es die gewünschten Daten nicht enthält), wiederholt das Verfahren800 die Schritte810 ,814 , um das nächstjüngere gleichgeordnete Ziel304 zu suchen und zu ermitteln816 , ob seine TBM festgelegt ist. Auf diese Weise durchläuft das Verfahren800 die jüngeren gleichgeordneten Elemente des Zieldatenträgers304 , der in Schritt802 identifiziert worden ist, bis der gleichgeordnete Zieldatenträger304 gefunden wird, der die gewünschten Daten enthält. Nachdem diese Daten gefunden worden sind, kopiert818 das Verfahren800 die Daten von dem gleichgeordneten Ziel304 auf das COS. Falls kein gleichgeordnetes Ziel304 gefunden wird, das die gewünschten Daten enthält, kopiert812 das Verfahren800 die Daten von dem Quelldatenträger302 auf das COS. Nachdem die Daten kopiert worden sind, kann der Schreibvorgang auf dem Ziel304 , das in Schritt802 identifiziert worden ist, durchgeführt werden. - Unter Bezugnahme auf
9 wird ein Beispiel für eine Architektur300 mit mehreren Zielen veranschaulicht, das die Verwendung von Erzeugungsnummern (GNs) veranschaulicht. In diesem Beispiel wird angenommen, dass die Relation zwischen dem Quelldatenträger (source volume, SV)302 und einem ersten Zieldatenträger (target volume, TV1)304a zuerst erstellt wurde, gefolgt von der Relation zwischen dem Quelldatenträger302 und einem zweiten Zieldatenträger (TV2)304b , gefolgt von der Relation zwischen dem Quelldatenträger302 und einem dritten Zieldatenträger (TV3)304c . Jedes Mal, wenn dem Quelldatenträger302 eine neue Relation hinzugefügt wird, wird die Erzeugungsnummer inkrementiert. Wie bei dem Quelldatenträger302 dargestellt, ist folglich die erste Relation einer Erzeugungsnummer „1” zugehörig, die zweite Relation ist einer Erzeugungsnummer „2” zugehörig, und die dritte Relation ist einer Erzeugungsnummer „3” zugehörig. - Es wird angenommen, dass Relationen zunächst zwischen dem Quelldatenträger
302 und den ersten und zweiten Zieldatenträgern304a ,304b erstellt werden, die Relation zwischen dem Quelldatenträger302 und dem dritten Zieldatenträger304c jedoch noch nicht erstellt wird. Um einen Schreibvorgang auf die Spur 1 des zweiten Zieldatenträgers304b durchzuführen, werden in diesem Szenario die Daten in der Spur 1 von dem Quelldatenträger302 (der übergeordneten Quelle) auf den ersten Zieldatenträger304a (das nächstgelegene, ältere gleichgeordnete Element oder COS) kopiert, und die TBM des ersten Zieldatenträgers304a wird zurückgesetzt. Anschließend wird der Schreibvorgang auf die Spur 1 des zweiten Zieldatenträgers304b durchgeführt, und die TBM des zweiten Zieldatenträgers304b wird zurückgesetzt. Um einen Schreibvorgang auf die Spur 2 des Quelldatenträgers302 durchzuführen, werden die Daten in der Spur 2 in ähnlicher Weise von dem Quelldatenträger302 auf den zweiten Zieldatenträger304b (das jüngste untergeordnete Element oder YC) kopiert, und die TBM des zweiten Zieldatenträgers304b wird zurückgesetzt (wodurch angegeben wird, dass er nun die Daten enthält). Anschließend wird der Schreibvorgang auf die Spur 2 des Quelldatenträgers302 durchgeführt. Die Daten, die sich nach den beiden oben beschriebenen Schreibvorgängen auf dem ersten Zieldatenträger (TV1)304a und dem zweiten Zieldatenträger (TV2)304b befinden, werden in10 dargestellt. Die Werte in den TBMs werden ebenfalls dargestellt. - Es wird angenommen, dass nun die dritte Relation zwischen dem Quelldatenträger
302 und dem dritten Zieldatenträger304c erstellt wird. Um einen Schreibvorgang auf die Spur 3 des Quelldatenträgers302 durchzuführen, werden die Daten in der Spur 3 von dem Quelldatenträger302 auf den dritten Zieldatenträger304c (das jüngste untergeordnete Element oder YC) kopiert, und die TBM des dritten Zieldatenträgers304c wird zurückgesetzt. Anschließend wird der Schreibvorgang auf die Spur 3 des Quelldatenträgers302 durchgeführt. Um einen Schreibvorgang auf die Spur 4 des zweiten Zieldatenträgers304b durchzuführen, werden die Daten in der Spur 4 von dem Quelldatenträger302 (der übergeordneten Quelle) auf den ersten Zieldatenträger304a (das nächstgelegene, ältere gleichgeordnete Element oder COS) kopiert, und die TBM des ersten Zieldatenträgers304a wird zurückgesetzt. Anschließend wird der Schreibvorgang auf die Spur 4 des zweiten Zieldatenträgers304b durchgeführt, und die TBM des zweiten Zieldatenträgers304b wird zurückgesetzt. - Um einen Schreibvorgang auf die Spur 5 des ersten Zieldatenträgers
304a durchzuführen, wird keine Kopie erstellt, da kein nächstgelegenes, älteres gleichgeordnetes Element oder COS vorhanden ist. Anschließend wird der Schreibvorgang auf die Spur 5 des ersten Zieldatenträgers304a durchgeführt, und die TBM des ersten Zieldatenträgers304a wird zurückgesetzt. Um einen Schreibvorgang auf die Spur 6 des dritten Zieldatenträgers304c durchzuführen, werden die Daten in der Spur 6 von dem Quelldatenträger302 (der übergeordneten Quelle) auf den zweiten Zieldatenträger304b (das nächstgelegene, ältere gleichgeordnete Element oder COS) kopiert, und die TBM des zweiten Zieldatenträgers304b wird zurückgesetzt. Anschließend wird der Schreibvorgang auf die Spur 6 des dritten Zieldatenträgers304c durchgeführt, und die TBM des dritten Zieldatenträgers304c wird zurückgesetzt. Die Daten, die sich nach allen sechs oben beschriebenen Schreibvorgängen auf dem ersten Zieldatenträger (TV1)304a , dem zweiten Zieldatenträger (TV2)304b und dem dritten Zieldatenträger (TV3)304c befinden, werden in11 dargestellt. Die Werte in den TBMs werden ebenfalls dargestellt. - Unter Bezugnahme auf
12A kann/können unter bestimmten Umständen eine Relation zwischen einem Quelldatenträger302 und einem Zieldatenträger304 oder mehrere Relationen zwischen einem Quelldatenträger302 und mehreren Zieldatenträgern304 aus einer Architektur300 mit mehreren Zielen gelöscht werden. Wenn eine Relation aus einer Architektur300 mit mehreren Zielen gelöscht wird, wird die Zeitpunktkopie-Beziehung zwischen dem Quelldatenträger302 und dem Zieldatenträger304 , die der Relation zugehörig ist, beendet. Bei bestimmten Ausführungsformen kann dies die Fähigkeit sonstiger gleichgeordneter Zieldatenträger304 beenden, Daten von dem Zieldatenträger304 zu erben, zu dem die Relation gelöscht wurde. Folglich können bei bestimmten Ausführungsformen vor dem Löschen einer Relation Daten auf dem Zieldatenträger304 , der der Relation zugehörig ist, auf einen oder mehrere gleichgeordnete Zieldatenträger304 kopiert werden, sodass die gleichgeordneten Zieldatenträger304 weiterhin auf die Daten zugreifen können. - Es wird zum Beispiel angenommen, dass die Relation zwischen dem Quelldatenträger
302 und dem Zieldatenträger304c identifiziert wird, die gelöscht werden soll (wie durch den gepunkteten Pfeil angegeben). Vor dem Löschen der Relation können Daten, die auf dem Zieldatenträger304c gespeichert sind und von anderen gleichgeordneten Zieldatenträgern304 geerbt werden, von dem Zieldatenträger304c auf einen oder mehrere gleichgeordnete Zieldatenträger304 kopiert werden, sodass die gleichgeordneten Zieldatenträger304 weiterhin auf die Daten zugreifen können. Bei bestimmten Ausführungsformen, etwa bei Verwendung der in den4 bis8 beschriebenen Zeitpunktkopiemethodik werden die Daten zum Beispiel auf das nächstgelegene, ältere gleichgeordnete Element (COS) kopiert. Bei Verwendung anderer Zeitpunktkopiemethodiken können die Daten auf andere gleichgeordnete Zieldatenträger304 als das COS kopiert werden. Dennoch wird im Rahmen dieser Offenbarung angenommen, dass die Daten auf das COS kopiert werden. Nachdem sämtliche Daten, die auf dem Zieldatenträger304c gespeichert und von anderen gleichgeordneten Zieldatenträgern304 geerbt worden sind, auf das COS kopiert worden sind, kann die Relation zwischen dem Quelldatenträger302 und dem Zieldatenträger304c gelöscht werden, wodurch die Zeitpunktkopie-Beziehung zwischen dem Quelldatenträger302 und dem Zieldatenträger304c beendet wird. - Unter Bezugnahme auf
12B kann in bestimmten Fällen eine Relation zwischen einem Quelldatenträger302 und einem platzsparenden (SE-)Zieldatenträger304 gelöscht werden. Ein SE-Zieldatenträger304 unterscheidet sich von einem üblichen Zieldatenträger304 (wie etwa denjenigen, die in12A veranschaulicht werden) darin, dass Daten nicht physisch auf dem Datenträger gespeichert werden. Stattdessen handelt es sich bei dem SE-Zieldatenträger304 um einen virtuellen Datenträger (wie durch die gepunkteten Linien angegeben), dessen Daten physisch in einer gemeinsamen Datenablage1200 gespeichert werden. Eine Zuordnungsstruktur1202 verfolgt, wo sich die Daten eines SE-Zieldatenträgers physisch in der Datenablage1200 befinden. Anders ausgedrückt, die Zuordnungsstruktur1202 ordnet logische Spuren des SE-Zieldatenträgers304 physischen Spuren der Datenablage1200 zu. Aus der Perspektive einer Host-Einheit106 kann ein Lese- oder Schreibvorgang von einem bzw. auf einen SE-Zieldatenträger304 mit einem Lese- oder Schreibvorgang von einem bzw. auf einen üblichen Datenträger identisch sein. - Da ein SE-Zieldatenträger
304 physisch keine Daten speichert, ist es nicht erforderlich, Daten von einem SE-Zieldatenträger304 auf andere gleichgeordnete SE-Datenträger304 zu kopieren, wenn eine Relation gelöscht wird. Vielmehr kann die Zuordnungsstruktur1202 so modifiziert werden, dass andere gleichgeordnete SE-Zieldatenträger und im Besonderen ein oder mehrere COS-Datenträger auf die Daten des SE-Zieldatenträgers in der Datenablage1200 verweisen. Anders ausgedrückt, statt Daten physisch von einem SE-Zieldatenträger auf einen weiteren zu kopieren, wie es bei üblichen Zieldatenträgern der Fall sein mag, wird die Zuordnungsstruktur1202 so modifiziert, dass Daten, die logisch auf einem SE-Zieldatenträger gespeichert sind, nun logisch auf einem weiteren SE-Zieldatenträger gespeichert werden. Im Rahmen dieser Offenbarung wird angenommen, dass es sich bei sämtlichen Zieldatenträgern, auf die im Folgenden Bezug genommen wird, um platzsparende (SE-)Zieldatenträger handelt. - Unter Bezugnahme auf
13 wird bei bestimmten Ausführungsformen eine Beziehungstabelle1300 in dem Speicher214 gespeichert, um jede der Relationen in der Architektur300 mit mehreren Zielen zu verfolgen. Bei bestimmten Ausführungsformen ist jeder Relation ein Quellbeziehungseintrag1302a , der der Quelle der Relation entspricht, und ein Zielbeziehungseintrag1302b , der dem Ziel der Relation entspricht, zugehörig. Wie im Folgenden ausführlicher erläutert wird, können beim Löschen einer Relation der Quellbeziehungseintrag1302a und der Zielbeziehungseintrag1302b , die der Relation zugehörig sind, als „gelöscht” markiert werden, um anzugeben, dass die Relation gerade gelöscht wird (d. h., die Zuordnungsstruktur gerade so modifiziert wird, dass in Vorbereitung auf ein Löschen der Relation Daten dem COS zugeordnet werden). Das Markieren der Beziehungseinträge1302a ,1302b auf diese Weise kann außerdem sicherstellen, dass Daten nicht auf den SE-Zieldatenträger304 geschrieben werden, dessen Relation gerade gelöscht wird. Nachdem die Zuordnungsstruktur so modifiziert worden ist, dass Daten, die logisch auf dem SE-Zieldatenträger gespeichert waren, logisch auf dem COS gespeichert werden, kann die Relation gelöscht werden. Das Löschen der Relation kann ein Löschen des Quellbeziehungseintrags1302a und des Zielbeziehungseintrags1302b , die der Relation aus der Beziehungstabelle1300 zugehörig sind, beinhalten. - Unter Bezugnahme auf
14 wird eine Ausführungsform eines Verfahrens1400 zum Löschen einer Relation zwischen einer Quelle302 und einem SE-Ziel304 in einer Architektur300 mit mehreren Zielen veranschaulicht. Wie dargestellt, ermittelt1402 das Verfahren1400 zunächst, ob eine Anforderung zum Zurückziehen (d. h. eine Anforderung zum Löschen einer Relation) empfangen worden ist. Falls eine Anforderung zum Zurückziehen empfangen worden ist, markiert1404 das Verfahren1400 die Beziehungseinträge, die der Relation zugehörig sind, als „gelöscht”. Dazu kann das Markieren1404 sowohl des Quellbeziehungseintrags1302a als auch des Zielbeziehungseintrags1302b , die der Relation zugehörig sind, als „gelöscht” zählen. Anschließend ermittelt1406 das Verfahren1400 , ob eine Relation bereits in Bearbeitung ist, was bedeutet, dass die Zuordnungsstruktur1202 gerade so modifiziert wird, dass in Vorbereitung auf ein Löschen einer Relation Daten einem COS zugeordnet werden. - Falls eine Relation bereits in Bearbeitung ist, stellt
1408 das Verfahren1400 die Relation in eine Warteschlange ein. Beim Einstellen der Relation in die Warteschlange ordnet1408 das Verfahren1400 die Relationen in der Warteschlange von der ältesten bis zur jüngsten, um ältere Relationen vor jüngeren Relationen zu verarbeiten. Dadurch wird die Häufigkeit, mit der die Zuordnungsstruktur1202 modifiziert wird, idealerweise so weit wie möglich vermindert. Falls zum Beispiel die Zuordnungsstruktur1202 so modifiziert wird, dass Daten einem COS zugeordnet werden, dessen Relation zum Löschen ansteht, muss die Zuordnungsstruktur1202 unter Umständen erneut modifiziert werden, wodurch Zeit und Ressourcen verschwendet werden. Ein Verarbeiten der Relationen von der ältesten zur jüngsten trägt dazu bei, dass die Zuordnungsstruktur1202 so wenige Male wie möglich modifiziert wird. - Es können viele verschiedene Verfahren oder Techniken verwendet werden, um das Alter der Relationen zu ermitteln. Bei bestimmten Ausführungsformen wird das Alter der Relationen mithilfe von Erzeugungsnummern ermittelt, wie in
9 veranschaulicht. Beispielsweise kann durch Untersuchen der Erzeugungsnummern auf dem Quelldatenträger302 das Alter der Relationen problemlos ermittelt werden. In dem veranschaulichten Beispiel von9 wird die Erzeugungsnummer jedes Mal inkrementiert, wenn eine neue Relation erzeugt wird. Auf diese Weise ist die Relation, die der Erzeugungsnummer „1” zugehörig ist, die älteste, und die Relation, die der Erzeugungsnummer „3” zugehörig ist, ist die jüngste. Diese Gepflogenheit könnte bei anderen Ausführungsformen umgekehrt werden. - Falls sich keine Relationen in der Warteschlange befinden, verarbeitet
1410 das Verfahren1400 die Relation einfach. Falls sich eine oder mehrere Relationen in der Warteschlange befinden, verarbeitet1410 das Verfahren1400 die nächste Relation in der Warteschlange. In Zusammenhang mit den15 und16 werden verschiedene Verfahren zum Verarbeiten1410 einer Relation beschrieben. Nachdem eine Relation verarbeitet worden ist, was bedeutet, dass die Zuordnungsstruktur1202 für ein SE-Ziel304 so modifiziert worden ist, dass Daten einem COS304 zugeordnet werden, entfernt1412 das Verfahren1400 die Beziehungseinträge1302a ,1302b , die der Relation zugehörig sind, aus der Beziehungstabelle1300 . Dadurch wird die Relation beendet. Das Verfahren überprüft1414 anschließend, ob sich weitere Relationen in der Warteschlange befinden. Falls die Warteschlange leer ist, wartet1402 das Verfahren1400 auf die nächste Anforderung zum Zurückziehen. Falls die Warteschlange nicht leer ist, verarbeitet1410 das Verfahren1400 die nächste Relation in der Warteschlange. Dies wird fortgesetzt, bis sämtliche Relationen in der Warteschlange verarbeitet worden sind. - Bei bestimmten Ausführungsformen wird das Verfahren
1400 so konfiguriert, dass mehrere Relationen gleichzeitig in Bearbeitung sein können. Bei bestimmten Ausführungsformen kann die Anzahl der Relationen, die gleichzeitig in Bearbeitung sind, beschränkt sein, um die Speichereinheiten204 (z. B. Festplatten, Halbleiter-Datenträger usw.) oder Einheitenadapter210 , die den Speichereinheiten204 zugehörig sind, nicht zu überlasten. Beispielsweise können bei bestimmten Ausführungsformen die Einheitenadapter210 und die Speichereinheiten204 darauf beschränkt sein, eine bestimmte Anzahl (z. B. vier) von Relationen gleichzeitig zu verarbeiten, um die Einheiten nicht zu überlasten. Wenn mehrere Relationen gleichzeitig verarbeitet werden, kann älteren Relationen Priorität gegenüber neueren Relationen eingeräumt werden, um die Häufigkeit, mit der eine Zuordnungsstruktur1202 modifiziert wird, so weit wie möglich zu vermindern. - Unter Bezugnahme auf
15 wird eine Ausführungsform eines Verfahrens1410 zum Verarbeiten einer Relation veranschaulicht. Ein solches Verfahren1410 kann immer dann ausgeführt werden, wenn eine Relation verarbeitet1410 wird, wie in14 beschrieben. Um eine Relation zu verarbeiten, identifiziert1500 das Verfahren1410 wie dargestellt zunächst das SE-Ziel, das der Relation zugehörig ist. Anschließend identifiziert1502 das Verfahren1410 das nächstgelegene, ältere gleichgeordnete Element (COS) des SE-Ziels. Dann prüft1504 das Verfahren1410 die erste Spur des SE-Ziels und des COS. Falls das Verfahren1410 feststellt1506 , dass die TBM des SE-Ziels für die Spur nicht festgelegt ist (wodurch angegeben wird, dass das SE-Ziel eine Kopie der Daten beinhaltet), und feststellt1508 , dass die TBM des COS für die Spur festgelegt ist (wodurch angegeben wird, dass das COS keine Kopie der Daten beinhaltet), modifiziert1510 das Verfahren1410 die Zuordnungsstruktur1202 so, dass die Daten in der Datenablage1200 dem COS zugeordnet werden. Anschließend wird die TBM des COS für die Spur zurückgesetzt1510 , um anzugeben, dass es eine Kopie der Daten beinhaltet. Falls die TBM des SE-Ziels für die Spur jedoch festgelegt ist (wodurch angegeben wird, dass das SE-Ziel keine Kopie der Daten beinhaltet) oder die TBM des COS für die Spur nicht festgelegt ist (wodurch angegeben wird, dass das COS bereits eine Kopie der Daten beinhaltet), wird die Zuordnungsstruktur1202 nicht modifiziert, und das Verfahren1410 geht zu dem Entscheidungsschritt1512 über. - Nachdem das Verfahren
1410 eine Spur geprüft hat und entweder die Zuordnungsstruktur1202 modifiziert hat oder festgestellt hat, dass keine Modifizierung erforderlich ist, ermittelt1512 das Verfahren1410 , ob die letzte Spur des SE-Ziels304 erreicht worden ist. Falls die letzte Spur nicht erreicht worden ist, prüft1514 das Verfahren1410 die nächste Spur des SE-Ziels und die entsprechende Spur des COS und wiederholt die Schritte1506 ,1508 ,1510 ,1512 . Wenn sämtliche Spuren auf dem SE-Ziel304 geprüft worden sind und die Zuordnungsstruktur1202 für diejenigen Spuren modifiziert worden ist, für die es erforderlich ist, endet das Verfahren1410 . - Unter Bezugnahme auf
16 wird eine weitere Ausführungsform eines Verfahrens1410 zum Verarbeiten einer Relation veranschaulicht. Ein solches Verfahren1410 kann immer dann anstelle des Verfahrens von15 ausgeführt werden, wenn eine Relation verarbeitet1410 wird. Das in16 veranschaulichte Verfahren1410 kann dazu verwendet werden, Implementierungen zu behandeln, bei denen verschiedene Bereiche von Spuren auf einem SE-Ziel verschiedene nächstgelegene, ältere gleichgeordnete Elemente (COSs) aufweisen wie zum Beispiel bei Implementierungen von Zeitpunktkopien auf Datensatzebene. - Wie dargestellt, identifiziert
1600 das Verfahren1410 zunächst das SE-Ziel, das der Relation zugehörig ist, und identifiziert1602 einen ersten Spurbereich (z. B. die ersten fünfzig Spuren) des SE-Ziels. Anschließend identifiziert1604 das Verfahren1410 das nächstgelegene, ältere gleichgeordnete Element (COS), das dem Spurbereich zugehörig ist. Dann prüft1606 das Verfahren1410 die erste Spur des Spurbereichs und die entsprechende Spur des COS. Falls das Verfahren1410 feststellt1608 , dass die TBM für die Spur in dem Spurbereich nicht festgelegt ist (wodurch angegeben wird, dass die Spur eine Kopie der Daten beinhaltet), und feststellt1610 , dass die TBM für die entsprechende Spur des COS festgelegt ist (wodurch angegeben wird, dass die Spur keine Kopie der Daten beinhaltet), modifiziert1620 das Verfahren1410 die Zuordnungsstruktur1202 so, dass die Daten in der Datenablage1200 dem COS zugeordnet werden. Anschließend wird die TBM für die Spur auf dem COS zurückgesetzt1620 , um anzugeben, dass sie nun eine Kopie der Daten beinhaltet. Falls die TBM für die Spur auf dem SE-Ziel jedoch festgelegt ist (wodurch angegeben wird, dass das SE-Ziel keine Kopie der Daten beinhaltet) oder die TBM des COS für die entsprechende Spur nicht festgelegt ist (wodurch angegeben wird, dass das COS bereits eine Kopie der Daten beinhaltet), wird die Zuordnungsstruktur1202 nicht modifiziert, und das Verfahren1410 geht zu dem Entscheidungsschritt1618 über. - Nachdem das Verfahren
1410 eine Spur in dem Spurbereich geprüft hat und entweder die Zuordnungsstruktur1202 modifiziert hat oder festgestellt hat, dass keine Modifizierung erforderlich ist, ermittelt1618 das Verfahren1410 , ob eine weitere Spur in dem Spurbereich vorhanden ist. Falls eine weitere Spur in dem Spurbereich vorhanden ist, prüft1616 das Verfahren1410 die nächste Spur des Spurbereichs zusammen mit der entsprechenden Spur auf dem COS durch Wiederholen der Schritte1608 ,1610 ,1620 ,1618 . Wenn sämtliche Spuren in dem Spurbereich geprüft worden sind und die Zuordnungsstruktur1202 für diejenigen Spuren modifiziert worden ist, für die es erforderlich ist, ermittelt1614 das Verfahren1410 , ob auf dem SE-Ziel ein weiterer Spurbereich vorhanden ist. Falls ein weiterer Spurbereich vorhanden ist, identifiziert1604 das Verfahren1410 das COS für den Spurbereich und wiederholt die Schritte1606 ,1608 ,1610 ,1620 ,1618 ,1616 für den Spurbereich und das identifizierte COS. Dies wird fortgesetzt, bis sämtliche Spuren innerhalb sämtlicher Spurbereiche des SE-Ziels geprüft worden sind und die Zuordnungsstruktur1202 für diejenigen Spuren modifiziert worden ist, für die es erforderlich ist. Nachdem sämtliche Spuren in sämtlichen Spurbereichen des SE-Ziels geprüft worden sind und die Zuordnungsstruktur1202 entsprechend modifiziert worden ist, endet das Verfahren1410 . - Die Ablaufpläne und Blockschaubilder in den Figuren veranschaulichen die Architektur, Funktionalität und Arbeitsweise möglicher Implementierungen von Systemen, Verfahren und computerverwendbaren Medien gemäß verschiedener bevorzugter Ausführungsformen der vorliegenden Erfindung. In diesem Zusammenhang kann jeder Block in den Ablaufplänen oder Blockschaubildern ein Modul, ein Segment oder einen Abschnitt eines Codes darstellen, der einen oder mehrere ausführbare Befehle zum Implementieren der angegebenen logischen Funktion(en) aufweist. Es ist außerdem zu beachten, dass bei einigen alternativen Implementierungen die in dem Block vermerkten Funktionen in einer anderen Reihenfolge als in den Figuren vermerkt auftreten können. Beispielsweise können je nach einbezogener Funktionalität zwei nacheinander dargestellte Blöcke sogar im Wesentlichen gleichzeitig ausgeführt werden, oder die Blöcke können bisweilen in der umgekehrten Reihenfolge ausgeführt werden. Es ist ferner zu beachten, dass jeder Block der Blockschaubilder und/oder der Ablaufpläne und Kombinationen von Blöcken in den Blockschaubildern und/oder in den Ablaufplänen durch Spezialsysteme auf der Grundlage von Hardware, die die angegebenen Funktionen oder Vorgänge ausführen, oder durch Kombinationen von Spezial-Hardware und Computerbefehlen implementiert werden können.
Claims (44)
- Verfahren zum Löschen einer Relation zwischen einer Quelle und einem platzsparenden (SE-)Ziel in einer Architektur mit mehreren Zielen, wobei die Architektur mit mehreren Zielen eine Quelle und eine Vielzahl von SE-Zielen aufweist, die dieser zugeordnet sind, wobei das Verfahren aufweist: Identifizieren einer ersten Relation, die aus einer Architektur mit mehreren Zielen gelöscht werden soll; Identifizieren eines platzsparenden (SE-)Ziels, das der ersten Relation zugehörig ist, wobei eine Zuordnungsstruktur Daten in logischen Spuren des SE-Ziels physischen Spuren einer Datenablage zuordnet; Identifizieren eines gleichgeordneten SE-Ziels, das Daten von dem SE-Ziel erbt; Modifizieren der Zuordnungsstruktur, um die Daten in den physischen Spuren der Datenablage den logischen Spuren des gleichgeordneten SE-Ziels zuzuordnen; und Löschen der ersten Relation.
- Verfahren nach Anspruch 1, wobei es sich bei dem gleichgeordneten SE-Ziel um ein nächstgelegenes, älteres gleichgeordnetes Element (COS) handelt.
- Verfahren nach Anspruch 1 oder 2, wobei das Modifizieren der Zuordnungsstruktur des Weiteren aufweist: (1) Identifizieren von Daten, die logisch auf dem SE-Ziel gespeichert sind, die nicht logisch auf dem gleichgeordneten SE-Ziel gespeichert sind; und (2) Modifizieren der Zuordnungsstruktur so, dass die Daten, die logisch auf dem SE-Ziel gespeichert sind, jedoch nicht logisch auf dem gleichgeordneten SE-Ziel gespeichert sind, logisch auf dem SE-Ziel gespeichert werden.
- Verfahren nach Anspruch 3, das des Weiteren ein Identifizieren einer zweiten Relation aufweist, die aus der Architektur mit mehreren Zielen gelöscht werden soll.
- Verfahren nach Anspruch 4, das des Weiteren ein Ermitteln aufweist, ob die zweite Relation älter als die erste Relation ist.
- Verfahren nach Anspruch 4 oder 5, das des Weiteren ein Löschen der zweiten Relation vor der ersten Relation aufweist, falls die zweite Relation älter als die erste Relation ist.
- Verfahren nach einem der Ansprüche 4 bis 6, das des Weiteren ein Löschen der ersten Relation vor der zweiten Relation aufweist, falls die erste Relation älter als die zweite Relation ist.
- Verfahren nach einem der Ansprüche 5 bis 7, wobei das Ermitteln, ob die zweite Relation älter als die erste Relation ist, ein Suchen der Quelle, die den ersten und zweiten Relationen zugehörig ist, und ein Vergleichen von Erzeugungsnummern, die den ersten und zweiten Relationen zugehörig sind, aufweist, um zu ermitteln, welche Relation älter ist.
- Verfahren nach einem der vorhergehenden Ansprüche, wobei das Identifizieren einer ersten Relation, die gelöscht werden soll, des Weiteren ein Markieren eines Beziehungseintrags, der der ersten Relation zugehörig ist, als gelöscht aufweist.
- Verfahren nach Anspruch 9, wobei das Löschen der ersten Relation des Weiteren ein Löschen des Beziehungseintrags aufweist, der der ersten Relation zugehörig ist.
- Computerprogrammprodukt zum Löschen einer Relation zwischen einer Quelle und einem platzsparenden (SE-)Ziel in einer Architektur mit mehreren Zielen, wobei die Architektur mit mehreren Zielen eine Quelle und eine Vielzahl von SE-Zielen aufweist, die dieser zugeordnet sind, wobei das Computerprogrammprodukt aufweist: ein computerlesbares Speichermedium, das durch eine Verarbeitungsschaltung lesbar ist und das Befehle zur Ausführung durch die Verarbeitungsschaltung zum Durchführen eines Verfahrens nach einem der Ansprüche 1 bis 10 speichert.
- In einem computerlesbaren Medium gespeichertes und in den internen Speicher eines Digitalcomputers ladbares Computerprogramm, das Abschnitte eines Software-Codes aufweist, um das Verfahren eines der Ansprüche 1 bis 10 durchzuführen, wenn das Programm auf einem Computer ausgeführt wird.
- Vorrichtung zum Löschen einer Relation zwischen einer Quelle und einem platzsparenden (SE-)Ziel in einer Architektur mit mehreren Zielen, wobei die Architektur mit mehreren Zielen eine Quelle und eine Vielzahl von SE-Zielen aufweist, die dieser zugeordnet sind, wobei die Vorrichtung aufweist: eine Identifizierungskomponente zum Identifizieren einer ersten Relation, die aus einer Architektur mit mehreren Zielen gelöscht werden soll; wobei die Identifizierungskomponente des Weiteren in der Lage ist, ein platzsparendes (SE-)Ziel zu identifizieren, das der ersten Relation zugehörig ist, wobei eine Zuordnungsstruktur Daten in logischen Spuren des SE-Ziels physischen Spuren einer Datenablage zuordnet; wobei die Identifizierungskomponente des Weiteren in der Lage ist, ein gleichgeordnetes SE-Ziel zu identifizieren, das Daten von dem SE-Ziel erbt; eine Modifizierungskomponente zum Modifizieren der Zuordnungsstruktur, um die Daten in den physischen Spuren der Datenablage den logischen Spuren des gleichgeordneten SE-Ziels zuzuordnen; und eine Löschkomponente zum Löschen der ersten Relation.
- Vorrichtung nach Anspruch 13, wobei es sich bei dem gleichgeordneten SE-Ziel um ein nächstgelegenes, älteres gleichgeordnetes Element (COS) handelt.
- Vorrichtung nach Anspruch 13 oder 14, die des Weiteren aufweist: (1) die Identifizierungskomponente, die des Weiteren in der Lage ist, Daten zu identifizieren, die logisch auf dem SE-Ziel gespeichert sind, die nicht logisch auf dem gleichgeordneten SE-Ziel gespeichert sind; und (2) die Modifizierungskomponente, die des Weiteren in der Lage ist, die Zuordnungsstruktur so zu modifizieren, dass die Daten, die logisch auf dem SE-Ziel gespeichert sind, jedoch nicht logisch auf dem gleichgeordneten SE-Ziel gespeichert sind, logisch auf dem SE-Ziel gespeichert werden.
- Vorrichtung nach Anspruch 15, wobei die Identifizierungskomponente des Weiteren in der Lage ist, eine zweite Relation zu identifizieren, die aus der Architektur mit mehreren Zielen gelöscht werden soll.
- Vorrichtung nach Anspruch 16, das des Weiteren eine Ermittlungskomponente aufweist, um zu ermitteln, ob die zweite Relation älter als die erste Relation ist.
- Vorrichtung nach Anspruch 16 oder 17, wobei die Löschkomponente des Weiteren in der Lage ist, die zweite Relation vor der ersten Relation zu löschen, falls die zweite Relation älter als die erste Relation ist.
- Vorrichtung nach einem der Ansprüche 15 bis 18, wobei die Löschkomponente des Weiteren in der Lage ist, die erste Relation vor der zweiten Relation zu löschen, falls die erste Relation älter als die zweite Relation ist.
- Vorrichtung nach einem der Ansprüche 17 bis 19, wobei die Ermittlungskomponente des Weiteren in der Lage ist, die Quelle zu suchen, die den ersten und zweiten Relationen zugehörig ist, und Erzeugungsnummern zu vergleichen, die den ersten und zweiten Relationen zugehörig sind, um zu ermitteln, welche Relation älter ist.
- Vorrichtung nach einem der Ansprüche 13 bis 20, wobei die Identifizierungskomponente des Weiteren in der Lage ist, eine erste Relation zu identifizieren, die gelöscht werden soll, was des Weiteren ein Markieren eines Beziehungseintrags, der der ersten Relation zugehörig ist, als gelöscht aufweist.
- Vorrichtung nach Anspruch 21, wobei die Löschkomponente des Weiteren in der Lage ist, die erste Relation zu löschen, was des Weiteren ein Löschen des Beziehungseintrags aufweist, der der ersten Relation zugehörig ist.
- Verfahren zum Durchführen eines Schreibvorgangs auf einem Zieldatenträger (Ziel x) in einer Architektur mit mehreren Zielen, wobei die Architektur mit mehreren Zielen einen Quelldatenträger und eine Vielzahl von Zieldatenträgern aufweist, die diesem zugeordnet sind, wobei das Verfahren aufweist: Ermitteln, ob das Ziel x ein nächstgelegenes, älteres gleichgeordnetes Element (COS) aufweist, wobei es sich bei dem COS um einen Zieldatenträger handelt, der unmittelbar vor dem Ziel x erstellt worden ist; Ermitteln, ob eine Ziel-Bit-Zuordnung (TBM) jeweils für das Ziel x und für das COS festgelegt ist; Kopieren von Daten von einem übergeordneten Quell-(HS-)Datenträger auf das COS, falls die TBMs sowohl für das COS als auch für das Ziel x festgelegt sind; Kopieren der Daten von dem Ziel x auf das COS, falls die TBM für das COS festgelegt ist und die TBM für das Ziel x nicht festgelegt ist; und Durchführen des Schreibvorgangs auf das Ziel x.
- Verfahren nach Anspruch 23, wobei das Suchen des HS-Datenträgers des Weiteren zunächst ein Suchen des Quelldatenträgers aufweist, der dem Ziel x zugehörig ist.
- Verfahren nach Anspruch 23 oder 24, das des Weiteren ein Suchen des nächstjüngeren gleichgeordneten Elements im Verhältnis zu dem Ziel x durch Untersuchen von Erzeugungsnummern (GN) auf dem Quelldatenträger aufweist, um zu ermitteln, ob es sich bei dem nächstjüngeren gleichgeordneten Element um den HS-Datenträger handelt.
- Verfahren nach einem der Ansprüche 23 bis 25, das des Weiteren ein Kopieren der Daten von dem nächstjüngeren gleichgeordneten Element auf das COS aufweist, falls ein TBM des nächstjüngeren gleichgeordneten Elements nicht festgelegt ist.
- Verfahren nach Anspruch 25 oder 26, das des Weiteren ein Kopieren der Daten von dem Quelldatenträger auf das COS aufweist, falls kein jüngeres gleichgeordnetes Element vorhanden ist.
- Verfahren zum Durchführen eines Lesevorgangs auf einem Zieldatenträger (Ziel x) in einer Architektur mit mehreren Zielen, wobei die Architektur mit mehreren Zielen einen Quelldatenträger und eine Vielzahl von Zieldatenträgern aufweist, die diesem zugeordnet sind, wobei das Verfahren aufweist: Lesen einer Ziel-Bit-Zuordnung (TBM), die dem Ziel x zugehörig ist; Ermitteln, ob die TBM festgelegt ist; falls die TBM festgelegt ist, Lesen von Daten von einem übergeordneten Quell-(HS-)Datenträger, wobei das Lesen von Daten von dem HS-Datenträger aufweist: Suchen des Quelldatenträgers, der dem Ziel x zugehörig ist; Suchen des nächstjüngeren gleichgeordneten Elements im Verhältnis zu dem Ziel x durch Untersuchen von Erzeugungsnummern (GNs) auf dem Quelldatenträger; und Lesen der Daten von dem nächstjüngeren gleichgeordneten Element, falls eine TBM, die dem nächstjüngeren gleichgeordneten Element zugehörig ist, nicht festgelegt ist.
- Verfahren nach Anspruch 28, das des Weiteren ein Lesen der Daten von dem Quelldatenträger aufweist, falls kein jüngeres gleichgeordnetes Element vorhanden ist.
- Verfahren nach Anspruch 28 oder 29, das des Weiteren ein Lesen der Daten von dem Ziel x aufweist, falls die TBM, die dem Ziel x zugehörig ist, nicht festgelegt ist.
- Verfahren zum Durchführen eines Schreibvorgangs auf einen Quelldatenträger in einer Architektur mit mehreren Zielen, wobei die Architektur mit mehreren Zielen einen Quelldatenträger und eine Vielzahl von Zieldatenträgern aufweist, die diesem zugeordnet sind, wobei das Verfahren aufweist: Kopieren von Daten in einer Spur des Quelldatenträgers auf einen Zieldatenträger (Ziel x), der dem Quelldatenträger zugeordnet ist; Ermöglichen, dass zumindest ein gleichgeordneter Zieldatenträger (gleichgeordnetes Element), der dem Quelldatenträger zugeordnet ist, die Daten von dem Ziel x erbt; und Durchführen eines Schreibvorgangs auf die Spur des Quelldatenträgers.
- Verfahren nach Anspruch 31, wobei es sich bei dem Ziel x zumindest entweder um das jüngste untergeordnete Element oder das älteste untergeordnete Element handelt, die dem Quelldatenträger zugeordnet sind.
- Verfahren nach Anspruch 32 oder 33, wobei das Erben der Daten von dem Ziel x ein Richten von Lesevorgängen an das gleichgeordnete Element an das Ziel x aufweist.
- Verfahren nach Anspruch 32 oder 33, wobei das Erben der Daten von dem Ziel x ein Richten von Kopien von dem gleichgeordneten Element an das Ziel x aufweist.
- Verfahren zum Löschen einer Relation zwischen einer Quelle und einem Ziel in einer Architektur mit mehreren Zielen, wobei die Architektur mit mehreren Zielen eine Quelle und eine Vielzahl von Zielen aufweist, die dieser zugeordnet sind, wobei das Verfahren aufweist: Identifizieren einer ersten Relation, die aus einer Architektur mit mehreren Zielen gelöscht werden soll; Identifizieren eines Ziels, das der ersten Relation zugehörig ist; Identifizieren eines gleichgeordneten Ziels, das Daten von dem Ziel erbt; Kopieren der Daten von dem Ziel auf das gleichgeordnete Ziel; und Löschen der ersten Relation.
- Verfahren nach Anspruch 1, wobei es sich bei dem gleichgeordneten Ziel um ein nächstgelegenes, älteres gleichgeordnetes Element (COS) handelt.
- Verfahren nach Anspruch 35 oder 36, wobei das Kopieren der Daten von dem Ziel auf das gleichgeordnete Ziel (1) ein Identifizieren von Daten, die auf dem Ziel gespeichert sind, die nicht auf dem gleichgeordneten Ziel gespeichert sind, (2) ein Kopieren der Daten, die auf dem Ziel gespeichert sind, jedoch nicht auf dem gleichgeordneten Ziel gespeichert sind, von dem Ziel auf das gleichgeordnete Ziel aufweist.
- Verfahren nach einem der Ansprüche 35 bis 37, das des Weiteren ein Identifizieren einer zweiten Relation aufweist, die aus der Architektur mit mehreren Zielen gelöscht werden soll.
- Verfahren nach Anspruch 38, das des Weiteren ein Ermitteln aufweist, ob die zweite Relation älter als die erste Relation ist.
- Verfahren nach Anspruch 38, das des Weiteren ein Löschen der zweiten Relation vor der ersten Relation aufweist, falls die zweite Relation älter als die erste Relation ist.
- Verfahren nach Anspruch 38, das des Weiteren ein Löschen der ersten Relation vor der zweiten Relation aufweist, falls die erste Relation älter als die zweite Relation ist.
- Verfahren nach Anspruch 39, wobei das Ermitteln, ob die zweite Relation älter als die erste Relation ist, ein Suchen der Quelle, die den ersten und zweiten Relationen zugehörig ist, und ein Vergleichen von Erzeugungsnummern, die den ersten und zweiten Relationen zugehörig sind, aufweist, um zu ermitteln, welche Relation älter ist.
- Verfahren nach einem der Ansprüche 35 bis 42, wobei das Identifizieren einer ersten Relation, die gelöscht werden soll, des Weiteren ein Markieren eines Beziehungseintrags, der der ersten Relation zugehörig ist, als gelöscht aufweist.
- Verfahren nach Anspruch 43, wobei das Löschen der ersten Relation des Weiteren ein Löschen des Beziehungseintrags aufweist, der der ersten Relation zugehörig ist.
Applications Claiming Priority (7)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/043,398 US8667237B2 (en) | 2011-03-08 | 2011-03-08 | Deleting relations in multi-target, point-in-time-copy architectures with data deduplication |
US13/043,409 | 2011-03-08 | ||
US13/043,394 | 2011-03-08 | ||
US13/043,409 US20120233121A1 (en) | 2011-03-08 | 2011-03-08 | Deleting relations between sources and space-efficient targets in multi-target architectures |
US13/043,394 US20120233416A1 (en) | 2011-03-08 | 2011-03-08 | Multi-target, point-in-time-copy architecture with data deduplication |
US13/043,398 | 2011-03-08 | ||
PCT/IB2012/050996 WO2012120421A1 (en) | 2011-03-08 | 2012-03-02 | Deleting relations between sources and space-efficient targets in multi-target architectures |
Publications (1)
Publication Number | Publication Date |
---|---|
DE112012000604T5 true DE112012000604T5 (de) | 2014-01-16 |
Family
ID=46797545
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE112012000604.6T Pending DE112012000604T5 (de) | 2011-03-08 | 2012-03-02 | Löschen von Relationen zwischen Quellen und platzsparenden Zielen in Architekturen mit mehreren Zielen |
Country Status (5)
Country | Link |
---|---|
JP (1) | JP6048976B2 (de) |
CN (1) | CN103415843B (de) |
DE (1) | DE112012000604T5 (de) |
GB (1) | GB2502929B (de) |
WO (1) | WO2012120421A1 (de) |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4644446B2 (ja) * | 2004-06-11 | 2011-03-02 | インターナショナル・ビジネス・マシーンズ・コーポレーション | 関係に関する追加動作を実行する時にターゲット・ボリュームとソース・ボリュームとの間の関係に関する情報を管理する方法、システム、およびプログラム |
GB0428108D0 (en) * | 2004-12-23 | 2005-01-26 | Ibm | Storage system with multiple copy targeting |
GB0504390D0 (en) * | 2005-03-02 | 2005-04-06 | Ibm | Storage system with cascaded copy targeting and enhanced integrity |
JP4662548B2 (ja) * | 2005-09-27 | 2011-03-30 | 株式会社日立製作所 | スナップショット管理装置及び方法並びにストレージシステム |
US7587564B2 (en) * | 2006-09-26 | 2009-09-08 | International Business Machines Corporation | System, method and computer program product for managing data versions |
US7593973B2 (en) * | 2006-11-15 | 2009-09-22 | Dot Hill Systems Corp. | Method and apparatus for transferring snapshot data |
US7716183B2 (en) * | 2007-04-11 | 2010-05-11 | Dot Hill Systems Corporation | Snapshot preserved data cloning |
JP5228466B2 (ja) * | 2007-12-14 | 2013-07-03 | 富士通株式会社 | バックアップ装置、バックアップ方法およびバックアッププログラム |
US8327095B2 (en) * | 2008-06-06 | 2012-12-04 | International Business Machines Corporation | Maintaining information of a relationship of target volumes comprising logical copies of a source volume |
US8051259B2 (en) * | 2008-06-23 | 2011-11-01 | International Business Machines Corporation | Space efficient de-allocation for cascade/multiple target flash copy cleaning |
US8449679B2 (en) * | 2008-08-15 | 2013-05-28 | Lam Research Corporation | Temperature controlled hot edge ring assembly |
US8230185B2 (en) * | 2008-10-08 | 2012-07-24 | International Business Machines Corporation | Method for optimizing cleaning of maps in FlashCopy cascades containing incremental maps |
US8990528B2 (en) * | 2009-01-06 | 2015-03-24 | International Business Machines Corporation | Method for fast format of a fully allocated volume when copied from a space efficient volume |
JP5581776B2 (ja) * | 2010-03-31 | 2014-09-03 | 富士通株式会社 | バックアップ装置,バックアップ方法およびバックアッププログラム |
-
2012
- 2012-03-02 GB GB1316907.3A patent/GB2502929B/en active Active
- 2012-03-02 JP JP2013557198A patent/JP6048976B2/ja not_active Expired - Fee Related
- 2012-03-02 DE DE112012000604.6T patent/DE112012000604T5/de active Pending
- 2012-03-02 WO PCT/IB2012/050996 patent/WO2012120421A1/en active Application Filing
- 2012-03-02 CN CN201280011948.6A patent/CN103415843B/zh not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
GB201316907D0 (en) | 2013-11-06 |
JP6048976B2 (ja) | 2016-12-27 |
WO2012120421A1 (en) | 2012-09-13 |
GB2502929A (en) | 2013-12-11 |
CN103415843A (zh) | 2013-11-27 |
GB2502929B (en) | 2020-06-03 |
CN103415843B (zh) | 2016-12-21 |
JP2014511539A (ja) | 2014-05-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
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 | |
DE112013001421B4 (de) | Auf Richtlinien beruhendes Verwalten von Speicherfunktionen in Datenreplikationsumgebungen | |
DE69801655T2 (de) | System mit schreibbenachrichtigung während eines datensatzkopiervorgang | |
DE69803924T2 (de) | Mappedvirtuelsystem(mvs)-vorrichtungssicherung für einen datenprozessor unter verwendung einer datenspeicherungsuntersystemschnappschussmöglichkeit | |
DE112014000254B4 (de) | Mehrstufiges Zwischenspeichern und Migrieren in unterschiedlichen Granularitäten | |
DE60213867T2 (de) | Vorrichtung zur verwaltung von datenreplikation | |
DE102020112512A1 (de) | Datenspeichergerät und Betriebsverfahren dafür | |
DE102018105854A1 (de) | Dynamische Größenanpassung logischer Speicherblöcke | |
DE102016010277A1 (de) | Verfahren und systeme zum verbessern von speicher-journaling | |
DE112012001302T5 (de) | Cachen von Daten in einem Speichersystem mit mehreren Cache-Speichern | |
DE112019000143T5 (de) | Versionierungsvalidierung für die datenübertragung zwischen heterogenen datenspeichern | |
DE112010004947T5 (de) | Wiederherstellung einer vollständigen Systemsicherung und inkrementeller Sicherungen unter Verwendung von mehreren gleichzeitigen Datenströmen von Einheiten | |
DE102012219098A1 (de) | Verwaltung von Teildatensegmenten in Systemen mit doppeltem Cachespeicher | |
DE202010017613U1 (de) | Datenspeichervorrichtung mit host-gesteuerter Speicherbereinigung | |
DE102005006176A1 (de) | Transaktionsverarbeitungs-Systeme und -Verfahren, die einen Nicht-Platten-Dauerspeicher verwenden | |
DE112006003260T5 (de) | Verfahren zum dynamischen Freilegen von Sicherungs- und Wiederherstellungslaufwerken | |
DE112020005787T5 (de) | Verbesserte dateisystem-unterstützung für zonen-namespace-speicher | |
DE112012004209T5 (de) | Dynamisch eingestellter Schwellenwert zum Belegen eines sekundären Cache-Speichers | |
EP3084638A1 (de) | Posix-kompatibles dateisystem, verfahren zum erzeugen einer dateiliste und speichervorrichtung | |
DE112011104356T5 (de) | Heraufstufen von Software-Images auf der Grundlage von Streaming-Technik | |
DE102016001591A1 (de) | System und Verfahren für Copy-On-Write auf einer SSD | |
DE112012001660T5 (de) | Speicher-Checkpointing in einem System gespiegelter virtueller Maschinen | |
DE602004007925T2 (de) | Verwalten einer beziehung zwischen einem zielvolumen und einem quellenvolumen | |
DE102013205571B4 (de) | Verfahren, Computerprogrammprodukt und Vorrichtung zum Migrieren von Datenträgern mit schlanker Speicherzuweisung in mehrschichtigen Speicherarchitekturen | |
DE102014116031A1 (de) | SWAT-Befehl und API für atomare Auslagerung und Trimmen von LBAs |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
R012 | Request for examination validly filed | ||
R079 | Amendment of ipc main class |
Free format text: PREVIOUS MAIN CLASS: G06F0012000000 Ipc: G06F0017300000 |
|
R079 | Amendment of ipc main class |
Free format text: PREVIOUS MAIN CLASS: G06F0012000000 Ipc: G06F0017300000 Effective date: 20141202 |
|
R079 | Amendment of ipc main class |
Free format text: PREVIOUS MAIN CLASS: G06F0017300000 Ipc: G06F0016000000 |
|
R016 | Response to examination communication |