-
Die
vorliegende Erfindung betrifft das Verschieben von Daten zwischen
Speichereinheiten.
-
In
einem Bandbibliothekssystem führt
eine Bandsteuereinheit einen Prozess der Bandfreigabe zum Neubeschreiben
(reclamation process) durch, um die Auslastung der Bandspeichereinheiten
zu verbessern. Der Bandfreigabeprozess beinhaltet das Kopieren aktiver
Daten von einem oder mehreren Bändern,
die sowohl über
inaktive als auch über
aktive Daten verfügen,
auf eine geringere Anzahl von Bändern,
die nur über
aktive Daten verfügen.
Die Bänder,
von denen die Daten kopiert werden, werden dann einer Arbeitsgruppe
(scratch pool) von zur Verfügung
stehenden Bändern
hinzugefügt,
aus der sie ausgewählt
und zur Speicherung von zukünftigen Daten
verwendet werden können.
Leere Bänder
können
an eine Arbeitsgruppe zurückgegeben
oder zur ausschließlichen
Nutzung der aktuellen Gruppe zurückbehalten
werden. Dieser Prozess verbessert die Auslastung der Speicherkapazität, indem
er aktive Daten von mehreren Bändern
auf einem einzigen Band zusammenfasst, das einen höheren Prozentsatz
aktiver Daten speichert. Die Freigabe ist notwendig, da, wenn Daten
geändert
werden, ältere
Versionen der Daten auf verschiedenen Bändern veraltet sind oder inaktiv
werden. Die Kapazität
von Bändern, die
sowohl über
inaktive als auch über
aktive Daten verfügen,
wird nicht vollständig
genutzt, da die Daten in Folge geschrieben werden und inaktive Daten nicht
einfach durch aktive Daten ersetzt werden können.
-
Ein
Band wird zur Freigabe vorgesehen, wenn die Menge der auf einem
Band vorhandenen aktiven Daten einen Freigabeschwellenwert erreicht. Um
die Auslastung des Bandes zu optimieren, würde der Freigabeschwellenwert
auf einen höheren
Wert gesetzt werden, um Daten von Bändern mit einer geringeren
Auslastung häufiger
auf einem einzigen Band mit einer höheren Auslastung zusammenzufassen.
Der Freigabeprozess nimmt jedoch eine beträchtliche Anzahl von Bandbibliotheksressourcen
in Anspruch, um die Daten von Band zu Band zu verschieben, und kann
andere Bandbibliotheksoperationen beeinträchtigen. Der Vorgang des Verschiebens von
Daten, der während
der Freigabe stattfindet, kann sich zum Beispiel negativ auf den
Vorgang des Verschiebens von Daten auf ein Band auswirken, der in
einem hierarchischen Speicherverwaltungs-(HSM-)System stattfindet,
wenn Daten von einer Speichereinheit mit schnellerem Zugriff wie
zum Beispiel einer Anordnung von Festplattenlaufwerken auf eine
Speichereinheit mit langsamerem Zugriff wie zum Beispiel ein Band
umgelagert werden. Wenn man den Freigabeschwellenwert auf einen
höheren Wert
setzt, um die Auslastung des Bandes zu steigern, wird die Häufigkeit,
mit der der Freigabeprozess durchgeführt wird, erhöht, wodurch
sehr viele Bandbibliotheksressourcen in Anspruch genommen werden
und es möglicherweise
zu einer Beeinträchtigung
von anderen Bandbibliotheksoperationen wie zum Beispiel der Datenumlagerung
kommt, wenn die Bandbibliothek in einem hierarchischen Speicherverwaltungssystem
verwendet wird.
-
Wenn
man den Freigabeschwellenwert andererseits auf einen niedrigeren
Wert setzt, wird die Häufigkeit,
mit der die Freigabe durchgeführt
wird, verringert, da die Menge der aktiven Daten auf einen verhältnismäßig niedrigen
Stand zurückgehen
muss, bevor die Freigabe beginnt. Wenn man die Freigabehäufigkeit
verringert, werden weniger Bandbibliotheksressourcen in Anspruch
genommen und Beeinträchtigungen
von anderen Bandbibliotheksoperationen wie zum Beispiel der Umlagerung
von Daten von Platte auf Band so gering wie möglich gehalten. Durch die Verringerung
der Freigabehäufigkeit
bleibt die Auslastung der Speicherkapazität der Bänder jedoch weiterhin gering,
da die Freigabe erst durchgeführt
wird, wenn die Auslastung der Bandspeicherkapazität den niedrigeren
Schwellenwert erreicht hat. Bei einer geringeren Auslastung der
Speicherkapazität
werden die Daten über
mehrere Bänder
verteilt, wobei die Kapazitätsauslastung
der Bänder
jedoch niedriger ist.
-
Folglich
gibt es immer einen Zielkonflikt zwischen der Leistungsfähigkeit
einer Bandbibliothek und der Auslastung der Speicherkapazität, der bei der
Festlegung des Freigabeschwellenwerts zu berücksichtigen ist.
-
Die
US-Patentschrift A-5875481 (IBM)
vom 23. Februar 1999 beschreibt ein Datenspeicher-Teilsystem (Spalte
3, Zeilen 57 bis 60), bei dem noch gültige Daten von einer Vielzahl
von Eingabedatenträgern
auf einen oder mehrere Ausgabedatenträger kopiert werden.
-
Die
US-Patentschrift A-5 584
008 (Hitachi Ltd.) vom 10. Dezember 1996 beschreibt ein
Speichersystem (Spalte 1, Zeilen 12 bis 20,
1), bei dem
die Vielzahl der Speichereinheiten in zwei Gruppen unterteilt werden
(Spalte 2, Zeile 62 bis Spalte 3, Zeile 4). Daten, auf die für die Dauer
von mindestens einem vorher festgelegten Zeitintervall nicht zugegriffen
wurde, werden aus der ersten Gruppe in die zweite Gruppe (Spalte
3, Zeilen 49 bis 55) verschoben, so dass mehr Platz für Daten
geschaffen wird, die in letzter Zeit verwendet wurden. Dadurch erhöht sich die
Wirksamkeit des Zugriffs auf Daten von der ersten Gruppe, auf die
der Host-Rechner direkt zugreifen kann (Spalte 2, Zeilen 46 bis
54).
-
Aus
diesen Gründen
besteht in der Technik ein Bedarf an verbesserten Verfahren zur
Durchführung
der Verschiebung von Daten als Teil des Freigabeprozesses (data
reclamation) in einem Speichersystem.
-
Ein
Verfahren nach Anspruch 1 sowie eine entsprechende Vorrichtung und
ein entsprechendes Programm zur Verwaltung von Daten in Speichereinheiten
werden bereitgestellt.
-
Vorzugsweise
können
die Speichereinheiten in der Quellenspeichergruppe eine geringere
Speicherkapazität
als die Speichereinheiten in der Zielspeichergruppe haben.
-
Vorzugsweise
kann die Quellenspeichergruppe eine erste Speichergruppe umfassen,
und die Zielspeichergruppe kann eine zweite Speichergruppe umfassen,
wobei eine dritte Speichergruppe in den Speichergruppen-Informationen
für die
zweite Speichergruppe als eine Zielspeichergruppe gekennzeichnet
ist und wobei Daten von einer ausgewählten Speichereinheit in der
zweiten Speichergruppe in die dritte Speichergruppe verschoben werden,
wenn der Schwellenwert für
die zweite Speichergruppe erreicht ist.
-
Die
gegebenen Arten der Ausführung,
die beschrieben werden, stellen Verfahren bereit, die dazu dienen,
Daten in Speichergruppen zu verwalten und Daten, die sich in einer
Speichereinheit in einer Quellenspeichergruppe befinden, als Teil
des Freigabeprozesses in eine Speichereinheit in einer anderen Zielspeichergruppe
zu verschieben, wobei die Quellenspeichergruppe und die Zielspeichergruppe
unterschiedliche Attribute haben können.
-
Nehmen
wir nun Bezug auf die Zeichnungen, in denen gleiche Bezugszahlen überall einander
entsprechende Teile darstellen:
-
1 zeigt
eine Datenverarbeitungsumgebung, in der Aspekte der Erfindung realisiert
werden;
-
2 zeigt
eine alternative Datenverarbeitungsumgebung, in der Aspekte der
Erfindung realisiert werden;
-
3a, 3b und 3c zeigen
Datenstrukturen, die Informationen über logische Datenträger, physische
Datenträger
beziehungsweise Speichergruppen gemäß den gegebenen Arten der Ausführung der
Erfindung verwalten;
-
4 und 5 zeigen
die Logik zur Durchführung
von Band-Freigabeoperationen
gemäß den gegebenen
Arten der Ausführung
der Erfindung; und
-
6 zeigt
eine Architektur von Datenverarbeitungskomponenten in der Datenverarbeitungsumgebung
wie zum Beispiel der Host-Rechner und der Bandserver sowie beliebiger
anderer Datenverarbeitungseinheiten.
-
1 zeigt
eine Datenverarbeitungsumgebung, in der Aspekte der Erfindung realisiert
werden können.
Ein Bandserver 2 ermöglicht
den Host-Systemen 4a, 4b...4n den Zugriff
auf logische Datenträger,
die auf Bandkassetten (die auch als physische Datenträger bezeichnet
werden) 6a, 6b, 6c, 6d, 6e, 6f, 6g gespeichert
werden. Bei bestimmten gegebenen Arten der Ausführung sind die Bandkassetten 6a, 6b...6g in
logische Gruppen gegliedert, die als die Gruppen 8a, 8b bezeichnet
werden. Eine Bandsteuereinheit 10 enthält Hardware und/oder Software,
um den Zugriff auf die Bandkassetten 6a, 6b...6g in
den Gruppen 8a, 8b zu verwalten und um die Freigabe gemäß den hier
beschriebenen gegebenen Arten der Ausführung durchzuführen. Eine
Arbeitsgruppe 8c enthält
die Bandkassetten 6h, 6i und 6j, die
leer, frei und zur Verwendung mit einer anderen Gruppe zur Verfügung stehen,
wenn zusätzlicher
Bandspeicher für
logische Datenträger
in einer Gruppe erforderlich ist.
-
Zwar
zeigt 1 eine bestimmte Anzahl von Bandkassetten und
Speichergruppen, doch können beliebig
viele Bandkassetten und Speichergruppen verwendet werden, wobei
die Speichergruppen eine beliebige Anzahl von Bandkassetten enthalten
können.
Der Bandserver 2 kann eine automatisierte Bandbibliothek
umfassen und eine Greifervorrichtung (nicht gezeigt) enthalten,
um die Bandkassetten 6a, 6b...6j in ein
oder mehrere zugängliche
Bandlaufwerke (nicht gezeigt) zu laden und um auf sie zuzugreifen,
und er kann Kassetten-Einschubfächer
(nicht gezeigt) enthalten, um die Bandkassetten abzulegen. Bei weiteren
gegebenen Arten der Ausführung
können
die Bandkassetten manuell in ein oder mehrere Bandlaufwerke geladen
werden, auf die der Bandserver 2 zugreifen kann.
-
Der
Bandserver 2 kann eine beliebige Bandbibliothek oder ein
beliebiges Bandsteuereinheit-System umfassen, die beziehungsweise
das in der Technik bekannt ist. Die Bandkassetten 6a, 6b...6j können jeden
beliebigen in der Technik bekannten Typ eines Magnetspeichermediums
mit Folgezugriff, z.B. ein Digital Linear Tape (DLT), ein Linear
Tape Open (LTO) usw., umfassen. Die Host-Rechner 4a, 4b...4n können jede
beliebige in der Technik bekannte Datenverarbeitungseinheit wie
zum Beispiel einen Personal Computer, einen Laptop-Rechner, einen
Arbeitsplatzrechner, einen Großrechner, eine
Telefoneinheit, einen tragbaren Kleinrechner, einen Server, einen
kleineren Netzwerkrechner usw. umfassen. Die Host-Rechner 4a, 4b...4n können über eine
direkte Kabelverbindung oder über
ein Netzwerk wie zum Beispiel ein lokales Netz (Local Area Network
(LAN)), ein Weitverkehrsnetz (Wide Area Network (WAN)), ein Speicherbereichsnetzwerk (Storage
Area Network (SAN)), das Internet, ein Intranet usw. mit dem Bandserver 2 verbunden
werden.
-
2 veranschaulicht
eine alternative gegebene Art der Ausführung, bei der der in 1 gezeigte
Bandserver 2 in einem hierarchischen Speicherverwaltungssystem
(hierarchical storage management (HSM) system) in Form des Bandservers 32 enthalten
ist. Die Host-Rechner 34a, 34b...34n führen über einen
Speicherserver 38 Eingabe-/Ausgabe-(E/A-)Operationen auf
einer Plattenanordnung 36 durch. Die Plattenanordnung 36 kann
ein einziges Festplattenlaufwerk, einen Magnetplattenstapel mit redundanten
Kontrollinformationen (Redundant Array of Independent Disks (RAID)),
ein Plattenbündel (Just
a Bunch of Disks (JBOD) oder irgendein anderes Speichermedium umfassen,
das einen schnelleren Zugriff als das von dem Bandserver 32 verwaltete Speichermedium
ermöglicht.
Der Speicherserver 38 kann einen beliebigen Rechner der
Serverklasse umfassen, der zur Abwicklung von E/A-Anforderungen von
mehreren Quellen geeignet ist, wie zum Beispiel einem Speicherserver
der Unternehmensklasse. Bei bestimmten gegebenen Arten der Ausführung enthält der Speicherserver 38 Speicherverwaltungssoftware 40,
die die Umlagerung von Daten von der Plattenanordnung 36 auf
den Bandserver 32 zur Speicherung auf Bändern (physischen Datenträgern) in
Speichergruppen 42 wie zum Beispiel den in 1 gezeigten Speichergruppen 8a, 8b verwaltet.
Bei bestimmten gegebenen Arten der Ausführung kann die Speicherverwaltungssoftware 40 Daten
von der Plattenanordnung 36 auf den Bandserver 32 mit
Hilfe von Algorithmen und Verfahren zur hierarchischen Speicherverwaltung
(HSM), die in der Technik bekannt sind, wie zum Beispiel den HSM-Operationen,
die in den Space-Manager-Produkten
von Tivoli® durchgeführt werden
(Tivoli ist ein eingetragenes Warenzeichen der International Business
Machines Corporation), umlagern.
-
Bei
noch weiteren gegebenen Arten der Ausführung kann die Speicherverwaltungssoftware 38 Funktionen
eines virtuellen Bandservers ausführen, so dass die Host-Rechner 34a, 34b...34n auf
Daten in der Plattenanordnung 36 mittels Bandzugriffsoperationen
zugreifen, wobei die Plattenanordnung 36 in Bezug auf das
Bandkassettenmedium mit langsamerem Zugriff als ein großer Hochgeschwindigkeits-Pufferspeicher
für den
Bandspeicher betrieben wird. Die Host-Rechner 34a, 34b...34n können Band-E/A-Befehle
verwenden, um als logische Banddatenträger auf Daten in der Plattenanordnung 36 zuzugreifen. Die
Speicherverwaltungssoftware 38 würde Daten von der Plattenanordnung 36 mittels
HSM-Algorithmen auf den Bandserver 32 umlagern. Die Speicherverwaltungssoftware 38 kann
Software für
einen virtuellen Bandserver enthalten, die in der Technik bekannt
ist, wie zum Beispiel die Software, die mit dem Virtual Tape Server
von IBM TotalStorageTM verwendet wird (Total
Storage ist ein Warenzeichen von IBM), um eine Umgebung mit einem
virtuellen Bandserver zu realisieren.
-
Folglich
kann der Bandserver 2, 32, der Freigabeoperationen
durchführt,
direkt mit den Host-Rechnern verbunden werden, die die Bandoperationen
durchführen,
oder er kann Daten von einer Plattenanordnung als Teil von HSM-Umlagerungsoperationen,
Operationen eines virtuellen Bandserversystems, Sicherungs- oder anderen Datenverwaltungsoperationen,
die auf der Ebene der Plattenanordnung durchgeführt werden, empfangen. Überdies könnte der
Bandserver 32 in dem Speicherserver 38 enthalten
sein.
-
Bei
bestimmten gegebenen Arten der Ausführung können Systemadministratoren
Gruppen physische Datenträger
zuordnen, um eine Klassifizierung von Bändern entsprechend vorher festgelegter
Kriterien zu ermöglichen.
Zum Beispiel kann es in einer Organisation getrennte Speichergruppen
von Bandkassetten für
verschiedene Einheiten innerhalb der Organisation geben. In einem
Unternehmen kann es getrennte Speichergruppen für verschiedene Abteilungen
wie zum Beispiel die Buchhaltung, das Marketing, das Finanzwesen,
die Technik usw. geben, so dass Daten von einer bestimmten Abteilung
auf Bandkassetten gespeichert werden, die nur diese ganz bestimmte
Klasse von Daten speichern. Alternativ dazu können Speichergruppen für Daten
mit unterschiedlichen Nutzungsgraden festgelegt werden. Zum Beispiel
kann eine Gruppe für
Daten vorgesehen werden, die geändert
wurden oder auf die in letzter Zeit zugegriffen wurde, und eine
andere Gruppe kann für
archivierte Daten oder für
Sicherungsdaten vorgesehen werden. Darüber hinaus können Gruppen
für verschiedene
Benutzergruppen festgelegt werden, wie zum Beispiel für Benutzer
mit einer hohen Berechtigungsstufe, für Benutzer mit eingeschränktem Zugriff
usw. Folglich können
die Speichergruppen verwendet werden, um Bandkassetten Gruppendaten
nach Klasse oder nach Typ zuzuordnen.
-
Bei
bestimmten gegebenen Arten der Ausführung verwaltet die Bandsteuereinheit 10 Datenstrukturen
im Speicher 12, zu denen auch Datensätze 14 von logischen
Datenträgern,
Datensätze 16 von
physischen Datenträgern
und Datensätze 18 von Gruppen
gehören.
Der Speicher 12 kann eine flüchtige Speichereinheit, zum
Beispiel einen Direktzugriffspeicher (RAM), oder einen nichtflüchtigen
Speicher, zum Beispiel ein Festplattenlaufwerk, umfassen. Diese
Datensätze
können
in einer relationalen Datenbank oder in einer objektorientierten
Datenbank, einer Tabelle oder einer beliebigen anderen Datenstruktur,
die in der Technik bekannt ist, verwaltet werden.
-
3a zeigt
die Informationen, die in jedem Datensatz 50 eines logischen
Datenträgers
verwaltet werden, wobei ein Datensatz 50 eines logischen
Datenträgers
für jeden
logischen Datenträger
verwaltet wird, der auf einer Bandkassette 6a, 6b...6g gespeichert
wird, wobei die Informationen Folgendes beinhalten:
ID 52:
eine Kennung des logischen Datenträgers;
-
Aktuelle(r)
physische(r) Datenträger
(Current Physical Volume(s)) 54: Kennzeichnet einen oder mehrere
physische Datenträger
(Bandkassetten 6a, 6b...6j) einschließlich des
logischen Datenträgers. Ein
logischer Datenträger
kann sich über
mehrer physische Datenträger
erstrecken, oder mehrere logische Datenträger können auf einem einzigen physischen
Datenträger
gespeichert werden. Die Gruppe, in der der logische Datenträger zugeordnet
ist, kann anhand der Speichergruppe ermittelt werden, die zu dem
aktuellen physischen Datenträger
gehört,
der den logischen Datenträger
enthält.
-
Position
auf dem (den) physischen Datenträger(n)
(Location an Physical Volume(s)) 56: Kennzeichnet die Position
des logischen Datenträgers
auf dem einen oder den mehreren physischen Datenträgern, der/die
den logischen Datenträger
enthält/enthalten.
-
3b zeigt
die Informationen in jedem Datensatz 70 eines physischen
Datenträgers,
wobei ein Datensatz 70 eines physischen Datenträgers für jeden
physischen Datenträger
oder für
jede Bandkassette 6a, 6b...6j verwaltet
wird, auf den/die der Bandserver 2 über ein Bandlaufwerk zugreifen
kann, wobei die Informationen Folgendes beinhalten:
ID 72:
Stellt eine eindeutige Kennung eines physischen Datenträgers bereit.
-
Ausgangsgruppe
(Home Pool) 74: Gibt die Ausgangsgruppe an, der der physische
Datenträger zugeordnet
ist. Wenn ein physischer Datenträger (Bandkassette)
aus einer Gruppe in eine andere Gruppe verschoben wird, wird die
Ausgangsgruppe der Zielgruppe neu zugeordnet, der der physische Datenträger neu
zugeordnet wird. Bei einem "Leihvorgang" (borrow) wird nur
die aktuelle Gruppe geändert,
und die Ausgangsgruppe bleibt gleich. Wenn eine Bandkassette zwei
Mal oder öfter
ausgeliehen wird, gibt die Ausgangsgruppe nach wie vor dieselbe Gruppe
an, aus der das Band ursprünglich
entliehen wurde, wie zum Beispiel die Arbeitsgruppe, aber die aktuelle
Gruppe wird geändert.
-
Aktuelle
Gruppe (Current Pool) 76: Gibt die aktuelle Gruppe an,
der der physische Datenträger zugeordnet
ist, so dass ein physischer Datenträger Daten von dem Typ speichert,
der der aktuellen Gruppe zugeordnet ist.
-
Datenträger-Typ
(Media Type) 78: Gibt einen Datenträger-Typ des physischen Datenträgers an, wie
zum Beispiel "J" oder "K".
-
Zielgruppe
(Target Pool) 80: Standardmäßig wird keine Zielgruppe angegeben.
Wenn das Feld eine bekannte Speichergruppe angibt, zeigt dieses Feld
an, dass der physische Datenträger
an einer anstehenden Verschiebeoperation beteiligt ist und in die
angegebene Zielgruppe verschoben werden muss, nachdem die aktiven
Daten von dem physischen Datenträger
auf ein leeres Band kopiert worden sind.
-
Prioritätsfreigabe
(Priority Reclamation) 82: Gibt an, dass die Freigabe des
physischen Datenträgers
zum Neubeschreiben während
der vorgesehenen Freigabeperiode stattfindet, dem physischen Datenträger aber
eine höhere
Freigabepriorität
als anderen Bandkassetten, die zum Neubeschreiben freigegeben werden
sollen, zugewiesen wurde, so dass der physische Datenträger vor
anderen freizugebenden Bandkassetten zur Freigabe terminiert ist.
Die Prioritätsfreigabe
kann standardmäßig abgeschaltet sein,
was anzeigt, dass eine Freigabe während einer normal terminierten
Freigabeperiode mit der normalen zugewiesenen Freigabepriorität stattfindet.
-
Freigabe-Zeitplan
sperren (Inhibit Reclamation Schedule) 84: Wenn die Prioritätsfreigabe 82 eine priorisierte
Freigabe anzeigt, kann dieses Feld anzeigen, dass die Freigabe sofort
terminiert werden soll, selbst wenn die Freigabe außerhalb
der geplanten Freigabeperiode während
einer kritischen Nutzungszeit stattfinden würde. Wenn diese Sperroption
nicht ausgewählt
wird, findet die priorisierte Freigabe während der normalen terminierten
Freigabeperiode statt.
-
3c zeigt
die Informationen, die bei einem Datensatz 90 einer Gruppe
verwaltet werden, wobei es für
jede festgelegte Gruppe einen Gruppen-Datensatz 90 gibt
und wobei die Informationen Folgendes beinhalten:
ID 92:
Stellt eine eindeutige Kennung einer Gruppe bereit. Diese Kennung
(ID) kann einen beschreibenden Namen haben, der den Typ oder die
Klasse der in der Gruppe gespeicherten Daten angibt, zum Beispiel
Daten des Rechnungswesens, Daten der Marketing-Abteilung, Daten
aus Forschung und Entwicklung, Archivierungsdaten, Daten von Benutzern
mit hoher Sicherheitsstufe usw. Wenn ein Gruppen-Datensatz 90 für die Arbeitsgruppe
verwaltet wird, kann die Arbeitsgruppe eine eindeutige Arbeitsgruppenkennung
haben.
-
Leihgabe
(Borrowing) 94: Gibt an, ob sich die Gruppe physische Datenträger (Bandkassetten)
aus der Arbeitsgruppe leihen kann.
-
Rückgaberegeln
(Return Policy) 96: Gibt an, ob ein physischer Datenträger (Bandkassette),
der aus einer Gruppe in eine andere Gruppe verschoben wurde, an
die Ausgangsgruppe zurückgegeben
werden muss, wenn das Band zum Neubeschreiben freigegeben wird,
d.h., wenn das Band keine aktiven Daten mehr hat.
-
Datenträger-Typ
(Media Type) 98: Ein Feld, das den/die Datenträger-Typen)
von physischen Datenträgern
angibt, die zu der Gruppe gehören.
-
Freigabeschwellenwert
(Reclamation Threshold) 100: Gibt den Freigabeschwellenwert
für die Gruppe
an, bei dem es sich um die Kapazitätsauslastung handelt, die den
Freigabeprozess für
Bänder
in der Gruppe auslöst,
so dass ein Band (ein physischer Datenträger) in der Gruppe zum Neubeschreiben freigegeben
wird, wenn seine aktiven Daten den Freigabeschwellenwert für diese
Gruppe unterschreiten. Jede Gruppe kann einen anderen Freigabeschwellenwert
haben.
-
Ziel-Freigabegruppe
(Target Reclamation Pool) 102: Gibt eine Speichergruppe
an, in die Daten von der Bandkassette in der aktuellen Gruppe während der
Freigabe zum Neubeschreiben kopiert werden. Bei der Durchführung der
Freigabe zum Neubeschreiben werden beispielsweise die Daten auf
einer Bandkassette in einer Speichergruppe auf eine Bandkassette
in der Speichergruppe verschoben, die im Freigabegruppen-Feld 102 angegeben
ist. Dadurch können
Daten in verschiedene Speichergruppen verschoben werden, die bei
Erreichen von unterschiedlichen Freigabeschwellenwerten zum Neubeschreiben
freizugeben sind. Wenn im Feld 102 keine andere Speichergruppe
angegeben ist oder wenn im Feld 102 ein Standardwert "nichtfestgelegt" ("undefined") angegeben ist,
werden die Daten als Teil des Freigabeprozesses in dieselbe Speichergruppe
verschoben.
-
Sowohl
der Freigabeschwellenwert 100 als auch der Wert der Ziel-Freigabegruppe 102 können vom
Systemadministrator für
festgelegte Speichergruppen gesetzt werden.
-
Bei
bestimmten gegebenen Arten der Ausführung können die Freigabe-Schwellen 100,
die in den Gruppen-Datensätzen 18 angegeben
werden, bei verschiedenen Gruppen auf unterschiedliche Werte gesetzt
werden. Folglich kann eine Gruppe einen niedrigeren Freigabeschwellenwert
als eine andere Gruppe haben. Bei einer gegebenen Art der Ausführung können Daten
anfangs in einer Speichergruppe gespeichert werden, die einen niedrigen
Freigabeschwellenwert 100 hat, wobei eine Ziel-Freigabegruppe 102 eine
nachfolgende Speichergruppe angibt, die einen höheren Freigabeschwellenwert 100 hat.
Beispielsweise können
Daten zunächst
auf Bändern
in der Speichergruppe A gespeichert werden, die einen niedrigen
Freigabeschwellenwert von beispielsweise 10 % hat. Die Ziel-Freigabegruppe 102 für die Speichergruppe
A kann die Speichergruppe B angeben, die einen hohen Freigabeschwellenwert
hat, zum Beispiel 90 %. Folglich werden logische Datenträger, die
als Teil des Freigabeprozesses von Bändern kopiert wurden, die sich
in der Speichergruppe A befinden, auf Bändern in der Speichergruppe
B gespeichert, so dass die Freigabe bewirkt, dass logische Datenträger von
einer Speichergruppe in eine andere Speichergruppe wandern.
-
Bei
gegebenen Arten der Ausführung,
bei denen Daten von Bändern
in einer Speichergruppe mit einem niedrigeren Freigabeschwellenwert
in eine Speichergruppe mit einem höheren Freigabeschwellenwert
verschoben werden, wird die Auslastung der Speicherkapazität optimiert,
während
die negative Auswirkung der Freigabeoperationen auf die Leistungsfähigkeit
des Bandservers 2, 32 aus folgenden Gründen so
gering wie möglich
gehalten wird. Zu Daten, die in der ersten Speichergruppe A gespeichert werden,
können
Daten gehören,
die häufig
aktualisiert werden und folglich schnell ihre Gültigkeit verlieren, sowie Daten,
die selten aktualisiert werden, wie zum Beispiel Archivierungsdaten.
Wenn man den Freigabeschwellenwert für die erste Speichergruppe A
auf einen niedrigen Wert setzt, stellt dies sicher, dass die Freigabe
in Bezug auf Daten stattfindet, auf die selten zugegriffen wird,
wie zum Beispiel Archivierungsdaten, da der größte Teil der Daten, auf die häufig zugegriffen
wird, inaktiv ist, weil sie ihre Gültigkeit bereits verloren haben
(d.h. geändert
worden sind), bevor der niedrige Freigabeschwellenwert erreicht
ist. Folglich würde
eine Freigabe an der Speichergruppe A mit dem niedrigen Freigabeschwellenwert
wahrscheinlich zur Folge haben, dass Daten, auf die meist selten
zugegriffen wird (Archivierungsdaten), in die Speichergruppe B verschoben
würden. Daten
in der Speichergruppe B werden bei einem höheren Freigabeschwellenwert
als Teil des Freigabeprozesses auf andere Datenträger verschoben,
um die Auslastung der Speicherkapazität für die Daten zu verbessern,
auf die vergleichsweise seltener zugegriffen wird. Obwohl die Speichergruppe
B einen höheren
Freigabeschwellenwert hat, wird die Leistungsfähigkeit des Bandservers 4, 34 durch
eine Freigabe jedoch nicht wesentlich beeinträchtigt, da auf die Daten in
der Speichergruppe B selten zugegriffen wird und es folglich unwahrscheinlich
ist, dass sie ihre Gültigkeit
häufig
verlieren, so dass Freigaben bei dem höheren Freigabeschwellenwert
kaum mit einer Häufigkeit
ausgelöst
würden,
die die Leistungsfähigkeit
mindert.
-
Durch
die Verwendung von mehreren Speichergruppen mit verschiedenen Freigabeschwellenwerten
filtert die erste Speichergruppe häufig benutzte Daten wirksam
heraus, um Daten, auf die vergleichsweise selten zugegriffen wird,
in die nächste Speichergruppe
zu verschieben, bei der ein höherer Freigabeschwellenwert
verwendet werden kann, um die Auslastung der Speicherkapazität zu verbessern, während die
Leistungsfähigkeit
jedoch kaum beeinträchtigt
wird.
-
Bei
weiteren gegebenen Arten der Ausführung können Daten als Teil des Freigabeprozesses durch
mehr als zwei Gruppen bewegt werden, wobei der Freigabeschwellenwert
einer jeden Gruppe, durch die die Daten bewegt werden, zunimmt,
um die Auslastung der Speicherkapazität für Daten zu erhöhen, auf
die selten zugegriffen wird. Auf diese Weise werden durch die Freigabe
an jeder Speichergruppe die Daten herausgefiltert, auf die vergleichsweise häufiger zugegriffen
wird, so dass die in der Speichergruppe vergleichsweise selten verwendeten
Daten in nachfolgende Speichergruppen befördert werden, um sie bei einer
höheren
Auslastung der Speicherkapazität
auf Bändern
zu speichern.
-
4 zeigt
die Logik, die in der Bandsteuereinheit 10 ausgeführt wird,
um die Bänder 6a, 6b...6g in
einer Speichergruppe 8a, 8b zur Freigabe auszuwählen. Die
Steuerung beginnt am Block 200, an dem die Bandsteuereinheit 10 eine
der Speichergruppen 8a, 8b auswählt, in
der Bänder
verarbeitet werden sollen, um sie freizugeben. Dieser Prozess würde bei
jeder Speichergruppe 8a, 8b mit Ausnahme der Arbeitsgruppe 8c, die
die leeren Bänder
(physischen Datenträger) 6h, 6i, 6j enthält, ausgeführt werden.
An den Blöcken 202 bis 208 wird
für jede Bandkassette
i in der ausgewählten
Speichergruppe 8a, 8b eine Schleife ausgeführt. Wenn
der Prozentsatz der aktiven Daten (am Block 204) geringer
als oder gleich wie der Freigabeschwellenwert 100 ist, der
im Gruppen-Datensatz 90 (3c) für die ausgewählte Speichergruppe 8a, 8b angegeben
ist, ruft die Bandsteuereinheit 10 (am Block 206)
den Freigabeprozess für
das Band i auf. In diesem Fall würde
das Band i entsprechend der Logik von 5 während einer
vorher festgelegten Freigabeperiode, die üblicherweise in Zeiten mit
geringem Nutzungsaufkommen fällt,
der Freigabe unterliegen. Nachdem ein Band für die Freigabe zum Neubeschreiben
festgelegt wurde oder wenn die aktiven Daten auf dem Band i den
Freigabeschwellenwert 100 nicht unterschreiten, schaltet
die Steuerung zum Block 208, um das nächste Band in der ausgewählten Gruppe
für eine
Freigabe zu prüfen.
-
Da
als Freigabeschwelle 100 für verschiedene Speichergruppen 8a, 8b ein
anderer Wert festgelegt werden kann, wie erörtert wurde, können die Bänder in
den verschiedenen Speichergruppen mit einer unterschiedlichen Häufigkeit,
die von ihrem Freigabeschwellenwert abhängt, der Freigabe unterliegen.
-
5 zeigt
die Logik, die in der Bandsteuereinheit 10 ausgeführt wird,
um die Freigabe von Bändern,
die entsprechend der Logik von 4 der Freigabe
unterliegen, durchzuführen.
Die Steuerung beginnt am Block 250 mit der Einleitung des
Freigabeprozesses, der während
regelmäßig festgelegter Freigabeperioden
stattfinden kann. Oft wird die Freigabe zeitlich so festgelegt,
dass sie während
Zeiträumen
stattfindet, in denen der Bandserver 2, 32 ein geringes Nutzungsaufkommen
aufweist, so dass normale Operationen des Bandlaufwerks nicht beeinträchtigt werden.
Alternativ dazu kann eine Freigabe gleich im Anschluss an die Entscheidung
der Bandsteuereinheit 10 in 4, eine
Bandkassette 6a, 6b...6g der Freigabe
zu unterwerfen, stattfinden. An den Blöcken 252 bis 266 wird
für jedes
Band (jeden physischen Datenträger)
i, das der Freigabe unterliegt, eine Schleife ausgeführt. Die
Speichergruppe für
das Band i wird (am Block 254) anhand des Feldes "aktuelle Gruppe" 76 des Datensatzes 70 des physischen
Datenträgers
(3b) für
das Band i festgestellt. Wenn (am Block 256) der Datensatz 90 der
Gruppe für
die ermittelte Speichergruppe, die das Band i enthält, eine
Ziel-Freigabegruppe 102 hat,
die sich von der Speichergruppe unterscheidet, die das Band i enthält, greift
die Bandsteuereinheit 10 (am Block 258) auf ein
Zielband aus der Speichergruppe zu, die im Feld 102 für die Ziel-Freigabegruppe
angegeben ist. Andernfalls, wenn das Feld 102 für die Ziel-Freigabegruppe nicht
angibt, dass die Daten als Teil des Freigabeprozesses auf Datenträger in einer anderen
Speichergruppe verschoben werden sollen, greift die Bandsteuereinheit 10 (am
Block 260) auf ein Zielband aus der aktuellen Speichergruppe
des Bandes i zu. Nachdem sie auf ein freies Zielband zugegriffen
hat, verschiebt die Bandsteuereinheit 10 (am Block 262)
die Daten vom Band i auf das Zielband, auf das sie zugegriffen hat,
beziehungsweise schreibt die Daten hintereinander auf dieses Band und
gibt das Band i (am Block 264) als ein freies Band frei.
Die Steuerung schaltet (am Block 266) dann wieder zum Block
252, um im Hinblick auf das nächste
Band, das zur Freigabe vorgesehen ist, eine Freigabe durchzuführen.
-
Wie
erörtert
wurde, kann der Speicheradministrator Daten anfangs in einer Speichergruppe
mit einem vergleichsweise niedrigeren Freigabeschwellenwert speichern
lassen, um Daten, auf die häufig zugegriffen
wird, d.h., Daten, die schneller ihre Gültigkeit verlieren, herauszufiltern
und die Daten dann aus dieser anfangs genutzten Speichergruppe in
einer nachfolgenden Speichergruppe mit einem höheren Freigabeschwellenwert
zu verschieben. Obgleich die nachfolgende Speichergruppe einen höheren Freigabeschwellenwert
hat, können
die Daten als Teil des Freigabeprozesses nicht häufiger verschoben werden, weil
die Daten in der nachfolgenden Speichergruppe nicht so schnell ihre
Gültigkeit
verlieren und dadurch länger
brauchen, um den Freigabeschwellenwert zu erreichen. Wie erörtert wurde,
können
die nachfolgenden Speichergruppen im Feld 102 überdies
eine weitere nachfolgende Freigabe-Speichergruppe festlegen, um
zu bewirken, dass Daten durch mehrere unterschiedliche Speichergruppen bewegt
werden, wobei jede nachfolgende Gruppe einen höheren Freigabeschwellenwert
als die vorhergehende Gruppe haben kann.
-
Bei
weiteren gegebenen Arten der Ausführung können die anfangs genutzte Speichergruppe mit
dem niedrigeren Freigabeschwellenwert und die nächstfolgende Gruppe mit dem
höheren
Freigabeschwellenwert Bänder
mit unterschiedlicher Speicherkapazität haben. Bei einer gegebenen
Art der Ausführung
können
die anfangs genutzte Speichergruppe über Bänder vom Typ "J" und die nachfolgende Speichergruppe über Bänder vom
Typ "K" verfügen, wobei
Banddatenträger
vom Typ "K" eine größere Speicherkapazität haben.
Auf diese Weise würde die
anfangs erfolgende Freigabe bei dem niedrigeren Schwellenwert häufiger stattfinden,
indem die Daten auf Bändern
mit einer geringeren Kapazität
gespeichert würden,
damit sie zügig
abgerufen werden könnten.
Speichert man die Daten, auf die nicht so häufig zugegriffen wird, wie
zum Beispiel Archivierungsdaten, in der nachfolgenden Speichergruppe auf
einem Band mit einer höheren
Speicherkapazität, wird
im Interesse einer höheren
Auslastung eine größere Datenmenge
untergebracht, um das Speichervolumen wirksam auszuschöpfen.
-
Die
gegebenen Arten der Ausführung,
die beschrieben wurden, stellen Verfahren zur Verbesserung der Auslastung
der Speicherkapazität
bereit, indem sie die Verwendung von höheren Freigabeschwellenwerten
in einer Weise zulassen, die verhindert, dass Schwellenwerte mit
einer Häufigkeit
ausgelöst
werden, welche die Leistungsfähigkeit
des Systems beeinträchtigt.
-
Die
beschriebenen Vorgehensweisen zur Freigabe von physischen Datenträgern in
Speichergruppen können
in Form von einem Verfahren, einer Vorrichtung oder einem Herstellungsgegenstand
unter Verwendung von standardmäßigen Programmier- und/oder
technischen Verfahren realisiert werden, um Software, Firmware,
Hardware oder eine beliebige Kombination daraus zu erzeugen. Der
Begriff "Herstellungsgegenstand" bezeichnet in der
hier verwendeten Weise Code oder Logik, die in Form von Hardware-Logik
(z.B. in Form eines Schaltkreischip, eines programmierbaren Universalschaltkreises (Programmable
Gate Array (PGA)), einer anwendungsspezifischen integrierten Schaltung
(ASIC) usw.) ausgeführt
ist, oder einen rechnerlesbaren Datenträger wie beispielsweise ein
Magnetspeichermedium (z.B. Festplattenlaufwerke, Disketten, Bänder usw.),
einen optischen Speicher (CD-ROMs, optische Platten usw.) flüchtige und
nichtflüchtige
Speichereinheiten (z.B. EEPROMs, ROMs, PROMs, RAMs, DRAMs, SRAMs,
Firmware, programmierbare Logik usw.). Der Zugriff auf den Code
in dem rechnerlesbaren Datenträger
und die Ausführung
des Codes erfolgen durch einen Prozessor. Auf den Code, in dem bevorzugte
Ausführungsformen
ausgeführt sind,
kann überdies über ein Übertragungsmedium oder
von einem Dateiserver über
ein Netzwerk zugegriffen werden. In diesen Fällen kann der Herstellungsgegenstand,
in dem der Code realisiert ist, ein Übertragungsmedium wie zum Beispiel
eine Netzwerk-Übertragungsleitung,
ein drahtloses Übertragungsmedium,
sich durch den freien Raum ausbreitende Signale, Funkwellen, Infrarotsignale
usw. umfassen. Folglich kann der "Herstellungsgegenstand" das Medium umfassen,
in dem der Code enthalten ist. Außerdem kann der "Herstellungsgegenstand" eine Kombination
aus Hardware- und Software-Komponenten umfassen, in denen der Code
enthalten ist, verarbeitet und ausgeführt wird. Natürlich erkennt
der Fachmann, dass an dieser Konfiguration viele Änderungen
vorgenommen werden können,
ohne vom Umfang der vorliegenden Erfindung abzuweichen, und dass
der Herstellungsgegenstand jedweden in der Technik bekannten Datenträger umfassen
kann.
-
Bei
den beschriebenen gegebenen Arten der Ausführung wurden die physischen
Datenträger,
die den Verwaltungsoperationen der Speichergruppe unterliegen, welche
hier beschrieben wurden, wie zum Beispiel die Freigabe, auf Bandkassetten
gespeichert. Bei alternativen gegebenen Arten der Ausführung können die
physischen Datenträger,
die den Verwaltungsoperationen der Speichergruppe unterliegen, jedoch
auf einer beliebigen in der Technik bekannten nichtflüchtigen
Speichereinheit gespeichert werden, zu der unter anderem optische
Platten, Festplattenlaufwerke, nichtflüchtige Direktzugriffspeicher-(RAM-)Einheiten usw.
gehören.
Bei diesen alternativen Speichereinheiten würde der Server die notwendigen
Laufwerke oder Schnittstellen enthalten, über die auf Daten in der alternativen
Speichereinheit-Komponente zugegriffen würde.
-
Bei
den beschriebenen gegebenen Arten der Ausführung hat jede nachfolgende
Speichergruppe, die im Feld 102 für die Ziel-Freigabegruppe angegeben ist, einen
höheren
Freigabeschwellenwert als die vorhergehende Speichergruppe, von
der die Daten kamen. Bei alternativen gegebenen Arten der Ausführung kann
eine nachfolgende Zielspeichergruppe, in die Daten als Teil des
Freigabeprozesses verschoben werden, jedoch einen niedrigeren oder
den gleichen Freigabeschwellenwert haben. Überdies können nachfolgende Zielspeichergruppen
Freigabe-Schwellenwerte haben, die höher oder niedriger als der
Schwellenwert in irgendeiner der vorhergehenden Zielspeichergruppen
sind.
-
Bei
den beschriebenen gegebenen Arten der Ausführung ist der Freigabeschwellenwert
erreicht, wenn die Daten auf der Bandkassette die durch den Schwellenwert
angegebene Menge unterschreiten. Bei alternativen gegebenen Arten
der Ausführung können alternative
Schwellenwerte und alternative Schwellenwert-Messverfahren angewendet
werden.
-
Die
in den 3a, 3b und 3c dargestellten
Datenstrukturen zeigen die Datensätze als Datensätze mit
ganz bestimmten Arten von Informationen. Bei alternativen gegebenen
Arten der Ausführung
können
der logische Datenträger,
der physische Datenträger
und die Datensätze
der Speichergruppen eine geringere oder eine höhere Anzahl von Feldern oder
andere Felder als die in den Figuren gezeigten Felder haben.
-
Bei
weiteren gegebenen Arten der Ausführung kann die Abfolge der
Bandauswahl in 5 auf der Grundlage der Menge
der aktiven Daten auf dem Band statt auf der Grundlage eines Index
erfolgen.
-
Bei
den beschriebenen gegebenen Arten der Ausführung werden bestimmte Variable
wie zum Beispiel n und i zur Bezeichnung von ganzzahligen Werten
verwendet, die eine bestimmte Anzahl von Elementen angeben. Diese
Variablen können
eine beliebige Anzahl bezeichnen, wenn sie in verschiedenen Fällen mit
denselben oder mit anderen Elementen verwendet werden.
-
Die
in den 4 und 5 veranschaulichte Logik zeigt
bestimmte Ereignisse, die in einer bestimmten Reihenfolge eintreten.
Bei alternativen gegebenen Arten der Ausführung können bestimmte Operationen
in einer anderen Reihenfolge durchgeführt, geändert oder entfernt werden. Überdies
können
der vorstehend beschriebenen Logik Schritte hinzugefügt werden,
wobei diese dann dennoch den beschriebenen gegebenen Arten der Ausführung entspricht.
Außerdem
können
hier beschriebene Operationen nacheinander stattfinden oder bestimmte
Operationen können
parallel verarbeitet werden. Auch können Operationen von einer
einzigen Verarbeitungseinheit oder von verteilten Verarbeitungseinheiten
durchgeführt
werden.
-
6 zeigt
eine gegebene Art der Ausführung
einer Rechnerarchitektur 600, die in den Host-Rechnern 4a, 4b...4n und
im Bandserver 2 (1) zur Anwendung
kommen kann. Die Architektur 600 kann einen Prozessor 602 (z.B.
einen Mikroprozessor), einen Arbeitsspeicher 604 (z.B.
eine flüchtige
Speichereinheit) und einen Permanentspeicher 606 (z.B.
einen nichtflüchtigen
Speicher wie Magnetplattenlaufwerke, optische Plattenlaufwerke,
ein Bandlaufwerk usw.) enthalten. Der Permanentspeicher 606 kann
eine interne Speichereinheit oder einen angeschlossenen oder über ein
Netzwerk zugänglichen
Speicher umfassen. Programme im Permanentspeicher 606 werden
in den Arbeitsspeicher 604 geladen und vom Prozessor 602 in
einer in der Technik bekannten Weise verarbeitet. Zur Architektur gehören ferner
eine Netzwerkkarte 608, um den Datenaustausch mit einem
Netzwerk zu ermöglichen. Über eine
Eingabeeinheit 610 werden dem Prozessor 602 Benutzereingaben
bereitgestellt, und die Eingabeeinheit 610 kann eine Tastatur,
eine Maus, einen Stift/Schreiber, ein Mikrofon, einen berührungsempfindlichen
Bildschirm oder einen beliebigen anderen Aktivierungs- oder Eingabemechanismus
umfassen, der in der Technik bekannt ist. Eine Ausgabeeinheit 612 kann
Daten darstellen, die vom Prozessor 602 oder von einer
anderen Komponente wie zum Beispiel einem Bildschirm, einem Drucker,
einem Speicher usw. gesendet wurden.