-
Die
Erfindung bezieht sich auf ein Kopierverfahren zwischen logischen
Platten, ein Plattenspeichersystem und ein Programm zum Kopieren
zwischen logischen Platten.
-
Eine
logische Platte ist eine Platte, die nicht mit von einer physikalischen
Platte auferlegten physikalischen Beschränkungen zusammenzuhängen scheint.
Eine logische Platte kann aus mehreren Vorrichtungen physikalischer
Platten oder aus einer physikalischen Platte mit mehreren logischen
Platten aufgebaut sein. Die Art von Platte, die verwendet wird,
wird durch die Parameter Kapazität
und Leistung bestimmt.
-
Ein
typisches System wird RAID-Rang (z.B. 0, 1, 0, +1, 3, 5) oder RAID-Gruppe genannt.
-
Kopieren
zwischen logischen Platten wird als Sicherung oder Backup zum Sichern
von Daten sowie für
andere Anwendungen, z.B. Ausführen
eines Tests, während
mit der Arbeit fortgefahren wird, genutzt. In diesem Fall wird die
logische Platte, die zur Arbeit genutzt wird, kopiert, und die logische
Platte eines Kopiezielortes wird vom Testsystem genutzt. Indem man
dies tut, wird die Arbeit, die unter Verwendung der logischen Platte
der Kopiequelle gerade durchgeführt
wird, nicht beeinflusst, selbst wenn Daten vom Testsystem, das die
logische Platte eines Kopiezielortes nutzt, beschädigt werden.
-
Eine
logische Platte kann auch bei einer Online-Arbeit verwendet werden,
indem die bei einer Online-Arbeit genutzte logische Platte kopiert
und die logische Platte eines Kopiezielortes in einer Batch-Verarbeitung
genutzt wird. Indem man dies tut, wird die Durchführung der
Online-Arbeit, die die logische Platte der Kopiequelle nutzt, durch
die Batch-Verarbeitung nicht beeinflusst.
-
Viele
Fälle wie
z.B. jene, welche ein Kopieren zwischen logischen Platten erfordern,
nehmen zu. Die Arbeit muss jedoch, während die logische Platte kopiert
wird, gestoppt werden. Zum Beispiel kann es eine Stunde dauern,
9 Gigabyte zu kopieren. Unter den Bedingungen eines kontinuierlichen 24-Stunden-Betriebs der letzten
Jahre ist es wünschenswert,
die Stoppzeit der Arbeit möglichst
nahe zu Null zu bringen, indem die Kopierzeit möglichst nahe zu Null gebracht
wird.
-
13 bis 16 sind
Zeichnungen, die den Stand der Technik erläutern. 13 und 14 erläutern ein älteres separates
duales Datenträgersys tem, 15 erläutert ein älteres protokoll-strukturiertes
Dateisystem, und 16 erläutert ein älteres System für simultane
Kopien.
-
Die
folgenden Verfahren sind als Verfahren zum Kopieren von Daten logischer
Platten in einer älteren
RAID-Vorrichtung bekannt.
-
(1) Separates duales Datenträgersystem
-
In
einem System mit einem Host 90 und einer RAID-Vorrichtung 91 wie
in 13 gezeigt wird zuerst eine Kopieanweisung vom
Host 91 wie in 14 gezeigt
gesendet, und der Datenträger
des Kopiezielortes (logische Platte) wird vorbereitet (definiert).
Als Antwort auf eine Anweisung „Paar einrichten" beginnt als nächstes ein
Kopieren oder ein Kopiervorgang von einer primären (logischen Platte der Kopiequelle) 93 zu
einer sekundären
(logischen Platte des Kopiezielortes) 94 (um einen Dualzustand
zu erzeugen). Die Einrichtung eines Paares ist abgeschlossen, nachdem
ein Kopiervorgang beendet ist (nachdem der Dualzustand erzeugt ist).
Nachdem dieser Dualzustand erzeugt ist, wird eine Forderung nach
einem Aktualisierungsprozess vom Host 90 durch die primäre (logische
Platte der Kopiequelle) 93 und die sekundäre (logische
Platte des Kopiezielortes) 94 widergespiegelt. Durch Erteilen
einer Anweisung, die Dualpaare zu trennen, ist ein Kopieren des
logischen Datenträgers
in diesem Zustand abgeschlossen. Wie in 13 gezeigt
ist, ist es nun möglich,
dass verschiedene Hosts (Anwendungen) 90, 95 die
primäre
(logische Platte einer Kopiequelle) 93 und sekundäre (logische
Platte eines Kopiezielortes) 94 nutzen.
-
Wie
in 14 gezeigt ist, kann auf die primäre (logische
Platte einer Kopiequelle) 93 während eines Kopierens zugegriffen
werden; auf die sekundäre (logische
Platte eines Kopiezielortes) kann jedoch während eines Kopierens nicht
zugegriffen werden.
-
(2) Protokoll-strukturiertes
Dateisystem
-
Wie
in 15 gezeigt ist, wurden durch den Host logische
Platten A, B, C definiert. Jeder Datenblock ist in einer physikalischen
Platte 96 gespeichert. Jede der logischen Platten ist durch
einen Datenzeiger der physikalischen Platte 96 definiert.
Kopieren von einer logischen Platte A zu einer logischen Platte
B wird durchgeführt,
indem der Zeiger der logischen Platte B als Zeiger der logischen
Platte A gesetzt wird.
-
Außerdem sind
Aktualisierungsdaten B2 für die
logische Platte B in der physikalischen Platte separat von den ursprünglichen
Daten gespeichert. Indem der Zeiger der logischen Platte B auf den
Zeiger der Aktualisierungsdaten B2 aktualisiert wird, ist es auch
möglich,
die logische Platte B ohne Ändern
der ursprünglichen
Daten A1 bis A6 der logischen Platte A zu aktualisieren.
-
Dieses
Verfahren wird beim Kopieren tatsächlicher Daten nicht befolgt,
und durch Setzen von Zeigern kann die Kopieroperation sofort abgeschlossen
werden.
-
(3) System für simultane
Kopien
-
Wie
in 16 gezeigt ist, liest, wenn von einer Platte 93 einer
Kopiequelle zur Platte 94 eines Kopiezielortes kopiert
wird, der Host 90 die von der Platte (A) der Kopiequelle
zu kopierenden Daten und schreibt mit einer Datenübertragungsfunktion
die Daten auf die Platte 94 des Kopiezielortes. Die Bitmap der
kopierten Adresse wird als kopiert gesetzt.
-
Wenn
es eine Aktualisierungsanforderung für einen nicht kopierten Bereich
der Platte 93 der Kopiequelle während eines Kopiervorgangs
gibt, werden diese Daten der Platte 93 der Kopiequelle
in einer Nebendatei 92 wie durch eine Markierung (1) gezeigt
weggespeichert. Dieser Adressabschnitt der Bitmap wird, während er
in einer Nebendatei weggespeichert wird, wie durch eine Markierung
(2) gezeigt gesetzt. Die Platte 93 der Kopiequelle kann
wie durch eine Markierung (3) gezeigt ebenfalls aktualisiert werden.
Wenn Daten kopiert werden, die in der Nebendatei 92 weggespeichert
wurden, werden die zu kopierenden Daten aus der Nebendatei 92 gelesen und
mit der Datenübertragungsfunktion
wie durch eine Markierung (4) gezeigt auf die Platte 94 des
Kopiezielortes geschrieben. Dieses Verfahren macht es möglich, dass
der Host während
eines Kopiervorgangs auf die Platte 93 der Kopiequelle
verweist und diese aktualisiert.
-
Der
Stand der Technik wies jedoch die folgenden Probleme auf.
- (1) Bei dem in 13 und 14 dargestellten System
mit separaten dualen Datenträgern
ist es nicht möglich,
während
eines Kopierens auf die Platte der Kopiequelle zuzugreifen. Um auf
die Platte der Kopiequelle zuzugreifen, ist es daher notwendig,
zu warten, bis der Kopiervorgang beendet ist. Das Kopieren von 9
Gigabyte dauert z.B. etwa 1 Stunde, so dass es notwendig ist, eine Stunde
zu warten. Daher muss die Operation nach einem Plan durchgeführt werden.
- (2) In dem in 15 gezeigten Protokoll-strukturierten
System ist es möglich,
auf sowohl die logische Platte der Kopiequelle als auch die logische Platte
des Zielortes mit einer Kopieanweisung zuzugreifen; da jedoch nicht
tatsächliche
Daten kopiert werden, können
die Vorteile eines dualen Systems, bei dem Daten auf separaten Platten kopiert
werden, nicht realisiert werden. Mit anderen Worten ist eine Beschädigung an
der logischen Platte der Kopiequelle auch eine Beschädigung an
der logischen Platte des Kopiezielortes, so dass, wenn die physikalische
Platte des Kopiezielortes beschädigt
ist, es auch nicht möglich
ist, die logische Platte der Kopiequelle zu nutzen. Ein Zugreifen
auf die physikalische Platte des Kopiezielortes bedeutet außerdem auch
ein Zugreifen auf die physikalische Platte der Kopiequelle, so dass
es nicht möglich
ist, eine Hochgeschwindigkeitsfunktion aus einer Verwendung separater Platten
zu erzielen.
- (3) In dem in 16 gezeigten System für simultane
Kopien ist ein Zugriff auf die logische Platte der Kopiequelle während eines
Kopierens ebenfalls möglich;
um jedoch auf die logische Platte des Kopiezielortes zuzugreifen,
ist es notwendig, zu warten, bis der Kopiervorgang beendet ist.
-
WO97/24668A
beschreibt ein Sicherungs- oder Backup-System. Das Backup-System
speichert ein Backup-Bild mit Daten von mindestens einem DASD. Die
logischen Dateien und Platten, die gesichert werden, sind synchronisiert,
selbst wenn der Backup-Satz mehrere DASDs überspannt. Die Synchronisierung
kann durch die CPU oder eine Steuervorrichtung initialisiert werden.
Der Detailliertheitsgrad für
Sicherungen oder Backups schließt
logische Platten ein und ist nicht auf Dateien beschränkt. Das Backup-Bild
schließt
Konfigurationsinformation ein, so dass ein Wiederherstellungssystem
einen durch die Wiederherstellung genutzten DASD einrichten kann,
um automatisch die gleiche Konfiguration zu haben. Das Backup-Bild
enthält
auch die DASD-Firmware, was somit das Klonen des gesicherten DASD
weiter verbessert.
-
Patent
Abstracts of Japan Bd. 017 Nr. 557 (P-1626), 07. Oktober 1993 (1993-10-07)
und JP 05158625A beschreiben ein System für Maßnahmen gegen Störungen für eine Speicherungsvorrichtung vom
Array-Typ in einem einen Speicher für einen Ausspeicherungsprozess
zuweisenden Prozess, der von einem Speicher-Controller bei einer
Anweisung zum Starten eines Ausspeicherns von einem Prozessor ausgeführt wird,
wobei eine spezifizierte Speichervorrichtung unter den Speichervorrichtungen, die
die Speichervorrichtung vom Array-Typ bilden, als eine Speichervorrichtung
für einen
Ausspeicherungsprozess vom normalen Eingabe/Ausgabeprozess getrennt
wird. Aktualisierungsdatenblöcke,
die mit einer Information zur Aktualisierungsidentifizierung auf
einem Steuerungsspeicher angegeben sind, werden dann zu dem Prozessor
in einem Ausspeicherungsprozess übertragen,
der bei einer Anforderung eines Ausspeicherungsprozesses, die vom
Prozessor ausgegeben wird, ausgelöst wird. Eine normale Eingabe/Ausgabeanforderung
vom Prozessor im Ausspeicherungsprozess wird von den Speichervorrichtungen
mit Ausnahme der Speichervorrichtung für einen Ausspeicherungsprozess
ausgeführt.
-
US-A-5799147
beschreibt ein Verfahren zur Sicherung vom Computerdateien, welches
Verfahren umfasst: Vorsehen zumindest eines Client-Computers, wie
z.B. eines Personal Computers mit einem Datenspeichermittel wie
z.B. einer Festplatte mit darauf gespeicherten Daten, worauf ein
Datensicherungsschutz erwünscht
ist, und Vorsehen zumindest eines separaten Server-Computers mit
einem Datenspeichermittel wie z.B. einer Festplatte als Sicherungscomputer,
um Daten vom Client-Computer zu empfangen. Das Verfahren sorgt für ein Sichern
und periodisches Aktualisieren von Informationen auf Personal Computern
mit einem Server-Computer, der sich an einem entfernten Ort befindet,
welche Computer durch ein Netzwerksystem verbunden sind.
-
Die
vorliegende Erfindung ist in den beigefügten Ansprüchen definiert, worauf nun
verwiesen werden soll. Bevorzugte Merkmale kann man ferner in den
angefügten
Unteransprüchen
finden.
-
Es
ist ein Gesichtspunkt der vorliegenden Erfindung, ein Kopierverfahren
für logische
Platten, ein Plattenspeichersystem und ein Programm zu schaffen,
die einen Zugriff im Zustand einer abgeschlossenen Kopie gemäß einer
Kopieanweisung sofort ermöglichen,
selbst wenn reelle Daten kopiert werden.
-
Ein
anderer Gesichtspunkt dieser Erfindung besteht darin, ein Kopierverfahren
für logische
Platten, ein Plattenspeichersystem und Programm zu schaf fen, um
einen Zugriff auf eine logische Platte eines Kopiezielortes sogar
während
des Kopierens zu ermöglichen.
-
Ein
weiterer Gesichtspunkt dieser Erfindung ist, ein Kopierverfahren
für logische
Platten, ein Plattenspeichersystem und Programm zu schaffen, um zu
bestimmen, ob der Zugriffsbereich kopiert wurde oder nicht, und
um einen Zugriff auf die logische Platte des Kopiezielortes zu ermöglichen.
-
Gemäß einem
ersten Aspekt der Erfindung wird ein Verfahren zum Kopieren von
Daten von einer logischen Platte einer Kopiequelle zu einer logischen Platten
eines Kopiezielortes gemäß einer
Kopieanweisung geschaffen. Dieses Kopierverfahren umfasst einen
Schritt des Kopierens von Daten, in Einheiten jedes, in der logischen
Platte der Kopiequelle geteilten Bereichs, von der logischen Platte
der Kopiequelle zu der logischen Platte des Kopiezielortes; einen
Schritt eines Unterbrechens des Kopierprozesses als Antwort auf
eine Zugriffsanforderung auf die logische Platte der Kopiequelle
oder die logische Platte des Kopiezielortes während eines Kopierens; und
einen Schritt eines Verarbeitens der Zugriffsanforderung.
-
Der
Schritt der Zugriffsverarbeitung umfasst einen Schritt eines Aktualisierens
eines Ziel-Zugriffsbereichs der logischen Platte der Kopiequelle,
nachdem der Ziel-Zugriffsbereich zu der logischen Platte des Kopiezielortes
kopiert wurde, wenn die Anforderung eine Anforderung zum Aktualisieren
eines nicht kopierten Bereichs der logischen Platte der Kopiequelle
ist; einen Schritt eines Lesens des Ziel-Zugriffsbereichs der logischen
Platte der Kopiequelle, wenn die Anforderung eine Anforderung zum
Verweisen auf einen nicht kopierten Bereich der logischen Platte
des Kopiezielortes ist; und einen Schritt eines Aktualisierens des
Ziel-Zugriffsbereichs der logischen Platte des Kopiezielortes und
eines Verbietens eines Kopierens des Ziel-Zugriffsbereichs, wenn
die Anforderung eine Anforderung zum Aktualisieren eines nicht kopierten
Bereichs der logischen Platte des Kopiezielortes ist.
-
Auf
diese Weise gibt das System sofort eine Rückmeldung Kopie komplett oder
beendet gemäß einer
Kopieanweisung zurück
und empfängt
eine Zugriffsanforderung und führt
einen Verweis- und Aktualisierungszugriff auf die logische Platte
der Kopiequelle oder des Kopiezielortes durch, während tatsächliche Daten kopiert werden.
Um dies zu tun, wird die logische Platte der Kopie quelle in mehrere
Bereiche geteilt und in Einheiten der Bereichsteilungen zu der logischen
Platte des Kopiezielortes kopiert. Wenn es während des Kopierens eine Zugriffsanforderung gibt,
unterbricht sie die Kopieoperation und führt die Zugriffsanforderung
aus.
-
Der
Zugriffsprozess kann in Abhängigkeit
davon geändert
werden, ob der Ziel-Zugriffsbereich ein kopierter Bereich oder nicht
kopierter Bereich ist. Mit anderen Worten ist, wenn ein Verweis-
oder Aktualisierungszugriff eines kopierten Bereichs durchgeführt wird,
da ein Kopieren beendet ist, ein Zugriff erlaubt. Wenn auf der anderen
Seite auf einen nicht kopierten Bereich zugegriffen wird, werden
die Daten, wenn die Kopieanweisung erteilt ist, gesichert, und ein
Zugriff ist dann erlaubt. Wenn mit anderen Worten ein Referenz-
oder Verweiszugriff eines nicht kopierten Bereichs der logischen
Platte der Kopiequelle durchgeführt
wird, ist, da es keine Datenänderung gibt,
ein Zugriff derart erlaubt. Wenn ein Aktualisierungszugriff eines
nicht kopierten Bereichs der logischen Platte der Kopiequelle durchgeführt wird,
würden
die nicht kopierten Daten vor der Aktualisierung verloren werden,
falls eine Aktualisierung derart durchgeführt wird, und so wird der Ziel-Zugriffsbereich
der logischen Platte der Kopiequelle auf die logische Platte des
Kopiezielortes kopiert, wodurch die Daten vor der Aktualisierung
zu der logischen Platte des Kopiezielortes bewegt werden. Der Ziel-Zugriffsbereich
der logischen Platte der Kopiequelle wird danach aktualisiert. Auf
diese Weise ist es möglich,
Daten vor einer Aktualisierung zu kopieren, wenn eine Kopieanweisung
vorliegt.
-
Wenn
ein Verweiszugriff eines nicht kopierten Bereichs der logischen
Platte des Kopiezielortes durchgeführt wird, werden überdies
die Daten dieses Bereichs der logischen Platte der Kopiequelle gelesen,
da ein Kopieren noch nicht beendet ist. Indem man dies tut, ist
es möglich,
auf die Kopiedaten dieses Bereichs zu verweisen, selbst wenn der
Bereich ein nicht kopierter Bereich der logischen Platte des Kopiezielortes
ist, und es wird möglich,
auf Daten zu verweisen, wenn es eine Kopieanweisung gibt, selbst für die logische
Platte des Kopiezielortes.
-
Wenn
ein Aktualisierungsprozess eines nicht kopierten Bereichs der logischen
Platte des Kopiezielortes durchgeführt wird, wird die logische
Platte des Kopiezielortes mit Aktualisierungsdaten aktualisiert.
Ein Kopieren dieses Bereichs wird ebenfalls verboten oder verhindert.
Auf diese Weise ist es möglich
zu verhindern, dass Aktualisierungsdaten des Bereichs der logischen
Platte des Kopiezielortes durch Kopieren geändert werden.
-
Der
Zugriffsschritt kann überdies
einen Schritt eines Verweisens auf den Ziel-Zugriffsbereich der
logischen Platte des Kopiezielortes umfassen, wenn ein Verweiszugriff
der logischen Platte der Kopiequelle vorgenommen wird, und einen
Schritt eines Verweisens auf den Ziel-Zugriffsbereich der logischen
Platte des Kopiezielortes oder dessen Aktualisierens, wenn auf einen
kopierten Bereich der logischen Platte des Kopiezielortes zugegriffen
wird.
-
Der
Schritt eines Verweisens auf einen nicht kopierten Bereich kann
einen Schritt eines Kopierens des Ziel-Zugriffsbereichs der verwiesenen
logischen Platte der Kopiequelle auf die logische Platte des Kopiezielortes
umfassen, nachdem auf den Ziel-Zugriffsbereich der logischen Platte
der Kopiequelle verwiesen wurde. Indem man dies tut, wird es möglich, zusammen
mit einem Verweisen zu kopieren.
-
Der
Kopierschritt umfasst einen Schritt eines Verweisens auf eine Steuerungsinformation,
die die Kopierzustände
der Bereiche angibt, und eines Einstellens des nächsten Kopiebereichs; und einen Schritt
eines Aktualisierens der Steuerungsinformation des Kopiebereichs,
nachdem ein Kopieren des Kopiebereichs geendet hat. Der Zugriffsschritt
kann auch einen Schritt umfassen, bei dem auf die Steuerungsinformation
verwiesen und bestimmt wird, ob der Ziel-Zugriffsbereich ein kopierter Bereich
oder nicht kopierter Bereich ist.
-
Da
es eine Steuerungsinformation gibt, ist es möglich zu verhindern, dass ein
Bereich wieder kopiert wird, selbst wenn die Daten des Ziel-Zugriffsbereichs
zuerst kopiert werden. Da die Steuerungsinformation genutzt wird,
um zu bestimmen, ob der Ziel-Zugriffsbereich ein kopierter Bereich
oder ein nicht kopierter Bereich ist oder nicht, ist es außerdem möglich, genau
zu bestimmen, ob der Zielbereich ein kopierter Bereich oder nicht
kopierter Bereich ist.
-
Der
Zugriffsschritt kann ferner einen Schritt umfassen, bei dem die
Steuerungsinformation des Ziel-Zugriffsbereichs aktualisiert wird,
nachdem der Ziel-Zugriffsbereich
der logischen Platte der Kopiequelle auf die logische Platte des
Kopiezielortes kopiert wurde.
-
Auf
diese Weise ist es möglich,
dass die Steuerungsinformation den Kopierzustand durch eine Zugriffsverarbeitung
genau angibt, selbst wenn ein Kopieren vorher durchgeführt wird.
-
Der
Kopierschritt kann einen Schritt aufweisen, bei dem auf die Steuerungsinformation,
die den Kopiezustand von jedem der Bereiche der logischen Platte
der Kopiequelle angibt, verwiesen wird, und der nächste Kopiebereich
eingestellt wird, einen Schritt, bei dem der Zielbereich der logischen
Platte der Kopiequelle im Speicher gelesen wird, einen Schritt,
bei dem die Steuerungsinformation aktualisiert wird, nachdem der
Zielbereich gelesen wurde, und einen Schritt, bei der der Zielbereich
des Speichers auf die logische Platte des Kopiezielrotes geschrieben
wird.
-
Durch
Lesen des Zielbereichs im Speicher wird es möglich, durch Aktualisieren
der Steuerungsinformation auf die logische Platte der Kopiequelle zuzugreifen.
-
Der
Kopieschritt kann zusätzlich
einen Schritt eines Verweisens auf eine Bitmap, angegeben durch
ein Flag, das den Kopierzustand dieses Bereichs angibt, und Einstellens
des nächsten
Kopiebereichs und einen Schritt eines Aktualisierens der Kopiebereichs-Flag
der Bitmap umfassen.
-
Da
die Steuerungsinformation als eine Bitmap ausgedrückt wird,
ist es möglich,
den Speicherumfang, der von der Steuerungsinformation eingenommen
wird, zu reduzieren.
-
Der
Kopierschritt kann ferner einen Schritt umfassen, bei dem gemeldet
wird, wenn ein Kopieren gemäß der Kopieanweisung
beendet ist. Indem man dies tut, ist es möglich, sofort zu wissen, wann auf
die Zugriffsquelle zugegriffen werden kann.
-
Gemäß einem
zweiten Gesichtspunkt der vorliegenden Erfindung wird ein Plattenspeichersystem
geschaffen, mit: einer logischen Platte, die mit einer physikalischen
Platte aufgebaut ist, einer weiteren logischen Platte, die mit einer
anderen physikalischen Platte aufgebaut ist, und einer Plattensteuerschaltung
(Controller), um auf die Daten einer spezifizierten logischen Platte
gemäß einer
Zugriffsanweisung zuzugreifen, und die Daten in Einheiten von Bereichsteilungen
der logischen Platte der Kopiequelle auf die logische Platte des
Kopiezielortes gemäß einer
Kopieanweisung zu kopieren.
-
Wenn
ein Aktualisierungszugriff eines nicht kopierten Bereichs der logischen
Platte der Kopiequelle vorgenommen wird, aktualisiert diese Plattensteuerungsschaltung
den Ziel-Zugriffsbereich der logischen Platte der Kopiequelle, nachdem
er auf die logische Platte des Kopiezielortes kopiert wurde. Wenn
ein Referenz- oder Verweiszugriff eines nicht kopierten Bereichs
der logischen Platte des Kopiezielortes durchgeführt wird, liest die Plattensteuerungsschaltung
den Ziel-Zugriffsbereich der logischen Platte der Kopiequelle. Wenn
ein Aktualisierungszugriff eines nicht kopierten Bereiches der logischen
Platte des Kopiezielortes durchgeführt wird, aktualisiert die
Plattensteuerungsschaltung den Ziel-Zugriffsbereich der logischen
Platte des Kopiezielortes und verbietet ein Kopieren des Ziel-Zugriffsbereichs.
-
Wie
oben erwähnt
wurde, wird es, indem dies tut, möglich, auf die Platten der
Kopiequelle und des Kopiezielortes zuzugreifen, und gemäß einer
Kopieanweisung kann der Host unmittelbar auf die logischen Platten
des Kopiezielortes und der Kopiequelle zugreifen. Außerdem ist
es möglich,
einen Kopie-Wartezustand
zu vermeiden.
-
Das
Plattenspeichersystem der Erfindung weist einen Speicher zum Speichern
der Steuerungsinformation auf, die dem Kopierzustand des Bereichs der
logischen Platte der Kopiequelle angibt, und die Steuerungsschaltung
verweist auf die in diesem Speicher gespeicherte Steuerungsinformation
und bestimmt, ob der Ziel-Zugriffsbereich ein kopierter Bereich
oder nicht kopierter Bereich ist.
-
Gemäß einem
dritten Gesichtspunkt der vorliegenden Erfindung wird ein Programm
geschaffen, das die Schritte des Verfahrens nach Anspruch 1 ausführt.
-
Das
Programm wird vorzugsweise auf einem Speichermedium gespeichert,
das auch die zu kopierenden Informationen enthalten kann.
-
Nun
wird beispielhaft eine Beschreibung der Erfindung mit Verweis auf
die beiliegenden Zeichnungen geliefert, in denen:
-
1 ein
Blockdiagramm einer Plattensteuervorrichtung einer Ausführungsform
dieser Erfindung ist;
-
2 ein
Flussdiagramm eines Kopierprozesses einer Ausführungsform dieser Erfindung
ist;
-
3A bis 3D Zeichnungen
sind, die eine Bitmap in 1 erläutern;
-
4 ein
Flussdiagramm eines Referenz- oder Verweisprozesses während eines
Kopierens einer Ausführungsform
dieser Erfindung ist;
-
5 ein
Flussdiagramm eines Aktualisierungsprozesses während eines Kopierens einer
Ausführungsform
dieser Erfindung ist;
-
6 eine
Zeichnung ist, die ein Zugriffsmuster während eines Kopierens erläutert;
-
7 eine
Zeichnung ist, die eine Verweisoperation eines kopierten Teils einer
Kopiequelle einer Ausführungsform
dieser Erfindung erläutert;
-
8 eine
Zeichnung ist, die eine Aktualisierungsoperation eines kopierten
Teils der Kopiequelle einer Ausführungsform
dieser Erfindung erläutert;
-
9 eine
Zeichnung ist, die eine Verweisoperation eines nicht kopierten Teils
der Kopiequelle einer Ausführungsform
dieser Erfindung erläutert;
-
10 eine
Zeichnung ist, die eine Aktualisierungsoperation eines nicht kopierten
Teils eines Kopiezielortes einer Ausführungsform dieser Erfindung
erläutert;
-
11 eine
Zeichnung ist, die eine Aktualisierungsoperation eines nicht kopierten
Teils der Kopiequelle einer Ausführungsform
dieser Erfindung erläutert;
-
12 eine
Zeichnung ist, die eine Aktualisierungsoperation eines nicht kopierten
Teils der Kopiequelle einer Ausführungsform
dieser Erfindung erläutert;
-
13 ein
Diagramm ist, das ein früheres separates
duales Datenträgersystem
zeigt;
-
14 eine
Zeichnung ist, die die Operation des früheren separaten dualen Datenträgersystems erläutert;
-
15 eine
Zeichnung ist, die ein früheres protokoll-strukturiertes
System erläutert;
-
16 eine
Zeichnung ist, die ein früheres System
für simultane
Kopien erläutert.
-
BESCHREIBUNG
DER BERVORZGUTEN AUSUFÜHRUNGSFORMEN
-
1 ist
ein Blockdiagramm einer RAID-Vorrichtung einer Ausführungsform
dieser Erfindung, 2 ist ein Flussdiagramm eines
Kopierprozesses von 1, und 3 erläutert einen Bitmap-Speicher
von 1.
-
Wie
in 1 gezeigt ist, ist eine logische Platte 1 eine
oder mehrere physikalische Platten. Eine Magnetplatte oder optische
Platte kann als die physikalische Platte genutzt werden. Eine logische Platte 2 ist
eine oder mehrere physikalische Platten. Ein Platten-Controller 3 greift
auf die logischen Platten 1 und 2 gemäß Anweisungen
von einem Host zu.
-
Der
Platten-Controller 3 umfasst einen Prozessor (CPU) 4 und
einen Speicher (Hauptspeicher) 5. Der Speicher 5 hat
einen Cache-Bereich (Cache-Speicher
genannt) 7 für
die logische Platte 1 und einen Cache-Bereich (Cache-Speicher genannt) 9 für die logische
Platte 2. Der Speicher 5 hat auch einen Bitmap-Bereich
(Bitmap genannt) 6, um den Kopierstatus der logischen Platte 1 zu
steuern, und einen Bitmap-Bereich (Bitmap) 8, um den Kopiestatus der
logischen Platte 2 zu steuern.
-
Mit
anderen Worten weisen, wie in 3 gezeigt
ist, die Bitmaps 6, 8 jedem Datenblock im Kopiebereich
der logischen Platten 1, 2 ein Bit zu und steuern
den Kopiestatus der Datenblöcke,
in dem „1" nicht kopierten
Blöcken
zugewiesen wird und „0" kopierten Blöcken zugewiesen
wird. Ein Kopieprogramm wird als die Firmware des Prozessors 4 genutzt.
Außerdem
nutzt es die Bitmaps 6, 8, um den Kopiebereich
der logischen Platten in Einheiten von Datenblöcken zu gruppieren.
-
Der
Kopierprozess wird mit Verweis auf das Flussdiagramm des Kopierprozesses,
gezeigt in 2, erläutert. Die logische Platte 1 ist
hier eine Kopiequelle, und die logische Platte 2 ist hier
ein Kopiezielort.
-
(S1)
Beim Start eines Kopierens oder Kopiervorgangs gibt der Host eine
Kopieanweisung an den Platten-Controller 3. Nachdem der
Prozessor 4 die Kopieanweisung empfängt, meldet er dem Host, dass
ein Kopieren abgeschlossen ist. Dies macht es möglich, dass der Host auf die
logischen Platten 1, 2 zugreift.
-
(S2)
Der Prozessor 4 setzt die Aktualisierungsinformation der
Bitmap 8 des Kopiezielortes auf nicht aktualisiert. Wie
in 3B gezeigt ist, ist jedes Bit der Bitmaps auf „1" gesetzt, was angibt,
dass sie nicht kopiert ist.
-
(S3)
Der Prozessor 4 verweist auf die Bitmap 6 der
Kopiequelle und stellt die Information des nicht kopierten Blocks
bereit (1). Außerdem
weist der Prozessor 4 an, dass die Zielblöcke in der
logischen Platte 1 der Kopiequelle gelesen werden (2).
Indem dies getan wird, werden die Ziel-Datenblöcke der logischen Platte 1 der
Kopiequelle im Cache-Speicher 7 der Kopiequelle gespeichert.
Dies wird „Staging" oder „Bereitstellung" genannt (3).
-
(S4)
Der Prozessor 4 kopiert die nicht kopierten Datenblöcke, die
aus dem Cache-Speicher 7 der Kopiequelle gelesen wurden,
zum Cache-Speicher 9 des Kopiezielortes.
-
(S5)
Der Prozessor 4 setzt die Aktualisierungsblockinformation
der Bitmap 6 der Kopiequelle und der Bitmap 8 des
Kopiezielortes auf „0", was angibt, dass
eine Aktualisierung abgeschlossen wurde. 3C zeigt
diesen Zustand. Außerdem
weist der Prozessor 4 an, dass die nicht kopierten Datenblöcke, die
in den Cache-Speicher 9 kopiert wurden, auf die logische
Platte 2 des Kopiezielortes geschrieben werden (7). Indem
man dies tut, werden die nicht kopierten Datenblöcke, die in den Cache-Speicher 9 kopiert
wurden, auf die logische Platte 2 geschrieben. Dies wird „Write
Back" oder „Zurückschreiben" genannt (8).
-
(S6)
Der Prozessor 4 verweist auf die Aktualisierungsblockinformation
der Bitmap 6 der Kopiequelle und bestimmt, ob es etwaige übrige Datenblöcke gibt,
die kopiert werden sollten. Wenn es übrige Datenblöcke gibt,
die kopiert werden sollten, kehrt der Prozess zu Schritt S3 zurück. Falls
es auf der anderen Seite keine übrigen
Datenblöcke
gibt, die kopiert werden sollten, endet dann das Kopieren.
-
Wenn
eine I/O-Anforderungsunterbrechung für die logischen Platten 1, 2 der
Kopiequelle oder des Kopiezielortes zwischen Schritten S3 bis S7
auftritt (Bereich, angegeben durch Pfeile in 2), wird der
Kopierprozess unterbrochen, und jener Zugriffsprozess wird durchgeführt (später unter
Verwendung von 4 bis 12 beschrieben).
-
4 ist
ein Flussdiagramm eines Prozesses, um während eines Kopierens auf die
logischen Platten zu verweisen. 5 ist ein
Flussdiagramm eines Prozesses, um die logischen Platten während eines
Kopierens zu aktualisieren. 6 erläutert ein Zugriffsmuster,
um während
eines Kopierens auf die logischen Platten zuzugreifen, während 7 bis 12 diese
Operationen erläu tern. 7 ist
eine Zeichnung, die die Verweisoperation eines kopierten Teils der
Kopiequelle erläutert. 8 ist
eine Zeichnung, die eine Aktualisierungsoperation eines kopierten
Teils einer Kopierquelle erläutert. 9 ist
eine Zeichnung, die eine Verweisoperation eines nicht kopierten
Teils der Kopiequelle erläutert. 10 ist
eine Zeichnung, die eine Aktualisierungsoperation eines nicht kopierten
Teils des Kopiezielortes erläutert. 11 ist
eine Zeichnung, die eine Aktualisierungsoperation eines nicht kopierten
Teils der Kopiequelle erläutert. 12 ist
eine Zeichnung, die eine Aktualisierungsoperation eines nicht kopierten
Teils des Kopiezielortes erläutert.
-
4 wird
verwendet, um den Referenz- oder Verweisprozess während eines
Kopierens zu erläutern.
-
(S10)
Wenn der Prozessor 4 eine Verweisanweisung (Lesen) detektiert,
bestimmt er, ob ein aktuelles Kopieren im Gange ist. Wenn kein aktuelles
Kopieren im Gange ist, geht der Prozess weiter zu einem normalen
Verweisprozess von Schritt S15.
-
(S11)
Wenn aktuelles Kopieren im Gange ist, bestimmt der Prozessor 4,
ob die Verweisanweisung eine Verweisanforderung für die Kopiequelle
ist. Wenn die Verweisanweisung eine Verweisanforderung für die Kopiequelle
ist (Zugriffsmuster 1, 3 in 6), geht
der Prozess weiter zum normalen Verweisprozess von Schritt S15.
-
(S12)
Wenn die Verweisanweisung nicht die Verweisanforderung für die Kopiequelle
ist, ist die Anforderung eine Verweisanforderung für den Kopiezielort.
Der Prozessor 4 verweist dann auf die Bitmap 8 und
bestimmt, ob der angeforderte Verweisbereich ein nicht kopierter
Teil ist oder nicht. Wenn die Anforderung keine Verweisanforderung
für einen
nicht kopierten Teil des Kopiezielortes ist oder wenn mit anderen
Worten die Anforderung eine Verweisanforderung für einen kopierten Teil des
Kopiezielortes ist (Zugriffsmuster 5 in 6), geht
der Prozess zum normalen Verweisprozess von Schritt S15 weiter.
-
(S13)
Wie in 10 gezeigt ist, weist, wenn die
Anforderung eine Verweisanforderung für einen nicht kopierten Teil
des Kopiezielortes ist (Zugriffsmuster 7 in 6), der
Prozessor 4 an, dass die Zielblöcke von der logischen Platte 1 der
Kopiequelle gelesen werden, und stellt die Ziel-Datenblöcke der logischen
Platte der Kopiequelle im Cache-Speicher 7 der Kopiequelle
bereit. Als nächstes
kopiert er die nicht kopierten Datenblöcke, die in den Cache-Speicher 7 der
Kopiequelle gelesen wurden, zum Cache-Speicher 9 des Kopiezielortes.
Die nicht kopierten Datenblöcke
im Cache-Speicher 9 werden zum Host (Anwendung) 10 übertragen.
Der Prozessor 4 weist dann an, dass die nicht kopierten
Datenblöcke, die
in den Cache-Speicher 9 kopiert wurden, auf die logische
Platte 2 des Kopiezielortes geschrieben werden, und dann
die nicht kopierten Datenblöcke, die
in den Cache-Speicher 9 kopiert wurden, auf die logische
Platte 2 geschrieben werden. Der Prozessor 4 setzt
die Aktualisierungsblockinformation für die Bitmap 6 der
Kopiequelle und Bitmap 8 des Kopiezielortes auf „0", was angibt, dass
eine Aktualisierung abgeschlossen wurde.
-
(S14)
Der Prozessor 4 bestimmt, ob es etwaige Datenblöcke der
verwiesenen Blöcke
gibt, die noch übrig
sind. Falls noch einige Datenblöcke
der verwiesenen Blöcke übrig sind,
kehrt der Prozess zu Schritt S13 zurück. Wenn es keine übrigen Datenblöcke der
verwiesenen Blöcke
gibt, endet der Verweisprozess.
-
(S15)
Bei einer normalen Referenz- oder Verweisverarbeitung liest der
Prozessor 4 die spezifizierten Verweisblöcke aus
der logischen Platte 1 oder 2 und überträgt sie zum
Host. Eine Verarbeitung endet dann.
-
Außerdem erfolgt
die Verweisoperation der kopierten Teile der Kopiequelle (Zugriffsmuster
1 in 6) wie in 7 gezeigt.
Die Referenz- oder Verweisoperation nicht kopierter Teile der Kopiequelle (Zugriffsmuster
3 in 6) erfolgt ebenfalls wie in 9 gezeigt. Überdies
ist die Verweisoperation kopierter Teile des Kopiezielortes (Zugriffsmuster
5 in 6) die gleiche wie die in 7 dargestellte.
-
Als
nächstes
wird mit Verweis auf 5 ein Aktualisierungsprozess
während
eines Kopierens erläutert.
-
(S20)
Wenn der Prozessor 4 eine Aktualisierungsanweisung (Schreiben)
detektiert, bestimmt er dann, ob ein aktuelles Kopieren im Gange
ist. Wenn eine aktuelle Verarbeitung nicht im Gange ist, geht der
Prozess zu einer normalen Aktualisierungsverarbeitung von Schritt
S28 weiter.
-
(S21)
Wenn ein aktuelles Kopieren im Gange ist, bestimmt dann der Prozessor 4,
ob es eine Aktualisierungsanforderung für die Kopiequelle gibt.
-
(S22)
Wenn es eine Aktualisierungsanforderung für die Kopiequelle gibt, verweist
der Prozessor 4 auf die Bitmap 6 und bestimmt,
ob der angeforderte Aktualisierungsbereich ein nicht kopierter Teil
ist oder nicht. Wenn die Anforderung keine Aktualisierungsanforderung
für nicht
kopierte Teile der Kopiequelle ist oder wenn mit anderen Worten
die Anforderung eine Aktualisierungsanforderung für kopierte
Teile der Kopiequelle ist (Zugriffsmuster 2 in 6),
geht der Prozess weiter zu einer normalen Aktualisierungsverarbeitung
von Schritt S28.
-
(S23)
Wie in 11 gezeigt ist, weist, wenn die
Anforderung eine Aktualisierungsanforderung für nicht kopierte Teile der
Kopiequelle ist (Zugriffsmuster 4 in 6), dann
der Prozessor 4 an, dass die Ziel-Aktualisierungsblöcke von
der logischen Platte 1 der Kopiequelle gelesen werden,
und stellt die Ziel-Aktualisierungsdatenblöcke von
der logischen Platte 1 der Kopiequelle im Cache-Speicher 7 der
Kopiequelle bereit. Als nächstes
kopiert er die Ziel-Aktualisierungsdatenblöcke, die in den Cache-Speicher 7 gelesen
wurden, zum Speicher 9 des Kopiezielortes. Der Prozessor 4 weist
an, dass die Ziel-Aktualisierungsdatenblöcke, die in den Cache-Speicher 9 kopiert
worden, auf die logische Platte 2 des Kopiezielortes geschrieben
werden. Die Ziel-Aktualisierungsdatenblöcke, die in den Cache-Speicher 9 kopiert
wurden, werden dann auf die logische Platte 2 geschrieben.
Der Prozessor 4 setzt die Aktualisierungsblockinformation
der Bitmap 6 der Kopiequelle und der Bitmap 8 des
Kopiezielortes auf „0", was angibt, dass
eine Aktualisierung abgeschlossen wurde. Außerdem schreibt der Prozessor 4 die
Aktualisierungsdatenblöcke,
die vom Host zum Cache-Speicher 7 übertragen wurden, auf die logische
Platte 1.
-
(S24)
Der Prozessor 4 bestimmt, ob es noch etwaige übrige Datenblöcke der
Aktualisierungsdaten gibt. Wenn es noch übrige Datenblöcke von
Aktualisierungsdaten gibt, kehrt der Prozess zu Schritt S23 zurück. Wenn
es keine übrigen
Datenblöcke
der Aktualisierungsdaten gibt, endet der Aktualisierungsprozess.
-
(S25)
Wenn die Anforderung in Schritt S21 keine Aktualisierungsanforderung
für die
Kopiequelle ist, ist sie dann eine Aktualisierungsanforderung für den Kopiezielort.
Der Prozessor 4 verweist auf die Bitmap 8 und
bestimmt, ob der angeforderte Aktualisierungsbereich ein nicht kopierter
Teil ist oder nicht. Wenn die Anforderung keine Aktualisierungsanforderung
für nicht
kopierte Teile des Kopiezielortes ist oder wenn mit anderen Worten
die Anforderung eine Aktualisierungsanforderung für kopierte
Teile des Kopiezielortes ist (Zugriffsmuster 6 in 6),
geht dann der Prozess weiter zur normalen Aktualisierungsverarbeitung
von Schritt S28.
-
(S26)
Wenn die Anforderung eine Aktualisierungsanforderung für nicht
kopierte Teile des Kopiezielortes ist (Zugriffsmuster 8 in 6),
weist dann, wie in 12 gezeigt ist, der Prozessor 4 an,
dass die Aktualisierungsdatenblöcke,
die im Cache-Speicher 9 gespeichert sind, geschrieben werden.
Die Aktualisierungsdatenblöcke,
die im Cache-Speicher 9 gespeichert sind, werden dann auf
die logische Platte 2 geschrieben. Der Prozessor 4 setzt
die Aktualisierungsblockinformation der Bitmap 6 der Kopiequelle und
der Bitmap 8 des Kopiezielortes auf „0", was angibt, dass eine Aktualisierung
abgeschlossen wurde. Indem man dies tut, ist ein Kopieren dieses
Bereichs durch die Kopieoperation verboten.
-
(S27)
Der Prozessor 4 bestimmt, dass es noch übrige Datenblöcke von
Aktualisierungsdaten gibt. Wenn es noch übrige Datenblöcke von
Aktualisierungsdaten gibt, kehrt der Prozess zu Schritt S26 zurück. Wenn
es keine Datenblöcke
von Aktualisierungsdaten gibt, endet der Aktualisierungsprozess.
-
(S28)
Bei einer normalen Aktualisierungsverarbeitung schreibt der Prozessor
die Aktualisierungsdatenblöcke,
die vom Host zum Cache-Speicher 7 oder 9 übertragen
wurden, auf die spezifizierte logische Platte 1 oder 2.
Der Aktualisierungsprozess endet dann.
-
Die
Aktualisierungsoperation der kopierten Teile der Kopiequelle (Zugriffsmuster 2 in 6)
ist wie in 8 gezeigt. Die Aktualisierungsoperation kopierter
Teile des Kopiezielortes (Zugriffsmuster 6 in 6)
ist auch die gleiche wie in 8 gezeigt.
-
Die
oben beschriebenen Operationen zusammenfassend gibt es insgesamt
acht Zugriffsmuster vom Host während
eines Kopierens, wie in 6 gezeigt ist. Beim Verweisen
auf kopierte Teile der logischen Platten 1, 2 der
Kopiequelle oder des Kopiezielortes (Zugriffsmuster 1, 5) werden
Datenblöcke von
Referenz- oder Verweisdaten von der spezifizierten logischen Platte 1 oder 2 im
Cache-Speicher 7, 9 bereitgestellt, und der Host
wird dann über
die bereitgestellten Datenblöcke
informiert (sehe 7). Diese Verarbeitung wird
durch den kopierten/nicht kopierten Status der Datenblöcke beeinflusst
und ist identisch mit einer normalen Verweisverarbeitung.
-
Beim
Aktualisieren kopierter Teile der logischen Platte 1, 2 der
Kopiequelle oder des Kopiezielortes (Zugriffsmuster 2, 6) werden
Datenblöcke
in dem Cache-Speicher 7, 9, spezifiziert vom Host,
aktualisiert und in der logischen Platte 1, 2 der
Kopiequelle oder des Kopiezielortes geschrieben (siehe 8).
Bei diesem Prozess werden die Datenblöcke kopiert, so dass der Prozess
der gleiche wie eine normale Aktualisierungsverarbeitung ist.
-
Verweisend
auf nicht kopierte Teile der logischen Platte der Kopiequelle (Zugriffsmuster
3) werden die Datenblöcke
der Referenz- oder Verweisdaten von der logischen Platte 1 der
Kopiequelle im Cache-Speicher 7 bereitgestellt, und der
Host wird dann über
die bereitgestellten Datenblöcke
informiert (siehe 9). Dieser Prozess wird durch
den kopierten/nicht kopierten Status der Datenblöcke beeinflusst und ist somit
identisch mit einer normalen Verweisverarbeitung.
-
Bei
diesem Prozess kann ein Kopieren auch durchgeführt werden, indem die bereitgestellten
Datenblöcke
auf die logische Platte 2 des Kopiezielortes geschrieben
werden. Wenn man dies tut, ist es auch möglich, nur das oben beschriebene
Verweisen durchzuführen
und ein Kopieren später
vorzunehmen.
-
Beim
Aktualisieren nicht kopierter Teile der logischen Platte 1 der
Kopiequelle (Zugriffsmuster 4) werden die Ziel-Aktualisierungsdatenblöcke der
logischen Platte 1 der Kopiequelle auf die logische Platte 2 des
Kopiezielortes geschrieben (kopiert). Wenn man dies tut, werden,
wie in 3D gezeigt ist, die Aktualisierungsbits
der Bitmap 6, 7, die den Kopiezustand steuern,
auf den kopierten Zustand aktualisiert, und ein Kopieren dieses
Datenblockbereichs wird als abgeschlossen gesetzt. Die Aktualisierungsdatenblöcke vom
Host werden dann auf die logische Platte 1 der Kopiequelle
geschrieben (siehe 11).
-
Beim
Verweisen auf nicht kopierte Teile der logischen Platte 2 des
Kopiezielortes (Zugriffsmuster 7) werden im Cache-Speicher 9 Ziel-Verweisdatenblöcke von
der logischen Platte 1 der Kopiequelle bereitgestellt,
und der Host wird dann über
die bereitgestellten Datenblöcke
informiert. Die bereitgestellten Datenblöcke werden auch auf die logische
Platte 2 des Kopiezielortes geschrieben (siehe 10).
Wie in 3D gezeigt ist, werden, wenn
man dies tut, die Aktualisierungsbits für die Datenblöcke der
Bitmaps 6, 8, die den Kopiezustand steuern, auf
den kopierten Zustand aktualisiert, und ein Kopieren dieses Datenblockbereichs
wird als abgeschlossen gesetzt.
-
Beim
Aktualisieren nicht kopierter Teile der logischen Platte 2 des
Kopiezielortes (Zugriffsmuster 8) werden die Aktualisierungsdatenblöcke vom
Host auf die logische Platte 2 des Kopiezielortes geschrieben
(siehe 12). Wie in 3D gezeigt
ist, werden zu dieser Zeit Aktualisierungsbits der Bitmaps 6, 8,
die den Kopierzustand steuern, auf den kopierten Zustand aktualisiert,
und ein Kopieren dieses Datenblockbereichs wird als abgeschlossen
gesetzt. Deshalb wird ein Kopieren von der Kopiequelle dieses Datenblockbereich
auf den Kopiezielort verboten oder verhindert.
-
Auf
diese Weise wird ein Kopieren durchgeführt, indem der Kopieumfang
in mehrere Bereiche geteilt wird und in Einheiten dieser Bereichsteilungen kopiert
wird. Daher ist es möglich,
eine I/O-Anforderung von einem Host zu empfangen und diese I/O-Anforderung
während
des Kopierprozesses zu verarbeiten. Außerdem ist es möglich, sofort
auf eine logische Platte zuzugreifen, selbst wenn eine Kopieanweisung
empfangen wird.
-
Wenn
ein Aktualisierungszugriff eines nicht kopierten Bereichs der logischen
Platte der Kopiequelle durchgeführt
wird, wird außerdem
der nicht kopierte Bereich der logischen Platte der Kopiequelle aktualisiert,
nachdem er auf die logische Platte de Kopiezielortes kopiert ist.
Deshalb ist es möglich
zu verhindern, dass die Kopiedaten der logischen Platte des Kopiezielortes
die aktualisierten Daten aufgrund des Aktualisierungszugriffes werden.
-
Wenn
ein Verweiszugriff eines nicht kopierten Bereichs der logischen
Platte des Kopiezielortes durchgeführt wird, werden überdies
die Daten des entsprechenden Bereichs der logischen Platte der Kopiequelle
gelesen und übertragen.
Deshalb ist es möglich,
Kopiedaten zu liefern, selbst wenn ein Verweiszugriff eines nicht
kopierten Bereichs der logischen Platte des Kopiezielortes durchgeführt wird. Es
ist auch möglich,
den Prozess eines Kopierens für Daten
des von der logischen Platte der Kopiequelle gelesenen Bereichs
zu der logischen Platte des Kopiezielortes wie in dieser Ausführungsform
zu kopieren. Indem man dies tut, ist es möglich, die gelesenen Daten
im Kopierprozess zu verwenden.
-
Wenn
ein Aktualisierungszugriff eines nicht kopierten Bereichs der logischen
Platte des Kopiezielortes durchgeführt wird, werden überdies
die Daten des entsprechenden Bereichs der logischen Platte des Kopiezielortes
mit Aktualisierungsdaten aktualisiert, und da ein Kopieren auf diesen
Bereich verboten ist, ist es möglich
zu verhindern, dass die Aktualisierungsdaten durch Kopiedaten geändert werden.
-
Da
eine Steuerungsoperation zum Steuern des Kopiezustandes jedes Bereichs
mittels einer Bitmap oder dergleichen genutzt wird, ist es auch
einfach, zu bestimmen, ob der Bereich ein kopierter Bereich oder
nicht kopierter Bereich ist. Es ist außerdem möglich zu verhindern, dass während einer
Zugriffsverarbeitung erneut- oder rückkopiert wird, selbst wenn
der Zugriffsbereich vor einem Kopieren eines anderen Bereichs kopiert
wird. Ähnlich
ist es möglich zu
verhindern, dass Aktualisierungsdaten durch Kopiedaten ersetzt werden,
selbst wenn die logische Platte eines Kopiezielortes aktualisiert
wird.
-
Die
Steuerungsinformation ist eine Bitmap, und somit ist es möglich, ein
Kopieren mit einem geringen Umfang davon zu steuern. Es gibt separate Bitmaps 6, 8,
für jede
logische Platte; es ist jedoch auch möglich, eine gemeinsame Bitmap
für jede
logische Platte zu verwenden.
-
Außerdem ist
es möglich,
herkömmliche
Zugriffstechnologie zu nutzen, bei der ein Cache-Speicher verwendet
wird, selbst wenn auf die logischen Platten 1, 2 zugegriffen
wird oder diese kopiert werden. Mit anderen Worten wird in einem
System, in dem ein Teil der Daten der physikalischen Platte in einem
Cache-Speicher bereitgestellt wird, auf die logische Platte zugegriffen,
indem zuerst auf den Cache-Speicher zugegriffen wird und die entsprechenden
Blockdaten gefunden werden. Wenn die entsprechenden Blockdaten in
dem Cache-Speicher
nicht bereitgestellt sind, werden die Blockdaten durch Zugreifen
auf diese physikalische Platte erhalten. Das Gleiche gilt, wenn
eine Aktualisierung durchgeführt wird.
Die Daten in dem Cache-Speicher werden aktualisiert. Diese Art eines
herkömmlichen
Cache-Speichers kann genutzt werden. Auf diese Weise umfassen die
logischen Platten 1, 2 eine physikalische Platte
und einen Cache-Speicher.
-
Neben
der oben beschriebenen Ausführungsform
kann die Erfindung wie folgt geändert
werden.
- (1) In der oben beschriebenen Ausführungsform führt der
Prozessor 4 des Platten-Controllers 3 den Kopierprozess
aus; es ist jedoch auch möglich,
dass der Host eines Servers oder dergleichen den Kopierprozess ausführt. Es
ist ebenfalls möglich,
sich des Platten-Controllers 3 zu entledigen, indem man
den Host eines Servers oder dergleichen die Kopier- und Zugriffsprozesse
ausführen
lässt.
- (2) Während
eines Verweiszugriffs eines nicht kopierten Bereichs der logischen
Platte des Kopiezielorts wird auf die logische Platte der Kopiequelle
Bezug genommen oder verwiesen, und sie wird auf die logische Platte
des Kopiezielortes kopiert; es ist jedoch ebenfalls möglich, separat
auf die logische Platte der Kopiequelle zu verweisen und auf die
logische Platte des Kopiezielortes zu kopieren.
-
Die
bevorzugte Ausführungsform
der vorliegenden Erfindung wurde erläutert; die Erfindung ist jedoch
nicht auf diese Ausführungsform
beschränkt und
kann in verschiedenen Formen innerhalb des Umfangs der beigefügten Ansprüche verkörpert werden.
-
In
einer anderen Form dieser Erfindung umfasst der Zugriffsschritt
ferner einen Schritt, bei dem auf den Ziel-Zugriffsbereich der logischen
Platte der Kopiequelle verwiesen wird, wenn ein Verweiszugriff der
logischen Platte der Kopiequelle durchgeführt wird, und einen Schritt,
bei dem auf den Ziel-Zugriffsbereich der logischen Platte des Kopiezielorts
verwiesen oder dieser aktualisiert wird, wenn auf kopierte Bereiche
der logischen Platte des Kopiezielortes zugegriffen wird.
-
In
einer weiteren Form dieser Erfindung umfasst der Schritt, bei dem
auf einen nicht kopierten Bereich der logischen Platte des Kopiezielortes
verwiesen wird, einen Schritt, bei dem der Ziel-Zugriffsbereich
der logischen Platte der Kopiequelle, worauf verwiesen wurde, auf
die logische Platte des Kopiezielortes kopiert wird, nachdem auf
den Ziel-Zugriffsbereich der logischen Platte der Kopiequelle verwiesen
wurde. Indem man dies tut, wird es möglich, gleichzeitig zu kopieren
und zu verweisen.
-
In
einer anderen Form der Erfindung umfasst der Zugriffsschritt ferner
einen Schritt, bei dem die Steuerungsinformation des Ziel-Zugriffsbereichs
aktu alisiert wird, nachdem der Ziel-Zugriffsbereich der logischen
Platte der Kopiequelle auf die logische Platte des Kopiezielortes
kopiert wurde.
-
Auf
diese Weise ist es möglich,
dass die Steuerungsinformation die Kopierbedingung über die Zugriffsverarbeitung
genau angibt, selbst wenn ein Kopiervorgang vorher durchgeführt wird.
-
In
einer anderen Form der Erfindung umfasst der Kopierschritt einen
Schritt, bei dem auf die Steuerungsinformation verwiesen wird, die
die Kopierbedingung jedes der Bereiche der logischen Platte der Kopiequelle
angibt, und der nächste
Kopiebereich eingestellt wird, einen Schritt, bei dem der Zielbereich der
logischen Platte der Kopiequelle im Speicher gelesen wird, einen
Schritt, bei dem die Steuerungsinformation aktualisiert wird, nachdem
der Zielbereich gelesen wurde, und einen Schritt, bei dem der Zielbereich
des Speichers auf die logische Platte des Kopiezielorts geschrieben
wird.
-
Durch
Lesen des Zielbereichs im Speicher wird es möglich, durch Aktualisieren
der Steuerungsinformation auf die logische Platte der Kopiequelle zuzugreifen.
-
In
einer weiteren Form der Erfindung umfasst der Kopierschritt einen
Schritt, bei dem auf eine Bitmap verwiesen wird, angegeben durch
ein Flag, das den Kopierzustand jedes Bereichs angibt, und der nächste Kopierbereich
eingestellt wird, und einen Schritt, bei dem das Kopiebereich-Flag
der Bitmap aktualisiert wird.
-
Da
die Steuerungsinformation als Bitmap ausgedrückt wird, ist es möglich, den
von der Steuerungsinformation eingenommenen Speicherumfang zu reduzieren.
-
In
einer weiteren Form der Erfindung umfasst der Kopierschritt ferner
einen Schritt, bei dem mitgeteilt wird, wann ein Kopieren gemäß der Kopieanweisung
beendet ist. Indem man dies tut, ist es möglich, sofort zu wissen, wann
auf die Zugriffsquelle zugegriffen werden kann.
-
Wie
oben erläutert
wurde, hat die vorliegende Erfindung die folgenden Effekte.
- (1) Die logische Platte der Kopiequelle wird
in mehrere Bereiche aufgeteilt, und ein Kopieren auf die logische
Platte des Kopiezielortes wird in Einheiten von Bereichsteilungen
durchgeführt.
Wenn es eine Zugriffsanforderung gibt, während ein Kopiervorgang im
Gange ist, wird die Kopieroperation unterbrochen und die Zugriffsoperation
wird ausgeführt.
Deshalb ist es möglich,
die Zugriffsanforderung zu empfangen und einen Verweiszugriff oder
Aktualisierungszugriff der logischen Platten der Kopiequelle und
des Kopiezielortes durchzuführen,
während
tatsächliche
Daten kopiert werden.
- (2) Wenn ein Aktualisierungszugriff eines nicht kopierten Bereichs
der logischen Platte der Kopiequelle vorgenommen wird, wird auch
der Ziel-Zugriffsbereich der logischen Platte der Kopiequelle aktualisiert,
nachdem der Ziel-Zugriffsbereich
der logischen Platte der Kopiequelle auf die logische Platte des
Kopiezielortes kopiert ist. Deshalb ist es möglich, Daten vor der Aktualisierung
zu kopieren, wenn es eine Kopieanweisung gibt.
- (3) Wenn ein Verweiszugriff eines nicht kopierten Bereichs der
logischen Platte des Kopiezielortes durchgeführt wird, werden die Daten
des entsprechenden Bereichs der logischen Platte der Kopiequelle
gelesen. Daher ist es möglich,
auf Kopiedaten dieses Bereichs zu verweisen, selbst wenn der Bereich
ein nicht kopierter Bereich der logischen Platte des Kopiezielortes
ist.
- (4) Wenn eine Aktualisierungsverarbeitung eines nicht kopierten
Bereichs der logischen Platte des Kopiezielortes durchgeführt wird,
wird ein Kopieren dieses Bereichs verhindert oder verboten, nachdem
die logische Platte des Kopiezielortes mit den Aktualisierungsdaten
aktualisiert wurde. Daher ist es möglich, Änderungen an den Aktualisierungsdaten
dieses Bereichs der logischen Platte des Kopiezielortes aufgrund
eines Kopierens zu verhindern.