-
TECHNISCHES GEBIET
-
Die
vorliegende Erfindung betrifft ein Verfahren, ein System und ein
Programm zum Verwalten einer Beziehung zwischen einem Zieldatenträger und einem
Quellendatenträger.
-
ZUGRUNDELIEGENDE TECHNIK
-
Computersysteme
beinhalten oft einen oder mehrere Hostcomputer („Hosts") zum Verarbeiten von Daten und zum
Ausführen
von Anwendungsprogrammen, DASD-Einheiten (Direktzugriffsspeicher) zum
Speichern von Daten und eine Speichersteuereinheit zum Steuern der
Datenübertragung
zwischen den Hosts und dem DASD. Speichersteuereinheiten, die auch
als Steuereinheiten oder Speichersteuerungen bezeichnet werden,
verwalten den Zugriff auf einen Speicherbereich, der aus zahlreichen
Festplattenlaufwerken besteht, die in einer Ringarchitektur zusammengeschaltet
sind, die auch als Direktzugriffspeicher (DASD) bezeichnet wird.
Hosts können über die
Speichersteuereinheit Eingabe-/Ausgabe(E/A)-Anforderungen an den
Speicherbereich richten.
-
In
vielen Systemen können
Daten von einer Speichereinheit, z.B. von einem DASD, auf die gleiche
oder auf eine andere Speichereinheit kopiert werden, so dass der
Zugriff auf Datenträger
von zwei unterschiedlichen Einheiten aus erfolgen kann. Eine zeitpunktgesteuerte
Kopie beinhaltet das physische Kopieren aller Daten von Quellendatenträgern auf Zieldatenträger, sodass
der Zieldatenträger über eine Kopie
der Daten zu einem bestimmten Zeitpunkt verfügt. Eine zeitpunktgesteuerte
Kopie kann auch dadurch hergestellt werden, dass eine logische Kopie der
Daten hergestellt und erst auf Abruf auf den anderen Datenträger kopiert
wird, wodurch letztlich das physische Kopieren hinausgeschoben wird.
Diese logische Kopieroperation wird durchgeführt, um die Zeit möglichst
kurz zu halten, während
der auf den Ziel- und den Quellendatenträger nicht zugegriffen werden
kann.
-
Eine
solche logische Kopieroperation ist unter der Bezeichnung FlashCopy® bekannt
(FlashCopy ist ein eingetragenes Warenzeichen von International
Business Machines, Corp. Oder „IBM).
FlashCopy® beinhaltet
das Herstellen einer logischen zeitpunktgesteuerten Beziehung zwischen
dem Quellen- und dem Zieldatenträger
in verschiedenen Einheiten. Die FlashCopy-Funktion stellt sicher, dass eine Spur
so lange auf der Quellenplatte bleibt, bis die Spur auf ihren Speicherplatz
auf der Zielplatte festgelegt worden ist. Zur Speicherung der Daten über alle
im Teilsystem vorhandenen FlashCopy-Beziehungen wird eine Beziehungstabelle
verwendet. Während
der Erstellungsphase einer FlashCopy-Beziehung wird ein Eintrag
in der Quellen- und in der Ziel-Beziehungstabelle für die Quelle
und das Ziel gespeichert, die an der zu erstellenden FlashCopy beteiligt
sind. Jeder eingegebene Eintrag enthält alle erforderlichen Daten
zur FlashCopy-Beziehung. Die beiden Einträge für die Beziehung werden aus
den Beziehungstabellen entfernt, wenn alle FlashCopy-Spuren vom
Quellenbereich auf die Zielbereiche kopiert worden sind oder wenn
ein Annullierungsbefehl empfangen wird.
-
Die
Ziel-Beziehungstabelle beinhaltet ferner eine Bitmap, die anzeigt,
welche an der Flash-Copy-Beziehung beteiligten Spuren noch nicht
auf den Zieldatenträger
kopiert wurden und somit geschützt sind.
Jede Spur in der Zieleinheit wird in der Bitmap durch ein Bit dargestellt.
Das Zielbit wird gesetzt, wenn die entsprechende Spur als Zielspur
einer FlashCopy-Beziehung
festgelegt wird. Das Zielbit wird zurückgesetzt, wenn die entsprechende
Spur aufgrund von Schreiboperationen in der Quelleneinheit oder
der Zieleinheit oder eines im Hintergrund ablaufenden Kopiervorgangs
vom Quellendatenträger
kopiert und auf die Zieleinheit ausgelagert worden ist.
-
Nach
dem Stand der Technik müssen
alle Spuren im Quellen-Cachespeicher,
die an der FlashCopy(R) beteiligt sind, als Teil der Herstellung
der logischen zeitpunktgesteuerten Beziehung während der FlashCopy(R)-Operation
auf den physischen Quellendatenträger, z.B. auf den Quellen-DASD, ausgelagert
werden, und alle an der FlashCopy(R) beteiligten Spuren im Ziel-Cachespeicher
müssen gelöscht werden.
-
Nachdem
die logische Beziehung hergestellt worden ist, können die Hosts sofort auf Daten
im Quellen- und im Zieldatenträger
zugreifen, und die Daten können
als Teil einer Hintergrundoperation kopiert werden. Eine Leseoperation
einer Spur, die ein Ziel in einer FlashCopy(R)-Beziehung, nicht
aber im Cachespeicher ist, löst
eine Abfangoperation zum Zwischenspeichern aus, sodass die der angeforderten
Zielspur entsprechende Quellenspur im Ziel-Cachespeicher zwischengespeichert
werden, wenn die Quellenspur noch nicht auf den Zieldatenträger kopiert
wurde, und bevor der Zugriff auf die Spur vom Ziel-Cachespeicher
möglich
ist. Dadurch wird sichergestellt, dass das Ziel über die Kopie von der Quelle verfügt, wie
sie zum Zeitpunkt der FlashCopy(R)-Operation vorlag. Ferner lösen alle
Schreiboperationen von Spuren in der Quelleneinheit, die noch nicht
zum Zieldatenträger
kopiert wurden, eine Abfangoperation zum Zwischenspeichern aus,
wodurch die Spuren in der Quelleneinheit zur Zieleinheit kopiert
werden.
-
In
der
US-Patentschrift 6 189 079 wird
die Verwendung einer Beziehungstabelle zum Speichern von Daten beschrieben,
die zum Verwalten des Kopierens eines oder mehrerer Bereiche von
Quellenspuren von einem Quellendatenträger auf entsprechende Zielspuren
eines Quellendatenträgers
erforderlich sind. Die beschriebene Beziehungstabelle enthält für jedes
Kopienpaar von Bereichen der Quellen- und der Zielspur einen separaten
Eintrag.
-
BESCHREIBUNG DER ERFINDUNG
-
Es
werden ein Verfahren, ein System und ein Programm zum Verwalten
einer Beziehung zwischen einem Zieldatenträger und einem Quellendatenträger bereitgestellt.
Sowohl für
den Quellen- als auch für den
Zieldatenträger
beinhaltet der Speicher Folgendes: (i) mindestens ein Element, wobei
jedes Element einen Bereich aufeinander folgender Dateneinheiten
im Datenträger
darstellt; (ii) mindestens einen Beziehungseintrag, wobei jeder
Beziehungseintrag eine Beziehung darstellt; (iii) mindestens einen
Elementzeiger, der ein Element einem Beziehungseintrag zuordnet,
wobei die durch das Element dargestellten Dateneinheiten Teil der
Beziehung sind, die durch den Beziehungseintrag dargestellt wird,
dem der Zeiger das Element zuordnet; und (iv) einen Beziehungszeiger
für jeden
Beziehungseintrag, der den Beziehungseintrag Datenträger-Metadaten
zuordnet, wobei die Datenträger-Metadaten
Daten über
die durch den Beziehungseintrag dargestellte Beziehung liefern.
-
Bei
weiteren Realisierungsformen sind die Quellen- und Ziel-Metadaten in einem
nichtflüchtigen Speicher
im Quellen- bzw. im Zieldatenträger
gespeichert.
-
Außerdem werden
die Datenträger-Metadaten
verarbeitet, um im Speicher das mindestens eine Element, den mindestens
einen Beziehungseintrag, den mindestens einen Elementzeiger und
den mindestens einen Beziehungszeiger zu erzeugen. Bei weiteren
Realisierungsformen werden die Datenträger-Metadaten in einer Vielzahl
von Datenträgern verarbeitet,
wobei für
jeden Datenträger
ein Satz Elemente, Beziehungseinträge, Elementzeiger und Beziehungszeiger
erzeugt wird, die Datenträger-Metadaten
zur Kennzeichnung der Beziehungen eines Datenträgers zu einem anderen Datenträger beinhalten.
-
Weiterhin
kann das Erzeugen des mindestens einen Elements im Speicher ferner
das Verarbeiten von Datenträger-Metadaten,
um jeden Bereich der an jeder Beziehung beteiligten Dateneinheiten
zu ermitteln, und das Erzeugen eines Elements für jeden Bereich der an mindestens
einer Beziehung beteiligten Dateneinheiten umfassen.
-
Darüber hinaus
kann das Erzeugen des mindestens einen Elements im Speicher ferner
das Erzeugen von Elementen umfassen, die Bereiche von Dateneinheiten
vor oder nach dem Bereichen der Dateneinheiten in Elementen beinhalten,
die an einer Beziehung beteiligt sind, wobei alle erzeugten Elemente
zusammen alle Benutzerdateneinheiten im Datenträger darstellen, einschließlich der
Bereiche von Dateneinheiten in Beziehungen und einschließlich der
Bereiche von Dateneinheiten, die nicht an Beziehungen beteiligt
sind.
-
Die
beschriebenen Realisierungsformen liefern Daten über Beziehungen zwischen Quellen-
und Zieldatenträgern
und eine Verknüpfung
solcher Daten im Speicher, um solche Beziehungsdaten verfügbar zu
machen.
-
KURZBESCHREIBUNG DER ZEICHNUNGEN
-
Die
Erfindung wird nun beispielhaft unter Bezug auf die beiliegenden
Zeichnungen beschrieben, wobei:
-
1 eine
Datenverarbeitungsumgebung veranschaulicht, in der Aspekte der Erfindung
realisiert werden;
-
die 2 und 3 eine
Beziehung zwischen Spuren in einem Quellendatenträger und
Spuren in einem Zieldatenträger
gemäß Realisierungsformen
der Erfindung veranschaulichen;
-
die 4, 5, 6, 7 und 8 Ausführungsarten
von Informationen veranschaulichen, die gemäß Realisierungsformen der Erfindung eine
Beziehung zwischen Quellen- und Zielspuren in einer Kopierbeziehung
darstellen;
-
9 Arbeitsschritte
zum Initialisieren von Beziehungsinformationen gemäß Realisierungsformen
der Erfindung in einem Speicher veranschaulicht;
-
die 10a und 10b Arbeitsschritte zum
Aktualisieren von Beziehungsinformationen in einem Speicher veranschaulichen,
um eine neue Beziehung gemäß Realisierungsformen
der Erfindung darzustellen;
-
die 11, 12a und 12b Arbeitsschritte
zum Aktualisieren von Beziehungsinformationen in einem Speicher
veranschaulichen, um eine Annullierung von Spuren aus einer Beziehung
gemäß Realisierungsformen
der Erfindung darzustellen;
-
13 Arbeitsschritte
zum Berücksichtigen von
Beziehungen beim Auslagern und Zwischenspeichern von Spuren aus
einem Cachespeicher gemäß Realisierungsformen
der Erfindung veranschaulicht;
-
14 Arbeitsschritte
zum Durchführen
eines Wiederherstellungsprozesses gemäß Realisierungsformen der Erfindung
veranschaulicht; und
-
15 eine
Architektur von Datenverarbeitungskomponenten, zum Beispiel von
Hosts, einer Speichersteuereinheit sowie beliebigen anderen Datenverarbeitungseinheiten,
in der Netzumgebung veranschaulicht.
-
BESTE AUSFÜHRUNGSFORM DER ERFINDUNG
-
1 veranschaulicht
eine Datenverarbeitungsarchitektur, in der Aspekte der Erfindung
realisiert werden. Eine Speichersteuereinheit 2 empfängt über ein
Netz 6 von Host-Systemen 4a, 4b...4n an Speichereinheiten 8a, 8b und 20 mit
Datenträgern (z.B.
Nummern von logischen Einheiten, logischen Einheiten usw.) 10a, 10b...10n bzw. 12a, 12b...12m gerichtete
Eingabe-/Ausgabe(E/A)-Anforderungen, wobei m und n unterschiedliche
ganzzahlige oder aber gleiche Werte haben können. Die Speichersteuereinheit 2 beinhaltet
ferner einen Quellen-Cachespeicher 14a zum Speichern von
E/A-Daten für
Spuren im Quellenspeicher 8a und einen Ziel-Cachespeicher 14b zum
Speichern von E/A-Daten für
Spuren im Zielspeicher 8b. Der Quellen-Cachespeicher 14a und
der Ziel-Cachespeicher 14b können separate Speichereinheiten
oder verschiedene Bereiche ein und derselben Speichereinheit umfassen.
Die Cachespeicher 14a und 14b dienen zum Puffern
von Lese- und Schreibdaten während
der Übertragung zwischen
den Hosts 4a, 4b...4n und den Speichern 8a, 8b.
Obwohl die Cachespeicher 14a und 14b als Quellen-
bzw. als Ziel-Cachespeicher zum Aufrechterhalten von Quellen- und
Zielspuren in einer zeitpunktgesteuerten Kopierbeziehung bezeichnet
werden, können
die Cachespeicher 14a und 14b gleichzeitig auch
Quellen- und Zielspuren in verschiedenen zeitpunktgesteuerten Kopierbeziehungen
speichern.
-
Die
Speichersteuereinheit 2 beinhaltet auch einen Systemspeicher 16,
der in Form von flüchtigen und/oder
nichtflüchtigen
Einrichtungen realisiert werden kann. Im Systemspeicher 16 wird
eine Speicherverwaltungssoftware 18 ausgeführt, um
das Kopieren von Daten zwischen den verschiedenen Speichereinheiten 8a, 8b,
zum Beispiel das logische Kopieren während einer FlashCopy®-Operation,
zu verwalten. Die Speicherverwaltungssoftware 18 kann außer den
hier beschriebenen Kopieroperationen auch noch andere Operationen
ausführen.
Der Systemspeicher 16 kann sich in einer separaten Speichereinheit
der Cachespeicher 14a, 14b oder in einem Teil
davon befinden. Die Speicherverwaltungssoftware 18 verwaltet
eine speicherinterne Beziehungstabelle 20 im Systemspeicher 16,
die Informationen über
zeitpunktgesteuerte Kopierbeziehungen für jeden von der Speichersteuereinheit 2 verwalteten
Datenträger
liefert, wobei für
jeden Datenträger
eine speicherinterne Beziehungstabelle 20 vorliegen kann.
Bei bestimmten Realisierungsformen bezieht sich die Kopierbeziehung
auf Spuren. Eine Kopierbeziehung kann sich jedoch auch auf andere
Dateneinheiten, zum Beispiel Blöcke,
Teilblöcke
einer Spur usw., beziehen, bei denen es für jede Quellendateneinheit
in der Beziehung eine entsprechende Zieldateneinheit gibt.
-
Die
Speichersteuereinheit 2 beinhaltet ferner einen (nicht
gezeigten) Prozessorkomplex und kann eine beliebige in der Technik
bekannte Speichersteuereinheit oder einen Server umfassen, zum Beispiel die
Speichersteuereinheit IBM Enterprise Storage Server (ESS)®,
3990® usw.
(Enterprise Storage Server ist ein eingetragenes Warenzeichen von
IBM). Die Hosts 4a, 4b...4n können eine
beliebige in der Technik bekannte Datenverarbeitungseinrichtung umfassen,
zum Beispiel einen Server, einen Großrechner (Mainframe), einen
Arbeitsplatzrechner, einen Personal Computer, einen Taschenrechner,
einen Laptop, ein Telefongerät,
eine Netzeinheit usw. Die Speichersteuereinheit 2 und die
Hostsysteme 4a, 4b...4n tauschen untereinander
Daten über
ein Netz 6 aus, das ein Speicherbereichsnetz (Storage Area Network,
SAN), ein lokales Netz (Local Area Network, LAN), ein Intranet,
das Internet, ein Weitverkehrsnetz (Wide Area Network, WAN) usw.
umfassen kann. Die Speichersysteme 8a, 8b können eine
Anordnung von Speichereinrichtungen umfassen, zum Beispiel einen
Plattenstapel (Just a Bunch Of Disks, JBOD), eine redundante Anordnung
unabhängiger Platten
(Redundant Array of Independent Disks, RAID), eine Virtualisierungseinrichtung
usw.
-
Eine
zeitpunktgesteuerte Kopie kann zwischen einem Bereich von Spuren
auf einem Quellendatenträger
und einem Bereich von Spuren auf einem Zieldatenträger hergestellt
werden, wobei die Anzahl der Spuren des an der Beziehung beteiligten Quellen- und des Zieldatenträgers verschieden
sein kann. Bei bestimmten Realisierungsformen können sich der Quellenbereich
und der Zielbereich unterschiedlich weit vom Anfang der jeweiligen
Datenträger
entfernt befinden. Das ermöglicht
eine Neuordnung von Datensätzen,
um zum Beispiel einen Satz verstreuter Datensätze zu einem zusammenhängenden
Satz von Spuren zusammenzuführen. 2 zeigt,
wie in der Mitte des Quellendatenträgers 54 befindliche
verstreute Quellenbereiche 50 und 52 in Zielbereiche 56 und 58 an
den Anfang eines Zieldatenträgers 60 umgesetzt
werden, wobei sich die Reihenfolge im Quellendatenträger 54 von
der im Zieldatenträger 60 unterscheidet.
-
Die
beschriebenen Realisierungsformen ermöglichen ferner mehrere zeitpunktgesteuerte
Kopierbeziehungen je Spur, wobei ein bestimmter Bereich von Spuren
gleichzeitig Teil von mehr als nur einer zeitpunktgesteuerten Kopierbeziehung
sein kann. Eine Spur kann entweder zu einem Quellenbereich oder
zu einem Zielbereich gehören.
Ferner kann eine Spur zu mehreren Quellenbeziehungen gehören, während bei
bestimmten Realisierungsformen nur eine Zielbeziehung erlaubt ist. 3 veranschaulicht
mehrere Beziehungen je Spur, wobei ein Quellendatenträger 70 mehrere
Bereiche von Spuren 72, 74, 76 und 78 aufweist,
die auf verschiedene Zielbereiche 82, 84, 86 und 88 im
Zieldatenträger 80 abgebildet
werden. Die Quellenbereiche 72 und 74 gehören zum
Zielbereich 82, und die Quellenbereiche 74 und 76 gehören zum
Zielbereich 84, sodass diese beiden Beziehungen gleichzeitig
einem überlappenden
Bereich 74 von Spuren angehören. Ferner gehört der Quellenbereich 78 zu
mehreren Zielbereichen 86 und 88, und der Quellenbereich 74 gehört auch
zu mehreren Zielbereichen 82 und 84. Obwohl bei
diesem Beispiel mehrere Zielbereiche in ein und demselben Datenträger gezeigt
werden, können
sich die Zielspuren auf verschiedenen Datenträgern befinden.
-
Wenn
zwischen einem Bereich von Spuren in einem Quellendatenträger und
einem Bereich in einem Zieldatenträger eine zeitpunktgesteuerte
Beziehung hergestellt wird, werden in den Datenträger-Metadaten
im Quellendatenträger
und im Zieldatenträger 10a, 10b...10n bzw. 12a, 12b...12n dauerhafte
Informationen über
die Beziehung gespeichert. Mit Blick 4 können die
Datenträger-Metadaten 100 für jeden
Quellendatenträger
und Zieldatenträger
Metadatenkomponenten beinhalten, zum Beispiel Beziehungs-Metadaten 102,
Beziehungs-Bitmap-Metadaten 104 und
eine Datenträgernummer.
Die Beziehungs-Metadaten 102 beinhalten Beziehungsblöcke 106a, 106b...106n,
die jeweils Informationen über
eine zeitpunktgesteuerte Kopie für einen
Bereich von Spuren im Datenträger
beinhalten. 5 veranschaulicht weitere Details
eines Beziehungsblocks, zum Beispiel der Beziehungsblöcke 106a, 106b...106n in 4,
die Folgendes beinhalten:
- • Beziehungs-ID 110:
als eindeutige Kennzeichnung der Beziehung. Diese Zahl dient sowohl
der Quelle als auch dem Ziel zur Kennzeichnung der Beziehung.
- • Beziehungsrolle 112:
zum Anzeigen, ob der Bereich der Spuren im Datenträger eine
Quelle oder ein Ziel in der Beziehung darstellt.
- • Bereich 114:
zum Kennzeichnen von Spuren im Datenträger, der den Bereich der an
der zeitpunktgesteuerten Beziehung beteiligten Spuren beinhaltet.
- • Datenträgerpaar 116:
zum Kennzeichnen des anderen Datenträgers in der Beziehung.
-
Die
Beziehungsblöcke 106a, 106b...106n können in
einer verknüpften
Liste angeordnet werden. Nicht verwendete Blöcke in den Beziehungs-Metadaten 102 können in
einer freien Liste der freien Blöcke
gespeichert werden, die zum Speichern von Beziehungsinformationen
als Beziehungsblock zur Verfügung
stehen. Die Beziehungsblöcke 106a, 106b...106n können eine
feste Länge
und einen Index aufweisen, damit durch einen Index auf sie zugegriffen
werden kann.
-
Die
Bitmap-Metadaten 104 umfassen eine oder mehrere Bitmap-Datenstrukturen,
die für
jede Spur im Datenträger
ein Bit vorsehen. Wenn das Bit auf „Ein" steht, bedeutet dies, dass die entsprechende
Zielspur die zeitpunktgesteuerten Daten von der Quelle noch nicht
beinhaltet und dass die Daten noch hinüberkopiert werden müssen. Die
mehreren Bereichen entsprechenden Bitwerte können direkt einer relativen
Adresse der Beziehungs-Bitmap-Metadaten 104 zugeordnet
werden.
-
6 veranschaulicht
eine Realisierungsform einer Datenstruktur in der speicherinternen
Beziehungstabelle 20.
-
Für jeden
durch die Speichersteuereinheit 2 verwalteten Datenträger kann
es eine speicherinterne Beziehungstabelle 20 geben. Die
speicherinterne Beziehungstabelle 20 beinhaltet eine Vielzahl
von Elementen 130a, 130b, 130c und 130d,
wobei jedes Element einen Bereich zusammenhängender Spuren im entsprechenden
Datenträger
darstellt. 7 veranschaulicht den Inhalt
jedes Elements 130, zum Beispiel der Elemente 130a, 130b, 130c und 130d in 6,
mit einer Startspur 132 und einer Endspur 134,
die den Anfang und das Ende eines zusammenhängenden Bereichs von Spuren
im Datenträger
darstellen, und einem Feld von Zeigern 136 auf einen oder
mehrere Beziehungseinträge 140a, 140b und 140c.
Die Beziehungseinträge
können
sich auch in einer verknüpften
Liste befinden. Ferner können mehrere
Elemente auf ein und denselben Beziehungseintrag 140a, 140b und 140c zeigen. 6 zeigt,
dass die Elemente 130a, 130b und 130d die
in einer zeitpunktgesteuerten Kopierbeziehung enthaltenen Bereiche
von Spuren darstellen, die durch die Zeiger 136a, 136b, 136c und 136d dargestellt
werden, die auf Beziehungseinträge 140a, 140b und 140c zeigen,
welche Informationen über
die Beziehung einschließlich
der durch die Elemente 130a, 130b und 130d dargestellten
Spuren liefern. Das Element 130c stellt einen Bereich von
Spuren dar, der nicht in eine zeitpunktgesteuerte Beziehung einbezogen
ist, was durch das Fehlen eines Zeigers auf einen Beziehungseintrag 140a, 140b und 140c angezeigt
wird. Wenn ein Element, z.B. das Element 130a, ein Feld
von Zeigern 136a und 136b beinhaltet, das auf
verschiedene Beziehungseinträge 140a und 140b zeigt,
wird ein solcher Bereich von Spuren zwei Beziehungen zugeordnet,
um anzuzeigen, dass ein solcher Bereich eine Quelle für mehrere
Ziele ist.
-
8 veranschaulicht
den Inhalt, der Bestandteil jedes Beziehungseintrags 140,
zum Beispiel der Beziehungseinträge 140a, 140b und 140c in 6,
sein kann und bestimmte permanente Beziehungsinformationen 150 aus
dem entsprechenden Beziehungsblock 106a, 106b...106n in
den Datenträger-Metadaten 100 enthalten
kann, zum Beispiel die Beziehungsrolle 112 und/oder die
Beziehungs-ID 110 (5) und einen
Zeiger 152 auf den Beziehungsblock 106, der permanente
Informationen für
die durch den Beziehungseintrag 140 dargestellte Beziehung
beinhaltet. Die Zeiger 152 in den Beziehungseinträgen 140 sind
in 6 als Zeiger 152a, 152b und 152c dargestellt.
Der Zeiger 152 kann ferner einen Index für den entsprechenden
Beziehungsblock in den Beziehungs-Metadaten 160 umfassen. 6 zeigt
ferner die Beziehungsblöcke 164a, 164b und 164c,
die durch die Zeiger 152a, 152b und 152c im Abschnitt
Beziehungs-Metadaten 162 der
Datenträger-Metadaten 160 adressiert
werden. Die speicherinterne Beziehungstabelle (IMRT) 20 beinhaltet
ferner Datenträgerinformationen 166 zur
Kennzeichnung der Datenträger 10a, 10b, 10n, 12a, 12b...12n, zu
denen die speicherinterne Beziehungstabelle 20 gehört.
-
Bei
den beschriebenen Datenstrukturen ist ein großer Teil der Beziehungsinformationen
in einem permanenten Speicher in den Datenträger-Metadaten 100 gespeichert,
die im Datenträger 10a, 10b, 10n und 12a, 12b, 12n (1)
gespeichert sind. Ferner speichert bei bestimmten Realisierungsformen
jeder Beteiligte an der Beziehung, die Quelle und das Ziel, die
Beziehungs-Metadaten
separat in seinem entsprechenden Datenträger. Wenn ein Datenträger in einer
Beziehung ausfällt,
ist die Speichersteuereinheit 2 auf diese Weise in der
Lage zu ermitteln, ob die Quelle oder das Ziel in der zeitpunktgesteuerten
Kopierbeziehung mit dem ausgefallenen Datenträger wirklich Teil einer Beziehung
ist und deshalb während
der Auslagerung und der Zwischenspeicherung besonders behandelt
werden muss.
-
9 veranschaulicht
eine in der Speicherverwaltungssoftware 18 ausgeführte Logik
zum Initialisieren der speicherinternen Beziehungstabellen (IMRTs) 20 aus
den Datenträger-Metadaten 100 in den
durch die Speichersteuereinheit 2 verwalteten Datenträgern 10a, 10b...10n, 12a, 12b...12m.
Zu Beginn der Initialisierung (Block 200) durchläuft die Speicherverwaltungssoftware 18 für jeden
Datenträger,
auf den die Speichersteuereinheit 2 zugreifen kann, eine
Schleife von Block 202 bis Block 226. Wenn es
sich (in Block 208) herausstellt, dass es für den Datenträger i in
den abgerufenen Datenträger-Metadaten 100 keine
Beziehungsblöcke 106 gibt,
geht der Prozess weiter zu Block 226, um nach dem nächsten Datenträger zu suchen,
und für
den Datenträger
i wird keine IMRT erstellt. In den Datenträgerstrukturen kann für den Datenträger i ein
vorübergehender
Hinweis vermerkt werden, dass es für diesen Datenträger keine
IMRT 20 gibt. Wenn es keine Beziehungsblöcke gibt,
kann alternativ eine IMRT 20 erstellt werden, die auf ein
Element NULL zeigt, welches das Fehlen von Beziehungen für diesen
Datenträger
anzeigt. Wenn jedoch (in Block 208) Beziehungsblöcke 106 für den Datenträger i gefunden
werden, wird im Speicher 16 (in Block 212) eine
IMRT 20 erstellt, die auf keine Beziehungsblöcke zeigt.
Dann wird für
jeden Beziehungsblock j im Datenträger i eine Schleife von Block 214 bis 224 durchlaufen.
Für jeden
Beziehungsblock j werden (in Block 216) vom ersten bis
zum letzten Block ein oder mehrere Elemente 130 in der
IMRT 20 erzeugt, die im Startfeld 132 und im Endfeld 134 (7)
die im Bereich der Spuren 114 (5) im Beziehungsblock
j angezeigten Start- und Endspuren anzeigen. Das erzeugte Element
wird dann (in Block 218) mit dem Element verknüpft, das
die angrenzenden vorhergehenden Spuren im Datenträger i darstellt.
Ferner erstellt die Speicherverwaltungssoftware 18 (in
Block 220) einen Beziehungseintrag 140 in der
IMRT 20, der Beziehungsinformationen aus dem permanenten
Beziehungsblock j beinhaltet, zum Beispiel die Beziehungs-ID und
die Beziehungsrolle 150 (8) und einen
Zeiger 152 auf den aufgerufenen Beziehungsblock j in den
Datenträger-Metadaten.
Ferner kann eine Verknüpfung
von einer Beziehung auf die vorangehende Beziehung hinzugefügt werden.
Der Zeiger kann einen Index für
ein Feld von Beziehungsblöcken 106a, 106b...106n (4)
umfassen. Die Beziehungseinträge
können
in einer Matrix angeordnet werden, in welcher der Index jedes Beziehungseintrags 140a, 140b, 140c durch
den Index des entsprechenden Beziehungsblocks 164a, 164b, 164c festgelegt
werden kann. Der Prozess springt (von Block 222) zurück zu Block 214,
um den nächsten
Beziehungsblock 106 in den Datenträger-Metadaten 102 zu
verarbeiten. Von Block 208 oder nach der Verarbeitung aller
Beziehungsblöcke
für den
Datenträger
i springt der Prozess (von Block 226) zurück zu Block 202,
um die Informationen für
einen weiteren Datenträger
in den Einheiten zu verarbeiten, die durch die Speichersteuereinheit 2 verwaltet
werden.
-
Die
Logik von 9 besagt, dass für jeden durch
die Speichersteuereinheit 2 verwalteten Datenträger eine
IMRT 20 in den Speicher 16 eingegeben wird, die
Beziehungen beinhaltet und mit deren Hilfe die Speichersteuereinheit 2 die
Datenintegrität
von zeitpunktgesteuerten Kopierbeziehungen aufrecht erhalten kann,
wenn Benutzer E/A-Operationen in Bezug auf Spuren ausführen, die
zu einer zeitpunktgesteuerten Kopierbeziehung gehören.
-
Die l0a und 10b veranschaulichen Operationen,
die von der Speicherverwaltungssoftware 18 beim Aktualisieren
der IMRTs für
einen Quellen- und einen Zieldatenträger in einer neu hergestellten
zeitpunktgesteuerten Beziehung ausgeführt werden. Zu Beginn der Aktualisierung
(in Block 250) der IMRT wegen einer hinzugefügten Beziehung
wird zuerst für
den Quellendatenträger
und dann für
den Zieldatenträger
in der Beziehung eine Schleife von Block 252 bis Block 282 durchlaufen.
In Block 254 werden die Datenträger-Metadaten 100 (zuerst
für die
Quelle und dann für
das Ziel) aktualisiert, indem jeweils Beziehungsblöcke mit
Informationen über
die neue Beziehung hinzugefügt
werden und die Beziehungs-Bitmap 104 aktualisiert wird,
um anzuzeigen, dass alle Spuren in der neuen Beziehung noch nicht von
der Quelle zum Ziel kopiert worden sind. Nach dem Hinzufügen von
Informationen über
die Beziehung zu den permanenten Metadaten werden (in Block 256)
in der IMRT 20 ein Beziehungseintrag 140 für den Datenträger (Quelle
oder Ziel), der bestimmte Beziehungsinformationen 150 (8)
beinhaltet, und ein Zeiger 152 auf den permanenten Beziehungsblock 164a, 164b, 164c im
Quellen- oder im Zieldatenträger
für den
Beziehungseintrag 140 erzeugt, um die Darstellung der Beziehung
im Speicher (den Beziehungseintrag 140) dem entsprechenden permanenten
Beziehungsblock 106 im Speicher zuzuordnen. Dann sucht
die Speicherverwaltungssoftware 18 (in Block 258)
das eine oder die mehreren Elemente 130, die den Bereich
der Spuren in der neuen Beziehung beinhalten.
-
Wenn
(in Block 262) gefunden wird, dass sich alle durch das
Element i dargestellten Spuren im Bereich der Spuren in der neuen
Beziehung befinden, wird (in Block 264) ein Zeiger 136 hinzugefügt, der
das Element i dem Beziehungseintrag 140 zuordnet, welcher
die neue Beziehung darstellt. Wenn (in Block 262) hingegen
gefunden wird, dass nur ein Teil der durch das Element i dargestellten
Spuren den Bereich der Spuren in der neuen Beziehung überlappt,
wird in 10b (in Block 266)
geprüft,
ob das Element i die erste Spur des Bereichs der Spuren in der neuen
Beziehung beinhaltet. Wenn das Element i (vom NEIN-Zweig von Block 266)
die letzte Spur des Bereichs der Spuren in der neuen Beziehung beinhaltet,
wird das Element i (in Block 268) durch zwei neue Elemente
ersetzt, wobei das erste neue Element Spuren beinhaltet, die den
Bereich der Beziehung überlappen,
und mit der letzten Spur des Bereichs der Spuren in der neuen Beziehung
endet, und wobei das zweite neue Element Spuren beinhaltet, die
den Bereich der Beziehung nicht überlappen. Wenn
das Element i (aus dem JA-Zweig von Block 266) die erste
Spur des Bereichs beinhaltet, wird das Element i (in Block 270 durch
zwei neue Elemente ersetzt, wobei das erste neue Element i Spuren
beinhaltet, die den Bereich der Beziehung nicht überlappen, und das zweite neue
Element j beinhaltet Spuren, die den Bereich der Beziehung überlappen,
und beginnt mit der ersten Spur im Bereich der Beziehung. Wenn das
Element j (in Block 272) die letzte Spur des Bereichs beinhaltet,
die auch nicht gleich der letzten Spur im Element j ist, wird in
Block 268 das Element j (in Block 274) weiter
aufgeteilt, um Spuren am Ende des Elements j abzutrennen, die den
Bereich nicht überlappen,
und solche nicht überlappende
Spuren in ein weiteres Element aufzunehmen. Die zwei oder drei neuen
Elemente werden in die verknüpfte Liste
von Elementen eingefügt,
in der sich das ersetzte Element befand.
-
Nach
dem Ersetzen des Elements i durch zwei oder drei neue Element werden
(in Block 276) zu den zwei oder drei neuen Elementen 130 ein
oder zwei Zeiger 136 auf Beziehungseinträge hinzugefügt, auf
die das ersetzte Element i gezeigt hatte. Dann wird (in Block 278)
zu den neuen Elementen, die Spuren aus der neuen Beziehung beinhalten,
ein auf den erzeugten Beziehungseintrag 140 zeigender Zeiger 130 hinzugefügt, um die
die Spuren im Bereich der Beziehung darstellenden neuen Elemente
dem die Beziehung darstellenden Beziehungseintrag zuzuordnen. Dann
springt der Prozess (in Block 280) zurück zu Block 260 in 10a, um das nächste
gefundene Element zu verarbeiten, das Spuren in der neuen Beziehung
beinhaltet. Nach der Verarbeitung alle in Betracht kommenden Elemente
des Quellendatenträgers
in der neuen Beziehung, springt der Prozess (in Block 282)
zurück
zu Block 252, um die IMRT 20 für den Zieldatenträger zu aktualisieren
und so die hinzugefügte
zeitpunktgesteuerte Kopierbeziehung einzubeziehen.
-
11 veranschaulicht
die von der Speicherverwaltungssoftware 18 zum Annullieren
oder Beenden einer gesamten Beziehung ausgeführten Operationen. Die Operationen
von 11 können ausgeführt werden,
nachdem alle Spuren in der zeitpunktgesteuerten Kopierbeziehung
vom Quellen- auf den Zieldatenträger
kopiert worden sind. Alternativ kann die gesamte Beziehung durch
einen Administrator annulliert werden, der die Beendigung der gesamten
Beziehung beschließt.
Zu Beginn der Operation zum Annullieren einer gesamten Beziehung
(in Block 300) ermittelt die Speicherverwaltungssoftware 102 im
Quellendatenträger
und im Zieldatenträger den
Bereich der Quellen- und Zielspuren der gelöschten Beziehung. Die Annullierungsanforderung kann
die Bereiche der Beziehung angeben, mit denen dann die IMRT 20 und/oder
die Beziehungs-Metadaten 102 abgefragt werden können, um
die Datenträger-Metadaten
im Quellendatenträger
und im Zieldatenträger
zu finden, die die angegebenen Bereiche 114 oder die Beziehungs-ID 110 (5)
in der Beziehung enthalten. Dann durchläuft der Prozess eine Schleife
von Block 304 bis Block 326 zunächst für den Zieldatenträger in der
annullierten Beziehung und anschließend für den Quellendatenträger. In Block 306 werden
die Beziehungsblöcke 106 in
den Metadaten 102 des Quellendatenträgers und des Zieldatenträgers, die
die annullierte Beziehung darstellen, gelöscht. Der Beziehungseintrag 140 in
den IMRTs 20, der die gelöschte Beziehung darstellt,
wird (in Block 308) zuerst für den Zieldatenträger und
anschließend
für den
Quellendatenträger
entfernt. Dann ermittelt die Speicherverwaltungssoftware 18 (in
Block 310) das eine oder die mehreren Elemente 130,
auf den gelöschten
Beziehungseintrag 140 verweisen und löscht (in Block 312)
den Zeiger 136 auf den entfernten Beziehungseintrag 140 aus
den ermittelten Elementen.
-
Nach
dem Löschen
der Information für
die annullierte Beziehung beginnt die Speicherverwaltungssoftware 18 in
Block 314 einen Prozess zum Zusammenführen aller Elemente, die auf
genau dieselben Beziehungseinträge
oder auf keine Beziehungseinträge
zeigen. In Block 314 greift die Speicherverwaltungssoftware 18 auf
das erste Element 130a (6) in der
IMRT 20 zu, das den entfernten Bereich überlappt, und ermittelt (in
Block 316) null oder mehr nachfolgende zusammenhängende Elemente,
die auf dieselben Beziehungseinträge zeigen oder die alle auf
keinen Beziehungseintrag als adressiertes Element zeigen. Wenn (in
Block 318) ein oder mehrere nachfolgende Elemente 130 gefunden
werden, werden das adressierte Element und alle ermittelten nachfolgenden
Elemente (in Block 320) durch ein einziges Element ersetzt,
das alle nachfolgenden Spuren in den adressierten und gefundenen
Elementen darstellt, welche dieselben null oder mehr Zeiger 136 in
den adressierten und gefundenen Elementen aufweisen. Wenn (in Block 318)
keine nachfolgenden Elemente 130 gefunden werden, wird
(in Block 322) geprüft,
ob auf das letzte adressierte Element (wenn im NEIN-Zweig von Block 318 keine
Zusammenführung
erfolgte) oder auf das letzte zusammengeführte Element (wenn in Block 320 eine
Zusammenführung erfolgte)
mehr als ein Element folgt. Wenn noch weitere Elemente zusammengeführt werden
können, greift
die Speicherverwaltungssoftware 18 (in Block 324)
auf das dem letzten adressierten Element (wenn keine Zusammenführung erfolgte)
oder dem ermittelten zusammengeführten
Element (wenn eine Zusammenführung
erfolgte) folgende Element zu. Nach dem Zugreifen auf das nächste Element
(in Block 324) springt der Prozess zurück zu Block 316),
um das nächste
adressierte Element mit den nachfolgenden Elementen zusammenzuführen. Wenn
(in Block 322) keine mehreren Element zum Zusammenführen vorliegen,
springt der Prozess (in Block 326) zurück zu Block 304, um
die annullierte Beziehung aus der Quellen-IMRT 20 zu entfernen.
-
Die 12a und 12b veranschaulichen in
der Speicherverwaltungssoftware 18 ausgeführte Operationen
zum Entfernen einer Teilmenge zusammenhängender Spuren aus einem Bereich
in einer zeitpunktgesteuerten Beziehung. Diese Operation kann ausgeführt werden,
wenn ein Teil der Spuren im Bereich einer Beziehung vom Quellendatenträger und
vom Zieldatenträger
kopiert worden sind und solche Kopien im Quellendatenträger und
im Zieldatenträger
für weitere
zeitpunktgesteuerte Beziehungen zur Verfügung gestellt werden sollen.
Ferner können Spuren
in anderen Situationen aus einem Bereich entfernt werden, zum Beispiel
als Reaktion auf eine Anforderung von einem Administrator. Nach
dem Starten der Operation in 12a (in
Block 350) zur teilweisen Annullierung, um eine Teilmenge
der Spuren im Bereich einer Beziehung zu annullieren, wird (in Block 352)
aus den Beziehungs-Metadaten 102 im Quellendatenträger und
im Zieldatenträger
der Bereich der Quellen- und Zielspuren der gelöschten Beziehung ermittelt.
Die Annullierungsanforderung kann die Beziehungs-ID oder Bereiche
der Beziehung angeben, die dann zum Abfragen der Beziehungs-Metadaten 102 verwendet
werden, um nach dem Quellendatenträger und dem Zieldatenträger zu suchen,
welche die Metadaten für
die teilweise zu annullierende Beziehung beinhalten. Eine Schleife
von Block 354 bis Block 378 in 12b wird zuerst für den Zieldatenträger und
dann für
den Quellendatenträger
in der Beziehung durchlaufen, um eine Teilmenge der Spuren aus dem
Bereich der Spuren der Beziehung zu annullieren. In Block 356 such
die Speicherverwaltungssoftware 18 nach einem oder mehreren
Elementen 130, welche die teilweise zu annullierenden Spuren
beinhalten. Dann wird von Block 358 bis Block 372 in 12b für
jedes gefundene Element i, das die zu annullierenden Spuren beinhaltet,
eine innere Schleife durchlaufen. Wenn (in Block 360) alle
durch das Element i dargestellten Spuren in der Beziehung zu annullieren
sind, wird der Zeiger 136 im Element i auf den Beziehungseintrag 140 für die zu
annullierenden Spuren (in Block 362) entfernt.
-
Wenn
(in Block 360) alle durch das Element i dargestellten Spuren
nicht annulliert werden sollen, wird (in Block 364 in 12b) ermittelt, ob das Element i die letzte Spur
im Bereich der in der Beziehung zu annullierenden Spuren ist. Wenn
das Element i die letzte Spur des zu annullierenden Bereichs (aus
dem NEIN-Zweig von Block 364) beinhaltet, wird (in Block 366)
das Element i durch zwei neue Elemente ersetzt, wobei das erste
neue Element Spuren beinhaltet, welche den Bereich der Beziehung überlappen, und
mit der letzten Spur im Bereich der zu annullierenden Spuren endet,
und das zweite neue Element Spuren darstellt, welche die zu annullierenden
Spuren nicht überlappen.
Wenn das Element i (aus dem JA-Zweig von Block 364) die
erste Spur des zu annullierenden Bereichs beinhaltet, wird (in Block 368)
das Element i durch zwei neue Elemente ersetzt, wobei das erste
neue Element i Spuren beinhaltet, welche die zu annullierenden Spuren
nicht überlappen,
und das zweite neue Element j Spuren beinhaltet, die zu annullierende
Spuren überlappen,
und mit der ersten Spur im Bereich der zu annullierenden Spuren
beginnt. Wenn (in Block 370) gefunden wird, dass das Element
j die letzte Spur des Bereichs beinhaltet, die ebenfalls nicht gleich
der letzten Spur im Element j ist, wird (in Block 372)
die Operation in Block 366 für das Element j ausgeführt, um
eine weitere Aufteilung vorzunehmen und Spuren am Ende des Elements
j abzutrennen, die den Bereich nicht überlappen, und solche nicht überlappenden
Spuren in ein weiteres Element aufzunehmen. Die zwei oder drei neuen
Elemente werden zur verknüpften
Liste der Elemente hinzugefügt,
in der sich das ersetzte Element befand. Von Block 366 oder 370 geht
der Prozess weiter zu Block 374, um zu den beiden neuen
Elementen einen oder mehrere Zeiger 136 hinzuzufügen, die
auf alle durch das ersetzte Element i gekennzeichneten Beziehungseinträge zeigen,
und löscht
(in Block 376) den Zeiger 136 auf den Beziehungseintrag 140 aus dem
neuen Element, das zu annullierende Spuren enthält. Dann springt der Prozess
(in Block 378) zurück
zu Block 358, um alle aus der zu annullierenden Beziehung
zu annullierenden Spuren zu entfernen. Nach dem Entfernen der Spuren
aus der zu annullierenden Beziehung führt die Speicherverwaltungssoftware 18 (in
Block 380) die Schritte 314 bis 324 in 11 aus,
um aufeinander folgende Elemente 130 zusammenzuführen, die
auf dieselben Beziehungseinträge
oder auf keinen Beziehungseintrag zeigen. Nach dem Entfernen der
Spuren aus der Beziehung für
den Zieldatenträger
springt der Prozess (in Block 382) zurück zu Block 354, um
die Spuren in der Beziehung vom Quellendatenträger zu entfernen.
-
Das
Ergebnis der Operationen in 12a und 12b besteht darin, dass eine Teilmenge der Spuren
im Bereich einer Beziehung aus der Beziehung in den Quellen- und
Ziel-IMRTs 20 und den Datenträger-Metadaten entfernt werden,
während
die Beziehung für
die nicht teilweise zu annullierenden Spuren erhalten bleibt. Nach
dem Annullieren stehen die aus dem Bereich annullierten Spuren zur
Verwendung in weiteren hergestellten Beziehungen zur Verfügung. Ferner
kann das Auslagern und Zwischenspeichern solcher annullierter Spuren
erfolgen, ohne sie einer zusätzlichen
Abfangprüfung
zu unterziehen.
-
Bei
alternativen Realisierungsformen kann die Logik von 12 nicht
genutzt werden, wenn ein Teil einer Beziehung annulliert werden
soll. Stattdessen müssen
durch Ausführen
der Operationen von 10a, 10b eine
oder mehrere Beziehungen hinzugefügt werden, um eine alte (bereits
vorhandene) Beziehung zu ersetzen, wobei der Quellen- und/oder Zielbereich
in der neuen Beziehung eine Teilmenge der Bereiche der alten Beziehung
darstellen. Anschließend
wird die Logik von 11 zum Entfernen der Bereiche
verwendet, die die alte (bereits vorhandene) Beziehung darstellen.
-
13 veranschaulicht
von der Speicherverwaltungssoftware 18 ausgeführte Operationen
zur Nutzung der IMRTs 20 im Speicher 16, um Auslagerungs-
und Zwischenspeicheroperationen gemäß Ausführungsarten der Erfindung auszuführen. Nach dem
Empfangen (in Block 400) einer Anforderung zum Auslagern
oder Zwischenspeichern einer Spur im Cachespeicher 14a, 14b wird
in Block 402 die IMRT 20 für den Datenträger ermittelt,
welcher die auszulagernde oder zwischenzuspeichernde Spur beinhaltet,
und das Element 130 in der ermittelten IMRT 20,
das die zwischenzuspeichernde oder auszulagernde Spur beinhaltet,
wird in Block 404 ausgesucht. Wenn (in Block 406)
das ausgesuchte Element einen Zeiger 136 (7)
auf einen Beziehungseintrag 140 beinhaltet, startet die
Speicherverwaltungssoftware 18 (in Block 408)
einen Eingriff in Form einer Zwischenspeicher- oder Auslagerungsroutine,
um die Unversehrtheit der Daten der zeitpunktgesteuerten Beziehung
beim Zwischenspeichern oder Auslagern sicherzustellen. Der Zwischenspeicher-
oder Auslagerungseingriff stellt sicher, dass die Quellenspur in
der/den zeitpunktgesteuerten Kopierbeziehung(en) auf die entsprechenden
Zielspur(en) kopiert oder im Ziel-Cachespeicher 14b zwischengespeichert
wird, bevor die Zwischenspeicherung im Zieldatenträger oder
die Auslagerung im Quellendatenträger durchgeführt wird.
Die Beziehungseinträge 140 werden
zum Auffinden der Beziehungs-Metadaten 102 und der Bitmap 101 verarbeitet,
um zu ermitteln, ob die Spuren vom Quellendatenträger zum Zieldatenträger kopiert
worden sind, und um zu ermitteln, wie der Eingriff des Zwischenspeicherns
oder Auslagerns ablaufen soll. Wenn das ausgesuchte Element 130 (in
Block 406) hingegen keinen Zeiger 136 auf einen
Beziehungseintrag 140 beinhaltet, wird die Auslagerung
oder Zwischenspeicherung der Spur durchgeführt.
-
14 veranschaulicht
vom Speicherverwaltungssystem 18 ausgeführte Operationen zum Starten
eines Fehlerkorrekturprozesses, der als Reaktion auf einen Kaltstart
nach Stromausfall, eine Warmstartinitialisierung oder einen Warmstart
ohne Stromausfall oder eine andere erkannte Fehlerbedingung ausgeführt werden
kann. Nach dem Starten des Fehlerkorrekturprozesses (in Block 450)
führt die Speicherverwaltungssoftware 18 die
Operationen in 9 zum Wiederherstellen der IMRTs 20 im
Speicher für
alle von der Speichersteuereinheit 2 verwalteten Datenträger aus.
Bei bestimmten Realisierungsformen werden die IMRTs nur dann wiederhergestellt,
wenn der Speicher gelöscht
war, oder wenn die IMRT in einem inkonsistenten Zustand oder beschädigt ist.
Dann führt
die Speicherverwaltungssoftware 18 (in Block 454)
eine Prüfoperation
der wiederhergestellten IMRTs 20 aus, um zu prüfen, ob
es für jeden
eine Quelle in einer Beziehung darstellenden Quellen-Beziehungseintrag
einen entsprechenden Ziel-Beziehungseintrag in einer IMRT mit derselben Beziehungs-ID gibt. Gemäß der obigen
Erörterung kann
der Beziehungseintrag 140 eine Beziehungsinformation 150 darüber (8),
ob der Datenträger, für welchen
der Beziehungseintrag 140 definiert ist, für eine Quelle
oder ein Ziel vorgesehen ist, und eine Beziehungs-ID beinhalten.
Nach dem Auffinden eines Beziehungseintrags 140 für eine Quelle
kann die Speicherverwaltungssoftware 18 andere Beziehungseinträge 140 in
derselben oder in anderen IMRTs 20 sowie Informationen
in den nichtflüchtigen Beziehungs-Metadaten 162 abfragen,
um zu ermitteln, ob eine IMRT einen Beziehungseintrag 140 enthält, der
auf ein Ziel mit derselben Beziehungs-ID verweist. Wenn (in Block 456)
ein Ziel-Beziehungseintrag
in einer IMRT 20 nicht wiederhergestellt wurde, führt der
Prozess (in Block 458) die Blöcke 304 bis 326 in 11 aus,
um den Beziehungsblock 104a, 104b...104n aus
den Quellen-Beziehungs-Metadaten 102 und den Beziehungseintrag 140 aus
der Quellen-IMRT 20 zu entfernen.
-
Wenn
es (in Block 456) für
jeden gefundenen Quellen-Beziehungseintrag
einen entsprechenden Ziel-Beziehungseintrag gibt, führt die
Speicherverwaltungssoftware 18 (in Block 460)
eine Prüfoperation
aus, um die wiederhergestellten IMRTs 20 für jede Quelle
in einer Beziehung daraufhin zu prüfen, ob es für jeden
eine Quelle in einer Beziehung darstellenden Ziel-Beziehungseintrag
einen entsprechenden Quellen-Beziehungseintrag
in einer IMRT mit derselben Beziehungs-ID gibt und umgekehrt. Nach
dem Auffinden eines Beziehungseintrags 140 für ein Ziel kann
die Speicherverwaltungssoftware 18 dann andere Beziehungseinträge 140 in
derselben oder in anderen IMRTs 20 abfragen, um zu ermitteln,
ob eine IMRT einen Beziehungseintrag 140 enthält, dessen Beziehungsinformation 150 anzeigt,
dass der Beziehungseintrag 140 für eine Quelle mit derselben
Beziehungs-ID gilt. Wenn (in Block 462) ein Quellen-Beziehungseintrag
in einer IMRT 20 nicht wiederhergestellt wurde, fährt der
Prozess (in Block 464) mit der Ausführung der Blöcke 304 bis 326 in 11 fort,
um den Beziehungsblock 104a, 104b...104n aus
den Ziel-Beziehungs-Metadaten 102 und den Beziehungseintrag 140 aus
der Ziel-IMRT 20 zu entfernen.
-
WEITERE EINZELHEITEN ZUR REALISIERUNG
-
Die
beschriebenen Techniken zum Herstellen und Verwalten einer zeitpunktgesteuerten
Kopierbeziehung können
als Verfahren, als Vorrichtung oder als Herstellungsartikel unter
Verwendung standardmäßiger Programmier-
und/oder Entwicklungstechniken zur Erstellung von Software, Firmware, Hardware
oder deren Kombination realisiert werden. Der hier verwendete Begriff „Herstellungsartikel" bezieht sich auf
einen Code oder eine Logik, die als Hardwarelogik ausgeführt ist
(z.B. eine integrierte Schaltung, eine programmierbare Gatterschaltung (Programmable
Gate Array, PGA), ein anwendungsspezifischer integrierter Schaltkreis
(Application Specific Integrated Circuit, ASIC) usw.) oder als computerlesbares
Medium wie beispielsweise ein magnetisches Speichermedium (z.B.
Festplattenlaufwerke, Disketten, Magnetband usw.), optische Speicher (CD-ROMs,
optische Speicherplatten usw.), flüchtige und nichtflüchtige Speichereinrichtungen
(z.B. EEPROMs, ROMs, PROMs, RAMs, DRAMs, SRAMs, Firmware, programmierbare
Logik usw.). Der Code im computerlesbaren Medium wird abgerufen
und durch einen Prozessorkomplex ausgeführt. Der Code, in welchem bevorzugte
Ausführungsarten
realisiert werden, kann ferner über
ein Übertragungsmedium
oder vom einem Dateiserver über
ein Netz abgerufen werden. In solchen Fällen kann der Herstellungsartikel,
in welchem der Code realisiert wird, ein Übertragungsmedium umfassen,
zum Beispiel eine Netzübertragungsleitung,
drahtlose Übertragungsmedien,
sich durch den Raum ausbreitende Signale, Funkwellen, Infrarotsignale
usw. Somit kann der „Herstellungsartikel" das Medium umfassen,
in welchem der Code realisiert wird. Außerdem kann der „Herstellungsartikel" eine Kombination
von Hardware- und
Softwarekomponenten umfassen, in welchen der Code realisiert, verarbeitet
und ausgeführt wird.
Dem Fachmann ist natürlich
klar, dass an dieser Anordnung viele Änderungen vorgenommen werden können, ohne
vom Geltungsbereich der vorliegenden Erfindung abzuweichen, und
der Herstellungsartikel kann ein beliebiges in der Technik bekanntes
Informationsträgermedium
umfassen.
-
Die
beschriebenen Ausführungsarten
zum Herstellen einer logischen zeitpunktgesteuerten Kopierbeziehung
wurden zur Verwendung in Systemen in einer kritischen Datenumgebung
beschrieben, bei denen eine hohe Verfügbarkeit von entscheidender Bedeutung
ist. Dem Fachmann ist jedoch klar, dass die hier beschriebenen zeitpunktgesteuerten
Kopieroperationen auch auf Speichersysteme angewendet werden, die
für nichtkritische
Daten verwendet werden, bei denen eine hohe Verfügbarkeit nicht unbedingt erforderlich
ist.
-
Der
Quellen- und der Ziel-Cachespeicher kann in ein und derselben Speichereinheit
oder in separaten Speichereinheiten realisiert werden.
-
Die
beschriebenen Techniken zum Verwalten von zeitpunktgesteuerten Kopierbeziehungen können angewendet
werden, wenn die Quellen- und die Zielspuren dieselben oder verschiedene
Spurnummern haben.
-
Bei
den beschriebenen Ausführungsarten bezog
sich die Beziehung auf eine zeitpunktgesteuerte Kopierbeziehung
zwischen Spuren in verschiedenen Datenträgern. Bei alternativen Ausführungsarten
kann die Beziehung weitere in der Technik bekannte Kopierarten oder
Datenbeziehungen umfassen.
-
Die
in den 9 bis 14 veranschaulichte Logik zeigt
bestimmte Ereignisse, die in einer bestimmten Reihenfolge auftreten.
Bei alternativen Ausführungsarten
können
bestimmte Operationen in einer veränderten Reihenfolge ausgeführt, verändert oder
ausgelassen werden. Darüber
hinaus können zu
der oben beschriebenen Logik weitere Schritte hinzugefügt werden
und trotzdem noch den beschriebenen Ausführungsarten entsprechen. Ferner
können
die hier beschriebenen Operationen nacheinander ablaufen, oder bestimmte
Operationen können parallel
ausgeführt
werden. Weiterhin können
Operationen von einer einzigen Verarbeitungseinheit oder von verteilten
Verarbeitungseinheiten ausgeführt werden.
-
Die
Variablen n und m bezeichnen für
bestimmte beschriebene Elemente eine beliebige ganzzahlige Variable
und können
in verschiedenen Fällen dieselbe
oder eine verschiedene ganze Zahl anzeigen.
-
15 veranschaulicht
eine Realisierungsart einer Computerarchitektur 500 der
Netzkomponenten wie beispielsweise der in 1 gezeigten Hosts
und der Speichersteuereinheit. Die Architektur 500 kann
einen Prozessor 502 (z.B. einen Mikroprozessor), einen
Speicher 504 (z.B. eine flüchtige Speichereinrichtung)
und einen Speicher 506 beinhalten (z.B. einen nichtflüchtigen
Speicher wie beispielsweise Magnetplattenlaufwerke, optische Plattenlaufwerke,
Bandlaufwerke usw.). Der Speicher 506 kann eine interne
oder eine externe Speichereinheit oder einen Speicher umfassen,
auf den über
das Netz zugegriffen werden kann.
-
Im
Speicher 506 gespeicherte Programme werden in den Speicher 504 geladen
und in einer in der Technik bekannten Weise durch den Prozessor 502 ausgeführt. Die
Architektur beinhaltet ferner eine Netzkarte 508, um einen
Datenaustausch mit einem Netz zu ermöglichen. Eine Eingabeeinrichtung 510 dient
zur Eingabe von Daten durch einen Benutzer in den Prozessor 502 und
kann eine Tastatur, eine Maus, einen Stift, ein Mikrofon, einen
berührungsempfindlichen
Bildschirm oder einen anderen in der Technik bekannten Aktivierungs-
oder Eingabemechanismus beinhalten. Eine Ausgabeeinrichtung 512 oder
eine andere Komponente wie beispielsweise ein Monitor, ein Drucker,
ein Speicher usw. kann vom Prozessor 502 übertragene
Daten darstellen.