-
BESCHREIBUNG
-
Diese Erfindung betrifft ein Datenspeicherungssystem und ein Verfahren zur Verwendung des Datenspeicherungssystems. Um die Inanspruchnahme der Speicherkapazität zu verringern, wird bei einer Ausführungsart ein FlashCopy-Prozess verwendet, um häufig abgerufene Daten unter Verwendung eines einzigen FlashCopy-Ziels mit mehreren Bitmaps 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üglicher 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 (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 Sonderfall, 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. Ein geringer Teil des Datenverkehrs kann verhindert werden, jedoch muss der größte Teil dort noch 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 Masse 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 Ein-/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 Aufgebe 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, wobei die Steuereinheit so eingerichtet ist, dass sie auf dem ersten Speichermedium ein Abbild speichert, eine Kopierfunktion vom ersten Speichermedium zum zweiten Speichermedium auslöst, alle E/A-Zugriffe für das Abbild an das zweite Speichermedium leitet, in bestimmten Zeitabständen Daten vom zweiten Speichermedium zum ersten Speichermedium umlagert, für jeden Zeitraum eine neue leere Bitmap erzeugt, und als Reaktion auf einen E/A-Zugriff auf die Daten im Abbild die jüngste Bitmap aktualisiert, um anzuzeigen, dass auf die Daten zugegriffen wurde, und die vorhergehenden Bitmaps aktualisiert, um anzuzeigen, dass noch nicht auf die Daten zugegriffen wurde.
-
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, wobei das Verfahren die folgenden Schritte umfasst: Speichern eines Abbildes auf dem ersten Speichermedium, Auslösen einer Kopierfunktion vom ersten Speichermedium zum zweiten Speichermedium, Leiten aller E/A-Zugriffe für das Abbild auf das zweite Speichermedium, Umlagern von Daten in bestimmten Zeitabständen vom zweiten Speichermedium zum ersten Speichermedium, Erzeugen einer neuen leeren Bitmap für jeden Zeitraum, und Aktualisieren der jüngsten Bitmap als Reaktion auf einen E/A-Zugriff auf die Daten im Abbild, um anzuzeigen, dass auf die Daten zugegriffen wurde, und Aktualisieren der vorhergehenden Bitmaps, um anzuzeigen, dass noch nicht auf die Daten zugegriffen wurde.
-
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 Kopierfunktion vorn ersten Speichermedium zum zweiten Speichermedium, zum Leiten aller E/A-Zugriffe für des Abbild an des zweite Speichermedium, zum Umlagern von Daten in bestimmten Zeitabständen vom zweiten Speichermedium zum ersten Speichermedium, zum Erzeugen einer neuen leeren Bitmap für jeden Zeitraum, zum Aktualisieren der letzten Bitmap als Reaktion auf einen E/A-Zugriff auf die Daten im Abbild, um anzuzeigen, dass auf die Daten zugegriffen wurde, und zum Aktualisieren der vorhergehenden Bitmaps umfasst, um anzuzeigen, dass noch nicht auf die Daten zugegriffen wurde.
-
Gemäß der Erfindung kann ein Datenspeicherungssystem bereitgestellt werden, wobei das System automatisch Bereiche hoher Leistungsfähigkeit mit geringem Verarbeitungsaufwand von Bereichen geringer Leistungsfähigkeit absondert, indem ein einziges Speichermedium hoher Leistungsfähigkeit verwendet wird. 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 geringer Leistung abgesondert und der Speicherklasse mit der höchsten Leistungsfähigkeit zugewiesen, sodass der Rest der VDISK-Daten zur Speicherklasse mit einer geringeren 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.
-
Vorzugsweise ist die Steuereinheit so eingerichtet, dass sie beim periodischen Umlagern der Daten vom zweiten Speichermedium auf das erste Speichermedium nach einem vorgegebenen Zeitraum mit dem Umlagerungsprozess beginnt. Der periodische Umlagerungsprozess, bei dem die auf dem Speichermedium hoher Leistungsfähigkeit gespeicherten Daten zum Speichermedium geringerer Leistungsfähigkeit umgelagert werden, wird am besten nach einem regelmäßigen definierten Zeitraum durchgeführt, der durch einen Systemadministrator festgelegt oder aus der Nutzungsstatistik abgeleitet werden kann. Jeweils nach diesem Zeitraum wird dann der Umlagerungsprozess ausgelöst. Auf diese Weise können Daten auf dem zweiten Speichermedium hoher Leistungsfähigkeit, die in letzter Zeit nicht genutzt worden sind, wieder zurück auf das langsamere Speichermedium übertragen werden, um so mehr Speicherplatz auf dem schnelleren Speichermedium freizugeben.
-
Vorteilhafterweise ist die Steuereinheit so eingerichtet, dass sie beim periodischen Umlagern von Daten vom zweiten Speichermedium auf das erste Speichermedium diejenigen Daten vom zweiten Speichermedium zum ersten Speichermedium kopiert, auf die eine vorgegebene Zeit lang nicht zugegriffen wurde. Dieser Zeitraum kann durch eine gewählte Anzahl von Perioden ausgedrückt werden, wobei unter der Periode der zeitliche Abstand zwischen zwei Umlagerungsprozessen zu verstehen ist. Zum Beispiel können für den Zeitraum fünf Perioden angesetzt werden, sodass alle Daten auf dem schnelleren Speichermedium, auf die während der fünf vorhergehenden Umlagerungsprozesse nicht zugegriffen wurde, während des aktuellen Umlagerungsprozesses wieder zum langsameren Speichermedium zurück übertragen werden.
-
Im Idealfall ist die Steuereinheit so eingerichtet, dass sie bei der periodischen Umlagerung von Daten vom zweiten Speichermedium zum ersten Speichermedium das Umlagern ausgehend von der ältesten vorhandenen Bitmap vornimmt. Der Umlagerungsprozess kann unter Verwendung der Bitmaps stattfinden, da hierdurch in der ältesten vorhandenen Bitmap belegt wird, auf welche Daten seit Erzeugung dieser Bitmap nicht zugegriffen wurde. Diese kann dann zur Entscheidung herangezogen werden, welche Daten wieder zurück auf das langsamere Speichermedium übertragen werden sollen. In diesem Fall ist es von Vorteil, wenn die Steuereinheit weiterhin so eingerichtet ist, dass sie nach dem periodischen Umlagern der Daten vom zweiten Speichermedium zum ersten Speichermedium die älteste vorhandene Bitmap löscht.
-
Im Folgenden werden Ausführungsarten der vorliegenden Erfindung lediglich als Beispiel unter Bezugnahme auf die beiliegenden Zeichnungen beschrieben, wobei:
-
1 ein schematisches Schaubild eines Speichersystems ist;
-
2 ein schematisches Schaubild einer zweiten Ausführungsart des Speichersystems ist;
-
3 ein weiteres schematisches Schaubild des Speichersystems, welches einen Umlagerungsprozess zeigt;
-
4 ein schematisches Schaubild eines alternativen Speichersystems ist;
-
5 ein weiteres schematisches Schaubild des Speichersystems ist, das Bitmaps zeigt; und
-
6 ein Ablaufplan eines Verfahrens zum Anwenden des Speichersystems ist.
-
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, können ihre körperliche Größe und/oder ihre Datenspeicherkapazität verschieden sein. Bei dem Speichermedium 12 geringer Leistungsfähigkeit kann es sich beispielsweise um eine Festplatte und bei dem Speichermedium 14 höherer Leistungsfähigkeit beispielsweise um einen Halbleiterspeicher handeln. Der E/A-Zugriff auf den Datenspeicher wird sowohl für den Lesezugriff als auch für den Schreibzugriff durch die Steuereinheit 10 gesteuert.
-
Die Steuereinheit 10 ist so eingerichtet, dass sie ein Abbild auf dem ersten Speichermedium 12 speichert. Dieses Abbild enthält Daten, die mehrere Anwendungen und Server repräsentieren. Die Steuereinheit 10 ist ferner so eingerichtet, dass sie eine Kopierfunktion vorn ersten Speichermedium 12 auf das zweite Speichermedium 14 auslöst. Die Kopierfunktion kopiert jedes Mal Daten auf das zweite Speichermedium 14, wenn auf Daten innerhalb des durch das erste Speichermedium 12 gespeicherten Abbildes Lese- oder Schreibzugriffe erfolgen. Die Steuereinheit ist so eingerichtet, dass sie alle E/A-Zugriffe auf das Abbild an das zweite Speichermedium 14 leitet und zusätzlich in bestimmten Zeitabständen Daten vom zweiten Speichermedium 14 zum ersten Speichermedium 12 umlagert. Dieser Datenumlagerungsprozess wird im Folgenden ausführlicher beschrieben.
-
1b zeigt die Situation, nachdem ein E/A-Zugriff auf den Sektor 2 des ersten Speichermediums 12 erfolgt ist. Dieser E/A-Zugriff kann beispielsweise dem Überschreiben der Daten in diesem Sektor dienen. Die Steuereinheit löst diese Aufgabe, indem sie die ankommenden E/A-Werte und den ursprünglichen Sektor 2 zum Erzeugen des neuen Sektors 2a auf dem schnelleren Speichermedium 14 nutzt. 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 ausgeführt, ohne dass auf das auf dem langsameren Speichermedium 12 gespeicherte ursprüngliche Abbild zugegriffen werden muss.
-
2 zeigt eine bevorzugte Ausführungsart des Speichersystems. Diese Ausführungsart verwendet die Merkmale FlashCopy und Space-Efficient (platzsparend) des IBM SAN Volume Controller, die noch mehr erweitert werden, um die gewünschte Datentrennung zwischen den öfter und den seltener genutzten Daten zu erreichen. Die Buchstaben FC in der Figur beziehen sich auf die Funktion Flashcopy, wobei der Pfeil das Quellen-Speichermedium 12 und das Ziel-Speichermedium 14 der Kopierfunktion anzeigt. Auf der untersten Ebene ist ein Space-Efficient FlashCopy-Abbild (VDISK) auf dem kostenintensiven Speichermedium 14 hoher Leistungsfähigkeit gespeichert, wobei der Rest des Speichers als (üblicherweise) vollständig zugewiesene Abbildung (VDISK) auf dem kostengünstigeren Speichermedium 12 geringer Leistungsfähigkeit gespeichert ist.
-
Bei dieser Version des Speichersystems werden alle E/A-Operationen der Anwendung an das ganz links auf dem Speichermedium 14 gespeicherte FlashCopy-Abbild geleitet. Dieses Abbild enthält die in jüngster Zeit mittels der Funktion FlashCopy zwischen den beiden Datenträgern abgerufenen Daten. Das auf dem Speichermedium höherer Leistungsfähigkeit gespeicherte Abbild wächst in dem Maße, wie die Arbeitsaufgaben der Anwendung zunehmen. Das rechte Abbild des ersten Speichermediums 12 enthält das komplette Abbild des Anwendungslaufwerks, jedoch enthält dieses Medium 12 nicht die allerletzten Aktualisierungen, die auf dem linken Laufwerk 14 gespeichert sind. Vor der Rückübertragung der Daten zum Laufwerk 12 bewahrt dieses Laufwerk 12 eine aktuelle Kopie für den Zeitpunkt auf, an dem die FlashCopy erstellt wurde.
-
Schreibzugriffe auf das Abbild werden unter Verwendung eines herkömmlichen FlashCopy-Algorithmus bewirkt. Wenn also bereits auf dem linken Laufwerk 14 befindliche Daten überschrieben werden sollen, werden sie an dieser Stelle überschrieben. Wenn auf Daten in letzter Zeit nicht zugegriffen wurde, sind sie auf dem rechten Laufwerk 12 zu finden. Unabhängig davon, wo die Daten gefunden werden, werden sie von ihrem aktuellen Speicherplatz gelesen, in die neuen Schreibdaten eingebunden und auf das linke Laufwerk 14 geschrieben. In diesem Betriebsmodus sammelt das linke Laufwerk 14 deshalb Änderungen, welche die aktuelle Arbeitsumgebung der Anwendung ergeben. Viele zukünftige E/A-Zugriffe werden direkt durch das linke Laufwerk 14 erledigt. Manche E/A-Zugriffe werden dort nicht gesammelt worden sein und stattdessen durch das rechte Laufwerk 12 erledigt.
-
Wenn die oben beschriebene Anordnung statisch wäre, würde das linke Laufwerk 14 im Laufe der Zeit so weit anwachsen, dass es in Bezug auf die gespeicherte Datenmenge die volle Größe des rechten Laufwerks 12 erreichen würde. Dazu kommt es, wenn auch seltener abgerufene Daten anfangen, Speicherplatz auf dem Speichermedium 14 zu belegen. Am Ende wäre bereits auf alle Daten auf dem langsameren Laufwerk 12 zugegriffen worden, und die auf dem Laufwerk 14 höherer Leistungsfähigkeit würden das auf dem langsameren Speichermedium 12 gespeicherte Abbild der ursprünglichen Daten einschließlich der E/A-Änderungen darstellen. Deshalb wird ein Umlagerungsprozess benötigt, um die seltener abgerufenen Daten vom linken Laufwerk 16 zu entfernen.
-
3 veranschaulicht den Umlagerungsprozess. Der Umlagerungsprozess kann nach Ablauf einer bestimmten Zeitspanne oder auf der Grundlage der durch das Speichermedium 14 höherer Leistungsfähigkeit gespeicherten Daten ausgelöst werden, wenn diese einen bestimmten Umfang erreichen, oder anhand anderer Kennziffern oder einer Kombination von Kennziffern. In verschiedenen Systemanordnungen können zu verschiedenen Zeitpunkten verschiedene Auslöseverfahren verwendet werden. 3a zeigt das Speichermedium höherer Leistungsfähigkeit nach einem E/A-Zugriff auf die in den Sektoren 2, 3 und 5 gespeicherten Daten. Diese Sektoren sind auf das Speichermedium 14 höherer Leistungsfähigkeit gespeichert und mit den während der E/A-Zugriffe erhaltenen neuen Daten kombiniert worden (unter der Annahme, es handele sich um Schreiboperationen). Alle weiteren E/A-Zugriffe auf diese Sektoren werden durch das linke Speichermedium 14 erledigt, sowohl für Lese- als auch für Schreiboperationen.
-
Nachdem der periodische Umlagerungsprozess stattgefunden hat, weist das Datenspeicherungssystem den in 3b gezeigten Zustand auf. Die durch den Sektor 2a gespeicherten Daten im Speichermedium 14 hoher Leistungsfähigkeit sind zum Speichermedium 12 geringerer Leistungsfähigkeit zurück kopiert worden. Durch diesen Prozess wird die im Speichermedium 12 geringerer Leistungsfähigkeit gespeicherte Abbildung aktualisiert, und der ursprüngliche Speicherplatz, auf dem die Daten im Medium 14 gespeichert waren, kann freigegeben werden. Obwohl es sich bei den Daten in diesem Beispiel um das erste Bit handelte, das zurück auf das langsamere Medium 12 übertragen wurde, ist dies beim Umlagerungsprozess nicht unbedingt erforderlich. Bei den zurück übertragenen Daten handelt es sich um die Daten, auf die in letzter Zeit nicht zugegriffen wurde. Wenn gerade ein Lesezugriff auf den Sektor 2a auf dem zweiten Medium 14 stattgefunden hätte, wäre dieser Sektor nicht zurück übertragen worden.
-
Das Speichersystem verwendet ein FlashCopy-Ziel mit mehreren Bitmaps, um die Inanspruchnahme der Speicherkapazität einzuschränken. Das oben beschriebene System kann unter Bezug auf die 1 bis 3 die Trennung von öfter und seltener abgerufenen Daten bewirken, um eine Rangordnung zwischen verschiedenen Speicherklassen zu erzeugen und um eine feinere Unterteilung der Daten bezüglich der Rangstufen über längere Zeiträume zu erreichen als mit einem einzigen Ziel. Wenn jedoch ein solches System um mehrere platzsparende Ziellaufwerke erweitert wird, zum Beispiel unter Verwendung von zwei schnelleren Speichermedien 14 und 16 in 4, benötigt das Speichersystem im Lauf der Zeit eine größere Speicherkapazität, insbesondere, wenn die Anzahl der Ziele zunimmt. Zum Erreichen einer feineren Unterteilung der ”Häufigkeit” der Zugriffe über längere Zeiträume wie Stunden, Tage usw. ist eine größere Anzahl von Rangstufen der Ziele und/oder eine größere Anzahl von Zielen erforderlich.
-
In einem System, das mehrere Rangstufen oder mehrere Ziele verwendet, müssen die im Laufe der Stunden, Tage usw. neu geschriebenen Daten oder oft erneut gelesenen Daten auf jedem Ziel gespeichert und ein bestimmter Prozentsatz davon zwischen den Zielen übertragen werden, wenn Daten erneut geschrieben oder oft erneut gelesen werden. Dadurch nehmen der Aufwand an Infrastruktur, die zahlreiche Ziele zu verwalten hat, und die erforderliche Bandbreite für die zusätzlich zwischen den Zielen zu kopierenden Datenblöcken zu. Das Speichersystem gemäß der vorliegenden Erfindung stellt eine Anpassung des Systems von 4 bereit, das die Komplexität der zahlreichen Ziele ohne zusätzliche Bandbreitenanforderungen vermeidet und dennoch die Vorteile dieses Systems beibehält.
-
In einer Umgebung wie in 4 ermöglicht das System die Verwendung mehrerer platzsparender Ziellaufwerke 14 und 16 als ”Speicherkorb” für häufig abgerufene Daten. Bei einer solchen Anordnung müssen entweder während der Initialisierung des Prozesses X Ziele erzeugt und verwaltet werden, oder nach Ablauf einer Zeitspanne Y muss jeweils ein neues Ziel erzeugt werden. Da häufig abgerufene Daten im neuesten Ziel erneut angetroffen werden (erneut antreffen bedeutet, dass der Datenblock bereits auf einem der anderen früheren Ziele vorliegt), muss der Block vom früheren Ziel kopiert, mit den neuen E/A-Daten vereinigt und auf das letzte Ziel geschrieben werden. Dadurch benötigt das System mehr Bandbreite.
-
Das Speichersystem gemäß der vorliegenden Erfindung stellt ein Schema bereit, durch das eine Ressource mit einem Ziel verwendet werden kann, um die Vorteile der Aufteilung der Daten auf verschiedene Klassen von Datenspeichermedien zu erlangen, ohne dass Daten zwischen den Zielen erneut kopiert werden müssen. Die Daten bleiben auf dem Ziel-Speichermedium 14 an Ort und Stelle gespeichert, sodass die Verwaltung des Systems stark vereinfacht wird und die E/A-Operationen nicht ständig neu auf das letzte Ziel ausgerichtet werden müssen. Die gesamte Inanspruchnahme von Speicherplatz kann auch verringert werden, da das System nicht bei zwei (oder mehr) zugewiesenen Datenblöcken auf zwei Zielen stehenbleibt, wobei einige Datenblöcke einfach als ”veraltet” markiert, aber immer noch zugeordnet sind.
-
5 zeigt das Speichersystem, das Bitmaps 18 verwendet. Anstelle einer Reihe von beispielsweise vier Speichermedien P, Q, R und S (wobei S das Speichermedium 12 geringerer Leistungsfähigkeit und P, Q und R verschiedene Ziele sind), werden nur zwei Laufwerke R + S verwendet. Obwohl das Speichersystem nur ein platzsparendes Ziel 14 aufweist, ist zu erkennen, dass das System mehrere Bitmaps verwaltet, die diesem einen Ziel 14 zugehörig sind. Jede Bitmap bezieht sich auf Daten, die am Ende einer der vergangenen Zeiträume auf dem platzsparenden Ziel 14 gespeichert sind. Zum Beispiel erfasst die Bitmap 1 Daten, die während des Zeitraums 2X bis 3X (passend zum Ziel R) aktualisiert wurden, Bitmap 2 erfasst Daten, die während des Zeitraums X bis 2 X (passend zum Ziel Q) aktualisiert wurden, und Bitmap 3 erfasst Daten, die während des Zeitraums X (passend zum Ziel P) aktualisiert wurden.
-
Wenn Daten mit häufigem Zugriff erneut angetroffen werden, muss gemäß der obigen Erläuterung nicht der gesamte Datenblock vom Ziel P zum Ziel R kopiert werden, sondern die Steuereinheit kann einfach die Bitmap 3 aktualisieren, um anzuzeigen, dass während des letzten Zeitraums auf die Daten zugegriffen worden ist, und das Bit in der Bitmap 1 zurücksetzen. Nur der neue E/A-Wert für diesen Datenblock wird nun auf das einzelne Ziellaufwerk 14 geschrieben. Wenn also der Umfang einer Daten-E/A nur 4 K betrug, der Datenblock jedoch 64 K, sind somit 60 K an Bandbreite im System eingespart worden. Somit hat das System jetzt (durch Ändern von zwei Bits in den Metadaten) die Daten auf das letzte Ziel ”verschoben”, ohne die Daten selbst zu verschieben. Ebenso hat das System am Ende nicht zwei Kopien desselben Datenblocks (auf verschiedenen Zielen und für verschiedene Zeitpunkte), sondern nur die letzte Version des Datenblocks auf dem Laufwerk 14, sodass für Daten mit häufigem Zugriff eine Verringerung der in Anspruch genommenen Speicherkapazität (auf den Zielen) um 50% erreicht wurde. Beim Übergang des Systems zum nächsten Zeitraum (beispielsweise 4 X) braucht die Steuereinheit nur eine neue Bitmap 18 zu initialisieren, indem sie alle Bits auf null setzt. Das System braucht weder ein neues Ziel zu erzeugen noch den E/A-Weiterleitungspunkt der Ebene zu dem neuen Ziel 14 zu verschieben. Das gesamte System verbleibt einfach auf dem einen Ziel 14.
-
Das Verfahren zum Anwenden des Speichersystems ist in 6 zusammengefasst. Das Verfahren umfasst den ersten Schritt S1 zum Speichern eines Abbildes auf dem ersten Speichermedium 12, gefolgt durch den Schritt S2 zum Auslösen einer Kopierfunktion vom ersten Speichermedium 12 zum zweiten Speichermedium 14 und den Schritt S3 zum Leiten aller E/A-Zugriffe auf das Abbild an das zweite Speichermedium 14. Im nächsten Schritt S4 werden Daten in bestimmten Zeitabständen vom zweiten Speichermedium 14 zum ersten Speichermedium 12 umgelagert, in Schritt S5 für jeden Zeitraum eine neue leere Bitmap 18 erzeugt, und schließlich in Schritt S6 als Reaktion auf einen E/A-Zugriff auf Daten im Abbild die letzte Bitmap 18 aktualisiert, um anzuzeigen, dass auf die Daten zugegriffen wurde, und die vorhergehenden Bitmaps 18 aktualisiert, um anzuzeigen, dass nicht auf die Daten zugegriffen wurde.