-
Diese Erfindung betrifft ein Datenspeicherungssystem und ein Verfahren zur Verwendung des Datenspeicherungssystems. Bei einer Ausführungsart wird ein FlashCopy-Prozess verwendet, um häufig abgerufene Daten von seltener abgerufenen Daten zu trennen.
-
Innerhalb eines großen Datenspeicherungssystems muss damit gerechnet werden, dass mehrere verschiedene Typen von Speichermedien verwendet werden. Die verschiedenen Typen können nach verschiedenen Kennziffern eingeteilt werden, zum Beispiel nach der Speicherkapazität, der Verfügbarkeit, der Leistungsfähigkeit und den Kosten. Folgende Beispiele verschiedener Eigenschaften eignen sich zur Einteilung in verschiedene Speicherklassen: Wechsellaufwerke (zum Beispiel SATA oder FC/SCSI), redundante Speichersysteme (zum Beispiel RAID-5, RAID-1 oder RAID-10) und Algorithmen zur Einsparung von Speicherplatz (zum Beispiel Komprimierung, Redundanzverringerung oder unkomprimiert). Mit dem Speicherklassen-Speicher ist eine neue Klasse der Speichertechnologie im Kommen, deren bevorzugtes Beispiel der Flash-Speicher ist. Die verschiedenen durch das Speichermedium zu bedienenden Anwendungen und Server stellen bezüglich dieser Kennziffern unterschiedliche Anforderungen. Jede Anwendung stellt eher ihre eigenen Anforderungen, und selbst die Anforderungen einer bestimmten Anwendung unterliegen zeitlichen Schwankungen, wenn sich die Anforderungen an diese Anwendung ändern.
-
Deshalb stellt die Optimierung der Zuweisung von Speicherplatz zu mehreren Anwendungen eine sehr komplexe Aufgabe dar, um die verfügbaren Ressourcen bestmöglich zu nutzen und die Anforderungen eines Unternehmens insgesamt zu erfüllen. Auch der Aufwand zur Durchführung von Änderungen, um eine Optimierung der Ressourcenzuweisung herbeizuführen, kann hoch sein. Die Neuzuweisung von Speicherplatz an einen Server kann mit Ausfallzeiten des Servers sowie mit hohem Aufwand für den Systemadministrator verbunden sein, um die Änderung durchzuführen. Durch die Verwendung eines Produktes zur Virtualisierung von Speichern wie beispielsweise des SAN Volume Controllers (SVC) können die Ausfallzeiten des Servers vermieden und der Verwaltungsaufwand deutlich verringert werden. Solche Produkte stellen ein Merkmal der Datenmigration bereit, um transparent für das nutzende System Daten von einer Speicherklasse zu einer anderen verschieben zu können. Diese Änderungen stoßen jedoch an eine Grenze, denn die günstigste Verwaltungseinheit liegt auf der Ebene der Vdisk (Virtual Disk, virtuelles Laufwerk), des Datenträgers oder der logischen Einheit (Logical Unit, LUN). Einer ganzen Vdisk muss ein und dieselbe Speicherklasse zugewiesen werden. Es gibt jedoch viele Beispiele, bei denen die Vdisks in einem Datenspeicherungssystem Daten umfassen, deren Anforderungen inhomogen sind. Eine vollkommen homogene Vdisk stellt in der Tat eher die Ausnahme als den Normalfall dar. Ein bestimmter Fall, bei dem verschiedene Datenbereiche mit unterschiedlichen Anforderungen vorliegen, dient der Leistungssteigerung.
-
Herkömmliche Cachespeichertechniken können diesem Problem nur in begrenztem Maße abhelfen. Ein Schreib-Cachespeicher kann einem Hostrechner eine kurze Schreibzeit auch dann ermöglichen, wenn er durch einen Speicher mit langsamem Zugriff unterstützt wird. Ein Schreib-Cachespeicher kann auch einen kurzzeitigen Anfall hoher Schreibaktivität schnell bewältigen und die Daten über einen längeren Zeitraum hinweg an einen langsameren Ausgabespeicher weiterleiten, wodurch ein Speicher mit hoher Leistungsfähigkeit nachgebildet wird. Beide Fähigkeiten sind bekannt und werden zum Beispiel im SVC realisiert. Aber die gegenwärtig verwendete Zwischenspeicherung beim Schreiben ist in ihren Fähigkeiten beschränkt. Erstens muss eine Schreibeingabe/ausgabe (E/A) letztlich vom Schreib-Cachespeicher zum Ausgabespeicher gesendet werden. Dadurch kann zwar ein geringer Teil des Datenverkehrs verhindert werden, jedoch muss der größte Teil dort nach verarbeitet werden. Wenn der Ausgabespeicher nicht in der Lage ist, den Schreibverkehr der Hostrechner-Anwendung zu bewältigen, läuft der Schreib-Cachespeicher voll, und der Vorteil geht verloren. Außerdem ist der Schreib-Cachespeicher viel kleiner als das gesamte Volumen des Systemspeichers, möglicherweise kleiner als 1%. Insgesamt bedeutet dies, dass ein herkömmlicher Schreib-Cachespeicher nicht für die Speicherung innerhalb einer Klasse geringer Leistungsfähigkeit ausreicht, die in den Bereichen eines Laufwerks mit höheren Leistungsanforderungen verwendet werden soll.
-
Einige Speicherklassen, beispielsweise solche, die sich der Komprimierung oder der Redundanzverringerung von Daten bedienen, stellen ein Extrembeispiel für einen Speicher mit geringer Leistungsfähigkeit dar. Obwohl diese Speicher mit enormen Kosteneinsparungen verbunden sind, was die zur Erfüllung der Anforderungen eines bestimmten Servers oder einer bestimmten Anwendung erforderliche Speicherkapazität betrifft, bedeutet die Leistungseinbuße dieser Speicher bei Eingabe-/Ausgabeoperationen, dass sie nicht für Universal-Ein-/Ausgabeoperationen geeignet sind. Ihre Algorithmen erhöhen die Kosten für die E/A-Operationen und begrenzen auch den Spitzenwert des maximal zu bewältigenden Datendurchsatzes.
-
Eine Aufgabe der Erfindung besteht deshalb in der Verbesserung des Standes der Technik.
-
Gemäß einem ersten Aspekt der vorliegenden Erfindung wird ein Datenspeicherungssystem bereitgestellt, das eine Steuereinheit, ein erstes Speichermedium mit geringer Leistungsfähigkeit und ein zweites Speichermedium mit höherer Leistungsfähigkeit umfasst, wobei die Steuereinheit mit den Speichermedien verbunden und so eingerichtet ist, dass sie die E/A-Zugriffe auf die Speichermedien steuert, und wobei die Steuereinheit so eingerichtet ist, dass sie auf dem ersten Speichermedium ein Abbild speichert, eine Funktion zum Kopieren vom ersten Speichermedium zum zweiten Speichermedium auslöst, alle E/A-Zugriffe auf das Abbild an das zweite Speichermedium leitet und in bestimmten Zeitabständen Daten vom zweiten Speichermedium zum ersten Speichermedium umlagert.
-
Gemäß einem zweiten Aspekt der vorliegenden Erfindung wird ein Verfahren zum Anwenden eines Datenspeicherungssystems bereitgestellt, wobei das System eine Steuereinheit, ein erstes Speichermedium geringer Leistungsfähigkeit und ein zweites Speichermedium höherer Leistungsfähigkeit umfasst, wobei die Steuereinheit mit den Speichermedien verbunden und so eingerichtet ist, dass sie die E/A-Zugriffe auf die Speichermedien steuert, und wobei das Verfahren die folgenden Schritte umfasst: Speichern eines Abbildes auf dem ersten Speichermedium, Auslösen einer Funktion zum Kopieren vom ersten Speichermedium zum zweiten Speichermedium, Leiten aller E/A-Zugriffe auf das Abbild an das zweite Speichermedium und Umlagern von Daten in bestimmten Zeitabständen vom zweiten Speichermedium zum ersten Speichermedium.
-
Gemäß einem dritten Aspekt der vorliegenden Erfindung wird ein Computerprogrammprodukt auf einem computerlesbaren Medium zum Anwenden eines Datenspeicherungssystems bereitgestellt, wobei das System eine Steuereinheit, ein erstes Speichermedium geringer Leistungsfähigkeit und ein zweites Speichermedium höherer Leistungsfähigkeit umfasst, wobei die Steuereinheit mit den Speichermedien verbunden und so eingerichtet ist, dass sie die E/A-Zugriffe auf die Speichermedien steuert, wobei das Produkt Anweisungen zum Speichern eines Abbildes auf dem ersten Speichermedium, zum Auslösen einer Funktion zum Kopieren vom ersten Speichermedium zum zweiten Speichermedium, zum Leiten aller E/A-Zugriffe auf das Abbild an das zweite Speichermedium und zum Umlagern von Daten in bestimmten Zeitabständen vom zweiten Speichermedium zum ersten Speichermedium umfasst.
-
Gemäß der Erfindung kann ein Datenspeicherungssystem bereitgestellt werden, wobei das System automatisch Bereiche hoher Leistungsfähigkeit mit geringem Verarbeitungsaufwand erkennt und von Bereichen geringer Leistungsfähigkeit trennt. Deshalb werden die Bereiche des ursprünglichen Speichermediums, welche für die Systemleistung wichtige Daten enthalten, gegenüber den restlichen Bereichen bevorzugt behandelt, was für das System insgesamt von Vorteil ist. Daten auf einer Vdisk, auf die oft zugegriffen wird und die eine hohe Leistung erfordern, werden von Daten mit geringen Leistungsanforderungen getrennt und der Speicherklasse mit der höchsten Leistungsfähigkeit zugewiesen, sodass der Rest der Vdisk-Daten zu einer Speicherklasse mit geringerer Leistungsfähigkeit gehört. Durch diese Fähigkeit wird bei geringsten Kosten die höchste Leistungsfähigkeit der Anwendungen und Server auf dem Speichermedium erreicht.
-
Mittels Plattformen zur Speichervirtualisierung wie des SVC können Richtlinien zur Datenmigration dargestellt werden, um Datenfragmente mit einer Größe bis mindestens 16 MB auf einer geeigneten Speicherklasse unterzubringen. Diese Fähigkeit kann zur Leistungsoptimierung ausreichen, erfordert jedoch ein Mittel zum Unterscheiden, welche Teile einer großen Vdisk höhere oder geringere Leistung erfordern. Eine Technik, die zur Lösung dieser Aufgabe verwendet werden kann, besteht im Führen einer hinreichend detaillierten Zugriffsstatistik, mit deren Hilfe eine Analyse und bei Bedarf die Datenmigration durchgeführt werden kann. Diese Techniken dürften aber nicht so gut funktionieren, dass der gewünschte Nutzen erzielt wird. Wenn die Erfassung nicht detailliert genug ist, können die Datenklassen nicht ausreichend voneinander unterschieden werden, und die Leistungskenndaten des Laufwerks erweisen sich als homogen. Wenn die Erfassung jedoch so detailliert ist, dass die Unterscheidung gelingt, wird durch die Gesamtheit der zu erfassenden, zu übertragenden und zu verarbeitenden Statistikdaten vom System zusätzlich eine unzulässig hohe Verarbeitungsleistung verlangt. Die vorliegende Erfindung stellt ein Mittel bereit, mit dessen Hilfe das Speicherungssystem in die Lage versetzt wird, mit wesentlich geringerem Verwaltungsaufwand als bei dem Statistikverfahren Bereiche hoher Leistungsfähigkeit von Bereichen geringerer Leistungsfähigkeit abzusondern.
-
Bei einer bevorzugten Ausführungsart umfasst das System ferner ein drittes Speichermedium hoher Leistungsfähigkeit, wobei die Steuereinheit ferner so eingerichtet ist, dass sie eine Funktion zum Kopieren vom zweiten Speichermedium zum dritten Speichermedium auslöst, alle E/A-Zugriffe auf das Abbild an das dritte Speichermedium leitet und in bestimmten Zeitabständen Daten vom dritten Speichermedium zum ersten Speichermedium umlagert. Die bevorzugte Ausführungsart des Speicherungssystems weist ein Speichermedium geringer Leistungsfähigkeit und zwei Speichermedien höherer Leistungsfähigkeit auf. Vorzugsweise ist die Steuereinheit ferner so eingerichtet, dass sie nach dem periodischen Umlagern von Daten auf das erste Speichermedium das Ziel für alle E/A-Zugriffe auf das Abbild zwischen dem zweiten und dem dritten Speichermedium und die Übertragungsrichtung der Kopierfunktion zwischen dem zweiten und dem dritten Speichermedium wechselt. Nachdem die durch das erste Speichermedium hoher Leistungsfähigkeit gespeicherten Daten einen bestimmten Umfang erreicht haben (oder nach Ablauf einer bestimmten Zeitspanne), wird der E/A-Zugriff auf das zweite Speichermedium hoher Leistungsfähigkeit umgeschaltet. Dies führt zu einer neuen Datengeneration, die auf dem zweiten Speichermedium hoher Leistungsfähigkeit aufgebaut wird, während die auf dem ersten Speichermedium hoher Leistungsfähigkeit gespeicherten Daten wieder zurück auf das langsamere Speichermedium umgelagert werden können.
-
Vorteilhafterweise ist die Steuereinheit ferner so eingerichtet, dass sie nur Daten umlagert, die weder auf dem zweiten noch auf dem dritten Speichermedium vorliegen, wenn periodisch Daten vom zweiten oder dritten Speicher zum ersten Speichermedium umgelagert werden. Bei der bevorzugten Ausführungsart des Speichersystems, in der zwei Speichermedien höherer Leistungsfähigkeit verwendet werden, kann der Sicherungsprozess wirksamer durchgeführt werden, indem nur die Daten zum langsameren Speichermedium zurückgeführt werden, die nur auf dem betreffenden Speichermedium höherer Leistungsfähigkeit zu finden sind, dessen Daten zurückgeführt werden sollen.
-
Bei einer Ausführungsart umfassen das zweite und das dritte Speichermedium ein einzelnes Laufwerk, wobei die Steuereinheit ferner so eingerichtet ist, dass sie Adress-Metadaten für Daten verwaltet, die durch das eine Laufwerk gespeichert wurden, und die Adress-Metadaten als Reaktion auf eine Eingabe/Ausgabe anpasst, durch die ansonsten Daten zwischen dem zweiten und dem dritten Speichermedium kopiert würden. Durch die Virtualisierung des schnelleren Speichers innerhalb eines einzelnen Laufwerks verringert sich die wirklich benötigte Anzahl physischer Kopieroperationen, die zur echten Umsetzung der Erfindung ausgeführt werden müssen. Dadurch verringern sich der Stromverbrauch und die zeitliche Inanspruchnahme der Komponenten des Speichersystems.
-
Im Idealfall umfasst das System ferner eine höchste Leistungsstufe des Speichermediums, wobei das zweite und das dritte Speichermedium eine Zwischenstufe zwischen der höchsten Leistungsstufe und dem ersten Speichermedium umfassen und die Steuereinheit ferner so eingerichtet ist, dass sie eine Funktion zum Kopieren von der Zwischenstufe zur höchsten Leistungsstufe auslöst, alle E/A-Zugriffe auf das Abbild an die höchste Leistungsstufe leitet und in bestimmten Abständen Daten von der höchsten Leistungsstufe zum ersten Speichermedium umlagert. Das erfindungsgemäße Speichersystem kann so erweitert werden, dass es eine weitere Stufe mit einem noch leistungsfähigeren Speicher beinhaltet, der immer als der Speicher verwendet werden kann, an den die E/A-Zugriffe geleitet werden. Das Speichermedium höherer Leistungsfähigkeit kann dann als mittlere Stufe konfiguriert werden, die als Speicher für die vorhergehende Datengeneration dient. Diese Verwendung einer höchsten Leistungsstufe sorgt für eine weitere Verbesserung des Preis-/Leistungsverhältnisses des gesamten Speichersystems.
-
Im Idealfall umfasst die Funktion zum Kopieren vom ersten Speichermedium zu einem anderen Speichermedium sowohl eine Funktion Kopieren-nach-Schreiben als auch eine Funktion Kopieren-nach-Lesen. Die Verwendung einer Kopierfunktion wie beispielsweise FlashCopy kann auf die Verwendung der Funktion Kopieren-nach-Lesen erweitert werden, um das Kopieren von Daten vom langsameren ersten Speichermedium auf das schnellere Speichermedium auszulösen. Dadurch wird die Systemleistung insofern weiter gesteigert, als häufig abgerufene Daten mit höherer Wahrscheinlichkeit auf dem schnelleren Speichermedium anzutreffen sind.
-
Im Folgenden werden Ausführungsarten der vorliegenden Erfindung lediglich anhand von Beispielen und unter Bezug auf die beiliegenden Zeichnungen beschrieben, wobei:
-
die 1a und 1b schematische Schaubilder eines Speichersystems sind;
-
2 ein schematisches Schaubild einer weiteren Ausführungsart des Speichersystems ist;
-
die 3a und 3b schematische Schaubilder sind, welche das Umlagern von Daten innerhalb des Speichersystems zeigen; und
-
die 4 bis 8 weitere schematische Schaubilder von Ausführungsarten des Speichersystems sind.
-
1 zeigt ein Datenspeicherungssystem, das eine Steuereinheit 10, ein erstes Speichermedium 12 geringer Leistungsfähigkeit und ein zweites Speichermedium 14 höherer Leistungsfähigkeit umfasst. Die Steuereinheit 10 ist mit den Speichermedien 12 und 14 verbunden und so eingerichtet, dass sie den E/A-Zugriff auf die Speichermedien 12 und 14 steuert. Obwohl die beiden Speichermedien 12 und 14 gleich groß dargestellt sind, kann ihre körperliche Größe und/oder ihre Datenspeicherkapazität verschieden sein. Bei dem Speichermedium 12 geringer Leistungsfähigkeit kann es sich zum Beispiel um eine Festplatte und bei dem Speichermedium 14 höherer Leistungsfähigkeit kann es sich um einen Halbleiterspeicher handeln. Der E/A-Zugriff, sowohl der Lese- als auch der Schreibzugriff, auf den Datenspeicher wird durch die Steuereinheit 10 gesteuert.
-
Die Steuereinheit 10 ist so eingerichtet, dass sie auf dem ersten Speichermedium 12 ein Abbild speichert. Dieses Abbild besteht aus Daten, welche mehrere Anwendungen und Server repräsentieren. Die Steuereinheit 10 ist ferner so eingerichtet, dass sie eine Funktion zum Kopieren vom ersten Speichermedium 12 zum zweiten Speichermedium 14 auslöst. Die Kopierfunktion kopiert Daten zum zweiten Speichermedium 14, wenn ein Lese- oder Schreibzugriff auf Daten innerhalb des durch das erste Speichermedium 12 gespeicherten Abbildes erfolgt. Die Steuereinheit ist so eingerichtet, dass sie alle E/A-Zugriffe auf das Abbild an das zweite Speichermedium 14 leitet und zusätzlich Daten periodisch vom zweiten Speichermedium 14 zum ersten Speichermedium 12 umlagert. Dieser Prozess der Datenumlagerung wird im Folgenden ausführlicher beschrieben.
-
1b zeigt die Situation nach einem E/A-Zugriff auf den Sektor 2 des ersten Speichermediums 12. Dieser E/A-Zugriff könnte dazu dienen, einige Daten in diesem Sektor zu überschreiben. Die Steuereinheit verwendet dann die ankommende Eingabe/Ausgabe und den ursprünglichen Sektor, um auf dem schnelleren Speichermedium 14 einen neuen Sektor 2a zu erzeugen. Da alle E/A-Zugriffe an das schnellere Speichermedium 14 geleitet werden, werden alle zukünftigen Lese- oder Schreibzugriffe auf die Daten im Sektor 2 direkt durch das schnellere Speichermedium 14 erledigt, ohne dass auf das im langsameren Speichermedium 12 gespeicherte ursprüngliche Abbild zugreifen zu müssen.
-
2 zeigt eine zweite Ausführungsart des Systems. Bei dieser Ausführungsart umfasst das System ferner ein drittes Speichermedium 16 höherer Leistungsfähigkeit, das vom selben Typ wie das zweite Speichermedium 14 höherer Leistungsfähigkeit sein kann. Die Steuereinheit 10 ist ferner so eingerichtet, dass sie eine Funktion zum Kopieren vom zweiten Speichermedium 14 zum dritten Speichermedium 16 auslöst. Diese Ausführungsart des Speichersystems verwendet die Merkmale FlashCopy und Space-Efficient (Platz sparen) des SAN Volume Controllers, die noch zusätzlich erweitert werden, um die gewünschte Datentrennung zu erreichen. Die Buchstaben FC in der Figur beziehen sich auf die Funktion FlashCopy, wobei der Pfeil die Quelle und das Ziel der Kopierfunktion anzeigt. Auf der untersten Ebene wird eine Anordnung von zwei Space-Efficient FlashCopy-Abbildern (Vdisks) auf den teureren Speichermedien 14 und 16 höherer Leistungsfähigkeit und der übrige Speicher als (üblicherweise) vollständig zugewiesenes Abbild (Vdisk) auf dem preiswerteren Speichermedium 12 verwaltet.
-
Bei dieser Version des Speicherungssystems werden alle Eingaben/Ausgaben der Anwendung an das äußerste linke FlashCopy-Abbild geleitet, das auf dem dritten Speichermedium 16 gespeichert ist. Dieses Abbild enthält die zu allerletzt aufgerufenen Daten. Das Abbild wächst mit zunehmendem Arbeitsumfang der Anwendung immer mehr an. Das durch das zweite Speichermedium 14 gespeicherte mittlere Abbild enthält eine frühere Generation dieses Laufwerks, auf das gerade erst zugegriffen wurde. Der Umfang der auf diesem Medium 14 gespeicherten Daten bleibt unverändert und dient für Leseeingaben/ausgaben bei erforderlichen Zugriffen, von denen das äußerste linke Abbild auf dem Medium 16 nicht betroffen ist. Das rechte Abbild des ersten Speichermediums 12 enthält das komplette Abbild des Anwendungslaufwerks, jedoch enthält dieses Medium 12 nicht die allerneuesten Aktualisierungen, die sich auf den beiden äußersten linken Laufwerken 14 und 16 befinden.
-
Schreibzugriffe werden unter Verwendung eines herkömmlichen FlashCopy-Algorithmus mittels einer Technik Kopieren-nach-Schreiben abgewickelt. Wenn sich die zu überschreibenden Daten bereits auf dem äußersten linken Laufwerk 16 befinden, werden sie deshalb an Ort und Stelle überschrieben. Wenn in letzter Zeit nicht auf die Daten zugegriffen wurde, können sie sich auf dem mittleren Laufwerk 14 oder auf dem äußersten rechten Laufwerk 12 befinden. Unabhängig davon, wo sich die Daten befinden, werden sie von ihrem aktuellen Speicherplatz gelesen, mit den neuen Schreibdaten zusammengeführt und auf das äußerste linke Laufwerk 16 geschrieben. Bei diesem Arbeitsmodus sammelt das äußerste linke Laufwerk 16 Änderungen, die den aktuellen Arbeitsumfang der Anwendung erreichen. Viele zukünftige E/A-Zugriffe werden direkt durch das äußerste linke Laufwerk 16 abgewickelt. Einige E/A-Zugriffe werden dort nicht gesammelt worden sein und stattdessen durch das mittlere Laufwerk 14 oder ausnahmsweise durch das äußerste rechte Laufwerk 12 abgewickelt.
-
Wenn die oben beschriebene Anordnung statisch wäre, würde das äußerste linke Laufwerk 16 im Laufe der Zeit immer weiter anwachsen und schließlich den vollen Umfang des äußersten rechten Laufwerks 12 erreichen, da selbst seltener aufgerufene Daten nach dem Zugriff immer mehr Speicherplatz auf dem Speichermedium 16 in Anspruch nähmen. Am Ende würde auf alle Daten auf dem Laufwerk 12 geringerer Leistungsfähigkeit zugegriffen, und die durch das Laufwerk 16 höherer Leistungsfähigkeit gespeicherten Daten würden die Gesamtheit des Abbildes der ursprünglichen Daten zuzüglich der E/A-Änderungen ausmachen. Deshalb ist ein Umlagerungsprozess erforderlich, um seltener abgerufene Daten vom äußersten linken Laufwerk 16 zu entfernen. Ein solcher Umlagerungsprozess ist auch in einem System mit zwei Speichermedien gemäß 1 erforderlich.
-
Dieser Prozess ist in 3 veranschaulicht und beruht im Wesentlichen auf dem Übertragen der Inhalte des mittleren Laufwerks 14 zum äußersten rechten Laufwerk 12 gemäß 3a, auf dem Neuordnen des äußersten linken Laufwerks 16, um zum mittleren Laufwerk 14 der nächsten Generation zu werden, auf dem Ermitteln einer leeren platzsparenden VDISK und deren Einrichtung als ”äußerstes linkes” Laufwerk unter Verwendung des FlashCopy-Prozesses, wobei die anfänglichen logischen Inhalte denen des äußersten linken Laufwerks der vorhergehenden Generation (das jetzt als mittleres Laufwerk fungiert) identisch sind, und auf dem Umleiten der Hostrechnereingaben/ausgaben an die Adresse des neuen ”äußersten linken” Laufwerks gemäß 3b. Eine solche Neuordnung kann auf herkömmliche Weise durch Einstellen der Eingaben/Ausgaben des Hostrechners in eine Warteschlange und Entfernen aus einer Warteschlange unterbrechungsfrei erfolgen, während die Neuordnung abläuft. Bei der Ausführungsart von 3 sind die Aufgaben der beiden Laufwerke 14 und 16 vertauscht worden. In einem System mit zwei Speichermedien gemäß 1 würde der Umlagerungsprozess dazu führen, dass einige der durch das Speichermedium 14 gespeicherten Daten (die älteren Daten) wieder auf das erste Speichermedium 12 zurückgeführt würden und auf dem Medium 14 freien Speicherplatz zurückließen.
-
Durch diese Technik enthalten die äußersten linken Laufwerke und die mittleren Laufwerke immer mehr die zuletzt geschriebenen Daten und erfassen deshalb diejenigen Daten, für die die höchste Leistungsfähigkeit benötigt wird, und trennen sie von den übrigen, auf dem ursprünglichen Laufwerk 12 verbliebenen, seltener abgerufenen Daten. Deswegen kann hierfür ein kleinerer Speicher der höchsten (und teuersten) Klasse verwendet werden, um die größtmögliche Wirkung zu erzielen.
-
Diese Systemanordnung ist insofern vorteilhafter als das Verfahren der statistischen Analyse, als sie die häufig geschriebenen Daten mit nur geringem Verarbeitungsaufwand für die Metadaten unter Verwendung von Algorithmen ermittelt, die auf einen großen Teil der Datenspeicher eines Datenzentrums ausgerichtet werden können. Das System kann auch sehr detailliert arbeiten, wobei zum Beispiel das Merkmal Space-Efficient FlashCopy des SVC bereits eine Auflösung von 64 K erreicht. Dies stellt somit eine Verbesserung sowohl gegenüber herkömmlichen Cachespeicher-Algorithmen bezüglich des Umfangs eines Speichers hoher Leistungsfähigkeit dar, auf den zugegriffen werden kann, als auch gegenüber den statistischen Verfahren, denen es in Bezug auf die hohe Auflösung überlegen ist.
-
Ein weiteres Merkmal dieser Systemanordnung besteht darin, dass das äußerste rechte Laufwerk 12 mit dem langsamsten Speicher keine Schreibaktivitäten vom Hostrechner empfängt, sondern nur durch die Übertragungen vom mittleren Laufwerk 14 während des Umlagerungsprozesses. Dies gibt Anlass für die Überlegung, zur Datenspeicherung Speicherklassen relativ geringer Leistungsfähigkeit zu verwenden, zum Beispiel redundanzverringerte oder komprimierte Speicher. Diese Überlegung stützt sich darauf, dass der Schreibdatenstrom eine kompakte Zusammenfassung aller Schreibeingaben/ausgaben der vorhergehenden Sammelperiode darstellt, die durch Entfernen der überschriebenen Daten in einem bestimmten Maße bereits ”komprimiert” ist, sodass nur die allerneueste Datengeneration den aufwendigen Schreibprozess durchlaufen muss und der Übertragungsprozess vom Schreibprozess des Hostrechners völlig getrennt ist, wodurch kurzzeitige Spitzenwerte der E/A-Daten des Hostrechners längere Zeit ausgeglichen werden können und die zu verkraftende Spitzenbelastung beim Schreiben wesentlich geringer ist als beim Hostrechner.
-
4 zeigt im Einzelnen eine spezielle Ausführungsform des Umlagerungsprozesses unter Verwendung eines Merkmals des inversen FlashCopy-Verfahrens (Reverse FlashCopy). Auf anderen Plattformen können zum Erreichen desselben Ziels die Schritte in einer anderen Reihenfolge ablaufen oder andere Algorithmen erforderlich sein, jedoch vermag jede Ausführungsform einen Erfassungs- und Übertragungs- oder Umlagerungsprozess der oben beschriebenen Art darzustellen. Bei dieser ersten Ausführungsart werden Zuordnungen zwischen Datenträgern erzeugt und gelöscht, um das gewünschte Ergebnis zu erzielen. Bei der bevorzugten Ausführungsart gibt es drei Vdisks mit der folgenden anfänglichen Aufgabenzuweisung, wobei im ”äußersten rechten Laufwerk” A die komplette Kopie der Daten, im ”mittleren Laufwerk” B die vorhergehende Datengeneration und im ”äußersten linken Laufwerk” C die aktuelle Datengeneration gespeichert ist und Letzteres auch die Eingaben/Ausgaben vom Hostrechner empfängt. Bei A kann es sich um eine komplett zugewiesene Vdisk handeln, was aber nicht unbedingt der Fall sein muss. Vorzugsweise handelt es sich bei B und C um platzsparende Vdisks.
-
Zu Beginn des Umlagerungsprozesses bestehen aktuell zwei Zuordnungen A -> B und B -> C, welche die Operation Kopieren-nach-Schreiben darstellen und neue Daten auf das Laufwerk C schreiben. Dieser Arbeitsmodus kann eine Zeit lang ablaufen, um auf C ein Abbild zu erstellen, das die Größe des Abbildes auf B erreicht. Dann beginnt der Übertragungsprozess. Zuerst wird unter Verwendung des inversen FlashCopy-Verfahrens eine Zuordnung B -> A erzeugt und gestartet (4a zeigt die Topologie des Systems zu diesem Zeitpunkt) und diese Kopie fertiggestellt, bis die Dateninhalte von B (d. h. diejenigen Teile, die von A abgespaltet und auf B übertragen wurden) auf A übertragen worden sind. Wenn die Zuordnung B -> A zu 100% fertiggestellt ist (wenn sich also die Zuordnung B -> A im Leerlauf befindet bzw. kopiert worden ist), wird die Zuordnung A -> B angehalten und die beiden Zuordnungen B -> A und A -> B können gelöscht werden, sodass die Vdisk B aus der Kaskade herausgenommen wird und nur die Zuordnung A -> C aktiv bleibt. Dann wird B durch die Zuordnung C -> B als FlashCopy von C eingerichtet. Die Zuordnung C -> B wird vorbereitet und gestartet. Dies führt zum Zurücksetzen der Inhalte von B, sodass dieses wieder leer ist. Zum gleichen Zeitpunkt, da die FlashCopy-Zuordnung gestartet wird, werden die Eingaben/Ausgaben zuerst in die Warteschlange eingestellt und dann mit Beginn der Zuordnung wieder aus der Warteschlange entfernt, sodass sie nicht zum Laufwerk C, sondern zur Vdisk B gelangen.
-
Als endgültige Anordnung ergibt sich deshalb wie oben das ”äußerste rechte Laufwerk” A mit der darin gespeicherten kompletten Kopie der Daten, während im nunmehr ”mittleren Laufwerk” C die vorhergehende Datengeneration gespeichert ist und das nunmehr ”äußerste linke Laufwerk” B die neue (zu Anfang leere) aktuelle Generation enthält, welches nun die Eingaben/Ausgaben vom Hostrechner empfängt, sodass eine Zeit lang Daten gesammelt werden können, die zu Beginn eines anderen Zyklus verarbeitet werden, obwohl die Aufgaben von B und C nunmehr vertauscht sind.
-
4b zeigt, wie sich das System im Innern organisiert, um zu dem in 4a gezeigten Zeitpunkt die Umkehrung zu erreichen. Das Laufwerk A tritt an zwei Punkten in der ”Kaskade” in Erscheinung. A(s) (s bedeutet sekundär) stellt das ”alte” Abbild von A zu dem Zeitpunkt dar, da die Zuordnung B -> A gestartet wurde. Es bleibt dort, um die Konsistenz des Abbildes auf den nachfolgenden VDISKs, in diesem Falle auf B, zu wahren. A(s) unterstützt keine Eingaben/Ausgaben des Hostrechners. B unterstützt Eingaben/Ausgaben des Hostrechners, obwohl diese Fähigkeit bei dieser Ausführungsart nicht genutzt wird. A(p) (p bedeutet primär) stellt das neue Abbild von A dar, das zu Beginn der Zuordnung B -> A erstellt wurde. Zu diesem Zeitpunkt enthält es logisch die gleichen Daten wie B. Da B in diesem Fell überwiegend mit A(s) identisch ist, enthält auch A(p) physisch die die gleichen Daten wie B. Deshalb zeigen die Datenstrukturen für die Zuordnung B -> A, dass A(p) bereits Daten für die Datenblöcke 1, 3, 4, 5, 6 enthält. Nur ein Datenblock weist eine Markierung auf, die darauf hinweist, dass er sich (in Form von 2a) physisch auf B befindet. Zum Kopieren dieser Daten wird ein Hintergrundprozess verwendet, um sie physisch auf A(p) erscheinen zu lassen. Nach Abschluss des Kopierprozesses im Hintergrund enthält A(p) die komplette Kopie der Daten, und die Zuordnungen A -> B und B -> A können in der oben beschriebenen Weise angehalten werden.
-
Eine alternative Anordnung ist unter Verwendung der Funktion FlashCopy des SVC möglich. Diese Anordnung geht von denselben Vdisks aus, wobei im Laufwerk A die komplette Kopie der Daten, im Laufwerk B die vorherige Datengeneration und im Laufwerk C die aktuelle Datengeneration enthalten ist und Letzteres auch die Eingabe/Ausgaben des Hostrechners empfängt. In diesem Fall sind jedoch die Zuordnungen A -> B und A -> C sowie die vertauschten Zuordnungen B -> A und C -> A erzeugt worden. Diese Zuordnungen bleiben während mehrerer Zyklen des Algorithmus erhalten. Zu Beginn der Erfassungsphase wurden zum Zuteilen der Aufgaben auf A, B und C die folgenden FlashCopy-Operationen ausgeführt, indem die E/A-Operationen des Hostrechners stillgelegt werden, die Zuordnung B -> A mit dem logischen Kopieren der vorhergehenden Datengeneration auf A beginnt, die Zuordnung A -> C gestartet wird und die Eingaben/Ausgaben des Hostrechners zum Laufwerk C geleitet werden.
-
Durch die Operationen mittels der Funktion Reverse FlashCopy werden die VDISKs und Zuordnungen in einer Kaskade A(s) -> B –> A(p) -> C angeordnet. Obwohl es den Anschein hat, dass das Laufwerk A(p) während der Erfassungsphase mit der Abwicklung der Eingaben/Ausgaben des Hostrechners beginnen und damit den gewünschten Zielen zuwiderlaufen könnte, da die Zuordnung B -> A zum selben Zeitpunkt wie die Zuordnung A -> C gestartet wird (als die Eingaben/Ausgaben des Hostrechners zum Laufwerk C geleitet wurden), ist A(p) in Wirklichkeit leer. Deshalb wird die Erfassung der Eingaben/Ausgaben immer noch in erster Linie von B aus abgewickelt und nur ausnahmsweise von A(s) aus. Um sicherzustellen, dass A(p) die Eingaben/Ausgaben des Hostrechners nicht abwickelt, wird die Kopiergeschwindigkeit auf der Zuordnung B -> A im Hintergrund gleich 0% gesetzt, wodurch im SVC das Kopieren im Hintergrund verhindert wird.
-
Nun wird der Übertragungsprozess ausgelöst, indem einfach die Kopiergeschwindigkeit für den Hintergrundprozess auf einen vorgegebenen Wert gesetzt wird, damit die Inhalte von B entnommen und auf A(p) übertragen werden. Die Zuordnung A -> B wird auch angehalten, und wenn diese beiden Prozesse beendet sind, kann der nächste Zyklus durch folgende Schritte ausgelöst werden: E/A-Prozesse des Hostrechners stilllegen, Zuordnung C -> A starten, Zuordnung A -> B starten und Eingaben/Ausgaben des Hostrechners zu B leiten, wodurch wiederum die Aufgaben von B und C gegenüber dem vorhergehenden Zyklus vertauscht werden, sodass nun im Laufwerk A die komplette Kopie der Daten, im Laufwerk C die vorhergehende Datengeneration und im Laufwerk B die neue (ursprünglich leere) aktuelle Generation gespeichert ist und Letzteres nunmehr die Eingaben/Ausgaben vom Hostrechner empfängt.
-
Die obigen Beispiele veranschaulichen, dass es viele Arten der Abwandlung einer bestimmten FlashCopy-Ausführungsart gibt, um die gewünschten Ziele zu erreichen. Bei all diesen Vorgehensweisen werden jedoch dieselben Prozesse durchgeführt, indem der neueste Schreibdatenverkehr in einen neuen Container aufgenommen und eine vorhergehende Generation des Schreibdatenverkehrs in den Container mit der kompletten Datenkopie übertragen wird und diese Schritte mehrmals durchlaufen werden. Zu beachten ist, dass die obige Beschreibung zwar diskrete Phasen für diese beiden Prozesse vorsieht, sich diese Prozesse jedoch zeitlich so weit überlappen können, dass noch weitere Daten aufgenommen werden können, solange die Übertragung noch andauert. In einem bestimmten Maße dürfte dies sicher bei allen Ausführungsarten erforderlich sein.
-
Im Ergebnis der oben beschriebenen Ausführungsform von Hardware und Software verbleiben die zuletzt geschriebenen Daten in den platzsparenden FlashCopy-Laufwerken 14 und 16, was auf Kosten eines kleinen Teils des schnellen Speichers geht, während die nicht vor kurzem geschriebenen (und folglich als selten geschrieben geltenden) Daten auf größeren Bereichen der langsameren, aber preiswerteren Speicherlaufwerke 12 gespeichert bleiben. Obwohl diese Techniken in Bezug auf vor kurzem geschriebene Daten von Vorteil sind, verbessern sie nicht unbedingt auch die Abwicklung von Lese-E/A-Operationen. Wenn Daten oft gelesen, aber selten (oder fast nie) geschrieben werden, werden die Daten bei Verwendung einer Abfolge Kopieren-nach-Schreiben gemäß FlashCopy weiterhin auf dem langsamen Speichermedium 12 verbleiben, und alle E/A-Prozesse werden durch die Leistungsfähigkeit dieses langsameren Speichermediums 12 beeinträchtigt. Wenn außerdem Daten in letzter Zeit gerade zum ersten Mal geschrieben werden sollen und dabei vom langsamen zum schnellen Speicher kopiert werden müssen, sind diese Daten meist auch vor kurzem gelesen worden. Deshalb muss das Datenspeicherungssystem die Daten zweimal vom langsamen Speicher lesen und die geringe Leistungsfähigkeit zweimal in Kauf nehmen. Zur Lösung dieses zweiten Problems kann dem langsamen Speicher 12 ein Lese-Cachespeicher vorgeschaltet werden, jedoch ist diese Lösung für das erste Problem nicht hilfreich. Natürlich erhöht die Einführung einer weiteren Schicht für den Lese-Cachespeicher auch die Systemkosten.
-
Um dieses Problem zu bewältigen, kann das Datenspeicherungssystem wie oben erwähnt durch einen Algorithmus Kopieren-nach-Lesen erweitert werden, der Daten vom langsamen Speicher 12 unter Verwendung eines Prozesses zum schnelleren Speicher 14 verschiebt, der den Prozess der im FlashCopy-Verfahren verwendeten Technik Kopieren-nach-Schreiben imitiert, der aber durch den Empfang einer Leseeingabe/ausgabe aktiviert wird, die im langsamen Speichermedium 12 verwaltet wird. Wenn ein bestimmter Speicherbereich von häufigen Leseeingaben/ausgaben, aber nur wenigen Schreibeingaben/ausgaben betroffen ist, wird dieser demzufolge auf den schnellen Speicher 14 verbracht, und das System profitiert von der Leistungsfähigkeit des schnelleren Speichers. Desgleichen verschiebt der Prozess Kopieren-nach-Lesen im Szenario Lesen-vor-Schreiben die Daten vom langsamen Speicher 12 zum schnellen Speicher 14, sodass die späteren Schreibeingaben/ausgaben bei ihrer Ausführung nicht ebenso stark verzögert werden wie die Leseeingaben/ausgaben.
-
Wenn noch keine Daten vom langsamen Speicher kopiert worden sind, löst der Empfang einer Leseeingabe/ausgabe den Algorithmus aus. Das ist in 5 dargestellt. Der Sektor 2 ist gelesen worden. Die Daten für den E/A-Prozess werden vom langsamen Speicher 12 gelesen und auf den schnellen Speicher 14 geschrieben, worauf die Metadatenstrukturen aktualisiert werden, um anzuzeigen, dass sich die Daten nunmehr auf dem schnellen Speicher 14 befinden. Die Leseeingaben/ausgaben des Hostrechners, die den Algorithmus auslösen, können parallel dazu durch die aktualisierten Werte der Metadatenstruktur ergänzt werden. Im Falle des SVC dienen als aktualisierte Metadaten, die zur Kennzeichnung der Daten als kopierte Daten erforderlich sind, Bits in einer Bitmap, die in zwei Knoten des Cluster enthalten sind. Eine Leseeingabe/ausgabe für weniger als einen Datenblock (so wird eine Verwaltungseinheit bei der Datenspeicherung mittels FlashCopy des SVC bezeichnet) wird so weit erweitert, dass ein ganzer Datenblock gelesen werden kann. Jedes Bit in der Bitmap des SVC vermerkt den Speicherplatz eines Datenblocks. Alle zukünftigen Leseoperationen mit diesen Daten werden direkt durch das schnellere Speichermedium 14 abgewickelt.
-
Gemäß der obigen Erörterung ist das periodische Umlagern der Daten von dem/den schnelleren Speichermedium/medien zum langsameren Speichermedium 12 erforderlich. Auch dieser Umlagerungs-/Übertragungsprozess, der zum Verschieben der vor kurzem aktualisierten Daten in den langsameren Speicher dient, kann noch verbessert werden. Dieser Umlagerungsprozess verwendet bei einer Ausführungsart eine inverse FlashCopy-Technik und erstellt dabei ein Abbild der Daten auf dem langsameren Speichermedium 12, die zu einem früheren Zeitpunkt erfasst wurden. Bei den obigen Beispielen bewirkt der Übertragungsprozess die Verschiebung der älteren Abbilddaten zum langsameren Speichermedium 12.
-
Obwohl diese Operation aus der Sicht von FlashCopy insofern richtig ist, als sie jederzeit ein bestens definiertes Abbild auf dem langsamen Speichermedium 12 aufbewahrt, ist sie hinsichtlich der Ziele des Verfahrens des gesamten Speichersystems zum Aufteilen der Daten auf verschiedene Kategorien von Speichermedien nicht erforderlich. Das Ziel des Systems besteht darin, ein einziges konsistentes Abbild für den Hostspeicher auf dem aktuellsten FlashCopy-Laufwerk bereitzuhalten, wobei die Abbilder älterer Datengenerationen nicht konsistent zu sein brauchen und nur die neueste Datengeneration bereithalten müssen, die zur Aufrechterhaltung des konsistenten Abbildes erforderlich sind, auf das der Hostrechner auf dem aktuellsten FlashCopy-Laufwerk zugreift. Ein weiterer Schwachpunkt der FlashCopy-Algorithmen beim Aufteilen des Datenspeichers besteht darin, dass sie dazu neigen, mehrere Datengenerationen auf mehreren Ebenen des VDISK-Abbildes anzusiedeln, obwohl eigentlich nur die aktuellste Datengeneration benötigt wird.
-
Daher ist es von Vorteil, wenn das Speichersystem das Übertragen/Verschieben von Daten umgehen kann, die nicht zur neuesten Datengeneration gehören, um das Datenvolumen zu verringern, das bei jedem Zyklus des Algorithmus in den langsamen Speicher verschoben werden muss, dadurch auch noch den durch diesen Speicher zu bewältigenden Schreibdatenverkehr zu verringern und somit eine weitere Kostensenkung des Gesamtsystems zu erreichen. Wenn das System außerdem noch ältere Datengenerationen von den teureren Datenspeichern höherer Leistungsfähigkeit entfernen kann, sind weitere Kostensenkungen möglich. Zu diesem Zweck erweitert das System die Abfolge der Aktualisierungen, die durchgeführt werden, wenn Daten zwischen den schnelleren Speicherstufen verschoben werden.
-
Ein System mit drei Laufwerken umfasst ein langsames Laufwerk 12 (das äußerste rechte Laufwerk) und zwei schnelle Speicherstufen 14 und 16, welche eine neueste Datengeneration (äußerstes linkes Laufwerk) und eine vorhergehende Datengeneration (mittleres Laufwerk) bereitstellen, wobei die aktuellsten Daten auf dem Laufwerk 14 mit der vorhergehenden Datengeneration gespeichert sind; in diesem Fall zeigen die Metadatenstrukturen an, dass diese Daten vom äußersten rechten Laufwerk 12 zum mittleren Laufwerk 14, aber nicht vom mittleren zum äußersten linken Laufwerk 16 kapiert wurden. In diesem System löst eine Schreibeingabe/ausgabeoperation die Verschiebung von Daten von der vorhergehenden zur neuesten Datengeneration aus, wodurch die Metadaten aktualisiert und die Daten gekennzeichnet werden, dass sie von einem Laufwerk zu einem anderen Laufwerk kopiert worden sind.
-
Die FlashCopy-Algorithmen können modifiziert werden, die Metadaten so zu bearbeiten, dass diese anzeigen, als wären die Daten nicht vom äußersten rechten Laufwerk auf das mittlere Laufwerk kopiert worden. Wenn der Umlagerungs-/Übertragungsprozess zum Verschieben von Daten vom mittleren Laufwerk 14 zum äußersten rechten Laufwerk 12 ausgelöst wird, werden demzufolge nur Daten vom mittleren Laufwerk 14 zum äußersten rechten Laufwerk 12 verschoben, die nicht weiter aktualisiert und zum äußersten linken Laufwerk 16 verschoben worden sind. Sowohl auf dem mittleren als auch auf dem äußersten linken Laufwerk befindliche Daten werden beim Verschiebungsprozess außer Acht gelassen.
-
6 veranschaulicht den Grundgedanken. In einem ersten Zyklus sind die Sektoren 1, 4 und 5 beschrieben und deshalb auf das schnellere Speichermedium 14 kopiert worden. In einem späteren Zyklus ist der Sektor 4 noch einmal beschrieben und deshalb auf das zweite schnellere Speichermedium kopiert worden. Wenn der Inhalt des mittleren Laufwerks 14 zurück zum langsamen Laufwerk 12 übertragen wird, werden nur die Sektoren 1 und 5 zurück auf das langsamere Speichermedium 12 kopiert, da der Sektor 4 bereits auf dem äußersten linken Laufwerk 16 vorliegt. In einem weiteren, wahlweise auszuführenden Schritt als Teil desselben Szenarios wird der Speicherplatz auf dem mittleren Laufwerk 14 wieder freigegeben, sobald die betreffenden Daten zum äußersten linken Laufwerk 16 verschoben worden sind. Durch diese Freigabe von Speicherplatz wird die Doppelung des veralteten Abbildes der Daten vermieden und das Gesamtvolumen des auf den Speicherstufen höherer Leistungsfähigkeit beanspruchten Speicherplatzes verringert. Bei dem Beispiel von 6 würde der Sektor 4a auf dem mittleren Laufwerk 14 freigegeben.
-
Am deutlichsten zeigt sich dies bei einer Ausführungsform, bei der die Metadaten zusätzlich so bearbeitet werden, dass sie beim Übertragungsprozess keine Daten übertragen, die in die neueste Datengeneration kopiert wurden. Unter Bezug auf die verwendete Ausführungsform Space-Efficient FlashCopy des SVC soll ein Datenblock betrachtet werden, der auf der mittleren Speicherstufe, nicht aber auf der neuesten Speicherstufe gespeichert ist, wobei das äußerste linke Laufwerk 16 nicht zugewiesen ist und die Zuordnung Links-zu-Mitte anzeigt, dass die Daten nicht kopiert worden sind, während das mittlere Laufwerk 14 zugewiesen ist und die Zuordnung Mitte-zu-Rechts anzeigt, dass Daten kopiert worden sind und das rechte Laufwerk 12 zugewiesen wurde. In diesem Fall löst eine Schreibeingabe/ausgabeoperation die folgenden Schritte aus, wobei in Schritt 1 Daten vom mittleren Laufwerk 14 gelesen, in Schritt 2 Daten auf das äußerste linke Laufwerk 16 geschrieben werden (wodurch dort nebenbei die Zuweisung von Speicherplatz ausgelöst wird), in Schritt 3 die Zuordnung links-zu-Mitte aktualisiert wird, um anzuzeigen, dass Daten kopiert wurden, in Schritt 4 die Zuordnung Mitte-zu-Rechts aktualisiert wird, um anzuzeigen, dass keine Daten kopiert wurden, und in Schritt 5 der Speicherplatz auf dem mittleren Laufwerk 14 freigegeben wird. Daraus ergibt sich als Endzustand, dass das äußerste linke Laufwerk 16 zugewiesen ist, die Zuordnung Links-zu-Mitte anzeigt, dass Daten kopiert wurden, das mittlere Laufwerk 14 nicht zugewiesen ist, die Zuordnung Mitte-zu-Rechts anzeigt, dass Daten kopiert wurden, und das rechte Laufwerk 12 zugewiesen ist.
-
Dann läuft der Übertragungsprozess wie üblich ab, um die als auf den mittleren Speicher 14 kopiert gekennzeichneten Daten zurück zum rechten Laufwerk 12 zu verschieben, woraufhin der obige Algorithmus das Verschieben von Daten vermeidet, die anschließend zum äußersten linken Laufwerk 16 verschoben wurden. Durch eine nahe liegende Erweiterung dieser Grundgedanken kann auch Speicherplatz auf dem langsamen Speicher 12 freigegeben werden, wenn seine Daten zum Speicher höherer Leistungsfähigkeit verschoben werden. Das kann unter Umständen von Vorteil sein, hängt jedoch vom Aufwand für das Freigeben und vom Umfang des eingesparten Speichervolumens ab.
-
Eine alternative Ausführungsform, mit der dieselbe Wirkung erreicht wird, bestünde in der Anpassung des Übertragungsprozesses, sodass, wenn die Metadaten anzeigen, dass Daten zur neuesten Datengeneration (d. h. auf das äußerste linke Laufwerk 16) kopiert wurden, alle Hinweise außer Acht gelassen werden, dass die Daten auf das mittlere Laufwerk 14 kopiert wurden, als wären die Metadaten aktualisiert worden, um dies wie im obigen Schritt 4 anzuzeigen. Das heißt, Schritt 4 kann als Ergebnis von Schritt 3 und als Anpassung verstanden werden, wie die Metadaten im Übertragungsprozess zu prüfen sind, ohne dass eine ausdrückliche Aktualisierung der Metadaten erforderlich wäre.
-
Die oben beschriebenen Operationen für den Betrieb des Speichersystems und der wahlweisen Erweiterungen optimieren die Datenzuweisung und schließen das überflüssige Verschieben und Kopieren von Daten aus. Für die Verschiebung von Daten zwischen den Speicherstufen höherer Leistungsfähigkeit werden jedoch immer noch Kopieren-nach-Schreiben-(oder Kopieren-nach-Lesen-)Algorithmen benötigt, damit vor kurzem abgerufene Daten aktualisiert werden und Daten in der aktuellsten Datengeneration verbleiben können, um in Zukunft einen optimalen Zugriff zu ermöglichen. Diese Kopieroperationen sind nur für die FlashCopy-Algorithmen von Nutzen und werden nicht zur Erreichung des Ziels des Systems benötigt, die aktuellsten Daten für zukünftige E/A-Zugriffe bereitzuhalten. Ein Vorteil könnte in der Vermeidung physischer Kopieroperationen bestehen, wenn dies ohne Beeinträchtigung der Richtigkeit der durch die FlashCopy-Algorithmen zum Nachverfolgen des Zugriffsverlaufs der Daten verwendeten Metadaten erreicht werden könnte.
-
Die mehreren auf dem Speicher hoher Leistungsfähigkeit gespeicherten Datengenerationen können durch eine einzelne platzsparende Vdisk realisiert werden. In diesem Fall wird der E/A-Zugriff auf eine der Datengenerationen hoher Leistungsfähigkeit auf das Abbild dieser einzelnen Vdisk weitergeleitet. Die beim Kopieren von Daten zwischen den Datengenerationen oder beim Freigeben von Speicherplatz aus einer Datengeneration beteiligten E/A-Lese-/Schreiboperationen werden durch Grundfunktionen auf höherer Ebene dargestellt, die dann in optimaler Form in der platzsparenden Ebene umgesetzt werden. Eine Kopieroperation wird durch die Beschreibung der Quell- und Zieladressen der Vdisk der Adresse des zu kopierenden Blocks dargestellt. Wenn sich die Quell- und die Ziel-Vdisk derselben platzsparenden Vdisk befinden, ist die Kopieroperation von vornherein gewährleistet und wird erfolgreich zu Ende geführt, ohne E/A-Operationen durchzuführen (wenn die Vdisks keinen gemeinsamen Speicher verwenden, wird die E/A-Operation wie üblich durch eine Lese- und Schreibausgabe/eingabe ausgeführt). Eine Freigabeoperation wird durch die Beschreibung einer Vdisk, von der die Daten entfernt werden sollen, einer Vdisk, auf der die Daten verbleiben sollen, und der Adresse des Blocks dargestellt, für den die Operation vorgesehen ist. Wenn sich die Quell- und die Ziel-Vdisk auf derselben platzsparenden Vdisk befinden, ist die Freigabeoperation von vornherein gewährleistet und wird erfolgreich zu Ende geführt, ohne E/A-Operationen durchzuführen (wenn die Vdisks keinen gemeinsamen Speicher verwenden, wird die Freigabe-Operation wie üblich auf der benötigten Vdisk ausgeführt).
-
Die herkömmlichere Abfolge der Schritte für eine Verschiebeoperation von Lesedaten vom mittleren Laufwerk 14, zum Schreiben von Daten auf das äußerste linke Laufwerk 16 (das dort nebenbei auch die Zuweisung von Speicherplatz auslöst), zum Aktualisieren der Zuordnung Links-zu-Mitte, um anzuzeigen, dass Daten kopiert wurden, das Aktualisieren der Zuordnung Mitte-zu-Rechts, um anzuzeigen, dass keine Daten kopiert wurden, und das Freigeben von Speicherplatz auf dem mittleren Laufwerk 14 wird unter Verwendung der folgenden neuen Grundfunktionen dargestellt. Kopieren von Daten vom mittleren Laufwerk 14 zum äußersten linken Laufwerk 16, Aktualisieren der Zuordnung Links-zu-Mitte, um anzuzeigen, dass Daten kopiert wurden, Aktualisieren der Zuordnung Mitte-zu-Rechts, um anzuzeigen, dass keine Daten kopiert wurden, und Freigeben von Speicherplatz auf dem mittleren Laufwerk 14 (auf dem äußersten linken Laufwerk 12 jedoch belassen). Wenn sich das mittlere und das äußerste linke Laufwerk auf derselben platzsparenden Vdisk befinden, werden der erste und der letzte Schritt sofort ohne jeglichen Aufwand ausgeführt. Dadurch brauchen als einzige Schritte nur noch die Aktualisierungen der FlashCopy-Metadaten durchgeführt werden, die zum Abarbeiten des Algorithmus für die Speicherplatzverwaltung für dieses E/A-Szenario erforderlich sind.
-
Zu beachten ist, dass die neuen E/A-Grundfunktionen von den Eigenschaften der FlashCopy-Algorithmen abhängen, die insbesondere durch das Speichersystem für eine ordnungsgemäße Abwicklung verwendet werden. Wenn eine Kopieroperation von der Vdisk A zur Vdisk B angefordert wird, wird so lange nicht auf die Vdisk B zugegriffen, bis die FlashCopy-Schicht eine Meldung über die erfolgreiche Beendigung dieser Kopieroperation empfangen hat. Bevor eine Freigabeoperation für die Vdisk A (unter Beibehaltung der Vdisk B) angefordert wird, stellt die FlashCopy-Schicht sicher, dass auf die Vdisk A nicht zugegriffen wird. Diese Regeln werden durch die FlashCopy-Algorithmen grundsätzlich eingehalten und bedeuten, dass die obigen Grundregeln zum Erreichen der Ziele dieser Erfindung ausreichen und eine ordnungsgemäße E/A-Operation gewährleisten.
-
Bei der bevorzugten Ausführungsart verwendet das Speichersystem ein Verfahren zur Nutzung der Merkmale FlashCopy und Space-Efficient (platzsparend), um Daten voneinander zu trennen, auf die häufiger oder seltener zugegriffen wird. Bei einer typischen Ausführungsform dieses Speichersystems würden häufiger abgerufene Daten auf (teureren) Speichern hoher Leistungsfähigkeit und seltener abgerufene Daten auf (preiswerteren) Speichern geringerer Leistungsfähigkeit gespeichert. Dieser Gedanke kann auch auf die Verwendung mehrerer Speicherstufen ausgeweitet werden, sodass häufiger aufgerufene Daten auf der schnellsten Speicherstufe und die seltener abgerufenen Daten entsprechend der Zugriffshäufigkeit auf langsameren Speicherstufen gespeichert werden, wobei die am seltensten abgerufenen Daten auf der langsamsten Speicherstufe gespeichert werden.
-
Der Vorteil der Verwendung von mehr als zwei Speicherstufen besteht darin, dass die Benutzer einen größeren Teil ihrer Daten auf preiswerteren Speichern speichern können, ohne auf die Leistungsvorteile der schnelleren Speicherstufen zu verzichten. Bei einem Beispiel mit drei Speicherstufen könnten als Speicherstufe 1 ein Halbleiter-Flashspeicher, als Speicherstufe 2 eine leistungsfähige FC- oder SAS-Festplatte und als Speicherstufe 3 SATA-Festplatten verwendet werden.
-
7 zeigt eine Ausführungsform, bei der Daten auf drei verschiedene Speicherstufen verteilt werden, wobei die Speicherstufe 1 den schnellsten Speicher, die Speicherstufe 2 einen mittleren Speicher und die Speicherstufe 3 den langsamsten Speicher darstellt. Zu Anfang sind alle Daten auf dem langsamsten Laufwerk E (Stufe 3) gespeichert, und eine Kaskade von FlashCopy-Zuordnungen mit zwei platzsparenden Laufwerken auf der Speicherstufe 2 und zwei platzsparenden Laufwerken auf der Speicherstufe 1 wird erzeugt. Die Eingaben/Ausgaben des Hostrechners werden zu Anfang zum Laufwerk A geleitet.
-
Zu Anfang wird die oben beschriebene Ausführungsform mit den Laufwerken A, B und C durchgeführt. Die durch den Hostrechner geschriebenen neuen Daten werden auf dem Laufwerk A gespeichert. Wenn Teile von Datenblöcken geschrieben werden, liest der FlashCopy-Algorithmus Kopieren-nach-Schreiben die alte Kopie der Daten von dem entsprechenden Laufwerk weiter oben in der Kaskade, überträgt die neuen Daten und schreibt einen ganzen Datenblock auf das Laufwerk A. Nach einer Verzögerungszeit X wird die Zuordnung des FlashCopy-Prozesses vom Laufwerk C zum Laufwerk B umgekehrt, sodass die Daten von B zurück auf das Laufwerk C kopiert werden. Wenn die inverse FlashCopy-Funktion von B nach C ausgeführt worden ist, wird das Laufwerk B aus der Kaskade herausgenommen. Auf der Speicherstufe 1 wird ein neues Laufwerk B erzeugt und an das linke Ende der Kaskade angefügt, wobei die Eingaben/Ausgaben des Hostrechners an dieses neue Laufwerk B umgeleitet werden. Wenn der Hostrechner neue Daten schreibt, werden diese auf dem Laufwerk B gespeichert. Wenn Teile von Datenblöcken geschrieben werden, liest der FlashCopy-Algorithmus Kopieren-nach-Schreiben die alte Kopie der Daten vom entsprechenden Laufwerk weiter oben in der Kaskade, überträgt die neuen Daten und schreibt einen ganzen Datenblock auf das Laufwerk B. Nach einer Verzögerungszeit X wird die Zuordnung des FlashCopy vom Laufwerk C zum Laufwerk A umgekehrt, sodass Daten von A zurück auf das Laufwerk C kopiert werden. Wenn die umgekehrte FlashCopy-Funktion von A nach C ausgeführt worden ist, wird das Laufwerk A aus der Kaskade herausgenommen. Dann wird auf der Speicherstufe 1 ein neues Laufwerk A erzeugt und an das linke Ende der Kaskade angefügt, wobei die Eingaben/Ausgaben des Hostrechners an dieses neue Laufwerk A umgeleitet werden. Dann wird der Algorithmus wiederholt.
-
Dieser Algorithmus stellt sicher, dass zu jedem Zeitpunkt häufig abgerufene Daten (Daten, auf die innerhalb des Zeitraums X zugegriffen wurde) auf der Speicherstufe 1 gespeichert sind, dass Daten, auf die innerhalb des Zeitraums X bis 2X zugegriffen wurde, auf der Speicherstufe 2 gespeichert sein können und dass Daten, auf die seltener zugegriffen wurde, auf dem Laufwerk C (Speicherstufe 2) oder auf dem Laufwerk E (Speicherstufe 3) gespeichert sein können.
-
Um sicherzustellen, dass die Daten mit der geringsten Anzahl von Zugriffen auf der Speicherstufe 3 gespeichert sind, wird die oben beschriebene Ausführungsform auch auf die Laufwerke C, D und E angewendet. Nach einer Verzögerungszeit Y wird die FlashCopy-Zuordnung vom Laufwerk E zum Laufwerk D umgekehrt, sodass Daten von D zurück auf das Laufwerk E kopiert werden. Nachdem die inverse FlashCopy-Funktion von D nach E ausgeführt worden ist, wird das Laufwerk D aus der Kaskade herausgenommen. Dann wird auf der Speicherstufe 2 ein neues Laufwerk D erzeugt und links vom Laufwerk C in die Kaskade eingefügt. Der Prozess zum Kopieren der Daten von der Speicherstufe 1 zur Speicherstufe 2 wird so angepasst, dass nicht die Laufwerke A, B und C, sondern die Laufwerke A, B und D verwendet werden. Nach einer Verzögerungszeit Y wird die FlashCopy-Zuordnung vom Laufwerk E zum Laufwerk C umgekehrt, sodass Daten von C zurück auf das Laufwerk E kopiert werden. Nachdem die inverse FlashCopy-Funktion von C nach E ausgeführt worden ist, wird das Laufwerk C aus der Kaskade herausgenommen. Dann wird auf der Speicherstufe 2 ein neues Laufwerk C erzeugt und links vom Laufwerk D in die Kaskade eingefügt. Der Prozess zum Kopieren der Daten von der Speicherstufe 1 zur Speicherstufe 2 wird so angepasst, dass nicht die Laufwerke A, B und D, sondern die Laufwerke A, B und C verwendet werden. Dann wird dieser Algorithmus wiederholt.
-
Durch die Wahl eines Wertes Y, der größer als X ist, wird sichergestellt, dass häufig abgerufene Daten (Daten, auf die innerhalb des Zeitraums X zugegriffen wurde) auf der Speicherstufe 1 gespeichert sind, dass innerhalb des Zeitraums K bis 2X abgerufene Daten entweder auf der Speicherstufe 1 oder 2 gespeichert sind, dass innerhalb des Zeitraums 2X bis Y abgerufene Daten auf der Speicherstufe 2 gespeichert sind, dass innerhalb des Zeitraums Y bis 2Y abgerufene Daten entweder auf der Speicherstufe 2 oder 3 und noch seltener abgerufene Daten auf der Speicherstufe 3 gespeichert sind. Die Werte X und Y können so verändert werden, dass ein gewünschtes Gleichgewicht zwischen der Leistung und dem auf jeder Speicherstufe in Anspruch genommenen Speichervolumen erreicht wird.
-
Die oben unter Bezug auf 7 beschriebene Ausführungsform verwendet zwei Exemplare der ursprünglichen Ausführungsform beispielsweise von 2, die auf zwei verschiedene Laufwerke in derselben FlashCopy-Kaskade angewendet werden. Die Anwendung von zwei Exemplaren des Prozesses auf ein und dieselbe Kaskade stellt zusätzliche Anforderungen an die Kaskade. Zum Beispiel muss es möglich sein, an jedem Punkt in der Kaskade neue Zielkopien der Laufwerke zu erzeugen. Eine Ausführungsform einer FlashCopy-Funktion für mehrere Ziele wird beispielsweise durch den IBM SAN Volume Controller 4.2.1 realisiert. Ferner muss es möglich sein, die Richtung einer FlashCopy-Funktion zwischen zwei benachbarten Laufwerken in einer Kaskade umzukehren.
-
Im Idealfall müssen die beiden Exemplare der ursprünglichen Ausführungsform beispielsweise von 2 in der Lage sein, unabhängig voneinander FlashCopy-Funktionen in den gewünschten Zeitintervallen zu erzeugen, zu löschen und umzukehren. Da beide Exemplare in derselben Kaskade und insbesondere beide im Laufwerk C agieren, kann es jedoch zwischen den beiden Exemplaren zu gegenseitigen Beeinflussungen kommen, die sich nicht durch den Einsatz von FlashCopy-Prozessen beheben lassen. Durch den Einsatz von FlashCopy-Prozessen im IBM SAN Volume Controller und zusätzlich des inversen FlashCopy-Algorithmus, werden diese gegenseitigen Beeinflussungen unterstützt, jedoch erlegt eine alternative Ausführungsform den Beziehungen zwischen den Exemplaren möglicherweise weitere Einschränkungen auf. Erstens kann es erforderlich sein, dass die inversen FlashCopy-Funktionen nacheinander aufgerufen werden müssen, sodass zu jedem Zeitpunkt nur eine inverse FlashCopy in der Kaskade aktiv ist, und zweitens kann es erforderlich sein, das durch ein Exemplar verlangte Löschen und Erzeugen eines neuen Laufwerks in der Kaskade zurückzustellen, bis eine durch das andere Exemplar ausgelöste FlashCopy-Operation beendet ist. Wenn diese zusätzlichen Einschränkungen durch eine Ausführungsform gefordert werden, wird der Prozess einfach verändert, damit das Speichersystem am Ende jedes Schrittes so lange wartet, bis die Kaskade einsatzbereit ist, bevor der nächste Schritt ausgeführt wird.
-
Das Speichersystem kann noch um weitere Speicherstufen erweitert werden, indem zusätzliche Laufwerkpaare in die Kaskade eingefügt und weitere Exemplare des Hauptprozesse mit verschiedenen Zeiträumen verwendet werden, um die Rückübertragung von Daten zu langsameren Speicherstufen zu steuern.
-
Das Speichersystem kann für die Verwendung mehrerer FlashCopy-Ziele erweitert werden. Durch das Hinzufügen zusätzlicher FlashCopy-Ziele nimmt der Umfang der zu verwaltenden Metadaten zu, jedoch kann der Umfang an Speichern höherer Leistungsfähigkeit verringert werden, der erforderlich ist, um die innerhalb der letzten X Minuten abgerufenen Daten mit Sicherheit auf dem oder den Speichermedien höherer Leistungsfähigkeit zu speichern. Zum Beispiel zeigt 8 eine FlashCopy-Kaskade mit drei Zielen P, Q und R, die durch die Speichermedien 14 bis 18 hoher Leistungsfähigkeit versorgt werden, und mit einer Quelle S, die durch ein Speichermedium 12 geringer Leistungsfähigkeit versorgt wird. Die Eingaben/Ausgaben des Hostrechners werden zu Anfang direkt zum Laufwerk P geleitet.
-
Die folgenden Arbeitsschritte werden dann wiederholt ausgeführt. In Schritt 1 werden die durch den Hostrechner geschriebenen neuen Daten auf dem Laufwerk P gesammelt. In Schritt 2 werden nach dem Zeitraum Y die FlashCopy-Zuordnung von S -> R umgekehrt und Daten wieder zurück auf S kopiert. Wenn die Umkehrung erfolgt ist, wird das Laufwerk R aus der Kaskade herausgenommen, sodass eine FlashCopy-Kaskade S -> Q -> P zurückbleibt, und eine neue Zuordnung von P -> R erzeugt, um eine Kaskade S -> Q -> P -> R zu erzeugen. Die Eingaben/Ausgaben des Hostrechners werden zum Laufwerk R umgeleitet. In Schritt 3 werden die durch den Hostrechner geschriebenen Daten auf dem Laufwerk R gesammelt. In Schritt 4 werden nach dem Zeitraum Y die FlashCopy-Zuordnung S -> Q umgekehrt und Daten wieder zurück auf S kopiert. Wenn die Umkehrung erfolgt ist, wird das Laufwerk Q aus der Kaskade herausgenommen, sodass eine FlashCopy-Kaskade S -> P -> R zurückbleibt, und eine neue Zuordnung von R -> Q erzeugt, um eine Kaskade S -> P -> R -> Q zu erzeugen. Die Eingaben/Ausgaben des Hostrechners werden zum Laufwerk Q umgeleitet. In Schritt 5 werden die durch den Hostrechner geschriebenen Daten auf dem Laufwerk Q gesammelt. In Schritt 6 werden nach dem Zeitraum Y die FlashCopy-Zuordnung von S -> P umgekehrt und Daten wieder zurück auf S kopiert. Wenn die Umkehrung erfolgt ist, wird das Laufwerk P aus der Kaskade herausgenommen, sodass eine FlashCopy-Kaskade S -> R -> Q zurückbleibt, und eine neue Zuordnung von Q -> P erzeugt, um eine Kaskade S -> R -> Q -> P zu erzeugen. Die Eingaben/Ausgaben des Hostrechners werden zum Laufwerk P umgeleitet.
-
Zu Beginn der Schritte 1, 3 oder 5 werden Daten, auf die innerhalb der letzten 2Y Minuten zugegriffen wurde, auf den Speichermedien 14 bis 18 hoher Leistungsfähigkeit und alle anderen Daten auf dem Speichermedium 12 geringer Leistungsfähigkeit gespeichert. Während der folgenden Y Minuten werden auf dem Speichermedium hoher Leistungsfähigkeit weitere Daten gesammelt, sodass zu Beginn von Schritt 2, 4 oder 6 Daten, auf die innerhalb der letzten 3Y Minuten zugegriffen wurde, auf dem Speichermedium hoher Leistungsfähigkeit und alle anderen Daten auf dem Speichermedium 12 geringer Leistungsfähigkeit gespeichert werden. Wenn die inverse FlashCopy-Operation beginnt, werden die Daten, auf die innerhalb der letzten 2Y Minuten nicht zugegriffen wurde, wieder zurück auf das Speichermedium geringer Leistungsfähigkeit kopiert. Deshalb bleiben im Laufe der Zeit Daten, auf die innerhalb der letzten 2Y Minuten zugegriffen wurde, auf den Speichermedien 14 bis 18 hoher Leistungsfähigkeit gespeichert, Daten, auf die innerhalb der letzten 3Y Minuten nicht zugegriffen wurde, auf dem Speichermedium 12 geringer Leistungsfähigkeit gespeichert, während Daten, auf die nur innerhalb der letzten 2Y bis 3Y Minuten zugegriffen wurde, je nach Arbeitsfortschritt des Algorithmus auf einem Speichermedium hoher oder geringer Leistungsfähigkeit gespeichert bleiben können.
-
Wenn gefordert wird, dass Daten, auf die innerhalb der letzten Z Minuten zugegriffen wurde, auf den Speichermedien 14 bis 18 hoher Leistungsfähigkeit gespeichert bleiben, müsste zu diesem Zweck bei Verwendung von lediglich zwei Zielen (A und B bei der Ausführungsart von 2) X = Z gesetzt werden, wobei das System im schlimmsten Fall alle Daten, auf die innerhalb der letzten 2Z Minuten zugegriffen wurde, auf dem Speichermedium hoher Leistungsfähigkeit speichern würde. Bei Verwendung von drei Zielen (P, Q und R, bei der Ausführungsart von 8) müsste Y = Z/2 gesetzt werden, wobei das System im schlimmsten Fall alle Daten, auf die innerhalb der letzten 3Z/2 Minuten zugegriffen wurde, auf einem Speichermedium hoher Leistungsfähigkeit speichern würde.
-
Durch das Einfügen weiterer Ziele in die Kaskade können daher dieselben Anforderungen erfüllt werden, ohne dass so viele Daten auf dem Speichermedium hoher Leistungsfähigkeit gespeichert werden müssen. Durch die weitere Erhöhung der Anzahl der Ziele in der Kaskade kann das Volumen der auf dem Speichermedium hoher Leistungsfähigkeit gespeicherten Daten weiter verringert werden. Eine verallgemeinerte Ausführungsform weist ein Quellenlaufwerk S auf, das durch eine Speicherstufe und N Ziellaufwerke (T1, T2, ... TN) versorgt wird, die wiederum durch eine zweite Speicherstufe versorgt werden. Es wird eine Reihe von FlashCopy-Zuordnungen erzeugt, um eine FlashCopy-Kaskade zu bilden, an deren Spitze das Quellenlaufwerk steht und an das sich nacheinander alle Ziellaufwerke kaskadenförmig anschließen. Die folgenden Schritte werden wiederholt. In Schritt 1 werden die Eingaben/Ausgaben des Hostrechners zum Ziellaufwerk am Ende der Kaskade (das am weitesten von der Quelle entfernt ist) geleitet, in Schritt 2 wird in bestimmten Zeitabständen die FlashCopy-Zuordnung an der Spitze der Kaskade umgekehrt, um Daten von dem neben der Quelle gelegenen Ziel in der Kaskade wieder zurück zur Quelle zu kopieren, und in Schritt 3 werden die Inhalte des Ziellaufwerks gelöscht und eine neue FlashCopy-Zuordnung erzeugt, um das Ziellaufwerk an das Ende der Kaskade (das am weitesten von der Quelle entfernt ist) anzuhängen, wenn diese inverse Kopie fertiggestellt ist.