DE112010003788T5 - Datenspeicherung - Google Patents

Datenspeicherung Download PDF

Info

Publication number
DE112010003788T5
DE112010003788T5 DE112010003788T DE112010003788T DE112010003788T5 DE 112010003788 T5 DE112010003788 T5 DE 112010003788T5 DE 112010003788 T DE112010003788 T DE 112010003788T DE 112010003788 T DE112010003788 T DE 112010003788T DE 112010003788 T5 DE112010003788 T5 DE 112010003788T5
Authority
DE
Germany
Prior art keywords
storage medium
data
storage
drive
image
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.)
Granted
Application number
DE112010003788T
Other languages
English (en)
Other versions
DE112010003788B4 (de
Inventor
Carlos Francisco Fuente
William James Scales
Barry Douglas Whyte
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of DE112010003788T5 publication Critical patent/DE112010003788T5/de
Application granted granted Critical
Publication of DE112010003788B4 publication Critical patent/DE112010003788B4/de
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/0604Improving or facilitating administration, e.g. storage management
    • G06F3/0607Improving or facilitating administration, e.g. storage management by facilitating the process of upgrading existing storage systems, e.g. for improving compatibility between host and storage device
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • 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/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/0647Migration mechanisms
    • 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/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • G06F3/0685Hybrid storage combining heterogeneous device types, e.g. hierarchical storage, hybrid arrays

Abstract

Es wird ein Datenspeicherungssystem beschrieben, das eine Steuereinheit, ein erstes Speichermedium geringer Leistungsfähigkeit und ein zweites Speichermedium höherer Leistungsfähigkeit umfasst. Die Steuereinheit ist mit den Speichermedien verbunden und so eingerichtet, dass sie den E/A-Zugriff auf daktiv ist, speichert sie ein Abbild auf dem ersten Speichermedium, löst eine Funktion zum Kopieren vom ersten Speichermedium zum zweiten Speichermedium aus, leitet alle E/A-Zugriffe auf das Abbild an das zweite Speichermedium und lagert periodisch Daten vom zweiten Speichermedium zum ersten Speichermedium um.

Description

  • 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.

Claims (15)

  1. Datenspeicherungssystem, das eine Steuereinheit, ein erstes Speichermedium geringerer Leistungsfähigkeit und ein zweites Speichermedium höherer Leistungsfähigkeit umfasst, wobei die Steuereinheit mit den Speichermedien verbunden und so eingerichtet ist, dass sie den E/A-Zugriff auf die Speichermedien steuert und wobei die Steuereinheit für folgende Funktionen eingerichtet ist: – 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 – Periodisches Umlagern von Daten vom zweiten Speichermedium zum ersten Speichermedium.
  2. System nach Anspruch 1, das ferner ein drittes Speichermedium hoher Leistungsfähigkeit umfasst, 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 zum dritten Speichermedium leitet und periodisch Daten vom dritten Speichermedium zum ersten Speichermedium leitet.
  3. System nach Anspruch 2, wobei die Steuereinheit ferner so eingerichtet ist, dass sie nach dem periodischen Umlagern von Daten auf das erste Speichermedium das Ziel aller E/A-Zugriffe auf das Abbild zwischen dem zweiten und dem dritten Speichermedium sowie die Richtung der Kopierfunktion zwischen dem zweiten und dem dritten Speichermedium umschaltet.
  4. System nach Anspruch 2 oder 3, wobei die Steuereinheit ferner so eingerichtet ist, dass sie beim periodischen Umlagern von Daten vom zweiten oder vom dritten Speichermedium zum ersten Speichermedium nur Daten umlagert, die weder auf dem zweiten noch auf dem dritten Speichermedium vorliegen.
  5. System nach Anspruch 2, 3 oder 4, wobei das zweite und das dritte Speichermedium ein einzelnes Laufwerk umfassen und die Steuereinheit ferner so eingerichtet ist, dass sie Adress-Metadaten für die durch das einzelne Laufwerk gespeicherten Daten verwaltet und die Adress-Metadaten als Reaktion auf eine Eingabe/Ausgabe anpasst, durch die Daten andernfalls zwischen dem zweiten und dem dritten Speichermedium kopiert würden
  6. System nach einem der Ansprüche 2 bis 5, das ferner eine höchste Leistungsstufe der Speichermedien umfasst, wobei das zweite und das dritte Speichermedium eine mittlere Leistungsstufe zwischen der höchsten Leistungsstufe und dem ersten Speichermedium umfassen und wobei die Steuereinheit ferner so eingerichtet ist, dass sie eine Funktion zum Kopieren von der mittleren zur höchsten Leistungsstufe auslöst, alle E/A-Zugriffe auf das Abbild an die höchste Leistungsstufe leitet und periodisch Daten von der höchsten Leistungsstufe zum ersten Speichermedium umlagert.
  7. System nach einem der vorhergehenden Ansprüche, wobei die Funktion zum Kopieren vom ersten Speichermedium zu einem anderen Speichermedium die beiden Funktionen Kopieren-nach-Schreiben und Kopieren-nach-Lesen umfasst.
  8. Verfahren zum Anwenden eines Datenspeicherungssystems, wobei das System eine Steuereinheit, ein erstes Speichermedium geringerer Leistungsfähigkeit und ein zweites Speichermedium höherer Leistungsfähigkeit umfasst, wobei die Steuereinheit mit den Speichermedien verbunden und so eingerichtet ist, dass sie den E/A-Zugriff 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 – Periodisches Umlagern von Daten vom zweiten Speichermedium zum ersten Speichermedium.
  9. Verfahren nach Anspruch 8, wobei das System ferner ein drittes Speichermedium hoher Leistungsfähigkeit umfasst und das Verfahren ferner die folgenden Schritte umfasst: Auslösen einer Funktion zum Kopieren vom zweiten Speichermedium zum dritten Speichermedium, Leiten aller E/A-Zugriffe auf das Abbild zum dritten Speichermedium und periodisches Umlagern von Daten vom dritten zum ersten Speichermedium.
  10. Verfahren nach Anspruch 9, das ferner folgende Schritte umfasst: Im Anschluss an die periodische Umlagerung von Daten auf das erste Speichermedium, Wechseln des Ziels für alle E/A-Zugriffe auf das Abbild zwischen dem zweiten und dem dritten Speichermedium und Wechseln der Richtung der Kopierfunktion zwischen dem zweiten und dem dritten Speichermedium.
  11. Verfahren nach Anspruch 9 oder 10, das ferner folgenden Schritt umfasst: Umlagern nur derjenigen Daten, die weder auf dem zweiten noch auf dem dritten Laufwerk vorhanden sind, wenn periodisch Daten vom zweiten zum dritten Speichermedium umgelagert werden.
  12. Verfahren nach Anspruch 9, 10 oder 11, wobei das zweite und das dritte Speichermedium ein einzelnes Laufwerk umfassen und das Verfahren ferner das Verwalten von Adress-Metadaten für die durch das einzelne Laufwerk gespeicherten Daten und des Anpassen der Adress-Metadaten als Reaktion auf eine Eingabe/Ausgabe umfasst, durch welche Daten andernfalls zwischen dem zweiten und dem dritten Speichermedium kopiert würden.
  13. Verfahren nach einem der Ansprüche 9 bis 12, wobei das System ferner eine höchste Leistungsstufe der Speichermedien umfasst, das zweite und das dritte Speichermedium eine mittlere Leistungsstufe zwischen der höchsten Leistungsstufe und dem ersten Speichermedium umfassen und das Verfahren ferner das Auslösen einer Funktion zum Kopieren von der mittleren Leistungsstufe zur höchsten Leistungsstufe, das Leiten aller E/A-Zugriffe auf des Abbild an die höchste Leistungsstufe und das periodische Umlagern von Daten von der höchsten Leistungsstufe zum ersten Speichermedium umfasst.
  14. Verfahren nach einem der Ansprüche 8 bis 13, wobei die Funktion zum Kopieren vom ersten Speichermedium zu einem anderen Speichermedium die beiden Funktionen Kopieren-nach-Schreiben und Kopieren-nach-Lesen umfasst.
  15. Computerprogrammprodukt auf einem computerlesbaren Medium, das einen Computerprogrammcode umfasst, der in ein Computersystem geladen und darin ausgeführt wird, um das Computersystem zum Ausführen aller Schritte des Verfahrens nach einem der Ansprüche 8 bis 14 zu veranlassen.
DE112010003788.4T 2009-09-25 2010-08-26 Datenspeicherung Active DE112010003788B4 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
EP09171306 2009-09-25
EP09171306.5 2009-09-25
PCT/EP2010/062463 WO2011036020A1 (en) 2009-09-25 2010-08-26 Data storage

Publications (2)

Publication Number Publication Date
DE112010003788T5 true DE112010003788T5 (de) 2012-11-08
DE112010003788B4 DE112010003788B4 (de) 2019-07-11

Family

ID=43063873

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112010003788.4T Active DE112010003788B4 (de) 2009-09-25 2010-08-26 Datenspeicherung

Country Status (5)

Country Link
US (2) US9256367B2 (de)
CN (1) CN102511036B (de)
DE (1) DE112010003788B4 (de)
GB (1) GB2485696B (de)
WO (1) WO2011036020A1 (de)

Families Citing this family (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4886918B1 (ja) 2008-10-30 2012-02-29 インターナショナル・ビジネス・マシーンズ・コーポレーション フラッシュコピー・プロセスを処理する方法、ならびにそのためのシステム、およびコンピュータ・プログラム
CN102511031B (zh) 2009-09-24 2015-11-25 国际商业机器公司 使用位图的数据存储
WO2011036020A1 (en) 2009-09-25 2011-03-31 International Business Machines Corporation Data storage
US8533411B2 (en) 2010-03-11 2013-09-10 International Business Machines Corporation Multiple backup processes
AU2010201718B2 (en) * 2010-04-29 2012-08-23 Canon Kabushiki Kaisha Method, system and apparatus for identifying a cache line
US8788770B2 (en) 2010-05-25 2014-07-22 International Business Machines Corporation Multiple cascaded backup process
US20120278442A1 (en) * 2011-04-26 2012-11-01 Hitachi, Ltd. Server apparatus and method of controlling information system
WO2012147123A1 (en) * 2011-04-26 2012-11-01 Hitachi, Ltd. Storage apparatus and control method therefor
US9015412B2 (en) * 2011-09-13 2015-04-21 Hitachi Ltd. Management system and management method of storage system that performs control based on required performance assigned to virtual volume
US8868860B2 (en) 2011-09-23 2014-10-21 International Business Machines Corporation Restore in cascaded copy environment
US8719523B2 (en) * 2011-10-03 2014-05-06 International Business Machines Corporation Maintaining multiple target copies
JP5853649B2 (ja) * 2011-11-30 2016-02-09 富士通株式会社 ストレージ装置,制御装置及びプログラム
US9026765B1 (en) * 2012-09-11 2015-05-05 Emc Corporation Performing write operations in a multi-tiered storage environment
GB2516872A (en) 2013-08-02 2015-02-11 Ibm A method for a logging process in a data storage system
CN104424106B (zh) 2013-08-30 2017-08-08 国际商业机器公司 为存储优化操作分配存储设备的资源的方法和系统
US9424300B2 (en) * 2013-09-25 2016-08-23 International Business Machines Corporation Data allocation containers in a partitioned table of a computer database system for holding data based on usage
US20150355862A1 (en) * 2014-06-04 2015-12-10 Pure Storage, Inc. Transparent array migration
US9087012B1 (en) 2014-06-04 2015-07-21 Pure Storage, Inc. Disaster recovery at high reliability in a storage cluster
US9811677B2 (en) 2014-07-03 2017-11-07 Pure Storage, Inc. Secure data replication in a storage grid
US10210165B2 (en) 2015-09-04 2019-02-19 Walmart Apollo, Llc File management for eDiscovery
US10387384B1 (en) * 2015-09-30 2019-08-20 EMC IP Holding Company LLC Method and system for semantic metadata compression in a two-tier storage system using copy-on-write
US20170228191A1 (en) * 2016-02-08 2017-08-10 Western Digital Technologies, Inc. Systems and methods for suppressing latency in non-volatile solid state devices
US10097634B1 (en) 2016-04-29 2018-10-09 Veritas Technologies, LLC Storage tier selection for replication and recovery
CN112328168A (zh) * 2017-06-29 2021-02-05 华为技术有限公司 分片管理方法和分片管理装置
US11372984B2 (en) * 2019-08-14 2022-06-28 International Business Machines Corporation Key-compressible encryption
CN114327266B (zh) * 2021-12-24 2024-04-09 深信服科技股份有限公司 一种存储装置的卡慢识别方法、装置、介质
CN117539407B (zh) * 2024-01-04 2024-03-29 浙江大华技术股份有限公司 数据存储方法、电子设备及计算机可读存储介质

Family Cites Families (36)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5318857A (en) 1989-11-06 1994-06-07 Dow Corning Corporation Low temperature ozonolysis of silicon and ceramic oxide precursor polymers to ceramic coatings
US7107395B1 (en) 1998-12-31 2006-09-12 Emc Corporation Apparatus and methods for operating a computer storage system
US6542967B1 (en) 1999-04-12 2003-04-01 Novell, Inc. Cache object store
US20040039891A1 (en) 2001-08-31 2004-02-26 Arkivio, Inc. Optimizing storage capacity utilization based upon data storage costs
US7103731B2 (en) * 2002-08-29 2006-09-05 International Business Machines Corporation Method, system, and program for moving data among storage units
US7032089B1 (en) * 2003-06-09 2006-04-18 Veritas Operating Corporation Replica synchronization using copy-on-read technique
US7454569B2 (en) 2003-06-25 2008-11-18 Commvault Systems, Inc. Hierarchical system and method for performing storage operations in a computer network
US7188272B2 (en) 2003-09-29 2007-03-06 International Business Machines Corporation Method, system and article of manufacture for recovery from a failure in a cascading PPRC system
US20050071560A1 (en) 2003-09-30 2005-03-31 International Business Machines Corp. Autonomic block-level hierarchical storage management for storage networks
US7165059B1 (en) 2003-12-23 2007-01-16 Veritas Operating Corporation Partial file migration mechanism
US7225211B1 (en) 2003-12-31 2007-05-29 Veritas Operating Corporation Multi-class storage mechanism
EP1763755A4 (de) 2004-04-30 2010-04-14 Commvault Systems Inc Hierarchische systeme und verfahren zur bereitstellung einer vereinigten sicht von speicherinformationen
US7461100B2 (en) 2004-05-27 2008-12-02 International Business Machines Corporation Method for fast reverse restore
JP4550541B2 (ja) 2004-10-06 2010-09-22 株式会社日立製作所 ストレージシステム
US7475204B2 (en) 2004-11-24 2009-01-06 International Business Machines Corporation Automatically managing the state of replicated data of a computing environment
GB0428105D0 (en) 2004-12-23 2005-01-26 Ibm Storage system with multiple copy targeting and disk failure protection
GB0428108D0 (en) 2004-12-23 2005-01-26 Ibm Storage system with multiple copy targeting
US7366846B2 (en) * 2005-01-14 2008-04-29 International Business Machines Corporation Redirection of storage access requests
US7778976B2 (en) 2005-02-07 2010-08-17 Mimosa, Inc. Multi-dimensional surrogates for data management
US7987158B2 (en) * 2005-02-09 2011-07-26 International Business Machines Corporation Method, system and article of manufacture for metadata replication and restoration
GB0504390D0 (en) 2005-03-02 2005-04-06 Ibm Storage system with cascaded copy targeting and enhanced integrity
US7606934B1 (en) * 2005-03-10 2009-10-20 Sun Microsystems, Inc. Dynamic routing of I/O requests in a multi-tier storage environment
US7386674B1 (en) 2005-04-25 2008-06-10 Netapp, Inc. Method and apparatus to provide a unified readahead scheme for multiple sources
CA2613419C (en) 2005-06-24 2014-12-02 Syncsort Incorporated System and method for virtualizing backup images
JP4890048B2 (ja) 2006-02-24 2012-03-07 株式会社日立製作所 記憶制御装置及び記憶制御装置を用いたデータマイグレーション方法
US7631149B2 (en) * 2006-07-24 2009-12-08 Kabushiki Kaisha Toshiba Systems and methods for providing fixed-latency data access in a memory system having multi-level caches
US7593973B2 (en) 2006-11-15 2009-09-22 Dot Hill Systems Corp. Method and apparatus for transferring snapshot data
US7979742B2 (en) 2007-07-19 2011-07-12 Hewlett-Packard Development Company, L.P. Recoverability of a dataset associated with a multi-tier storage system
US8874854B2 (en) 2007-07-30 2014-10-28 International Business Machines Corporation Method for selectively enabling and disabling read caching in a storage subsystem
US8055864B2 (en) 2007-08-06 2011-11-08 International Business Machines Corporation Efficient hierarchical storage management of a file system with snapshots
US8095510B2 (en) 2008-07-22 2012-01-10 International Business Machines Corporation Data restoration in a storage system using multiple restore points
US8230185B2 (en) 2008-10-08 2012-07-24 International Business Machines Corporation Method for optimizing cleaning of maps in FlashCopy cascades containing incremental maps
JP4886918B1 (ja) 2008-10-30 2012-02-29 インターナショナル・ビジネス・マシーンズ・コーポレーション フラッシュコピー・プロセスを処理する方法、ならびにそのためのシステム、およびコンピュータ・プログラム
US8533397B2 (en) * 2009-01-06 2013-09-10 International Business Machines Corporation Improving performance in a cache mechanism by way of destaging data in partial strides
CN102511031B (zh) 2009-09-24 2015-11-25 国际商业机器公司 使用位图的数据存储
WO2011036020A1 (en) 2009-09-25 2011-03-31 International Business Machines Corporation Data storage

Also Published As

Publication number Publication date
US9250808B2 (en) 2016-02-02
GB2485696A (en) 2012-05-23
CN102511036A (zh) 2012-06-20
GB201201709D0 (en) 2012-03-14
WO2011036020A1 (en) 2011-03-31
GB2485696B (en) 2016-10-19
US20120198153A1 (en) 2012-08-02
DE112010003788B4 (de) 2019-07-11
CN102511036B (zh) 2015-09-30
US20120221787A1 (en) 2012-08-30
US9256367B2 (en) 2016-02-09

Similar Documents

Publication Publication Date Title
DE112010003788B4 (de) Datenspeicherung
DE112010003794B4 (de) Datenspeicherung unter Verwendung von Bitmaps
DE60025749T2 (de) Dateisystemabbildübertragung zwischen ungleichen dateisystemen
DE10055603B4 (de) Verfahren zum Zugriff auf eine Datei in einer Vielzahl von Datenspeicherbibliotheken und Datenspeicherbibliothek-System
DE112020002526B4 (de) Blockmodusumschaltung in datenspeichersystem
DE112010003554B4 (de) Symmetrische Direktmigration von Virtuellen Maschinen
DE112012004798B4 (de) Anpassung der Auslagerungsgeschwindigkeit auf Grundlage von Anforderungen an Lese- und Schreib-Antwortzeiten
DE69631106T2 (de) On-line-Rekonfiguration einer Speicherplattenanordnung
DE112011100618B4 (de) Verwalten von Schreiboperationen auf einen Speicherbereich von Spuren, der zwischen Speichereinheiten verlagert wird
DE69724846T2 (de) Mehrweg-Ein/Ausgabespeichersysteme mit Mehrweg-Ein/Ausgabeanforderungsmechanismus
DE112011101109B4 (de) Übertragung von Map/Reduce-Daten auf der Grundlage eines Speichernetzwerkes oder eines Speichernetzwerk-Dateisystems
DE69833815T2 (de) Verbesserter Disk-Log mit verteiltem Schreibsystem
DE202010017613U1 (de) Datenspeichervorrichtung mit host-gesteuerter Speicherbereinigung
DE112008003256T5 (de) Verteilung und Speichervolumen auf Laufwerksbereiche mit intelligenter Dateiablage und/oder -umordnung
DE10062063A1 (de) Verfahren, System, Programm und Datenstruktur zur Steuerung einer Warteschlange von Anforderungen unterschiedlicher Priorität
DE112012002241T5 (de) Migration eines transparenten Dateisystems zu einem neuen physischen Speicherort
DE102009031125A1 (de) Nand-Fehlerbehandlung
DE112013006298T5 (de) Verfahren und Einrichtung für einen komprimierten und verdichteten virtuellen Speicher
DE202010017667U1 (de) Datenspeichervorrichtung mit Flash-Speicherchips
DE112010004573T5 (de) System und verfahren zur optimierten wiedernutzbarmachungsverarbeitung in einem virtuellen bandbibliotheksystem
DE112011100564B4 (de) Einfügen eines Flash-Zwischenspeichers in große Speichersysteme
DE112011103290T5 (de) Intelligente Schreibcacheoperation für sequenzielle Datenspuren
DE112010003594T5 (de) Dynamische Ressourcen-Zuordnung für verteilte Gruppen-speichernetze
DE112019000992T5 (de) Verwaltung virtueller Speicherlaufwerke in einem Datenspeichersystem
DE112013006646B4 (de) Computer, System und computerlesbares Ablagemedium zum Identifizieren von Arbeitslast und Dimensionierung von Puffern zum Zweck der Volumenreplikation

Legal Events

Date Code Title Description
R163 Identified publications notified
R012 Request for examination validly filed
R016 Response to examination communication
R016 Response to examination communication
R016 Response to examination communication
R018 Grant decision by examination section/examining division
R084 Declaration of willingness to licence
R020 Patent grant now final