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 PDF

Info

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
Application number
DE112012000604.6T
Other languages
English (en)
Inventor
Rivka Mayraz Matosevich
Theresa Mary Brown
Lokesh Gupta
Michael Thomas Benhase
Carol S. Mellgren
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from US13/043,398 external-priority patent/US8667237B2/en
Priority claimed from US13/043,409 external-priority patent/US20120233121A1/en
Priority claimed from US13/043,394 external-priority patent/US20120233416A1/en
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of DE112012000604T5 publication Critical patent/DE112012000604T5/de
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • G06F3/0631Configuration or reconfiguration of storage systems by allocating resources to storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • G06F3/0635Configuration or reconfiguration of storage systems by changing the path, e.g. traffic rerouting, path reconfiguration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/067Distributed 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 und 11 sind Tabellen, die Daten und TBM-Werte für die in 9 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 Netzwerkarchitektur 100 veranschaulicht. Die Netzwerkarchitektur 100 wird dargestellt, um ein Beispiel für eine Umgebung zu zeigen, in der eine Zeitpunktkopiemethodik gemäß der Erfindung implementiert werden kann. Die Netzwerkarchitektur 100 wird lediglich als Beispiel und nicht beschränkend dargestellt. Tatsächlich kann die hierin offenbarte Methodik über die dargestellte Netzwerkarchitektur 100 hinaus auf eine große Vielfalt verschiedener Computer, Server, Speichersysteme und Netzwerkarchitekturen anwendbar sein.
  • Wie dargestellt, beinhaltet die Netzwerkarchitektur 100 einen oder mehrere Computer 102, 106, die durch ein Netzwerk 104 miteinander verbunden sind. Als Netzwerk 104 kommen zum Beispiel ein lokales Netzwerk (LAN) 104, ein Weitverkehrs-Netzwerk (WAN) 104, das Internet 104, ein Intranet 104 oder dergleichen infrage. Bei bestimmten Ausführungsformen können die Computer 102, 106 sowohl Client-Computer 102 als auch Server-Computer 106 (die hierin auch als „Host-Systeme” 106 bezeichnet werden) beinhalten. Im Allgemeinen können die Client-Computer 102 Datenaustauschsitzungen initiieren, wohingegen die Server-Computer 106 auf Anforderungen von den Client-Computern 102 warten. Bei bestimmten Ausführungsformen können die Computer 102 und/oder die Server 106 eine Verbindung mit einem oder mehreren internen oder externen direkt angeschlossenen Speichersystemen 112 (z. B. Arrays von Festplatten-Laufwerken, Halbleiter-Datenträgern, Bandlaufwerken usw.) herstellen. Diese Computer 102, 106 und die direkt angeschlossenen Speichersysteme 112 können mithilfe von Protokollen wie zum Beispiel ATA, SATA, SCSI, SAS, Fibre Channel oder dergleichen Daten austauschen. Ein oder mehrere der Speichersysteme 112 können die hierin offenbarte Zeitpunktkopiemethodik einsetzen.
  • Die Netzwerkarchitektur 100 kann bei bestimmten Ausführungsformen ein Speichernetzwerk 108 hinter den Servern 106 wie zum Beispiel ein Speicherbereichsnetz (storage area network, SAN) 108 oder ein LAN 108 beinhalten (z. B. wenn ein netzwerkgebundener Speicher verwendet wird). Dieses Netzwerk 108 kann die Server 106 mit einem oder mehreren Speichersystemen 110 wie zum Beispiel Arrays 110a aus Festplatten-Laufwerken oder Halbleiter-Datenträgern, Bildarchiven 110b, einzelnen Festplatten-Laufwerken 110c oder Halbleiter-Datenträgern 110c, Bandlaufwerken 110d, CD-ROM-Archiven oder dergleichen verbinden. Um auf ein Speichersystem 110 zuzugreifen, kann ein Host-System 106 über physische Verbindungen von einem oder mehreren Anschlüssen an dem Host 106 mit einem oder mehreren Anschlüssen an dem Speichersystem 110 Daten austauschen. Ein Verbindung kann durch einen Switch, eine Struktur, eine direkte Verbindung oder dergleichen bestehen. Bei bestimmten Ausführungsformen können die Server 106 und die Speichersysteme 110 mithilfe eines Netzwerkstandards wie zum Beispiel Fibre Channel (FC) Daten austauschen. Ein oder mehrere der Speichersysteme 110 können die hierin offenbarte Zeitpunktkopiemethodik einsetzen.
  • Unter Bezugnahme auf 2 wird eine Ausführungsform eines Speichersystems 110b veranschaulicht, das ein Array von Festplatten-Laufwerken 204 und/oder Halbleiter-Datenträgern 204 enthält. Die internen Komponenten des Speichersystems 110b werden dargestellt, da die hierin offenbarte Zeitpunktkopiemethodik bei bestimmten Ausführungsformen innerhalb eines solchen Speichersystems 110b implementiert werden kann, wenngleich die Methodik auch auf andere Speichersysteme 110 anwendbar sein kann. Wie dargestellt, beinhaltet das Speichersystem 110b eine Speichersteuereinheit 200, einen oder mehrere Switches 202 und eine oder mehrere Speichereinheiten 204 wie zum Beispiel Festplatten-Laufwerke 204 oder Halbleiter-Datenträger 204 (wie zum Beispiel Laufwerke 204 auf der Grundlage von Flash-Speichern). Die Speichersteuereinheit 200 kann einen oder mehrere Hosts 106 (z. B. Open-System- und/oder Mainframe-Server 106) in die Lage versetzen, auf Daten in der einen oder den mehreren Speichereinheiten 204 zuzugreifen.
  • Bei ausgewählten Ausführungsformen beinhaltet die Speichersteuereinheit 200 einen oder mehrere Server 206. Die Speichersteuereinheit 200 kann außerdem Host-Adapter 208 und Einheitenadapter 210 beinhalten, um die Speichersteuereinheit 200 mit den Host-Einheiten 106 bzw. den Speichereinheiten 204 zu verbinden. Mehrere Server 206a, 206b können Redundanz bereitstellen, um zu gewährleisten, dass Daten jederzeit für verbundene Hosts 106 verfügbar sind. Wenn ein Server 206a ausfällt, kann der andere Server 206b auf diese Weise die E/A-Last des ausgefallenen Servers 206a übernehmen, um sicherzustellen, dass die E/A zwischen den Hosts 106 und den Speichereinheiten 204 fortgesetzt werden kann. Dieser Prozess kann als Ausfallsicherung („failover” bezeichnet werden.
  • Ein Beispiel für ein Speichersystem 110b, das eine ähnliche Architektur wie die in 2 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 DS8000 110b beschränkt, sondern können unabhängig von dem Hersteller, dem Produktnamen oder Komponenten oder Komponentennamen, die dem System 110 zugehörig sind, in einem beliebigen vergleichbaren oder entsprechenden Speichersystem 110 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 Prozessoren 212 und einen Speicher 214 beinhalten. Der Speicher 214 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 Speichereinheiten 204 zuzugreifen. Die Server 206 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 Speichereinheiten 204 verwalten.
  • Bei ausgewählten Ausführungsformen beinhaltet der Speicher 214 einen Cachespeicher 218. Wenn ein Host 106 (z. B. ein Open-System- oder Mainframe-Server 106) einen Lesevorgang durchführt, kann der Server 206, der den Lesevorgang durchführt, Daten aus den Speichereinheiten 204 abrufen und sie für den Fall, dass sie erneut benötigt werden, in seinem Cachespeicher 218 speichern. Falls die Daten erneut durch einen Host 106 angefordert werden, kann der Server 206 die Daten aus dem Cachespeicher 218 abrufen, statt sie aus den Speichereinheiten 204 abzurufen und so Zeit und Ressourcen einsparen. Wenn ein Host 106 einen Schreibvorgang durchführt, kann der Server 106, der die Schreibanforderung empfängt, den Schreibvorgang in ähnlicher Weise in seinem Cachespeicher 218 speichern. Der Server 106 kann dann den Schreibvorgang an die Speichereinheiten 204 auslagern, wie es die Zeit und die Ressourcen erlauben.
  • Unter Bezugnahme auf 3 wird ein Beispiel für eine Architektur 300 mit mehreren Zielen zum Erstellen von Zeitpunktkopien veranschaulicht. Eine solche Architektur 300 kann innerhalb eines Speichersystems 110 wie zum Beispiel des in 2 veranschaulichten Speichersystems 110b implementiert werden. Wie dargestellt, beinhaltet die Architektur 300 mit mehreren Zielen einen Quelldatenträger 302 und einen oder mehrere Zieldatenträger 304a bis d. Jeder der Zieldatenträger 304a bis d enthält eine Zeitpunktkopie von Daten auf dem Quelldatenträger 302. Bei ausgewählten Ausführungsformen wie zum Beispiel bei FlashCopy-Implementierungen wird eine Zeitpunktkopie durch Erstellen einer Relation (oder „Zuordnung”) zwischen einem Quelldatenträger 302 und einem Zieldatenträger 304 erstellt. Nachdem diese Relation erstellt worden ist, können Daten sowohl von dem Quelldatenträger 302 als auch von dem Zieldatenträger 304 gelesen werden, auch wenn die Daten möglicherweise noch nicht von dem Quelldatenträger 302 auf den Zieldatenträger 304 kopiert worden sind. Eine Ziel-Bit-Zuordnung (TBM) 306, die einem Zieldatenträger 304 zugehörig ist, verfolgt, welche Datenspuren tatsächlich von dem Quelldatenträger 302 auf den Zieldatenträger 304 kopiert worden sind. Beispielsweise kann eine „0” in der TBM 306 angeben, dass eine Datenspur kopiert worden ist (d. h., dass der Zieldatenträger 304 ü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 TBM 306 eine „1” enthält, kann ein Lesevorgang auf einer Spur auf dem Zieldatenträger 306 an die entsprechende Spur auf dem Quelldatenträger 302 gerichtet werden. Im Rahmen dieser Offenbarung gilt ein Bit in einer TBM 304 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 Quelle 302 und die Ziele 304 bei der veranschaulichten Ausführungsform als „Datenträger” gekennzeichnet sind, ist zu berücksichtigen, dass es sich bei der Quelle 302 und den Zielen 304 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äger 302 unter Umständen darauf warten, dass Daten auf dem Quelldatenträger 302 auf jeden verbundenen Zieldatenträger 304a bis d kopiert (d. h. ausgelagert) werden, der seine eigenen Daten nicht enthält, bevor der Schreibvorgang auf den Quelldatenträger 302 abgeschlossen werden kann. Das heißt, bevor ein Schreibvorgang auf einer Datenspur des Quelldatenträgers 302 durchgeführt werden kann, muss die vorhandene Datenspur auf die Zieldatenträger 304a bis d, die die Datenspur noch nicht enthalten, kopiert werden, bevor die Datenspur auf dem Quelldatenträger 302 überschrieben wird. Je größer die Anzahl der Zieldatenträger 304a bis d in der Architektur 300 mit mehreren Zielen ist, desto größer ist die Anzahl der Kopien, die erstellt werden müssen, bevor Daten erfolgreich auf den Quelldatenträger 302 geschrieben werden können. Dies kann einen Schreibvorgang auf den Quelldatenträger 302 stark verlangsamen. Aus diesem Grund können herkömmliche Technologien der Zeitpunktkopie nur eine begrenzte Anzahl (z. B. zwölf) von Zielen 304 in Architekturen 300 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äger 302 zugeordnet sind, zu verringern. Statt Daten auf mehrere Ziele 304a bis d zu kopieren, wenn ein Schreibvorgang auf den Quelldatenträger 302 durchgeführt wird, kopiert die verbesserte Methodik die Daten auf ein einziges Ziel 304 oder auf eine Teilmenge der Ziele 304. Ein Vererbungsschema ermöglicht anschließend den anderen Zielen 304, die Daten von dem einzigen Ziel 304 oder der Teilmenge von Zielen 304, die die Daten enthalten, zu erben. Auf diese Weise muss ein Schreibvorgang auf einen Quelldatenträger 302 unter Umständen lediglich Daten auf ein einziges Ziel 304 oder auf eine Teilmenge der Ziele 304 kopieren, bevor der Schreibvorgang auf den Quelldatenträger 302 abgeschlossen werden kann. Die in den 4 bis 8 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 Verfahren 400 zum Lesen einer Spur von einem Zieldatenträger 304 veranschaulicht. Nach dem Empfangen einer Anforderung zum Lesen einer Datenspur von einem Zieldatenträger 304 ermittelt 402 das Verfahren 400, ob die TBM des Zieldatenträgers 304 festgelegt ist.
  • Falls die TBM nicht festgelegt ist (wodurch angegeben wird, dass der Zieldatenträger 304 die angeforderten Daten enthält), liest 406 das Verfahren 400 einfach die angeforderte Datenspur von dem Zieldatenträger 304. Falls die TBM festgelegt ist (wodurch angegeben wird, dass der Zieldatenträger 304 die angeforderten Daten nicht enthält), sucht 404 das Verfahren 400 demgegenüber einen übergeordneten Quell-(HS)Datenträger, von dem die Daten zu lesen sind, und liest 404 von dem HS-Datenträger. Ein Verfahren 700 zum Suchen des HS-Datenträgers wird im Zusammenhang mit 7 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äger 304 erbt.
  • Unter Bezugnahme auf 5 wird eine Ausführungsform eines Verfahrens 500 zum Auslagern einer Datenspur in Reaktion auf einen Schreibvorgang auf einen Quelldatenträger 302 veranschaulicht. Wie dargestellt, sucht 502 das Verfahren 500 zunächst das jüngste untergeordnete Element (youngest child, YC) des Quelldatenträgers 302. Im Rahmen dieser Offenbarung handelt es sich bei dem YC um den Zieldatenträger 304, der dem Quelldatenträger 302 zuletzt zugeordnet worden war. Bei ausgewählten Ausführungsformen können Erzeugungsnummern (GNs) dazu verwendet werden, die Reihenfolge zu ermitteln, in der die Zieldatenträger 304 dem Quelldatenträger 302 hinzugefügt wurden, um Zeitpunktkopien zu erzeugen. Die Weise, in der GNs dazu verwendet werden, die Reihenfolge zu ermitteln, in der die Ziele 304 dem Quelldatenträger 302 zugeordnet wurden, wird im Zusammenhang mit 9 erörtert.
  • Nachdem das Verfahren 500 das YC gefunden hat, ermittelt 504 das Verfahren 500, ob die TBM des YC festgelegt ist. Falls die TBM nicht festgelegt ist (wodurch angegeben wird, dass das YC 304 seine eigene Kopie der Daten enthält), ergreift 508 das Verfahren 500 keine Maßnahmen, da das YC 304 bereits über eine Kopie der Daten verfügt. Falls die TBM festgelegt ist (wodurch angegeben wird, dass das YC 304 keine eigene Kopie der Daten enthält), kopiert 506 das Verfahren 500 demgegenüber die Daten von dem Quelldatenträger 302 auf das YC 304. Wenn ein Schreibvorgang auf dem Quelldatenträger 302 durchgeführt wird, wird auf diese Weise eine einzige Kopie von dem Quelldatenträger 302 auf dem YC 304 erstellt, anstatt die Daten auf sämtliche Zieldatenträger 304 zu kopieren, die die Daten nicht enthalten. Die anderen Zieldatenträger 304 (nicht das YC 304) können anschließend diese Daten von dem YC 304 erben, beispielsweise wenn ein Lesevorgang auf den anderen Datenträgern 304 durchgeführt wird oder wenn Daten von den anderen Datenträgern 304 kopiert werden.
  • Unter Bezugnahme auf 6 wird eine Ausführungsform eines Verfahrens 600 zum Auslagern einer Datenspur in Reaktion auf einen Schreibvorgang auf einen Zieldatenträger 304 (Ziel x) veranschaulicht. Wie dargestellt, ermittelt 602 das Verfahren 600 zunächst, ob die TBMs für das Ziel x 304 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äger 304, der unmittelbar vor dem Ziel x 304 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), kopiert 604 das Verfahren 600 die Datenspur von dem übergeordneten Quell-(HS-)Datenträger auf das COS 304. Ein Verfahren zum Suchen des HS-Datenträgers wird im Zusammenhang mit 8 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 x 304 Daten in der Datenspur enthält, die überschrieben wird), wie in Schritt 606 ermittelt, kopiert 608 das Verfahren 600 demgegenüber die Datenspur von dem Ziel x auf das COS 304 – d. h., die Datenspur wird von dem Ziel x 304 auf das COS 304 ausgelagert. Falls die TBM des COS nicht festgelegt ist (wodurch angegeben wird, das das COS die Daten enthält) oder kein COS vorhanden ist, ergreift 610 das Verfahren 600 demgegenüber keine Maßnahme, da keine Kopie benötigt wird. Nachdem das Ende des Verfahrens 600 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 Verfahrens 700 zum Suchen des HS-Datenträgers für einen Lesevorgang veranschaulicht. Ein solches Verfahren 700 kann im Zusammenhang mit Schritt 404 von 4 verwendet werden. Wie dargestellt, ermittelt 702 das Verfahren 700 zunächst, ob es sich bei dem Datenträger, der gelesen wird, um einen Zieldatenträger 304 handelt. Anderenfalls liest 704 das Verfahren 700 von dem Datenträger, da es sich um einen Quelldatenträger 302 handelt. Falls es sich bei dem Datenträger um einen Zieldatenträger 304 handelt, ermittelt 706 das Verfahren, ob die TBM des Datenträgers festgelegt ist. Falls die TBM nicht festgelegt ist, liest 704 das Verfahren 700 von dem Datenträger 304. Falls die TBM des Datenträgers festgelegt ist, sucht 708 das Verfahren 700 den Quelldatenträger 302, der dem Zieldatenträger 304 zugehörig ist. Das Verfahren 700 sucht 710 anschließend die nächste Relation mit einer Erzeugungsnummer (GN), die unmittelbar höher als die des betreffenden Zieldatenträgers 304 ist. Die Weise, in der die GNs verwendet werden, wird in dem Beispiel von 9 ausführlicher erläutert.
  • Im Allgemeinen wird im Entscheidungsschritt 710 die Relation des Quelldatenträgers 302 gesucht, die unmittelbar jünger als die Relation ist, die dem betreffenden Zieldatenträger 304 (wie in Schritt 702 identifiziert) zugehörig ist. Das Verfahren 700 sucht 714 anschließend das Ziel 304 dieser Relation. Falls die TBM dieses Ziels 304 festgelegt 716 ist, liest das Verfahren 700 von dem Ziel 304. Falls die TBM dieses Ziels 304 nicht festgelegt 716 ist, wiederholt das Verfahren 700 die Schritte 710, 714, um das nächstjüngere Ziel 304 zu suchen und zu ermitteln 716, ob seine TBM festgelegt ist. Auf diese Weise durchläuft das Verfahren 700 die jüngeren gleichgeordneten Elemente des Zieldatenträgers 304, der in Schritt 702 identifiziert worden ist, bis der Zieldatenträger 304 gefunden wird, der die gewünschten Daten enthält. Nachdem diese Daten gefunden worden sind, liest 718 das Verfahren 700 von dem Datenträger 304. Falls kein jüngeres gleichgeordnetes Ziel 304 gefunden wird, das die gewünschten Daten enthält, liest 712 das Verfahren 700 einfach von dem Quelldatenträger 302. Auf diese Weise ist ein Zieldatenträger 304 in der Lage, Daten von einem gleichgeordneten Element 304 zu erben, wenn ein Lesevorgang darauf durchgeführt wird.
  • Unter Bezugnahme auf 8 wird eine Ausführungsform eines Verfahrens 800 zum Suchen des HS-Datenträgers veranschaulicht, von dem Daten kopiert werden sollen. Ein solches Verfahren 800 kann im Zusammenhang mit Schritt 604 von 6 verwendet werden. Wie dargestellt, ermittelt 802 das Verfahren 800 zunächst, ob es sich bei dem Datenträger, auf den geschrieben wird, um einen Zieldatenträger 304 handelt. Anderenfalls ist keine Kopie erforderlich, wie in Schritt 804 dargestellt. Falls es sich bei dem Datenträger um einen Zieldatenträger 304 handelt, ermittelt 806 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äger 304 handelt und die TBM des Datenträgers festgelegt ist, sucht 808 das Verfahren den Quelldatenträger 302, der dem Zieldatenträger 304 zugehörig ist. Anschließend sucht das Verfahren 800 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 Verfahren 800 das Ziel 304 dieser Relation, bei dem es sich um ein gleichgeordnetes Element des in Schritt 802 identifizierten Ziels 304 handelt. Falls die TBM dieses gleichgeordneten Ziels 304 nicht festgelegt 816 ist (wodurch angegeben wird, dass es die gewünschten Daten enthält), kopiert 818 das Verfahren 800 die Daten von dem gleichgeordneten Ziel 304 auf das COS 304. Falls die TBM dieses gleichgeordneten Ziels 304 festgelegt 816 ist (wodurch angegeben wird, dass es die gewünschten Daten nicht enthält), wiederholt das Verfahren 800 die Schritte 810, 814, um das nächstjüngere gleichgeordnete Ziel 304 zu suchen und zu ermitteln 816, ob seine TBM festgelegt ist. Auf diese Weise durchläuft das Verfahren 800 die jüngeren gleichgeordneten Elemente des Zieldatenträgers 304, der in Schritt 802 identifiziert worden ist, bis der gleichgeordnete Zieldatenträger 304 gefunden wird, der die gewünschten Daten enthält. Nachdem diese Daten gefunden worden sind, kopiert 818 das Verfahren 800 die Daten von dem gleichgeordneten Ziel 304 auf das COS. Falls kein gleichgeordnetes Ziel 304 gefunden wird, das die gewünschten Daten enthält, kopiert 812 das Verfahren 800 die Daten von dem Quelldatenträger 302 auf das COS. Nachdem die Daten kopiert worden sind, kann der Schreibvorgang auf dem Ziel 304, das in Schritt 802 identifiziert worden ist, durchgeführt werden.
  • Unter Bezugnahme auf 9 wird ein Beispiel für eine Architektur 300 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äger 302 und einem zweiten Zieldatenträger (TV2) 304b, gefolgt von der Relation zwischen dem Quelldatenträger 302 und einem dritten Zieldatenträger (TV3) 304c. Jedes Mal, wenn dem Quelldatenträger 302 eine neue Relation hinzugefügt wird, wird die Erzeugungsnummer inkrementiert. Wie bei dem Quelldatenträger 302 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ägern 304a, 304b erstellt werden, die Relation zwischen dem Quelldatenträger 302 und dem dritten Zieldatenträger 304c jedoch noch nicht erstellt wird. Um einen Schreibvorgang auf die Spur 1 des zweiten Zieldatenträgers 304b durchzuführen, werden in diesem Szenario die Daten in der Spur 1 von dem Quelldatenträger 302 (der übergeordneten Quelle) auf den ersten Zieldatenträger 304a (das nächstgelegene, ältere gleichgeordnete Element oder COS) kopiert, und die TBM des ersten Zieldatenträgers 304a wird zurückgesetzt. Anschließend wird der Schreibvorgang auf die Spur 1 des zweiten Zieldatenträgers 304b durchgeführt, und die TBM des zweiten Zieldatenträgers 304b wird zurückgesetzt. Um einen Schreibvorgang auf die Spur 2 des Quelldatenträgers 302 durchzuführen, werden die Daten in der Spur 2 in ähnlicher Weise von dem Quelldatenträger 302 auf den zweiten Zieldatenträger 304b (das jüngste untergeordnete Element oder YC) kopiert, und die TBM des zweiten Zieldatenträgers 304b wird zurückgesetzt (wodurch angegeben wird, dass er nun die Daten enthält). Anschließend wird der Schreibvorgang auf die Spur 2 des Quelldatenträgers 302 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 in 10 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äger 304c erstellt wird. Um einen Schreibvorgang auf die Spur 3 des Quelldatenträgers 302 durchzuführen, werden die Daten in der Spur 3 von dem Quelldatenträger 302 auf den dritten Zieldatenträger 304c (das jüngste untergeordnete Element oder YC) kopiert, und die TBM des dritten Zieldatenträgers 304c wird zurückgesetzt. Anschließend wird der Schreibvorgang auf die Spur 3 des Quelldatenträgers 302 durchgeführt. Um einen Schreibvorgang auf die Spur 4 des zweiten Zieldatenträgers 304b durchzuführen, werden die Daten in der Spur 4 von dem Quelldatenträger 302 (der übergeordneten Quelle) auf den ersten Zieldatenträger 304a (das nächstgelegene, ältere gleichgeordnete Element oder COS) kopiert, und die TBM des ersten Zieldatenträgers 304a wird zurückgesetzt. Anschließend wird der Schreibvorgang auf die Spur 4 des zweiten Zieldatenträgers 304b durchgeführt, und die TBM des zweiten Zieldatenträgers 304b 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ägers 304a durchgeführt, und die TBM des ersten Zieldatenträgers 304a wird zurückgesetzt. Um einen Schreibvorgang auf die Spur 6 des dritten Zieldatenträgers 304c durchzuführen, werden die Daten in der Spur 6 von dem Quelldatenträger 302 (der übergeordneten Quelle) auf den zweiten Zieldatenträger 304b (das nächstgelegene, ältere gleichgeordnete Element oder COS) kopiert, und die TBM des zweiten Zieldatenträgers 304b wird zurückgesetzt. Anschließend wird der Schreibvorgang auf die Spur 6 des dritten Zieldatenträgers 304c durchgeführt, und die TBM des dritten Zieldatenträgers 304c 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 in 11 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äger 302 und einem Zieldatenträger 304 oder mehrere Relationen zwischen einem Quelldatenträger 302 und mehreren Zieldatenträgern 304 aus einer Architektur 300 mit mehreren Zielen gelöscht werden. Wenn eine Relation aus einer Architektur 300 mit mehreren Zielen gelöscht wird, wird die Zeitpunktkopie-Beziehung zwischen dem Quelldatenträger 302 und dem Zieldatenträger 304, die der Relation zugehörig ist, beendet. Bei bestimmten Ausführungsformen kann dies die Fähigkeit sonstiger gleichgeordneter Zieldatenträger 304 beenden, Daten von dem Zieldatenträger 304 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äger 304, der der Relation zugehörig ist, auf einen oder mehrere gleichgeordnete Zieldatenträger 304 kopiert werden, sodass die gleichgeordneten Zieldatenträger 304 weiterhin auf die Daten zugreifen können.
  • Es wird zum Beispiel angenommen, dass die Relation zwischen dem Quelldatenträger 302 und dem Zieldatenträger 304c 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äger 304c gespeichert sind und von anderen gleichgeordneten Zieldatenträgern 304 geerbt werden, von dem Zieldatenträger 304c auf einen oder mehrere gleichgeordnete Zieldatenträger 304 kopiert werden, sodass die gleichgeordneten Zieldatenträger 304 weiterhin auf die Daten zugreifen können. Bei bestimmten Ausführungsformen, etwa bei Verwendung der in den 4 bis 8 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äger 304 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äger 304c gespeichert und von anderen gleichgeordneten Zieldatenträgern 304 geerbt worden sind, auf das COS kopiert worden sind, kann die Relation zwischen dem Quelldatenträger 302 und dem Zieldatenträger 304c gelöscht werden, wodurch die Zeitpunktkopie-Beziehung zwischen dem Quelldatenträger 302 und dem Zieldatenträger 304c beendet wird.
  • Unter Bezugnahme auf 12B kann in bestimmten Fällen eine Relation zwischen einem Quelldatenträger 302 und einem platzsparenden (SE-)Zieldatenträger 304 gelöscht werden. Ein SE-Zieldatenträger 304 unterscheidet sich von einem üblichen Zieldatenträger 304 (wie etwa denjenigen, die in 12A veranschaulicht werden) darin, dass Daten nicht physisch auf dem Datenträger gespeichert werden. Stattdessen handelt es sich bei dem SE-Zieldatenträger 304 um einen virtuellen Datenträger (wie durch die gepunkteten Linien angegeben), dessen Daten physisch in einer gemeinsamen Datenablage 1200 gespeichert werden. Eine Zuordnungsstruktur 1202 verfolgt, wo sich die Daten eines SE-Zieldatenträgers physisch in der Datenablage 1200 befinden. Anders ausgedrückt, die Zuordnungsstruktur 1202 ordnet logische Spuren des SE-Zieldatenträgers 304 physischen Spuren der Datenablage 1200 zu. Aus der Perspektive einer Host-Einheit 106 kann ein Lese- oder Schreibvorgang von einem bzw. auf einen SE-Zieldatenträger 304 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äger 304 auf andere gleichgeordnete SE-Datenträger 304 zu kopieren, wenn eine Relation gelöscht wird. Vielmehr kann die Zuordnungsstruktur 1202 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 Datenablage 1200 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 Zuordnungsstruktur 1202 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 Beziehungstabelle 1300 in dem Speicher 214 gespeichert, um jede der Relationen in der Architektur 300 mit mehreren Zielen zu verfolgen. Bei bestimmten Ausführungsformen ist jeder Relation ein Quellbeziehungseintrag 1302a, der der Quelle der Relation entspricht, und ein Zielbeziehungseintrag 1302b, der dem Ziel der Relation entspricht, zugehörig. Wie im Folgenden ausführlicher erläutert wird, können beim Löschen einer Relation der Quellbeziehungseintrag 1302a und der Zielbeziehungseintrag 1302b, 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äge 1302a, 1302b auf diese Weise kann außerdem sicherstellen, dass Daten nicht auf den SE-Zieldatenträger 304 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 Quellbeziehungseintrags 1302a und des Zielbeziehungseintrags 1302b, die der Relation aus der Beziehungstabelle 1300 zugehörig sind, beinhalten.
  • Unter Bezugnahme auf 14 wird eine Ausführungsform eines Verfahrens 1400 zum Löschen einer Relation zwischen einer Quelle 302 und einem SE-Ziel 304 in einer Architektur 300 mit mehreren Zielen veranschaulicht. Wie dargestellt, ermittelt 1402 das Verfahren 1400 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, markiert 1404 das Verfahren 1400 die Beziehungseinträge, die der Relation zugehörig sind, als „gelöscht”. Dazu kann das Markieren 1404 sowohl des Quellbeziehungseintrags 1302a als auch des Zielbeziehungseintrags 1302b, die der Relation zugehörig sind, als „gelöscht” zählen. Anschließend ermittelt 1406 das Verfahren 1400, ob eine Relation bereits in Bearbeitung ist, was bedeutet, dass die Zuordnungsstruktur 1202 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 Verfahren 1400 die Relation in eine Warteschlange ein. Beim Einstellen der Relation in die Warteschlange ordnet 1408 das Verfahren 1400 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 Zuordnungsstruktur 1202 modifiziert wird, idealerweise so weit wie möglich vermindert. Falls zum Beispiel die Zuordnungsstruktur 1202 so modifiziert wird, dass Daten einem COS zugeordnet werden, dessen Relation zum Löschen ansteht, muss die Zuordnungsstruktur 1202 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 Zuordnungsstruktur 1202 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äger 302 das Alter der Relationen problemlos ermittelt werden. In dem veranschaulichten Beispiel von 9 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 Verfahren 1400 die Relation einfach. Falls sich eine oder mehrere Relationen in der Warteschlange befinden, verarbeitet 1410 das Verfahren 1400 die nächste Relation in der Warteschlange. In Zusammenhang mit den 15 und 16 werden verschiedene Verfahren zum Verarbeiten 1410 einer Relation beschrieben. Nachdem eine Relation verarbeitet worden ist, was bedeutet, dass die Zuordnungsstruktur 1202 für ein SE-Ziel 304 so modifiziert worden ist, dass Daten einem COS 304 zugeordnet werden, entfernt 1412 das Verfahren 1400 die Beziehungseinträge 1302a, 1302b, die der Relation zugehörig sind, aus der Beziehungstabelle 1300. Dadurch wird die Relation beendet. Das Verfahren überprüft 1414 anschließend, ob sich weitere Relationen in der Warteschlange befinden. Falls die Warteschlange leer ist, wartet 1402 das Verfahren 1400 auf die nächste Anforderung zum Zurückziehen. Falls die Warteschlange nicht leer ist, verarbeitet 1410 das Verfahren 1400 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 Speichereinheiten 204 (z. B. Festplatten, Halbleiter-Datenträger usw.) oder Einheitenadapter 210, die den Speichereinheiten 204 zugehörig sind, nicht zu überlasten. Beispielsweise können bei bestimmten Ausführungsformen die Einheitenadapter 210 und die Speichereinheiten 204 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 Zuordnungsstruktur 1202 modifiziert wird, so weit wie möglich zu vermindern.
  • Unter Bezugnahme auf 15 wird eine Ausführungsform eines Verfahrens 1410 zum Verarbeiten einer Relation veranschaulicht. Ein solches Verfahren 1410 kann immer dann ausgeführt werden, wenn eine Relation verarbeitet 1410 wird, wie in 14 beschrieben. Um eine Relation zu verarbeiten, identifiziert 1500 das Verfahren 1410 wie dargestellt zunächst das SE-Ziel, das der Relation zugehörig ist. Anschließend identifiziert 1502 das Verfahren 1410 das nächstgelegene, ältere gleichgeordnete Element (COS) des SE-Ziels. Dann prüft 1504 das Verfahren 1410 die erste Spur des SE-Ziels und des COS. Falls das Verfahren 1410 feststellt 1506, 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 feststellt 1508, dass die TBM des COS für die Spur festgelegt ist (wodurch angegeben wird, dass das COS keine Kopie der Daten beinhaltet), modifiziert 1510 das Verfahren 1410 die Zuordnungsstruktur 1202 so, dass die Daten in der Datenablage 1200 dem COS zugeordnet werden. Anschließend wird die TBM des COS für die Spur zurückgesetzt 1510, 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 Zuordnungsstruktur 1202 nicht modifiziert, und das Verfahren 1410 geht zu dem Entscheidungsschritt 1512 über.
  • Nachdem das Verfahren 1410 eine Spur geprüft hat und entweder die Zuordnungsstruktur 1202 modifiziert hat oder festgestellt hat, dass keine Modifizierung erforderlich ist, ermittelt 1512 das Verfahren 1410, ob die letzte Spur des SE-Ziels 304 erreicht worden ist. Falls die letzte Spur nicht erreicht worden ist, prüft 1514 das Verfahren 1410 die nächste Spur des SE-Ziels und die entsprechende Spur des COS und wiederholt die Schritte 1506, 1508, 1510, 1512. Wenn sämtliche Spuren auf dem SE-Ziel 304 geprüft worden sind und die Zuordnungsstruktur 1202 für diejenigen Spuren modifiziert worden ist, für die es erforderlich ist, endet das Verfahren 1410.
  • Unter Bezugnahme auf 16 wird eine weitere Ausführungsform eines Verfahrens 1410 zum Verarbeiten einer Relation veranschaulicht. Ein solches Verfahren 1410 kann immer dann anstelle des Verfahrens von 15 ausgeführt werden, wenn eine Relation verarbeitet 1410 wird. Das in 16 veranschaulichte Verfahren 1410 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 Verfahren 1410 zunächst das SE-Ziel, das der Relation zugehörig ist, und identifiziert 1602 einen ersten Spurbereich (z. B. die ersten fünfzig Spuren) des SE-Ziels. Anschließend identifiziert 1604 das Verfahren 1410 das nächstgelegene, ältere gleichgeordnete Element (COS), das dem Spurbereich zugehörig ist. Dann prüft 1606 das Verfahren 1410 die erste Spur des Spurbereichs und die entsprechende Spur des COS. Falls das Verfahren 1410 feststellt 1608, 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 feststellt 1610, dass die TBM für die entsprechende Spur des COS festgelegt ist (wodurch angegeben wird, dass die Spur keine Kopie der Daten beinhaltet), modifiziert 1620 das Verfahren 1410 die Zuordnungsstruktur 1202 so, dass die Daten in der Datenablage 1200 dem COS zugeordnet werden. Anschließend wird die TBM für die Spur auf dem COS zurückgesetzt 1620, 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 Zuordnungsstruktur 1202 nicht modifiziert, und das Verfahren 1410 geht zu dem Entscheidungsschritt 1618 über.
  • Nachdem das Verfahren 1410 eine Spur in dem Spurbereich geprüft hat und entweder die Zuordnungsstruktur 1202 modifiziert hat oder festgestellt hat, dass keine Modifizierung erforderlich ist, ermittelt 1618 das Verfahren 1410, ob eine weitere Spur in dem Spurbereich vorhanden ist. Falls eine weitere Spur in dem Spurbereich vorhanden ist, prüft 1616 das Verfahren 1410 die nächste Spur des Spurbereichs zusammen mit der entsprechenden Spur auf dem COS durch Wiederholen der Schritte 1608, 1610, 1620, 1618. Wenn sämtliche Spuren in dem Spurbereich geprüft worden sind und die Zuordnungsstruktur 1202 für diejenigen Spuren modifiziert worden ist, für die es erforderlich ist, ermittelt 1614 das Verfahren 1410, ob auf dem SE-Ziel ein weiterer Spurbereich vorhanden ist. Falls ein weiterer Spurbereich vorhanden ist, identifiziert 1604 das Verfahren 1410 das COS für den Spurbereich und wiederholt die Schritte 1606, 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 Zuordnungsstruktur 1202 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 Zuordnungsstruktur 1202 entsprechend modifiziert worden ist, endet das Verfahren 1410.
  • 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)

  1. 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.
  2. Verfahren nach Anspruch 1, wobei es sich bei dem gleichgeordneten SE-Ziel um ein nächstgelegenes, älteres gleichgeordnetes Element (COS) handelt.
  3. 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.
  4. Verfahren nach Anspruch 3, das des Weiteren ein Identifizieren einer zweiten Relation aufweist, die aus der Architektur mit mehreren Zielen gelöscht werden soll.
  5. Verfahren nach Anspruch 4, das des Weiteren ein Ermitteln aufweist, ob die zweite Relation älter als die erste Relation ist.
  6. 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.
  7. 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.
  8. 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.
  9. 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.
  10. 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.
  11. 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.
  12. 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.
  13. 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.
  14. Vorrichtung nach Anspruch 13, wobei es sich bei dem gleichgeordneten SE-Ziel um ein nächstgelegenes, älteres gleichgeordnetes Element (COS) handelt.
  15. 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.
  16. 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.
  17. Vorrichtung nach Anspruch 16, das des Weiteren eine Ermittlungskomponente aufweist, um zu ermitteln, ob die zweite Relation älter als die erste Relation ist.
  18. 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.
  19. 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.
  20. 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.
  21. 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.
  22. 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.
  23. 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.
  24. 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.
  25. 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.
  26. 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.
  27. 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.
  28. 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.
  29. Verfahren nach Anspruch 28, das des Weiteren ein Lesen der Daten von dem Quelldatenträger aufweist, falls kein jüngeres gleichgeordnetes Element vorhanden ist.
  30. 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.
  31. 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.
  32. 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.
  33. 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.
  34. 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.
  35. 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.
  36. Verfahren nach Anspruch 1, wobei es sich bei dem gleichgeordneten Ziel um ein nächstgelegenes, älteres gleichgeordnetes Element (COS) handelt.
  37. 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.
  38. 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.
  39. Verfahren nach Anspruch 38, das des Weiteren ein Ermitteln aufweist, ob die zweite Relation älter als die erste Relation ist.
  40. 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.
  41. 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.
  42. 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.
  43. 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.
  44. 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.
DE112012000604.6T 2011-03-08 2012-03-02 Löschen von Relationen zwischen Quellen und platzsparenden Zielen in Architekturen mit mehreren Zielen Pending DE112012000604T5 (de)

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)

* Cited by examiner, † Cited by third party
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 富士通株式会社 バックアップ装置,バックアップ方法およびバックアッププログラム

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