DE69938378T2 - Kopieren von Daten in Speichersystemen - Google Patents

Kopieren von Daten in Speichersystemen Download PDF

Info

Publication number
DE69938378T2
DE69938378T2 DE69938378T DE69938378T DE69938378T2 DE 69938378 T2 DE69938378 T2 DE 69938378T2 DE 69938378 T DE69938378 T DE 69938378T DE 69938378 T DE69938378 T DE 69938378T DE 69938378 T2 DE69938378 T2 DE 69938378T2
Authority
DE
Germany
Prior art keywords
volume
copy
logical
logical volume
data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
DE69938378T
Other languages
English (en)
Other versions
DE69938378D1 (de
Inventor
Haruaki Watanabe
Kouji Arai
Katsunori Nakamura
Takashi Oeda
Akira Yamamoto
Kenji Yamagami
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Application granted granted Critical
Publication of DE69938378D1 publication Critical patent/DE69938378D1/de
Publication of DE69938378T2 publication Critical patent/DE69938378T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1448Management of the data involved in backup or backup restore
    • G06F11/1451Management of the data involved in backup or backup restore by selection of backup contents
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2053Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
    • G06F11/2056Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring
    • G06F11/2064Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring while ensuring consistency
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2053Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
    • G06F11/2056Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring
    • G06F11/2082Data synchronisation

Description

  • HINTERGRUND DER ERFINDUNG
  • Die vorliegende Erfindung betrifft eine Technik zum Kopieren von Daten zwischen Speichersystemen ohne Beteiligung einer CPU und eine Technik zum Anordnen/Umordnen eines logischen Volumens auf RAID-Gruppen in einem Speichersystem. Die vorliegende Erfindung betrifft ferner ein Speichersystem in einem Informationsverarbeitungssystem oder dergleichen sowie ein Computersystem mit einer Funktion zum Erzeugen einer Kopie in einem Volumen gespeicherter Daten.
  • Eine Technik zum entfernten Kopieren existiert als eine der Techniken, bei denen Daten zwischen Speichersystemen kopiert werden.
  • Beim entfernten Kopieren erfolgt das Schreiben von Daten in duplizierter Weise ohne Beteiligung einer CPU zwischen mehreren Speichersystemen, die sich an physikalisch entfernten Orten befinden. Darin sind Speichersysteme, die an einer Primärstelle bzw. einer Sekundärstelle angeordnet sind, durch eine zweckgebundene Leitung oder eine öffentliche Leitung miteinander verbunden. Auch wird ein logisches Volumen, das die gleiche Kapazität aufweist wie ein logisches Volumen, das auf dem Speichersystem der Primärstelle existiert und zu einem Objekt des Kopierens gemacht wird (nachstehend als logisches Volumen des Kopierursprungs bezeichnet), auf dem Speichersystem der Sekundärstelle als ein logisches Volumen gebildet, das mit dem logischen Volumen des Kopierursprungs gepaart ist (und nachstehend als ein logisches Volumen des Kopierziels bezeichnet wird). Dann werden Daten des logischen Volumens des Kopierursprungs der Primärstelle in das logische Volumen des Kopierziels kopiert. Auch werden in dem Fall, in dem das Aktualisieren von Daten des logischen Volumens des Kopierursprungs der Primärstelle von einer CPU vorgenommen wird, die aktualisierten Daten zum Speichersystem der Sekundärstelle übertragen und dann in das logische Volumen des Kopierziels geschrieben. Demgemäß wird bei der Technik zum entfernten Kopieren der duplizierte Zustand eines logischen Volumens immer an der Primärstelle und der Sekundärstelle gehalten.
  • Daher ist es selbst dann, wenn die Verwendung der Primärstelle infolge von Naturkatastrophen in der Art von Erdbeben und Überflutungen oder von künstlichen Katastrophen, wie Feuer und Terrorismus, unmöglich wird, möglich, den Dienst durch die Verwendung des logischen Volumens auf dem Speichersystem der Sekundärstelle schnell wieder einzuleiten.
  • Eine bekannte Technik, die für das entfernte Kopieren relevant ist, ist eine in US-A-5 155 845 offenbarte Technik. Die bekannte Technik zum Ausführen des Kopierens von Daten zwischen Speichersystemen umfasst auch eine Technik zum migratorischen Kopieren (oder migratorischen Kopieren von Daten), die in US-A-5 680 640 offenbart ist.
  • Gemäß der bekannten migratorischen Kopiertechnik wird in dem Fall, in dem ein neues Speichersystem an Stelle eines bisher von einem Kunden verwendeten Speichersystems eingeführt wird, eine Verarbeitung zum Kopieren von Daten eines logischen Volumens auf dem alten Speichersystem in das neue Speichersystem in der folgenden Weise verwirklicht.
  • Insbesondere wird das Ziel der Verbindung einer CPU vom alten Speichersystem zum neuen Speichersystem geändert. Ferner werden das neue Speichersystem und das alte Speichersystem verbunden. Während eine Ein-/Ausgabeanforderung von der CPU empfangen wird, liest das neue Speichersystem Daten aus einem logischen Volumen auf dem alten Speichersystem und kopiert die gelesenen Daten in ein logisches Volumen auf dem neuen Speichersystem (d. h. es führt ein migratorisches Kopieren aus).
  • Weil mit dieser Technik das Kopieren von Daten zwischen den logischen Volumen des neuen und des alten Speichersystems ohne Beteiligung der CPU ausgeführt werden kann, wird eine zur Zeit der Datenmigration der CPU auferlegte Last beseitigt, wodurch die Datenmigration selbst dann ermöglicht wird, wenn der Dienst ausgeführt wird.
  • In "A Case for Redundant Arrays of Inexpensive Disks (RAID)", Proc. ACM SIGMOD, Juni 1988, G. A. Patterson, G. Gibson und R. H. Katz von der University of California, Berkeley, USA wurde eine Taxonomie von fünf Organisationen von Platten-Arrays als RAID-Niveaus zum Beurteilen der Speicherkosten, der Leistungsfähigkeit und der Zuverlässigkeit jedes RAID-Niveaus gegeben. Die RAID-Niveaus ergeben sich aus der Klassifikation eines Verfahrens zur Bildung eines redundanten Arrays in dem Fall, in dem ein Speichersystem unter Verwendung kostengünstiger Plattenvorrichtungen aufgebaut wird. Daher wird das Verfahren zur Bildung eines redundanten Arrays in Übereinstimmung mit einem Datenzuordnungsverfahren und einem Verfahren zum Erzeugen redundanter Daten klassifiziert. Die RAID-Niveaus 1, 3 und 5 in der Taxonomie von fünf Organisationen werden gegenwärtig auf viele Produkte angewendet. Diese RAID-Niveaus haben die folgenden Eigenschaften.
  • RAID 1 (gespiegelte Platten): Die gleichen Daten werden von verschiedenen Plattenvorrichtungen gehalten. Weil Daten dupliziert werden, ist die Zuverlässigkeit hoch, die Speicherkosten sind jedoch verdoppelt.
  • RAID 3: Daten werden in Einheiten mehrerer Bytes unterteilt, so dass sie mehreren Datenplattenvorrichtungen zugeordnet werden. Redundante Daten oder Prüfdaten werden durch eine Exklusiv-ODER-Operation unterteilter Daten erzeugt und auf einer anderen oder einer redundanten Platte gespeichert. Weil alle Plattenvorrichtungen für die Ein-/Ausgabe von Daten synchron arbeiten, wird in dem Fall, in dem die Ein-/Ausgabe langer oder großer Daten ausgeführt wird, eine ausgezeichnete Funktionsweise erhalten. Andererseits ist RAID 3 für eine Online-Transaktionsverarbeitung oder dergleichen nicht geeignet, wobei auf kurze Dateneinheiten wahlfrei zugegriffen wird.
  • RAID 5: Daten werden in Einheiten von Blöcken unterteilt, und die Datenblöcke werden mehreren Plattenvorrichtungen verteilt zugeordnet. Redundante Daten werden durch eine Exklusiv-ODER-Operation unterteilter Daten erzeugt und an vorbestimmten Positionen auf Speichergeräten gespeichert. Beim RAID 5 werden jeweilige redundante Blöcke den Plattenvorrichtungen verteilt zugeordnet, so dass alle Plattenvorrichtungen die redundanten Blöcke aufweisen. Daher wird eine Last, die der Plattenvorrichtung zur Zeit des Zugriffs auf einen redundanten Block auferlegt wird, verteilt. Wenn der Datenblock aktualisiert wird, wird ein Plattenzugriff erzeugt, um den entsprechenden redundanten Block neu zu berechnen, wodurch die Leistungsfähigkeit beeinträchtigt wird. Dies wird als Schreibzusatzaufwand bezeichnet.
  • RAID 5 ist dadurch gekennzeichnet, dass, falls die Größe der Daten, worauf zuzugreifen ist, die Größe des Blocks nicht übersteigt, der Zugriff auf nur eine Plattenvorrichtung genügt und daher die mehreren Plattenvorrichtungen, anders als bei RAID 3, unabhängig arbeiten können. Daher ist RAID 5 für eine Online-Transaktionsverarbeitung geeignet, bei der auf verhältnismäßig kleine Daten wahlfrei zugegriffen wird.
  • Wie vorstehend erwähnt wurde, werden die Eigenschaften in den Aspekten Zuverlässigkeit, Kosten und Leistungsfähigkeit entsprechend jedem RAID-Niveau bereitgestellt. Bei tatsächlichen Diensten ist es bevorzugt, dass das optimale RAID-Niveau unter Berücksichtigung dieser Eigenschaften und entsprechend der Eigenschaft des Diensts ausgewählt wird.
  • Eine Anordnung von Speichergeräten, die ein bestimmtes RAID-Niveau verwirklichen, oder eine Anordnung von Teilbereichen von Speichergeräten wird als RAID-Gruppe bezeichnet, und ein RAID-Niveau wird durch diese RAID-Gruppe verwirklicht. Ein logisches Volumen, das eine CPU zu einem Objekt der Ein-/Ausgabe macht, wird im Allgemeinen durch Speichergeräte auf eine RAID-Gruppe abgebildet.
  • Auch existiert eine Technik zum Erhalten des Backups konsistenter Daten, ohne die Aktualisierung eines Volumens zu unterbrechen.
  • Es ist allgemein bekannt, dass das Backup als Mittel zum Verhindern, dass wichtige Daten vollkommen verloren gehen, wenn ein Fehler in einem Speichergerät erzeugt wird, erhalten wird. Es ist allgemein üblich, dass zum Gewährleisten der Konsistenz von Daten, die einem Backup unterzogen werden, eine Schreib/Lese-Verarbeitung für das entsprechende Volumen während einer Zeit, zu der das Backup erhalten wird, unterbrochen wird. Dementsprechend ergibt sich das Problem, dass während der Zeit, zu der das Backup erhalten wird, eine Verarbeitung, die ein Volumen verwendet, das zu einem Backup-Objekt gemacht ist, unterbrochen werden muss. Gemäß einem bekannten Verfahren zum Lösen dieses Problems wird eine Kopie eines Volumens in einem Speichergerät erzeugt, so dass (1) normalerweise Daten des Originalvolumens und Daten des Kopiervolumens miteinander übereinstimmend gemacht werden, (2) während einer Zeit, zu der das Backup erhalten wird, die Daten des Originalvolumens und die Daten des Kopiervolumens nicht übereinstimmend gemacht werden (und daher das Kopiervolumen das Originalvolumen zu einem bestimmten Zeitpunkt darstellt, wenn die Konsistenz angenommen wird), und (3) das Kopiervolumen für das Backup verwendet wird. Dadurch ist es möglich, konsistente Daten als Backupdaten zu erhalten, ohne die Verarbeitung zu unterbrechen, wenn das Backup erhalten wird.
  • In US-A-5 742 792 ist ein entferntes Spiegelschema offenbart, das auf zwei Speichersystemen arbeitet und die Möglichkeit aufweist, individuelle Volumen, einen Bereich solcher Volumen oder sie alle adaptiv zu kopieren. In EP-A-0 672 985 ist ein weiteres entferntes Teil- oder Gesamtvolumen-Datenkopiersystem offenbart, das sich auf die vorliegende Erfindung bezieht.
  • ZUSAMMENFASSUNG DER ERFINDUNG
  • Weil bei der herkömmlichen Technik zum entfernten Kopieren die Einheit eines Kopierobjekts ein logisches Volumen ist, wie vorstehend erwähnt wurde, ergeben sich folgende Probleme in Hinblick auf die Wirksamkeit.
  • Insbesondere kann es den Fall geben, in dem ein zu einem Objekt des Kopierens gemachtes logisches Volumen Daten enthält, deren Kopie nicht unbedingt erforderlich ist. Beispielsweise brauchen in dem Fall, in dem ein Teilbereich eines logischen Volumens als ein Arbeitsbereich definiert wird, so dass er vorübergehend zum Sortieren verwendet wird, Daten des Arbeitsbereichs nicht kopiert zu werden. Jedoch werden gemäß der herkömmlichen Technik des entfernten Kopierens, bei der das Kopieren in Einheiten eines logischen Volumens ausgeführt wird, auch unnötige Daten kopiert, wodurch ein Zusatzaufwand hervorgerufen wird, der nicht notwendigerweise essenziell ist. Weil ein Speichersystem einer Primärstelle und ein Speichersystem einer Sekundärstelle in einem großen Abstand von einigen zehn Kilometern bis einigen hundert Kilometern voneinander angeordnet sind, ist der durch das Kopieren unnötiger Daten hervorgerufene Zusatzaufwand groß, wodurch die Antwortzeit für die CPU und der Durchsatz des Speichersystems stark beeinträchtigt werden. Auch können in dem Fall, in dem nur ein Teil eines logischen Volumens der Primärstelle, das zu einem Objekt des Kopierens gemacht ist, verwendet wird, nicht verwendete Abschnitte, die in einem logischen Volumen an der Sekundärstelle, gepaart mit dem zum Objekt des Kopierens gemachten logischen Volumen und mit der gleichen Kapazität wie das logische Volumen, das zum Objekt des Kopierens gemacht ist, erzeugt werden, eine erhebliche unnötige Kostenbelastung für die CPU und das Speichersystem darstellen.
  • Auch treten solche Probleme der herkömmlichen Technik des entfernten Kopierens in ähnlicher Weise bei der vorstehend erwähnten herkömmlichen migratorischen Kopiertechnik auf.
  • Daher besteht eine Aufgabe der vorliegenden Erfindung ferner darin, die Wirksamkeit des Kopierens in der Art eines entfernten Kopierens oder eines migratorischen Kopierens zwischen Speichersystemen ohne Beteiligung einer CPU zu verbessern.
  • Weil andererseits im Stand der Technik ein logisches Volumen auf eine RAID-Gruppe abgebildet wird, wie vorstehend erwähnt wurde, ist es nicht möglich, ein logisches Volumen verteilt auf mehreren RAID-Gruppen anzuordnen.
  • Dementsprechend gibt es in dem Fall, in dem jeder Datensatz oder jede Datei in einem logischen Volumen eine andere Zugriffseigenschaft hat, eine Möglichkeit, dass das RAID-Niveau einer RAID-Gruppe, worauf dieses logische Volumen angeordnet ist, und/oder Speichergeräte, welche die RAID-Gruppe bilden, für einen bestimmten Datensatz und eine bestimmte Datei geeignet sind, jedoch nicht für eine andere geeignet sind.
  • Daher besteht eine andere Aufgabe der vorliegenden Erfindung darin, ein logisches Volumen verteilt auf mehreren RAID-Gruppen anzuordnen/umzuordnen, so dass Datensätze oder Dateien in einem logischen Volumen auf RAID-Gruppen angeordnet werden, die für ihre Zugriffseigenschaften geeignet sind.
  • Bei der existierenden Technik zum Erhalten des Backups konsistenter Daten, ohne das Aktualisieren für ein Volumen zu unterbrechen, wird eine Kopie des Volumens in einem Speichergerät erzeugt, so dass (1) normalerweise Daten des Originalvolumens und Daten des Kopiervolumens miteinander übereinstimmend gemacht werden, (2) während einer Zeit, zu der das Backup erhalten wird, die Daten des Originalvolumens und die Daten des Kopiervolumens nicht übereinstimmend gemacht werden (und daher das Kopiervolumen das Originalvolumen zu einem bestimmten Zeitpunkt darstellt, wenn die Konsistenz angenommen wird), und (3) das Kopiervolumen für das Backup verwendet wird. Bei diesem Verfahren ist die Einheit eines Objekts des Kopierens jedoch ein Volumen. Daher ist es selbst in dem Fall, in dem Daten in Einheiten eines spezifizierten Bereichs (beispielsweise eines Datensatzes oder einer Datei) in einem Volumen benötigt werden, notwendig, eine Kopie des gesamten Volumens zu erzeugen. Dementsprechend ergibt sich ein Problem, dass eine unnötige Kopie erzeugt wird, wodurch (1) Speichergeräten eine zusätzliche Belastung auferlegt wird und (2) zusätzliche Zeit benötigt wird.
  • Zum Lösen der vorstehend erwähnten Aufgabe sieht die vorliegende Erfindung beispielsweise vor: ein Verfahren zum entfernten Kopieren zum Ausführen eines entfernten Kopierens zwischen zwei Speichersystemen, die als externe Speicher einer CPU verwendet werden, die eine Anforderung zum Zugriff auf ein logisches Volumen ausgibt, dadurch gekennzeichnet, dass in einem der zwei Speichersysteme, das als ein Kopierursprung dient, die Bezeichnung eines Teilbereichs eines logischen Volumens auf dem Kopierursprungsspeichersystem akzeptiert wird und Daten des bezeichneten akzeptierten Teilbereichs des logischen Volumens zu einem logischen Volumen auf dem anderen der zwei Speichersysteme als ein Kopierziel ohne Beteiligung der CPU übertragen werden, während in dem Kopierzielspeichersystem die von dem Kopierursprungsspeichersystem übertragenen Daten des Teilbereichs in das logische Volumen auf dem Kopierzielspeichersystem geschrieben werden.
  • Weil gemäß einem solchen Verfahren nur ein Teilbereich des logischen Volumens dem entfernten Kopieren unterzogen werden kann, ist es möglich, unnötigen Zusatzaufwand zu beseitigen, der bisher durch das Kopieren von Daten hervorgerufen wurde, deren Kopie nicht benötigt wird.
  • Zum Lösen der vorstehend erwähnten Aufgabe sieht die vorliegende Erfindung auch ein migratorisches Kopierverfahren zum Ausführen eines migratorischen Kopierens vor, mit dem Daten zwischen zwei Speichersystemen migrieren, die als externe Speicher einer CPU verwendet werden, welche eine Anforderung zum Zugriff auf ein logisches Volumen ausgibt, dadurch gekennzeichnet, dass in einem der zwei Speicher systeme, das als ein Kopierziel dient, die Bezeichnung eines Teilbereichs eines logischen Volumens auf dem anderen der zwei Speichersysteme, das als ein Kopierursprung dient, akzeptiert wird, Daten des bezeichneten akzeptierten Teilbereichs des logischen Volumens auf dem Kopierursprungsspeichersystem aus dem logischen Volumen auf dem Kopierursprungsspeichersystem ohne Beteiligung der CPU gelesen werden und die gelesenen Daten in ein logisches Volumen auf dem Kopierzielspeichersystem geschrieben werden.
  • Weil gemäß einem solchen Verfahren nur ein Teilbereich des logischen Volumens dem migratorischen Kopieren unterzogen werden kann, ist es möglich, unnötigen Zusatzaufwand zu beseitigen, der bisher durch das Kopieren von Daten hervorgerufen wurde, deren Kopie nicht benötigt wird.
  • Zum Lösen der vorstehend erwähnten Aufgabe sieht die vorliegende Erfindung ferner beispielsweise ein Verfahren zum Anordnen eines logischen Volumens auf RAID-Gruppen in einem Speichersystem, das als ein externer Speicher einer CPU verwendet wird, welche eine Anforderung zum Zugriff auf ein logisches Volumen ausgibt und mit mehreren RAID-Gruppen versehen ist, vor, dadurch gekennzeichnet, dass in dem Speichersystem die Bezeichnung der Entsprechung von Teilbereichen des logischen Volumens zu den RAID-Gruppen akzeptiert wird und jeder Teilbereich des logischen Volumens in Übereinstimmung mit der akzeptierten Bezeichnung auf der entsprechenden RAID-Gruppe angeordnet wird, oder dass in dem Speichersystem eine Zugriffseigenschaft für jeden Teilbereich des logischen Volumens festgestellt wird und jeder Teilbereich auf einer RAID-Gruppe umgeordnet wird, die entsprechend den für diesen Teilbereich festgestellten Zugriffseigenschaften definiert ist.
  • Mit diesem Verfahren wird die Anordnung/Umordnung nicht in Einheiten eines logischen Volumens, sondern für jeden Teilbereich eines logischen Volumens, ermöglicht, so dass jeder Teilbereich eines logischen Volumens auf einer gewünschten RAID-Gruppe oder einer RAID-Gruppe, die für die Zugriffseigenschaften dieses Teilbereichs geeignet ist, angeordnet/umgeordnet werden kann.
  • Zum Lösen des vorstehend erwähnten Problems in Zusammenhang mit der Erzeugung eines unnötigen Kopierens, das sich dadurch ergibt, dass die Einheit eines Objekts des Kopierens ein Volumen ist, d. h. des Problems, dass (1) eine zusätzliche Belastung Speichergeräten auferlegt wird und (2) zusätzliche Zeit beansprucht wird, weil es notwendig ist, eine Kopie eines gesamten Volumens selbst in dem Fall zu erzeugen, in dem Daten in Einheiten eines spezifizierten Bereichs (beispielsweise eines Datensatzes oder einer Datei) in dem Volumen benötigt werden, verwendet die vorliegende Erfindung das folgende Verfahren.
  • Im Allgemeinen kennt ein Speichergerät nicht den Aufbau eines von einem Host verwalteten Dateisystems und ist daher nicht in der Lage, zu wissen, in welchem Bereich Daten existieren, die einen Datensatz oder eine Datei bilden. Gemäß der vorliegenden Erfindung sind Mittel bereitgestellt, mit denen der Host das Speichergerät über den Bereich informiert. Das Speichergerät verwendet diese Mittel zum Erzeugen einer Kopie nur eines Bereichs in der Art eines Datensatzes oder einer Datei, der unbedingt erforderlich ist. Daher werden die zusätzliche Belastung und der zusätzliche Zeitaufwand verringert.
  • Diese Aufgaben werden in vorteilhafter Weise im Wesentlichen dadurch gelöst, dass die in den unabhängigen Ansprüchen dargelegten Merkmale angewendet werden. Weitere Verbesserungen werden durch die Unteransprüche bereitgestellt.
  • KURZBESCHREIBUNG DER ZEICHNUNG
  • 1 ist ein Blockdiagramm, in dem die Konstruktion eines Informationssystems gemäß einer ersten Ausführungsform der vorliegenden Erfindung dargestellt ist,
  • die 2A und 2B sind Diagramme zum Erklären logischer Speichergeräte gemäß der ersten Ausführungsform der vorliegenden Erfindung,
  • 3 ist ein Diagramm, in dem Tabellen dargestellt sind, die von Speichersystemen gemäß der ersten Ausführungsform der vorliegenden Erfindung gehalten werden,
  • 4 ist ein Flussdiagramm, in dem der Ablauf einer entfernten Kopierpaarerzeugungsverarbeitung gemäß der ersten Ausführungsform der vorliegenden Erfindung dargestellt ist,
  • 5 ist ein Flussdiagramm, in dem der Ablauf einer Schreibverarbeitung gemäß der ersten Ausführungsform der vorliegenden Erfindung dargestellt ist,
  • 6 ist ein Flussdiagramm, in dem der Ablauf einer Verarbeitung zum Schalten des Betriebs gemäß der ersten Ausführungsform der vorliegenden Erfindung dargestellt ist,
  • 7 ist ein Blockdiagramm, in dem die Konstruktion von Speichersystemen gemäß einer zweiten Ausführungsform der vorliegenden Erfindung dargestellt ist,
  • 8 ist ein Flussdiagramm, in dem der Ablauf einer Verarbeitung zum migratorischen Kopieren gemäß der zweiten Ausführungsform der vorliegenden Erfindung dargestellt ist,
  • 9 ist ein Blockdiagramm, in dem die Konstruktion eines Speichersystems gemäß einer dritten Ausführungsform der vorliegenden Erfindung dargestellt ist,
  • 10 ist ein Diagramm, in dem Tabellen dargestellt sind, die von einem Kopierursprungsspeichersystem gemäß einer fünften Ausführungsform der vorliegenden Erfindung gehalten werden,
  • 11 ist ein Diagramm, in dem Tabellen dargestellt sind, die von einem Kopierzielspeichersystem gemäß der fünften Ausführungsform der vorliegenden Erfindung gehalten werden,
  • 12 ist ein Flussdiagramm, in dem der Ablauf einer Verarbeitung zum Schalten des Betriebs gemäß der fünften Ausführungsform der vorliegenden Erfindung dargestellt ist,
  • 13 ist ein Blockdiagramm, in dem die Konstruktion eines Systems gemäß einer siebten Ausführungsform der vorliegenden Erfindung dargestellt ist,
  • 14 ist ein Diagramm, in dem Steuerinformationen dargestellt sind, welche ein Steuerprozessor benötigt, wenn die vorliegende Erfindung verwirklicht wird,
  • 15 ist ein Diagramm, in dem der Aufbau von Differenzinformationen in den Steuerinformationen dargestellt ist,
  • 16 ist ein Flussdiagramm, in dem der Ablauf einer Verarbeitung dargestellt ist, wenn eine Paarerzeugungsanforderung von einem Host empfangen wird,
  • 17 ist ein Flussdiagramm, in dem der Ablauf einer Verarbeitung dargestellt ist, wenn eine Paarunterteilungsanforderung von dem Host empfangen wird,
  • 18 ist ein Flussdiagramm, in dem der Ablauf einer Verarbeitung dargestellt ist, wenn eine Ausdehnungsaktualisierungsanforderung von dem Host empfangen wird,
  • 19 ist ein Flussdiagramm, in dem der Ablauf einer Verarbeitung dargestellt ist, wenn eine Schreibanforderung von dem Host empfangen wird,
  • 20 ist ein Flussdiagramm, in dem der Ablauf einer Paarerzeugungskopierverarbeitung dargestellt ist,
  • 21 ist ein Flussdiagramm, in dem der Ablauf einer Paarunterteilungskopierverarbeitung dargestellt ist,
  • 22 ist ein Flussdiagramm, in dem der Ablauf einer Ausdehnungsaktualisierungskopierverarbeitung dargestellt ist,
  • 23 ist ein Blockdiagramm, in dem die Konstruktion eines Systems gemäß einer achten Ausführungsform der vorliegenden Erfindung dargestellt ist,
  • 24 ist ein Diagramm, in dem Steuerinformationen dargestellt sind, welche ein Steuerprozessor benötigt, wenn die vorliegende Erfindung verwirklicht wird,
  • 25 ist ein Diagramm, in dem der Aufbau von Differenzinformationen in den Steuerinformationen dargestellt ist,
  • 26 ist ein Flussdiagramm, in dem der Ablauf einer Verarbeitung dargestellt ist, wenn eine Paarerzeugungsanforderung von einem Host empfangen wird,
  • 27 ist ein Flussdiagramm, in dem der Ablauf einer Verarbeitung dargestellt ist, wenn eine Paarunterteilungsanforderung von dem Host empfangen wird,
  • 28 ist ein Flussdiagramm, in dem der Ablauf einer Verarbeitung dargestellt ist, wenn eine Schreibanforderung von dem Host empfangen wird,
  • 29 ist ein Flussdiagramm, in dem der Ablauf einer Paarerzeugungskopierverarbeitung dargestellt ist,
  • 30 ist ein Flussdiagramm, in dem der Ablauf einer Paarunterteilungskopierverarbeitung dargestellt ist,
  • 31 ist ein Blockdiagramm, in dem die Konstruktion eines Systems gemäß einer neunten Ausführungsform der vorliegenden Erfindung dargestellt ist,
  • 32 ist ein Diagramm, in dem Steuerinformationen dargestellt sind, welche ein Steuerprozessor benötigt, wenn die vorliegende Erfindung verwirklicht wird,
  • 33 ist ein Diagramm, in dem der Aufbau von Differenzinformationen in den Steuerinformationen dargestellt ist,
  • 34 ist ein Flussdiagramm, in dem der Ablauf einer Verarbeitung dargestellt ist, wenn eine Paarerzeugungsanforderung von einem Host empfangen wird,
  • 35 ist ein Flussdiagramm, in dem der Ablauf einer Verarbeitung dargestellt ist, wenn eine Ausdehnungsunterteilungsanforderung von dem Host empfangen wird,
  • 36 ist ein Flussdiagramm, in dem der Ablauf einer Verarbeitung dargestellt ist, wenn eine Ausdehnungskopplungsanforderung von dem Host empfangen wird,
  • 37 ist ein Flussdiagramm, in dem der Ablauf einer Paarerzeugungskopierverarbeitung dargestellt ist,
  • 38 ist ein Flussdiagramm, in dem der Ablauf einer Verarbeitung dargestellt ist, wenn eine Schreibanforderung von dem Host empfangen wird,
  • 39 ist ein Flussdiagramm, in dem der Ablauf einer Ausdehnungsunterteilungskopierverarbeitung dargestellt ist,
  • 40 ist ein Flussdiagramm, in dem der Ablauf einer Ausdehnungskopplungskopierverarbeitung dargestellt ist, und
  • 41 ist ein Blockdiagramm, in dem die Konstruktion von Systemen gemäß einer zehnten und einer elften Ausführungsform der vorliegenden Erfindung dargestellt ist.
  • DETAILLIERTE BESCHREIBUNG DER AUSFÜHRUNGSFORMEN
  • Ausführungsformen der vorliegenden Erfindung werden nun beschrieben.
  • I. Erste Ausführungsform
  • Zuerst wird eine erste Ausführungsform der vorliegenden Erfindung beschrieben.
  • Die erste Ausführungsform betrifft ein entferntes Kopieren. 1 zeigt ein Beispiel des Aufbaus eines Informationssystems, in dem das entfernte Kopieren ausgeführt wird.
  • Eine oder mehrere CPUs 120 und ein oder mehrere Speichersysteme 100 sind an einer Primärstelle angeordnet, wo ein Hauptdienst ausgeführt wird.
  • Die CPU 120 führt ein Anwendungsprogramm aus, um eine Anforderung zur Ein-/Ausgabe von Daten eines logischen Volumens 104 zum Speichersystem 100 der Primärstelle auszugeben. Das logische Volumen 104 besteht aus logischen Speichergeräten, die von der CPU 120 erkannt werden.
  • Das Speichersystem 100 ist durch einen oder mehrere Zwischensteuerungswege 160 mit einem Speichersystem 110 einer Sekundärstelle verbunden. Das Speichersystem 100 besteht aus einer oder mehreren Steuerungen 101 und einem oder mehreren Speichergeräten 103. Die Steuerung 101 führt die Übertragung von Daten zwischen der CPU 120 und dem Speichergerät 103 aus. In der Steuerung 101 sind ein oder mehrere Prozessoren zum Ausführen von Mikroprogrammen, ein Cache-Speicher zum Zwischenspeichern von Daten des Speichergeräts 103, ein Speicher zum Speichern verschiedener Tabellen (welche später erwähnt werden) usw. bereitgestellt. Die CPU 120, die Steuerung 101 und das Speichergerät 103 kommunizieren durch einen oder mehrere Hostübertragungswege 130 zur Verbindung zwischen der CPU 120 und der Steuerung 101 und durch einen oder mehrere Speichergeräte-Übertragungswege 102 zur Verbindung zwischen der Steuerung 101 und dem Speichergerät 103 miteinander, um eine Ein-/Ausgabe auszuführen.
  • Die Sekundärstelle zum Halten von Backup-Daten oder einer Duplikatkopie von in dem Speichersystem 100 der Primärstelle gespeicherten Daten hat einen Aufbau, der jenem der Primärstelle ähnelt. Eine CPU 140 und das Speichersystem 110 sind an der Sekundärstelle angeordnet. Das Speichersystem 110 besteht aus einer oder mehreren Steuerungen 111 und einem oder mehreren Speichergeräten 113. Die Steuerung 111 führt die Übertragung von Daten zwischen der CPU 140 und dem Speichergerät 113 aus. In der Steuerung 111 sind ein oder mehrere Prozessoren zum Ausführen von Mikroprogrammen, ein Cache-Speicher zum Zwischenspeichern von eingegebenen bzw. ausgegebenen Daten für das Speichergerät 113, ein Speicher zum Speichern verschiedener Tabellen (welche später erwähnt werden) usw. bereitgestellt.
  • Der Prozessor in der Steuerung 101 oder 111 führt jede Verarbeitung der Steuerung 101 oder 111 in Übereinstimmung mit einem Programm aus, das vorab in dem in dieser Steuerung bereitgestellten Speicher gespeichert wurde. Die Verarbeitung wird später erwähnt.
  • Zum Erleichtern des Verständnisses der folgenden Beschreibung werden jene Bestandteile der Primärstelle und der Sekundärstelle, die an der Primärstelle existieren, welche als ein Datenkopierursprung dient, mit (S) bezeichnet, und die Bestandteile der Sekundärstelle, die als ein Datenkopierziel dient, mit (T) bezeichnet. Beispielsweise werden die CPU 120 der Primärstelle als CPU (S) 120 bezeichnet und die CPU 140 der Sekundärstelle als CPU (T) 140 bezeichnet.
  • Bei einer solchen Konstruktion hält das Speichersystem (T) 110 eine Kopie der Daten des Speichersystems (S) 100. Insbesondere werden Daten in diesem Bereich eines logischen Volumens (S) 104, das von der CPU (S) 120 als ein einem entfernten Kopieren zu unterziehendes Objekt bezeichnet ist, von der Steuerung (S) 101 über den Zwischensteuerungsweg 160 zur Steuerung (T) 111 übertragen. Die Steuerung (T) 111 speichert die von der Steuerung (S) 101 empfangenen Daten in dem in der Steuerung (T) 111 bereitgestellten Cache-Speicher und informiert anschließend die Steuerung (S) 101 über den Abschluss. Dann schreibt die Steuerung (T) 111 die Daten vom Cache-Speicher in das Speichergerät (T) 113.
  • Wenn das Schreiben von der CPU (S) 120 für diesen Bereich des logischen Volumens (S) 104 des Speichersystems (S) 100, der zum Objekt des entfernten Kopierens gemacht wurde, geschieht, speichert die Steuerung (S) 101 Schreibdaten im Speichergerät (S) 103, während die Schreibdaten über den Zwischensteuerweg 160 zur Steuerung (T) 111 übertragen werden. Die Steuerung (T) 111 speichert die von der Steuerung (S) 101 empfangenen Daten in dem in der Steuerung (T) 111 bereitgestellten Cache-Speicher und informiert anschließend die Steuerung (S) 101 über den Abschluss. Dann schreibt die Steuerung (T) 111 die Daten aus dem Cache-Speicher in einen vorbestimmten Bereich des Speichergeräts (T) 113.
  • Mit dem vorstehenden Vorgang werden die Schreibdaten von der CPU (S) 120 in das Speichersystem (T) 110 geschrieben, wodurch ein duplizierter Zustand beim Speichersystem (S) 100 aufrechterhalten wird. Die vorstehende Verarbeitung wird zwischen der Steuerung (S) 100 und der Steuerung (T) 111 ohne Beteiligung der CPU (S) 120 ausgeführt.
  • Wie vorstehend beschrieben wurde, werden gemäß der ersten Ausführungsform nur Daten in jenem Bereich des logischen Volumens (S) 104, der zum Objekt des entfernten Kopierens gemacht ist, zur Sekundärstelle übertragen, wo die Daten im Speichergerät (T) 113 des Speichersystems (T) 110 gespeichert werden. Der zum Objekt des entfernten Kopierens gemachte Bereich stellt einen Bereich dar, dessen Kopie wirklich benötigt wird. Ein solcher Bereich umfasst beispielsweise einen Datensatz unter Einschluss von Datenbankdaten, eines Datenbankprotokolls, einer Prüfpunktdatei usw. und eine Datei.
  • Gemäß der ersten Ausführungsform wird nun eine als ein logisches Speichergerät bezeichnete Einheit eingeführt, um eine Verarbeitung an einem zu einem Objekt eines entfernten Kopierens gemachten Bereich zu erleichtern. Das logische Speichergerät wird nun beschrieben.
  • 2A zeigt einen Adressraum einer RAID-Gruppe (S) 205, die durch mehrere (oder vier) Speichergeräte (S) 103 gebildet ist, welche durch die Steuerung (S) 101 verwaltet werden, und 2B zeigt einen Adressraum einer RAID-Gruppe (T) 215, die durch mehrere (oder vier) Speichergeräte (T) 113 gebildet ist, welche durch die Steuerung (T) 111 verwaltet werden.
  • Logische Speichergeräte (S) 200 werden durch Dividieren des Adressraums der RAID-Gruppe (S) 205 durch jede feste Länge erhalten, und logische Speichergeräte (T) 210 werden durch Dividieren des Adressraums der RAID-Gruppe (T) 215 durch jede feste Länge erhalten. Es ist nicht unbedingt erforderlich, dass die Größe oder Kapazität des logischen Speichergeräts (S) 200 mit derjenigen der logischen Speichergeräte (T) 210212 identisch ist. Jedes logische Speichergerät (S) 200 wird unter Verwendung ihrer laufenden Nummer in dem Speichersystem (S) 100 verwaltet, und jedes der logischen Speichergeräte (T) 210212 wird unter Verwendung ihrer laufenden Nummer in dem Speichersystem (T) 110 verwaltet. Ähnlich werden jedes logische Volumen und jedes Speichergerät unter Verwendung ihrer laufenden Nummern in jedem logischen Speichersystem verwaltet. Auch werden die Steuerungen mit ihren Steuerungsnummern verwendet, und sie kommunizieren unter Verwendung dieser Nummern miteinander.
  • Ein logisches Volumen wird auf logische Speichergeräte abgebildet, deren Anzahl der Kapazität des logischen Volumens entspricht.
  • Wenngleich die Kapazität des logischen Speichergeräts 200 von einem Benutzer festgelegt werden kann, muss sie kleiner oder gleich der Kapazität des minimalen logischen Volumens 104 sein, welche das Speichersystem 100 unterstützt. Auch ist es bevorzugt, dass die Kapazität des logischen Speichergeräts 200 so klein wie möglich gemacht wird, um einen nutzlosen Bereich zu verkleinern.
  • Nachfolgend wird das in dem so aufgebauten Informationssystem ausgeführte entfernte Kopieren detailliert beschrieben.
  • Zuerst werden Daten beschrieben, welche die Steuerungen (S) 101 und (T) 111 halten, um das entfernte Kopieren auszuführen.
  • Jede der Steuerungen (S) 101 und (T) 111 hält Informationstabellen 300 logischer Volumen und Informationstabellen 310 logischer Speichergeräte, wie in 3 dargestellt ist.
  • Die Informationstabelle 300 logischer Volumen ist eine Tabelle zum Zuordnen eines auf der eigenen Seite gebildeten logischen Volumens 104 oder eines entsprechenden Speichersystems zu logischen Speichergeräten 200. Die Tabelle 300 existiert für jedes logische Volumen 104.
  • Jede Informationstabelle 300 logischer Volumen besteht aus einer Nummer 301 jedes logischen Speichergeräts 200, auf das das entsprechende logische Volumen 104 abgebildet ist, einem Logikadressbereich 308, der einen Adressbereich in dem logischen Volumen angibt, das auf das logische Speichergerät 200 abgebildet ist, Kopievorhandenseins-/Nichtvorhandenseinsinformationen 302, welche angeben, ob das logische Speichergerät 200 einen Teil eines zu einem Objekt eines entfernten Kopierens gemachten Bereichs aufweist, einem Kopieradressenbereich 305, der jeden Abschnitt des zum Objekt des entfernten Kopierens gemachten Bereichs angibt, welchen das logische Speichergerät 200 aufweist, Emulationsinformationen 303, welche den Emulationstyp und die Kapazität des entsprechenden logischen Volumens 104 angeben, Original/Kopie-Informationen 304, welche angeben, ob das entsprechende logische Volumen ein Kopierursprung (Original) oder ein Kopierziel (Kopie) ist, einem Kopierzeiger 306 und einem Paarzustand 307.
  • Die Tabelle 300 ist als eine Tabelle mit mehreren Einträgen gebildet, wobei die Nummer 301 des logischen Speichergeräts, der Logikadressbereich 308, die Kopievorhandenseins-/Nichtvorhandenseinsinformationen 302 und der Kopieradressbereich 305 ein indexierter Eintrag sind. Dann wird ein Verfahren zum Bestimmen der Adresse des logischen Speichergeräts 200 anhand der Adresse des von der CPU 120 bezeichneten logischen Volumens 104 unter Verwendung eines Beispiels beschrieben.
  • Nun wird angenommen, dass ein logisches Volumen 104 eine Kapazität von 4n mit verwendeten Adressen von 0 bis 4n – 1 aufweist und auf logische Speichergeräte 200 abgebildet wird, die mit Nummern von 0 bis 3 versehen sind und jeweils eine Kapazität von n aufweisen. Dann werden die Nummer 301 des logischen Speichergeräts und der Logikadressbereich 308 in einem Eintrag mit einem Index 0 mit 0 bzw. 0 bis n – 1 gespeichert, jene in einem Eintrag mit einem Index 1 mit 1 bzw. n bis 2n – 1 gespeichert usw.
  • Dementsprechend kann festgestellt werden, welches logische Speichergerät 200 eine von der CPU 120 bezeichnete logische Adresse aufweist, indem die bezeichnete logische Adresse durch die Kapazität des logischen Speichergeräts 200 dividiert wird. Insbesondere gibt der Quotient der Division einen Eintrag an, in dem eine vorgesehene Nummer 301 des logischen Speichergeräts gespeichert ist, und der Rest gibt eine Adresse in dem logischen Speichergerät 200 an.
  • Auch kann festgestellt werden, ob die von der CPU 120 bezeichnete logische Adresse in dem Bereich enthalten ist, der zum Objekt des entfernten Kopierens gemacht ist, indem einfach mit einem Kopieradressbereich 305 in dem Eintrag, in dem die so erhaltene vorgesehene Nummer 301 des logischen Speichergeräts gespeichert ist, verglichen wird. Folglich ermöglicht das Einführen der Einheiten logischer Speichergeräte das einfache Ausführen einer Verarbeitung an einem Fernkopierbereich und das Verringern von Zusatzaufwand, verglichen mit dem Fall, in dem die Einheiten logischer Speichergeräte nicht eingeführt sind.
  • Die Original/Kopie-Informationen 304 in der Informationstabelle 300 logischer Volumen geben an, ob das entsprechende logische Volumen das logische Volumen (S) 104 ist, d. h. ein Kopierursprungsvolumen (ursprüngliches Volumen), oder das logische Volumen (T) 114, d. h. ein Kopierzielvolumen (Kopiervolumen) ist, falls das entsprechende logische Volumen ein logisches Volumen ist, das ein Paar bildet (nachstehend als ein "Fernkopierpaar" bezeichnet), welches durch ein logisches Volumen, welches zu einem Objekt gemacht ist, das einem entfernten Kopieren unterzogen wird, und durch ein logisches Volumen des Ziels des entfernten Kopierens bereitgestellt ist.
  • Der Paarzustand 307 gibt an, in welchen Zustand das Fernkopierpaar versetzt ist. Der Zustand des Paars umfasst einen Simplexzustand, der angibt, dass das entsprechende logische Volumen kein logisches Volumen ist, das ein Fernkopierpaar bildet, einen Kopieausführungszustand, in dem das Kopieren vom logischen Volumen (S) 104 zum logischen Volumen (T) 114 ausgeführt wird, einen Duplexzustand, in dem eine Operation in einem duplizierten Zustand vorgenommen wird, einen Aufhebungszustand, in dem der Inhalt des logischen Volumens (S) 104 und jener des logischen Volumens (T) 114 nicht übereinstimmen, usw. Der Kopierzeiger 306 gibt an, wohin das Kopieren für die ein Fernkopierpaar bildenden logischen Volumen (S) 104 und (T) 114 oder das Kopieren vom erstgenannten zum letztgenannten ausgeführt werden soll. Die Emulationsinformationen 303 sind gespeicherte Informationen des logischen Volumens (S) 104 zum Emulieren eines logischen Volumens eines Hauptrechners. Es gibt mehrere Emulationstypen für das logische Volumen 104 des Hauptrechners, und die Kapazität und das Format (einschließlich der Spurlänge, der Anzahl der Zylinder, der Größe einer Lücke zwischen Datensätzen usw.) unterscheiden sich für jeden Emulationstyp. Daher werden in dem Fall, in dem das logische Volumen 104 des Hauptrechners zu einem Objekt des entfernten Kopierens gemacht wird, diese Informationen gespeichert, um das Format zwischen dem logischen Volumen (S) 104 und dem logischen Volumen (T) 114 übereinstimmend zu machen. Im Fall eines offenen Systems existiert dieser Emulationstyp nicht, weshalb nur die Kapazität des logischen Volumens (S) 104 gespeichert wird. Wie später erwähnt wird, werden nur die logischen Speichergeräte 210, die der Kapazität des dem entfernten Kopieren unterzogenen Bereichs entsprechen, auf das logische Volumen (T) 114 abgebildet. Daher werden für alle Nummern 301 logischer Speichergeräte in der Informationstabelle 300 logischer Volumen für das von der Steuerung (T) 111 gehaltene logische Volumen (T) 114 die Kopievorhandenseins-/Nichtvorhandenseinsinformationen 302 mit "ENTFERNTE KOPIE VORHANDEN" gespeichert, die Original/Kopie-Informationen 304 mit "KOPIERZIEL" gespeichert und der Kopieradressbereich 305 mit einem von der Steuerung (S) 101 bezeichneten Fernkopier-Adressbereich gespeichert.
  • Die Emulationsinformationen 303 (der Emulationstyp und die Kapazität) der Informationstabelle 300 logischer Volumen des logischen Volumens (T) 114, die von der Steuerung (T) 111 gehalten wird, sind mit den Emulationsinformationen 303 (dem Emulationstyp und der Kapazität) der Informationstabelle 300 logischer Volumen für das logische Volumen (S) 104 gespeichert, die von der Steuerung (S) 101 gehalten wird. Hier sei bemerkt, dass in der Informationstabelle 300 logischer Volumen für das logische Volumen (T) 114 die Kapazität des logischen Volumens (S) 114 als die Emulationsinformationen 303 gespeichert ist.
  • Die Informationstabelle 310 logischer Speichergeräte ist eine Tabelle zum Zuordnen der logischen Speichergeräte 200 zu den Speichergeräten 103. In dem Fall, in dem das entsprechende logische Speichergerät 200 zu einem Objekt des entfernten Kopierens gemacht wird, ordnet die Tabelle 300 das logische Speichergerät 200 dem logischen Volumen 114 der entgegengesetzten Seite zu. Die Tabelle 310 existiert für jedes logische Speichergerät 200.
  • Jede Informationstabelle 310 logischer Speichergeräte, die von der Steuerung (S) 101 gehalten wird, besteht aus einer Speichergerätenummer 311 jedes Speichergeräts (S) 103, auf das das entsprechende logische Speichergerät (S) 200 abgebildet ist, einem Adressbereich 312, der einen Adressbereich des auf das Speichergerät (S) 103 abgebildeten entsprechenden logischen Speichergeräts (S) 200 angibt, RAID-Niveau-Informationen 313, welche ein RAID-Niveau angeben, das einer durch die Speichergeräte (S) 103 gebildeten RAID-Gruppe 205 zugewiesen ist, und einer Paarsteuerungsnummer 314 und einer Paarlogikvolumennummer 315, um in dem Fall, in dem das entsprechende logische Speichergerät 200 einen Teil eines zu einem Objekt eines entfernten Kopierens gemachten Bereichs aufweist, die Steuerung (T) 111 und das logische Volumen (T) 114 des Speichersystems (T) 110, das ein Ziel des entfernten Kopierens ist, zu spezifizieren. In jeder Informationstabelle 310 logischer Speichergeräte, die von der Steuerung (T) 111 gehalten wird, sind die Speichergerätenummer 311 und der Adressbereich 312 mit einer Speichergerätenummer und einem Adressbereich jedes Speichergeräts (T) 113, auf das das entsprechende logische Speichergerät (T) 210 abgebildet ist, gespeichert. Auch sind die RAID-Niveau-Informationen 313 mit einem RAID-Niveau gespeichert, das der durch die Speichergeräte (T) 113 gebildeten RAID-Gruppe 215 zugeordnet ist. Ferner ist die Paarsteuerungsnummer 314 in jeder Informationstabelle 310 logischer Speichergeräte, die von der Steuerung (T) 111 gehalten wird, mit einer Steuerungsnummer der Steuerung (S) 101 gespeichert, und die Paarlogikvolumennummer 315 ist mit einem Nullwert gespeichert.
  • Eine von der CPU 120 bezeichnete logische Adresse wird in eine Nummer eines logischen Speichergeräts 200 und eine Adresse auf diesem logischen Speichergerät 200 umgewandelt, wie vorstehend erwähnt wurde. Welchem Speichergerät 103 diese logische Adresse tatsächlich entspricht, wird durch eine Informationstabelle 310 logischer Speichergeräte, entsprechend der durch die Umwandlung erhaltenen Nummer des logischen Speichergeräts bestimmt. Falls der Zugriff von der CPU 120 in diesem Fall ein Schreibzugriff ist, wird der Bezug auf die RAID-Niveau-Informationen 313 der Informationstabelle 310 logischer Speichergeräte gemacht, um redundante Daten entsprechend dem RAID-Niveau zu erzeugen, und die erzeugten redundanten Daten werden auch in das Speichergerät 103 geschrieben. Für dieses Verfahren kann ein Verfahren verwendet werden, das beispielsweise in D. A. Patterson, G. Gibson und R. H. Katz, "A Case for Redundant Arrays of Inexpensive Disks (RAID)", Proc. ACM SIGMOD, Juni 1988, offenbart ist. Wie später erwähnt wird, wird in dem Fall, in dem das entfernte Kopieren zu der Zeit eines Schreibzugriffs von der CPU 120 ausgeführt wird, die Untersuchung auf der Grundlage der Informationstabelle 300 logischer Volumen des logischen Volumens (S) 104 in Bezug darauf, ob das zu einem Zugriffsobjekt gemachte logische Speichergerät (S) 200 einen Teil eines zu einem Objekt eines entfernten Kopierens gemachten Bereichs aufweist, getroffen. In dem Fall, in dem der Teil des zum Objekt des entfernten Kopierens gemachten Bereichs enthalten ist, werden die Steuerungsnummer 314 und die Nummer 315 des logischen Volumens eines Ziels des entfernten Kopierens anhand der Informationstabelle 310 logischer Speichergeräte, entsprechend dem entsprechenden logischen Speichergerät (S) 200, untersucht, um durch den Zwischensteuerungsweg 160 auf ein vorgesehenes logisches Volumen (T) 114 zuzugreifen.
  • Als nächstes werden die Einzelheiten eines Vorgangs zum Ausführen des entfernten Kopierens beschrieben. Dieser Vorgang beinhaltet drei Verarbeitungen, nämlich eine Verarbeitung zur Erzeugung eines Fernkopierpaars, eine Verarbeitung zur Zeit des Schreibens von der CPU 120 zum Speichersystem (S) 100 und eine Verarbeitung zum Schalten des Betriebs vom Speichersystem (S) 100 zum Speichersystem (T) 110. Nachfolgend wird jede dieser Verarbeitungen beschrieben.
  • (i) Fernkopierpaarerzeugungsverarbeitung
  • 4 zeigt den Ablauf der Fernkopierpaarerzeugungsverarbeitung.
  • Zuerst werden in Schritt 400 ein zu einem Objekt des entfernten Kopierens gemachtes logisches Volumen 104 und ein zu einem Objekt des entfernten Kopierens gemachter Bereich an der Primärstelle bezeichnet, wie dargestellt ist. Die Bezeichnung wird durch einen Benutzer der Steuerung (S) 101 von außerhalb des Speichersystems (S) 100, beispielsweise durch die CPU (S) 120, ein externes Endgerät (nachstehend als "SVP: Dienstprozessor" bezeichnet), das mit der Steuerung (S) 101 verbunden ist, oder dergleichen vorgenommen. Hier wird angenommen, dass ein dem entfernten Kopieren zu unterziehender Datensatz und eine Adresse davon auf einem logischen Volumen 104 dem Benutzer vorab bekannt sind. Wenn die Bezeichnung einer Nummer des logischen Volumens 104, das zum Objekt des entfernten Kopierens gemacht ist, und des zum Objekt des entfernten Kopierens gemachten Bereichs durch die Steuerung (S) 101 vorgenommen wurde, arbeitet die Steuerung (S) 101 durch das vorstehend erwähnte Verfahren, so dass die Definition "KOPIERURSPRUNG" in die Original/Kopie-Informationen 304 einer Informationstabelle 300 logischer Volumen, entsprechend der bezeichneten Nummer des logischen Volumens 104 vorgenommen wird und durch den Fernkopierbereich definierte Adressen in dem Kopieradressbereich 305 gespeichert werden. Anschließend wird in Schritt 401 eine Anforderung zur Fernkopierpaarerzeugung, begleitet von Parametern, einschließlich mindestens eines Emulationstyps, der Kapazität des entsprechenden logischen Volumens 104 und des zum Objekt des entfernten Kopierens gemachten Bereichs, von der Steuerung (S) 101 an die Steuerung (T) 111 ausgegeben. In Bezug auf den Wert jedes Parameters werden der Emulationstyp und die Kapazität des entsprechenden logischen Volumens 104 anhand der Emulationsinformationen 303 bestimmt und wird ein Fernkopieradressbereich unter Bezugnahme auf den Kopieradressbereich 305 bestimmt.
  • Wenn die Anforderung zur Fernkopierpaarerzeugung empfangen wird, weist die Steuerung (T) 111 ein logisches Volumen (T) zu (Schritt 410). Insbesondere wird zuerst ein nicht verwendetes logisches Volumen (T) 114 gewährleistet. Dieses logische Volumen kann in einer solchen Weise gewährleistet werden, dass ein nicht verwendetes logisches Volumen von außerhalb bezeichnet wird oder die Steuerung (T) 111 ein nicht verwendetes logisches Volumen zuweist. Als nächstes werden nicht verwendete logische Speichergeräte (T) 210 dem logischen Volumen (T) 114 zugewiesen, so dass der von der Steuerung (S) 101 als das Objekt des entfernten Kopierens bezeichnete Bereich in Bezug auf die Kapazität beteiligt ist. Ferner wird die Definition als das "KOPIERZIEL" in die Original/Kopie-Informationen 304 einer Informationstabelle 300 logischer Volumen, entsprechend dem logischen Volumen (T) 114, eingegeben. Auch wird eine Nummer jedes logischen Speichergeräts (T) 120, das dem logischen Volumen (T) 114 zugeordnet ist, in den Nummern 301 logischer Speichergeräte der Informationstabelle 300 logischer Volumen, entsprechend dem früher zugewiesenen logischen Volumen (T) 114, gespeichert. Überdies wird "KOPIE VORHANDEN" in den Kopievorhandenseins-/Nichtvorhandenseinsinformationen 302 der Informationstabelle 300 logischer Volumen gespeichert.
  • Ferner wird der von der Steuerung (S) 101 empfangene Logikadressbereich, der den zum Objekt des entfernten Kopierens gemachten Bereich enthält, auf jedes zugeordnete logische Speichergerät (T) 210 abgebildet. Die abgebildeten logischen Adressen werden in dem Logikadressbereich 308 der Informationstabelle 300 logischer Volumen in einem diesem logischen Speichergerät (T) 210 entsprechenden Eintrag gespeichert. Auch wird der Kopieradressbereich 305 der Informationstabelle 300 logischer Volumen in einem jedem zugewiesenen logischen Speichergerät (T) 210 entsprechenden Eintrag mit diesem Adressbereich des zum Objekt des entfernten Kopierens gemachten Bereichs, der in dem Logikadressbereich enthalten ist, welcher auf dieses logische Speichergerät (T) 210 abgebildet ist, gespeichert. Beispielsweise sei der Fall angenommen, in dem die Adressen n bis 4n – 1 des logischen Volumens (S) 104 der zum Objekt des entfernten Kopierens gemachte Bereich sind und zwei mit i und j nummerierte logische Speichergeräte, die jeweils eine Kapazität von 2n aufweisen, dem logischen Volumen (T) zugewiesen sind, so dass Adressen n bis 3n – 1 auf das i-nummerierte logische Speichergerät (T) 210 abgebildet sind und Adressen 3n bis 5n – 1 auf das j-nummerierte logische Speichergerät (T) 210 abgebildet sind. In diesem Fall werden der Bereich von n bis 3n – 1 im Logikadressbereich 308 und im Kopieradressbereich 305 in einem mit 0 indexierten Eintrag der Informationstabelle 300 logischer Volumen und bei dem die Nummer 301 des logischen Speichergeräts i ist, gespeichert, und der Bereich von 3n bis 5n – 1 und der Bereich von 3n bis 4n – 1 jeweils im Logikadressbereich 308 und im Kopieradressbereich 305 in einem mit 1 indexierten Eintrag, bei dem die Nummer 301 des logischen Speichergeräts j ist, gespeichert.
  • Bei der vorstehend erwähnten Verarbeitung wird die Zuweisung so vorgenommen, wie beispielsweise in den 2A und 2B dargestellt ist. Darin sind zwei vernetzte logische Speichergeräte (T) 211 und 212 einem logischen Volumen (T) 114 zugeordnet, das für diesen Bereich gebildet ist, welcher zu einem Objekt des entfernten Kopierens gemacht ist, auf das zwei logische Speichergeräte (S) 201 und 202 abgebildet sind. Wie in dem dargestellten Beispiel können die logischen Speichergeräte (T) 210 an physikalisch beabstandeten Positionen in den Speichergeräten (T) 113 angeordnet werden.
  • Wenngleich dies in den 2A und 2B nicht dargestellt ist, können sich die logischen Speichergeräte (T) 210 an getrennten RAID-Gruppen (T) 215 befinden. Nun speichert die Steuerung (T) 111 den Emulationstyp und die Kapazität, die von der Steuerung (S) 101 empfangen wurden, in den Emulationsinformationen 303 der Informationstabelle 300 logischer Volumen des logischen Volumens (T) 114.
  • Anschließend oder in Schritt 411 informiert die Steuerung (T) 111 die Steuerung (S) 101 über den Abschluss der Verarbeitung. Die Steuerung (S) 101, die von der Steuerung (T) 111 über den Abschluss der Verarbeitung informiert wurde, arbeitet so, dass die Nummer des von der Steuerung (T) 111 zugewiesenen logischen Volumens (T) 114 an der Paarlogikvolumennummer 315 der Informationstabelle 310 logischer Speichergeräte, entsprechend einem logischen Speichergerät 200 unter Einschluss eines Teils des zum Objekt des entfernten Kopierens gemachten Bereichs gespeichert wird. Die Nummer des logischen Volumens (T) 114 kann durch den Benutzer von außen an die Steuerung (S) 101 übergeben werden. Wenn die Steuerung (T) 111 andernfalls die Informationen über den Verarbeitungsabschluss übergibt, kann die Steuerung (T) 111 die Steuerung (S) 101 gleichzeitig über die Nummer des logischen Volumens (T) 114 informieren.
  • Wenn die Fernkopierpaarerzeugung in Schritt 411 abgeschlossen wird, arbeitet die Steuerung (S) 101 so, dass der zum Objekt des entfernten Kopierens gemachte Bereich auf dem logischen Volumen (S) 104 in das logische Volumen (T) 114 kopiert wird, wobei der Paarzustand 307 der Informationstabelle 300 logischer Volumen des logischen Volumens (S) 104 in einen Kopieausführungszustand versetzt wird (Schritt 402). Insbesondere wird in Übereinstimmung mit dem Wert des Kopierzeigers 306 ein unkopierter Bereich in dem Bereich, der zum Objekt des entfernten Kopierens gemacht ist, zur Steuerung (T) 111 des Speichersystems (T) 110 übertragen, wobei eine logische Adresse dieses Bereichs zu einem Übertragungsziel gemacht ist. Die Steuerung (T) 111 speichert alle Daten in einem Speichergerät (T) 113, auf das ein logisches Speichergerät (T) 210 abgebildet ist, das mit der logischen Adresse des Übertragungsziels versehen ist. Wenn das Kopieren fortschreitet, wird der Kopierzeiger 306 aktualisiert. Zu einem Zeitpunkt, zu dem das Kopieren des zum Objekt des entfernten Kopierens gemachten Bereichs abgeschlossen ist, wird der Paarzustand 307 der Informationstabelle 300 logischer Informationen des logischen Volumens (S) 104 in einen Duplexzustand versetzt.
  • Mit dem vorstehend Erwähnten ist die Fernkopierpaarerzeugungsverarbeitung abgeschlossen.
  • In dem Fall, in dem, wenn ein Teilbereich des logischen Volumens (S) 104 bereits zu einem Objekt des entfernten Kopierens gemacht wurde, der andere Bereich desselben logischen Volumens (S) 104 neu zu einem Objekt des entfernten Kopierens zu machen ist, wird eine Verarbeitung ähnlich jener, die vorstehend erwähnt wurde, ausgeführt, so dass ein neues logisches Volumen (T) 114 für den neuen Bereich zugeordnet wird, der zum Objekt des entfernten Kopierens gemacht ist.
  • Bei der vorstehend erwähnten Verarbeitung kann der Fall auftreten, in dem die logischen Speichergeräte (T) 210 keinem der Speichergeräte (T) 113 zugeordnet werden können, auch wenn eine Anforderung einer Fernkopierpaarerzeugung von der Steuerung (S) 101 vorgenommen wird. Beispielsweise kann der Fall, in dem eine Kapazität, die einem zu einem Objekt des entfernten Kopierens gemachten Bereich entspricht, nicht existiert, oder der Fall, in dem ein bezeichneter Emulationstyp noch nicht definiert worden ist, erwogen werden. In einem solchen Fall informiert die Steuerung (T) 111 die Steuerung (S) 101 darüber, dass es unmöglich ist, eine Kopie zu erzeugen.
  • Vorstehend wurde beschrieben, dass die Bezeichnung eines zu einem Objekt des entfernten Kopierens gemachten Bereichs nur an die Steuerung (S) 101 übergeben wird und die Steuerung (T) 111 dann von der Steuerung (S) 101 informiert wird. Der Benutzer kann jedoch den zum Objekt des entfernten Kopierens gemachten Bereich nicht nur der Steuerung (S) 101 sondern auch der Steuerung (T) 111 mitteilen. Auch in diesem Fall nimmt die Steuerung (T) 111 die Zuordnung eines logischen Volumens 114 durch das vorstehend erwähnte Verfahren vor. Als ein logisches Volumen (T) 114 eines Kopierziels kann der Benutzer eine Nummer eines nicht verwendeten logischen Volumens (T) 114 in dem Speichersystem (T) 110 sowohl der Steuerung (S) 101 als auch der Steuerung (T) 111 mitteilen.
  • Bei der vorstehend erwähnten Verarbeitung werden nur die minimalen logischen Speichergeräte (T) 200, die zum Speichern des zum Objekt des entfernten Kopierens gemachten Bereichs benötigt werden, dem logischen Volumen (T) 114 der Bezeichnung des fernen Kopierens zugeordnet. Entsprechend den Umständen kann jedoch der Fall auftreten, in dem es geeignet ist, eine dem logischen Volumen (S) 104 entsprechende Kapazität zuzuweisen. Dieser Fall entspricht beispielsweise dem Fall, in dem ein als ein Objekt des entfernten Kopierens bezeichneter Bereich den größeren Teil des Bereichs des logischen Volumens (S) 104 abdeckt, dem Fall, in dem eine ausreichende Kapazität in dem Speichersystem (T) 110 gewährleistet werden kann, oder dergleichen. Wenn die dem logischen Volumen (S) 104 entsprechende Kapazität demgemäß dem logischen Volumen (T) 114 zugewiesen wird, ist es möglich, den Aufwand bzw. die Zeit für eine Arbeit zur Zeit des Schaltens von der Primärstelle zur Sekundärstelle zu verringern, wie später beschrieben wird. Dementsprechend wird der Benutzer in die Lage versetzt, die Bezeichnung in Bezug darauf vorzunehmen, ob nur eine den minimalen logischen Speichergeräten (T) 210 entsprechende Kapazität, die für den von der Steuerung (S) 101 bezeichneten Bereich als Objekt des entfernten Kopierens benötigt wird, als die Kapazität des logischen Volumens (T) 114 zugewiesen werden sollte, oder ob eine dem logischen Volumen (S) 104 entsprechende Kapazität als die Kapazität des logischen Volumens (T) 114 gewährleistet werden sollte, und die Steuerung (T) 111 gewährleistet die Kapazität des logischen Volumens (T) 114 in Übereinstimmung mit der Bezeichnung des Benutzers. Diese Bezeichnung des Benutzers kann zur Steuerung (S) 101 übertragen werden, so dass die Steuerung (T) 111 dann durch die Steuerung (S) informiert wird. Andernfalls kann die Bezeichnung direkt zur Steuerung (T) 111 übertragen werden.
  • (ii) Schreibverarbeitung
  • Als nächstes wird eine Schreibverarbeitung beschrieben. Diese Verarbeitung wird zur Zeit des Schreibens von der CPU 120 in das Speichersystem (S) 100 ausgeführt. 5 zeigt den Ablauf der Schreibverarbeitung.
  • Wenn eine Anforderung zum Schreiben von der CPU 120 zum Speichersystem (S) 100 empfangen wird (Schritt 500), schreibt die Steuerung (S) 101 die von der CPU (S) 120 übertragenen Schreibdaten in den Cache-Speicher der Steuerung (S) 101 (Schritt 501). Anschließend wird der Bezug auf die Informationstabelle 300 logischer Volumen und die Informationstabelle 310 logischer Speichergeräte vorgenommen, so dass die Schreibdaten in ein Speichergerät (S) 103 geschrieben werden, das einer logischen Adresse entspricht.
  • Falls als nächstes oder in Schritt 502 die von der CPU (S) 102 empfangene Schreibanforderung eine Schreibanforderung für ein logisches Volumen ist, für das die Definition "KOPIERURSPRUNG" als die Original/Kopie-Informationen 304 der Informationstabelle 300 logischer Volumen vorgenommen ist, wird beurteilt, ob diese Schreibanforderung das Schreiben in einen Bereich ist, der zu einem Objekt des entfernten Kopierens gemacht ist. Insbesondere wird eine Nummer eines logischen Speichergeräts, einschließlich eines Bereichs, worauf zuzugreifen ist, weiter anhand der Informationstabelle 300 logischer Volumen bestimmt, so dass die Untersuchung auf der Grundlage der Kopievorhandenseins-/Nichtvorhandenseinsinformationen 302 der Informationstabelle 300 logischer Volumen in Bezug darauf vorgenommen wird, ob das entsprechende logische Speichergerät (S) 200 einen Teil des zum Objekt des entfernten Kopierens gemachten Bereichs aufweist.
  • Falls das entsprechende logische Speichergerät (S) 200 einen Teil des zum Objekt des entfernten Kopierens gemachten Bereichs aufweist, wird die Untersuchung auf der Grundlage des Kopieradressbereichs 305 in Bezug darauf vorgenommen, ob der Bereich, auf den die CPU (S) 120 zugreift, in dem Bereich enthalten ist, der zum Objekt des entfernten Kopierens gemacht ist. Falls der Bereich, auf den die CPU (S) 120 zugreift, in dem Bereich enthalten ist, der zum Objekt des entfernten Kopierens gemacht ist, werden die Schreibdaten über den Zwischensteuerungsweg 160 auf der Grundlage eines vorbestimmten Protokolls zur Steuerung (T) 111 übertragen (Schritt 503). Insbesondere geschieht das Schreiben von der Steuerung (S) 101 für ein durch die Steuerung (T) 111 definiertes logisches Volumen (T) 114. Eine Steuergerätenummer und eine Nummer eines logischen Volumens des Schreibziels sind in der Informationstabelle 310 logischer Speichergeräte der Steuerung (S) 101 aufgezeichnet. Weil ein tatsächliches Beispiel des vorbestimmten Protokolls beispielsweise im Fall eines Hauptrechners ein CKD-Protokoll und im Fall eines offenen Systems ein Faserkanalprotokoll aufweist, werden diese Protokolle verwendet. Eine Adresse für das Schreiben von der Steuerung (S) 101 zur Steuerung (T) 111 gleicht einer Adresse für das Schreiben von der CPU 120 zum logischen Volumen (S) 104.
  • Andererseits informiert die Steuerung (T) 111 die Steuerung (S) 101 über den Abschluss des Schreibens (Schritt 511) zu einem Zeitpunkt, zu dem die von der Steuerung (S) 101 empfangenen Schreibdaten im Cache gespeichert sind (Schritt 510). Anschließend wird auf die Informationstabelle 300 logischer Volumen und die Informationstabelle 310 logischer Speichergeräte Bezug genommen, um das Schreiben zu einem Speichergerät (T) 113 auszuführen, das einer logischen Adresse entspricht. Die Steuerung (S) 101, die von der Steuerung (T) 111 über den Abschluss des Schreibens informiert wurde, informiert die CPU 120 über den Abschluss des Schreibens (Schritt 504), wodurch die Schreibverarbeitung abgeschlossen wird. Eine solche Schreibverarbeitung wird auch ausgeführt, wenn ein Kopierpaar erzeugt wird. Insbesondere wird anhand der Kopievorhandenseins-/Nichtvorhandenseinsinformationen 302 und des Kopierzeigers 306 beurteilt, ob ein zum Zugriffsobjekt gemachter Bereich bereits kopiert wurde, und Schreibdaten werden zur Steuerung (T) 111 übertragen, wenn der Bereich bereits dem Kopieren unterzogen wurde. Auch in dem Fall, in dem die Schreibanforderung von der CPU 120 das Schreiben in einen anderen Bereich als den zum Objekt des entfernten Kopierens gemachten Bereich ist (Schritt 502), geht der Fluss zu Schritt 504, wo die CPU 120 über den Abschluss des Schreibens informiert wird, wodurch die Schreibverarbeitung abgeschlossen wird.
  • (iii) Verarbeitung zum Schalten des Betriebs vom
  • Speichersystem (S) 100 zum Speichersystem (T) 110 Diese Verarbeitung wird in dem Fall ausgeführt, in dem die Verwendung des Speichersystems (S) 100 infolge eines Desasters oder dergleichen unmöglich wird.
  • Wenn die Verwendung des Speichersystems (S) 100 unmöglich wird, ist es notwendig, dass die Sekundärstelle den Dienst übernimmt. Zu diesem Zweck wird eine CPU 140 zuerst mit dem Speichersystem (T) 110 verbunden. Falls möglich, wird die CPU (S) 120, die mit dem Speichersystem (S) 100 verbunden wurde, als die zu verbindende CPU 140 verwendet. Falls die Verbindung der CPU (S) 120 unmöglich ist und eine CPU (T) 140 bereits existiert hat, kann diese CPU (T) 140 verwendet werden. Auch kann, falls erforderlich, eine neue CPU (T) 140 installiert und verbunden werden.
  • In der vorliegenden Verarbeitung wird der Inhalt der Informationstabelle 300 logischer Volumen des logischen Volumens (S) 114, der in der Steuerung (T) 111 gespeichert ist, zuerst in Schritt 601 erhalten, wie in 6 dargestellt ist. Insbesondere wird der Inhalt der Informationstabelle 300 logischer Volumen von der CPU (T) 140 oder von einem SVP oder dergleichen, der mit der Steuerung (T) 111 verbunden ist, gelesen. Der Inhalt der Informationstabelle 300 logischer Volumen umfasst die Kapazität des logischen Volumens (T) 114, die Kapazität des logischen Volumens (S) 104, den Fernkopier-Adressbereich, den Emulationstyp usw.
  • Wie zuvor erwähnt wurde, hat das logische Volumen (T) 114 nur eine Kopie eines Teilbereichs des logischen Volumens (S) 104. Daher ist es erforderlich, dass das logische Volumen (T) auf der Grundlage der Informationstabelle 300 logischer Volumen des logischen Volumens (T) 114 in einen physikalisch und logisch widerspruchsfreien Zustand und in einen verwendbaren Zustand überführt wird. Für den physikalisch widerspruchsfreien Zustand wird die Kapazität des logischen Volumens (T) 114 gleich der Kapazität des logischen Volumens (S) 104 gemacht. Für den logisch widerspruchsfreien Zustand werden Datensatz- und Dateiverwaltungsinformationen, wie VTOC- oder i-Knoten-Informationen, verwendet, um Datensatz- und Dateiverwaltungsinformationen zu löschen, die nicht in dem logischen Volumen (T) 114 existieren. Diese Verarbeitungen werden nachfolgend beschrieben.
  • Zuerst wird ein Verfahren beschrieben, um die Kapazität des logischen Volumens (S) 104 und die Kapazität des logischen Volumens (T) 114 aneinander anzugleichen.
  • Diese Verarbeitung ist nur dann erforderlich, wenn es einen Unterschied zwischen der Kapazität des logischen Volumens (S) 104 und der Kapazität des logischen Volumens (T) 114 gibt. Auch wird diese Verarbeitung ansprechend auf eine Benutzeranforderung ausgeführt.
  • Nun weist der Benutzer die Steuerung (T) 111 an, die Kapazität des logischen Volumens (T) 114 nach Bedarf zu erweitern (Schritt 602). Die Steuerung (T) 111 erhält zuerst eine Differenz zwischen der Kapazität des logischen Volumens (S) und der Kapazität des logischen Volumens (T). Insbesondere werden der Emulationstyp und die Kapazität des logischen Volumens (S) 104 von der Informationstabelle 300 logischer Volumen des logischen Volumens (T) 114 erhalten. Ferner wird auf der Grundlage der Informationstabelle 300 logischer Volumen des logischen Volumens (T) 114 die Kapazität des logischen Volumens (T) 114 anhand der Anzahl und der Kapazität der logischen Speichergeräte 210, die dem logischen Volumen (T) 114 zugewiesen sind, erhalten.
  • Die CPU (T) 140 oder der SVP weist die Steuerung (T) 111 an, logische Speichergeräte 210 mit einer Kapazität, die der Kapazitätsdifferenz entspricht, zuzuordnen.
  • Die angewiesene Steuerung (T) 111 sucht nach logischen Speichergeräten 210 in nicht verwendeten Zuständen, um logische Speichergeräte 210 zuzuordnen, die der bezeichneten Kapazität entsprechen. An dieser Stelle sei bemerkt, dass das Spurformat des zugeordneten logischen Speichergeräts 210 mit dem Emulationstyp vereinbar sein muss. Für diese Anforderung ist es notwendig, dass das nicht verwendete logische Speichergerät 210 vorab formatiert wird. Auch ist es in dem Fall, in dem kein nicht verwendetes logisches Speichergerät 210 existiert, notwendig, diesem Rechnung zu tragen, beispielsweise indem zusätzlich Speichergeräte 113 installiert werden.
  • Als nächstes werden logische Adressen, die auf dem logischen Volumen (S) 104 existiert haben, diesen neu zugeordneten logischen Speichergeräten 210 zugeordnet. Insbesondere wird ein Adressbereich unter Ausschluss eines Adressbereichs, der bereits zugeordnet wurde (d. h. ein Adressbereich in einem zu einem Objekt des entfernten Kopierens gemachten Bereich) der Reihenfolge nach abgebildet. Beispielsweise werden in dem Fall, in dem der Bereich von 2n bis 3n – 1 in den logischen Adressen 0 bis 4n – 1 in dem logischen Volumen (S) 104 der zum Objekt des entfernten Kopierens gemachte Bereich ist, zwei logische Speichergeräte 210 neu zugewiesen (wobei ihre logischen Speichergerätenummern auf i und j gesetzt sind), so dass logische Adressen 0 bis 2n – 1 dem mit i nummerierten logischen Speichergerät 210 zugewiesen werden und logische Adressen 3n bis 4n – 1 dem mit j nummerierten logischen Speichergerät 210 zugewiesen werden.
  • Die Nummer und der Logikadressbereich des neu zugewiesenen logischen Speichers 210 werden in der Nummer 301 des logischen Speichergeräts und dem Kopieradressbereich 305 der Informationstabelle 300 logischer Volumen gespeichert.
  • Es kann der Fall auftreten, in dem mehrere logische Volumen (T) 114 für ein logisches Volumen (S) 104 existieren. Wie bereits zuvor beschrieben wurde, entspricht dieser Fall dem Fall, in dem ein anderer Bereich, der zu einem Objekt des entfernten Kopierens gemacht ist, neu zu einem logischen Volumen (S) 104 hinzugefügt ist, in dem ein zu einem Objekt des entfernten Kopierens gemachter Bereich bereits existiert hat. In einem solchen Fall werden logische Speichergeräte (T) 210, die einem durch Subtrahieren des Gesamtwerts der Kapazitäten aller logischer Volumen (T) 114 von der Kapazität des logischen Volumens (S) 104 erhaltenen Wert entsprechen, einem logischen Volumen (T) 114 neu zugewiesen und logische Adressen angewendet, die nicht auf alle logischen Volumen (T) 114 abgebildet sind, aber auf dem logischen Volumen (S) 104 bereits existiert haben.
  • Auch wird ein logisches Volumen (T) 114 durch eine Ansammlung der logischen Speichergeräte (T) 210 gebildet, die allen logischen Volumen (T) 114 zugeordnet sind, und ihm wird eine Nummer zugewiesen. Die Nummer des logischen Volumens, die zuzuweisen ist, kann eine der Nummern logischer Volumen sein, die bisher für die logischen Volumen (T) 114 verwendet wurden, oder sie kann von außen durch den Benutzer angegeben werden.
  • Wenn die Erweiterung des logischen Volumens (T) 114 auf diese Weise abgeschlossen ist, ändert der Benutzer die Dateiverwaltungsinformationen (Schritt 603). Dies wird ausgeführt, um Datensatz- und Dateiverwaltungsinformationen logisch widerspruchsfrei zu machen. Im Allgemeinen umfassen die Dateiverwaltungsinformationen Nummern logischer Volumen, die Namen gespeicherter Datensätze und Dateien, Adressen in logischen Volumen usw. Die Änderung der Dateiverwaltungsinformationen wird ausgeführt, indem jene Informationen von Datensätzen und Dateien gelöscht werden, die in den Dateiverwaltungsinformationen gespeichert sind, welche nicht in dem Bereich enthalten sind, der zum Objekt des Kopierens gemacht ist (oder die in einem anderen Bereich als dem zum Objekt des Kopierens gemachten Bereich enthalten sind), wodurch eine Definitionsänderung vorgenommen wird, so dass der andere Bereich zu einem nicht verwendeten Bereich gemacht wird.
  • Insbesondere werden Adressen außerhalb des zum Objekt des entfernten Kopierens gemachten Bereichs zuerst auf der Grundlage des Kopieradressbereichs 305 der in der Steuerung (T) 111 gehaltenen Informationstabelle 300 logischer Volumen bestimmt. Als nächstes werden die Dateiverwaltungsinformationen auf Datensätze und Dateien durchsucht, die in einem anderen Bereich als dem zum Objekt des entfernten Kopierens gemachten Bereich enthalten sind. Falls solche Datensätze und Dateien existieren, werden ihre Verwaltungsinformationen gelöscht, so dass der andere Bereich zu einem nicht verwendeten Bereich gemacht wird, wodurch die Dateiverwaltungsinformationen aktualisiert werden.
  • Genau gesagt, wird die CPU 140 veranlasst, ein Hilfsprogramm mit der vorstehend erwähnten Funktion auszuführen. Wenn die vorstehend erwähnte Verarbeitung abgeschlossen ist, wird der Dienst an der Sekundärstelle in Schritt 604 neu gestartet.
  • Vorstehend wurde die erste Ausführungsform der vorliegenden Erfindung beschrieben.
  • Die vorstehende Beschreibung wurde unter der Annahme gegeben, dass die Kapazitäten logischer Speichergeräte in jedem Speichersystem zueinander gleich sind. In jedem Speichersystem können die Kapazitäten logischer Speichergeräte jedoch voneinander verschieden gemacht werden. In diesem Fall ist es notwendig, dass die vorstehende Verarbeitung unter Berücksichtigung der Kapazitäten der individuellen logischen Speichergeräte ausgeführt wird.
  • Als nächstes wird eine zweite Ausführungsform der vorliegenden Erfindung beschrieben.
  • II. Zweite Ausführungsform
  • Gemäß der zweiten Ausführungsform wird ein migratorisches Kopieren ausgeführt, bei dem Daten zwischen neuen und alten Speichersystemen migrieren.
  • Die Beschreibung wird nun unter der Annahme gegeben, dass das migratorische Kopieren von einem Speichersystem 1100 zu einem Speichersystem 1000 ausgeführt wird, wie in 7 dargestellt ist. Das Speichersystem 1000, das als ein Kopierziel dient, hat eine Steuerung 1010 und Speichergeräte 1030, und das Speichersystem 1100, das als ein Kopierursprung dient, hat eine Steuerung 1110 und Speichergeräte 1130.
  • Nachfolgend werden das als der Kopierursprung dienende Speichersystem 1100 und seine Bestandteile mit (S) bezeichnet und das als das Kopierziel dienende Speichersystem 1000 und seine Bestandteile mit (T) bezeichnet.
  • An einer Anfangsstufe wird in dem Fall, in dem das migratorische Kopieren auszuführen ist, eine CPU 1200 in einen Zustand versetzt, in dem sie mit dem Speichersystem (S) 1100, d. h. dem Speichersystem, das als der Datenmigrations-Kopierursprung dient, verbunden ist. Das neue Speichersystem (T) 1000 wird darin übertragen, und der Verbindungsweg von der CPU 1200 zum Speichersystem (S) 1100 wird geändert, so dass die Verbindung zu dem Speichersystem (T) 1000 beeinflusst wird. Auch werden die Steuerung (T) 1010 und die Steuerung (S) 1110 mit einem Zwischensteuerungsweg 1600 verbunden. Dieser Zustand ist in 7 dargestellt. Wie das in Zusammenhang mit der vorstehend erwähnten ersten Ausführungsform dargestellte Speichersystem 100 ist das Speichersystem (T) 1000 ein Speichersystem, in dem die Steuerung (T) 1010 ein logisches Volumen (T) 104 durch logische Speichergeräte 200 verwaltet, die in Zusammenhang mit der ersten Ausführungsform beschrieben und dargestellt sind, und Informationstabellen 300 logischer Volumen und Informationstabellen 310 logischer Speichergeräte (siehe 3) darin hält. Andererseits braucht die Steuerung (S) 1110 des Speichersystems (S) 1100 diese Tabellen nicht zu halten. Dementsprechend kann das als der Kopierursprung dienende Speichersystem das herkömmliche Speichersystem sein.
  • 8 zeigt den Verarbeitungsablauf für ein migratorisches Kopieren.
  • Zu Beginn existieren in dem Speichersystem (T) 1000 keine Daten, die zu einem Objekt eines Zugriffs durch die CPU 1200 gemacht sind, sie existieren jedoch im Speichersystem (S) 1100. Ungültige Daten sind im Speichersystem (T) 1000 gespeichert. Zuerst bezeichnet in einem solchen Zustand ein Benutzer Parameter in der Art der Nummer des logischen Volumens, des Emulationstyps und der Kapazität eines logischen Volumens 104 für die Steuerung (T) 1000 und weist die Steuerung (T) 1010 an, das logische Volumen (T) 104 zuzuweisen (Schritt 701). In Schritt 710 weist die Steuerung (T) 1010 das logische Volumen (T) 104 entsprechend dem Befehl des Benutzers zu. Insbesondere werden logische Speichergeräte 200 in nicht verwendeten Zuständen zugewiesen, um eine Kapazität, die größer oder gleich der Kapazität des bezeichneten logischen Volumens ist, bereitzustellen, und die Nummern der Speichergeräte davon werden in Übereinstimmung mit der Zuweisungsreihenfolge in den Nummern 301 der logischen Speichergeräte der Informationstabelle 300 logischer Volumen gespeichert. Schließlich werden der bezeichnete Emulationstyp und die Kapazität in den Emulationsinformationen 303 gespeichert, wodurch die Zuweisung des logischen Volumens (T) 104 abgeschlossen wird. Zu dieser Zeit wird angenommen, dass der Benutzer die Kapazität des logischen Volumens (T) 104 bezeichnen kann. Dementsprechend ist es möglich, ein logisches Volumen (T) 104 mit einer beliebigen Kapazität zu bilden, welches einen zu einem Objekt des Kopierens gemachten Bereich aufweist.
  • Wenn die Zuweisung des logischen Volumens (T) 104 abgeschlossen ist, ändert der Benutzer Dateiverwaltungsinformationen eines logischen Volumens (S) 114 des Kopierursprungs (Schritt 702). Insbesondere werden die Dateiverwaltungsinformationen auf Datensätze und Dateien durchsucht, die in einem anderen Bereich als dem zum Objekt des migratorischen Kopierens gemachten Bereich enthalten sind, so dass Verwaltungsinformationen der herausgesuchten Datensätze und Dateien gelöscht werden.
  • Anschließend oder in Schritt 703 wird das logische Volumen (S) 114 des Kopierursprungs in einen von der CPU 1200 getrennten Off-line-Zustand versetzt, so dass darauf nicht zugegriffen werden kann. Anschließend oder in Schritt 704 wird die Steuerung (T) 1010 angewiesen, ein migratorisches Kopieren mit mindestens einer Steuerungsnummer und einer Nummer eines logischen Volumens des Kopierursprungs, einer Nummer eines logischen Volumens des Ziels des migratorischen Kopierens und einem Bereich des Objekts des migratorischen Kopierens als Parameter auszuführen.
  • Wenn die Anweisung für den Beginn des migratorischen Kopierens empfangen wird, leitet die Steuerung (T) 1010 das migratorische Kopieren von dem bezeichneten Bereich des bezeichneten logischen Volumens (S) 114 des Speichersystems (S) 1100 ein (Schritt 711). Vor dem migratorischen Kopieren wird der Kopierzeiger 306 der Informationstabelle 300 logischer Volumen zuerst initialisiert, d. h. eine führende Adresse des zum Objekt des migratorischen Kopierens gemachten Bereichs wird im Kopierzeiger 306 gespeichert. "MIGRATORISCHE KOPIE VORHANDEN" wird in den Kopievorhandenseins-/Nichtvorhandenseinsinformationen 302 für ein logisches Speichergerät 200, einschließlich eines Teils des Bereichs, der zum Objekt des migratorischen Kopierens gemacht ist, gespeichert. Auch wird der Kopieradressbereich 305 für jene logische Adressen des Bereichs des Objekts des migratorischen Kopierens gespeichert, die in einem Logikadressbereich enthalten sind, der auf das entsprechende logische Speicher gerät 200 abgebildet ist. Beispielsweise werden, vorausgesetzt, dass logische Adressen m (0 < m < k – 1) bis n (k – 1 < n) für den zum Objekt des migratorischen Kopierens gemachten Bereich bezeichnet sind, die logischen Adressen m bis k – 1 in dem Kopieradressbereich 305 eines logischen Speichergeräts (T) 200 gespeichert, worauf die logischen Adressen 0 bis k – 1 abgebildet sind. Anschließend wird der Paarzustand 307 der Informationstabelle 300 logischer Volumen in einen Migratorisches-Kopieren-Ausführungszustand versetzt. Auch werden die bezeichnete Steuerungsnummer und die Logikvolumennummer in der Paarsteuerungsnummer 314 und der Paarlogikvolumennummer 315 der Informationstabelle 310 logischer Speichergeräte gespeichert.
  • Wenn die vorstehend erwähnte Verarbeitung abgeschlossen ist, leitet die Steuerung (T) 1010 das Kopieren des zum Objekt des migratorischen Kopierens gemachten Bereichs ein. Die Steuerung (T) 1010 liest Daten von einem vorbestimmten Bereich des logischen Volumens (S) 114 in einer Reihenfolge vom Anfang des bezeichneten Bereichs entsprechend dem Wert des Kopierzeigers und schreibt die Daten in ein Speichergerät (T) 1030, das ein der gelesenen logischen Adresse entsprechendes logisches Speichergerät (T) 200 bildet. Die Kopievorhandenseins-/Nichtvorhandenseinsinformationen 302 in der Informationstabelle 300 logischer Volumen, die dem logischen Speichergerät (T) 200, dessen Kopie abgeschlossen ist, entspricht, werden zu "KOPIE NICHT VORHANDEN" gemacht. Wenn die Kopie des gesamten Bereichs schließlich abgeschlossen ist, wird der Paarzustand zu einem Simplexzustand gemacht, wodurch das migratorische Kopieren abgeschlossen wird.
  • Nach der Anweisung zum migratorischen Kopieren bringt der Benutzer die Daten des logischen Zielvolumens (T) 104 für das migratorische Kopieren des Speichersystems (T) 1000 in einen Online-Zustand für die CPU 1200, um den Dienst wiedereinzuleiten (Schritt 705). Nach dem Wiedereinleiten des Diensts wird die CPU 1200 in die Lage versetzt, eine Ein- /Ausgabeanforderung an das Speichersystem (T) 1000 auszugeben.
  • In dem Fall, in dem eine Anforderung zur Ein-/Ausgabe für einen Bereich, der noch nicht dem Kopieren unterzogen wurde, von der CPU 1200 an das Speichersystem (T) 1000 ausgegeben wird, wird die folgende Verarbeitung ausgeführt.
  • Insbesondere verwendet die Steuerung (T) 1010 die Kopievorhandenseins-/Nichtvorhandenseinsinformationen 302, den Kopieradressbereich 305, den Paarzustand 307 und den Kopierzeiger 306, um zu untersuchen, ob eine Zugriffsadresse von der CPU 1200 in einen Bereich fällt, der noch nicht dem Kopieren unterzogen wurde. Falls dies der Fall ist, liest die Steuerung (T) 1010 die entsprechenden Daten aus dem Speichersystem (S) 1100, um sie in einem Cache-Speicher der Steuerung (T) 1010 zu speichern, und behandelt den Zugriff von der CPU 1200 unter Verwendung der gespeicherten Daten.
  • Vorstehend wurde die zweite Ausführungsform der vorliegenden Erfindung beschrieben.
  • Auch in der zweiten Ausführungsform wurde die Beschreibung unter der Annahme gegeben, dass die Kapazitäten logischer Speichergeräte in jedem Speichersystem einander gleich sind. In jedem Speichersystem können die Kapazitäten logischer Speichergeräte jedoch voneinander verschieden gemacht werden. In diesem Fall ist es notwendig, dass die vorstehende Verarbeitung unter Berücksichtigung der Kapazitäten der individuellen logischen Speichergeräte ausgeführt wird.
  • Als nächstes wird eine dritte Ausführungsform der vorliegenden Erfindung beschrieben.
  • III. Dritte Ausführungsform
  • Gemäß der dritten Ausführungsform wird ein logisches Volumen auf mehreren RAID-Gruppen verteilt angeordnet/umgeordnet.
  • 9 zeigt die Konstruktion eines Speichersystems gemäß der dritten Ausführungsform.
  • Wie dargestellt, hat ein Speichersystem 1001 gemäß der vorliegenden Ausführungsform eine Steuerung 1011 und mehrere Speichervorrichtungen 1031, welche mehrere RAID-Gruppen 205 bilden. Das Speichersystem 1001 ist mit einer CPU 1201 verbunden.
  • Wie das in Zusammenhang mit der vorstehend erwähnten ersten Ausführungsform dargestellte Speichersystem 100 ist das Speichersystem 1001 ein Speichersystem, in dem die Steuerung 1011 ein logisches Volumen 104 durch logische Speichergeräte 200 verwaltet, die in Zusammenhang mit der ersten Ausführungsform beschrieben und dargestellt sind, und Informationstabellen 300 logischer Volumen und Informationstabellen 310 logischer Speichergeräte (siehe 3) darin hält.
  • Wie vorstehend erwähnt wurde, werden die logischen Speichergeräte 200 erhalten, indem für jede der RAID-Gruppen 205 der Adressraum dieser RAID-Gruppe durch jede feste Länge dividiert wird. Dementsprechend ist ein logisches Speichergerät 200 sicher ein Teil des Adressraums einer RAID-Gruppe 205 und erstreckt sich nie über die Adressräume mehrerer RAID-Gruppen 205. Gemäß der vorliegenden Ausführungsform wird ein logisches Speichergerät 200, das ein logisches Volumen 104 bildet, aus einer RAID-Gruppe 205 ausgewählt, wodurch es ermöglicht wird, ein logisches Volumen für jeden Bereich des Volumens auf jeder RAID-Gruppe anzuordnen. Die Einzelheiten werden nun beschrieben.
  • Bei der Bildung eines bestimmten logischen Volumens 104 bezeichnet ein Benutzer mindestens eine logische Volumennummer, einen Bereich des logischen Volumens 104 und eine Nummer einer RAID-Gruppe 205, worin dieser Bereich zu speichern ist. Die Bezeichnung des Benutzers wird der Steuerung 1011 zugeführt. Nach dem Empfang der Bezeichnung weist die Steuerung 1011 nicht verwendete logische Speichergeräte 200 von der bezeichneten RAID-Gruppe 205 zu, um eine Kapazität bereitzustellen, die größer oder gleich der Kapazität des bezeichneten Bereichs ist, und sie bildet einen Logikadressbereich, einschließlich des bezeichneten Bereichs, auf die zugewiesenen logischen Speichergeräte 200 ab. Falls die nicht verwendeten logischen Speichergeräte 200 nicht existieren, informiert die Steuerung 1011 den Benutzer darüber, dass die Zuweisung nicht möglich ist.
  • Nummern der zugewiesenen logischen Speichergeräte 200 werden in den Nummern 301 logischer Speichergeräte der Informationstabelle 300 logischer Volumen entsprechend der Reihenfolge der Zuweisung gespeichert. Anschließend informiert die Steuerung 1011 den Benutzer über den Logikadressbereich, der auf die zugewiesenen logischen Speichergeräte 200 abgebildet wurde. Dadurch wird der Benutzer in die Lage versetzt, den nächsten Bereich in Bezug auf den mitgeteilten Logikadressbereich zu bezeichnen, so dass keine Überlappung von Bereichen erzeugt wird.
  • Falls das logische Volumen 104 bereits betrieben wurde, so dass gültige Daten in dem bezeichneten Bereich gespeichert sind, ist es notwendig, logische Speichergeräte 200, in denen die gültigen Daten gespeichert sind, umzuordnen. Für diese Umordnung ist es notwendig, dass nicht nur die Abbildung logischer Adressen der logischen Speichergeräte 200 geändert wird, sondern dass auch Daten von logischen Speichergeräten, in denen sich gültige Daten befinden, in neu zugewiesene logische Speichergeräte 200 kopiert werden. Insbesondere existiert in dem Fall, in dem das logische Volumen 104 bereits gültige Daten gehalten hat, die entsprechende Tabelle 300 logischer Volumen. Auf diese Weise speichert die Steuerung 1011 nach dem Zuweisen logischer Speichergeräte 200 des Kopierziels von der bezeichneten RAID-Gruppe 205 die Nummer des logischen Speichergeräts 200 des Kopierziels in der Paarlogikvolumennummer 315 einer Informationstabelle 310 logischer Speichergeräte eines logischen Speichergeräts 200 des Kopierursprungs und gibt "KOPIE VORHANDEN" in die Kopievorhandenseins-/Nichtvorhandenseinsinformationen 302 für das logische Speichergerät 200 des Kopierursprungs in der Informationstabelle 300 logischer Volumen ein. Dieser Vorgang wird für alle logischen Speichergeräte 200 des Kopierziels ausgeführt. Schließlich wird der Kopierzeiger 306 initialisiert oder auf die Adresse 0 gesetzt, um das Kopieren von der führenden Adresse eines führenden logischen Speichergeräts 200 des Kopierursprungs einzuleiten, und der Paarzustand 307 wird in einen Kopieausführungszustand versetzt, um das Kopieren einzuleiten. Wenn das Kopieren in Bezug auf ein bestimmtes logisches Speichergerät 200 abgeschlossen ist, wird die in der Informationstabelle 300 logischer Volumen registrierte Nummer 301 des logischen Speichergeräts des Kopierursprungs zu einer Nummer eines logischen Speichergeräts des Kopierziels umgeschrieben, die in der Paarlogikvolumennummer 315 der Informationstabelle 310 logischer Speichergeräte des logischen Speichergeräts 200 des Kopierursprungs gespeichert wird, und die Kopievorhandenseins-/Nichtvorhandenseinsinformationen 302 in einem Eintrag mit dieser Nummer des logischen Speichergeräts werden auf "KOPIE NICHT VORHANDEN" gesetzt. Nun gibt es für von der CPU 1201 gesendete Schreibdaten den Fall, in dem "KOPIE VORHANDEN" als die Kopievorhandenseins-/Nichtvorhandenseinsinformationen 302 in einer Informationstabelle 300 logischer Volumen für ein logisches Speichergerät 200 gesetzt ist, worauf ein Schreibbereich in der Informationstabelle 300 logischer Volumen abgebildet ist. In diesem Fall ist es notwendig, die Schreibdaten folgendermaßen in ein logisches Speichergerät 200 des Kopierziels zu schreiben.
  • Insbesondere wird die Untersuchung auf der Grundlage der Informationstabelle 300 logischer Volumen, genauer gesagt der Kopievorhandenseins-/Nichtvorhandenseinsinformationen 302 für das logische Speichergerät 200 mit dem darauf abgebildeten Schreibbereich und dem Kopierzeiger 306 in Bezug darauf getroffen, ob der Schreibbereich ein Bereich, der bereits einem Kopieren unterzogen wurde, ein Bereich, der noch nicht einem Kopieren unterzogen wurde, oder ein anderer Bereich als ein zu einem Objekt des Kopierens gemachter Bereich ist. Falls der Schreibbereich ein Bereich ist, der bereits dem Kopieren unterzogen wurde, werden die Daten in ein logisches Speichergerät 200 des Kopierziels geschrieben, das durch eine Nummer des logischen Speichergeräts des Kopierziels angegeben ist, die in der Paarlogikvolumennummer 315 einer Informationstabelle 310 logischer Speichergeräte für das logische Speichergerät 200, worauf der Schreibbereich abgebildet ist, gespeichert ist. Falls der Schreibbereich ein Bereich, der noch nicht dem Kopieren unterzogen wurde, oder ein anderer Bereich als ein zu einem Objekt des Kopierens gemachter Bereich ist, werden die Schreibdaten in das logische Speichergerät 200 geschrieben, auf das der Schreibbereich abgebildet ist.
  • Andererseits werden in dem Fall, in dem es einen Lesezugriff von der CPU 1201 gibt, Daten aus einem logischen Speichergerät 200 des Kopierziels gelesen, falls ein Lesebereich oder ein dem Lesen zu unterziehender Bereich ein Bereich ist, der bereits dem Kopieren unterzogen wurde, und aus einem logischen Speichergerät 200 des Kopierursprungs gelesen, falls der Lesebereich ein Bereich, der noch nicht dem Kopieren unterzogen wurde, oder ein anderer Bereich als ein zu einem Objekt des Kopierens gemachter Bereich ist. Während eine Ein-/Ausgabeanforderung von der CPU 1201 auf diese Weise verarbeitet wird, wird das Kopieren ausgeführt. Wenn das Kopieren für den gesamten Bereich abgeschlossen ist, wird der Paarzustand in einen Simplexzustand (oder einen Kopierpaar-Nichtvorhandenseinszustand) versetzt, wodurch die Rekonstruktion des logischen Volumens 104 abgeschlossen wird.
  • Vorstehend wurde die dritte Ausführungsform der vorliegenden Erfindung beschrieben.
  • Nachstehend wird eine vierte Ausführungsform der vorliegenden Erfindung beschrieben.
  • IV. Vierte Ausführungsform
  • Gemäß der vorstehend erwähnten dritten Ausführungsform wurde ein logisches Volumen 104 entsprechend der Bezeichnung einer Nummer eines logischen Volumens, eines Bereichs des logischen Volumens 104 und einer Nummer einer RAID-Gruppe 205, in der dieser Bereich zu speichern ist, durch den Benutzer umgeordnet. Gemäß der stattdessen vorgeschlagenen vierten Ausführungsform werden ein Zugriffsmuster und statistische Informationen in der Art von Betriebsinformationen für jedes logische Speichergerät 200 erhalten, so dass ein logisches Volumen 104 automatisch oder manuell anhand der Merkmale der erhaltenen Informationen umgeordnet wird. Die Einzelheiten werden nun beschrieben.
  • Gemäß der vierten Ausführungsform werden die Leserate und die Schreibrate eines wahlfreien Zugriffs, die Leserate und die Schreibrate eines sequenziellen Zugriffs, die Verwendungsrate eines logischen Speichergeräts 200 usw. für jedes logische Speichergerät 200 erhalten. Diese statistischen Informationen werden bei einer bestimmten festen Periode untersucht, um die optimale Anordnung logischer Speichergeräte 200 zu berechnen. Ein Beispiel eines Verfahrens zum Bestimmen der optimalen Anordnung umfasst das Bestimmen der Verwendungsrate jeder RAID-Gruppe 205 anhand der Summe der Verwendungsraten logischer Speichergeräte 200, welche diese RAID-Gruppe 205 bilden. Falls die Verwendungsraten der jeweiligen RAID-Gruppen 205 eine große Dispersion oder eine große Differenz aufweisen, werden die logischen Speichergeräte 200 auf den RAID-Gruppen 205 umgeordnet, so dass die Verwendungsraten angeglichen werden.
  • Zu dieser Zeit wird die Anordnung unter zusätzlicher Berücksichtigung eines Zugriffsmusters bestimmt. Beispielsweise wird in dem Fall, in dem häufig ein zufälliger Zugriff vorgenommen wird, das Verkürzen einer Antwortzeit wichtig. Daher wird ein einem solchen Zugriff unterzogenes logisches Speichergerät in einer RAID-Gruppe angeordnet, die durch schnelle Speichergeräte kleiner Kapazität gebildet ist und ein RAID-Niveau von RAID 1 aufweist. In dem Fall, in dem ein sequenzieller Zugriff häufig ausgeführt wird, wird der Durchsatz (oder die Anzahl der E/A-Verarbeitungen je Zeiteinheit) wichtig. Daher wird ein einem solchen Zugriff unterzogenes logisches Speichergerät in einer RAID-Gruppe angeordnet, die ein RAID-Niveau von RAID 5 aufweist. Bei einer solchen Anordnung werden viele Speichergeräte gleichzeitig betrieben, um den Durchsatz zu verbessern.
  • Eine Verarbeitung zum Bestimmen der vorstehend erwähnten Umordnung kann durch einen in der Steuerung 101 bereitgestellten Prozessor oder ein externes Endgerät, das mit der Steuerung 101 verbunden ist, ausgeführt werden.
  • Anschließend an die Bestimmung der neuen Anordnung logischer Speichergeräte 200 wird das Kopieren in ähnlicher Weise wie gemäß der dritten Ausführungsform ausgeführt, so dass die Anordnung logischer Speichergeräte 200 tatsächlich geändert wird.
  • Vorstehend wurde die vierte Ausführungsform der vorliegenden Erfindung beschrieben.
  • Nachstehend wird eine fünfte Ausführungsform der vorliegenden Erfindung beschrieben.
  • V. Fünfte Ausführungsform
  • Weil es gemäß der vorstehend erwähnten ersten Ausführungsform notwendig ist, ein logisches Volumen 104 vorab in mehrere logische Speichergeräte 200 zu unterteilen, muss ein Speicherbereich zum Gewährleisten von Informationstabellen 310 logischer Speichergeräte größer sein, wenn die Kapazität des logischen Speichergeräts 200 verkleinert wird. Hierdurch wird die Wirksamkeit in dem Fall beeinträchtigt, in dem nur ein Teil des logischen Volumens 104 zu einem Objekt des entfernten Kopierens gemacht ist.
  • Dementsprechend wird gemäß der fünften Ausführungsform ein entferntes Kopieren verwirklicht, bei dem das vorstehend erwähnte Problem gelöst ist.
  • Der Aufbau eines Informationssystems gemäß der fünften Ausführungsform ähnelt jenem, der in 1 dargestellt ist. Die fünfte Ausführungsform unterscheidet sich jedoch in der Hinsicht, dass die Steuerung (S) 101 und die Steuerung (T) 111 an Stelle des logischen Volumens und der Informationstabelle 300 logischer Volumen und der Informationstabelle 310 logischer Speichergeräte, die in 3 dargestellt sind, mit in den 10 und 11 dargestellten Tabellen versehen sind. Die Einzelheiten werden nun beschrieben.
  • Zuerst werden von der Steuerung (S) 101 gehaltene Tabellen beschrieben.
  • Die Steuerung (S) 101 hält Informationstabellen 800 logischer Volumen, RAID-Gruppenverwaltungstabellen 840, Gruppentabellen 820 und Paarverwaltungstabellen 830, wie in 10 dargestellt ist.
  • Die Informationstabelle 800 logischer Volumen und die Gruppentabelle 820 sind für jedes logische Volumen bereitgestellt. Die RAID-Gruppenverwaltungstabelle 840 ist für jede RAID-Gruppe bereitgestellt. Nun wird gemäß der fünften Ausführungsform der Bereich des logischen Volumens 104 in Gruppen gleicher Größe unterteilt, und diese Gruppen werden sequenziell nummeriert. Beispielsweise wird die Gruppierung im Fall eines offenen Systems in Bezug auf die Anzahl der Blöcke ausgeführt und im Fall eines Hauptrechners in Bezug auf die Anzahl der Zylinder oder die Anzahl der Spuren ausgeführt, und die Gruppen werden in einer Sequenz von einer Gruppe, die eine führende Adresse aufweist, mit 0, 1, ... nummeriert.
  • Die Informationstabelle 800 logischer Volumen besteht aus einer RAID-Gruppennummer 801, welche eine Nummer einer ein logisches Volumen 104 bildenden RAID-Gruppe 205 angibt, einem Adressbereich 802, welcher einen Adressbereich des logischen Volumens in der RAID-Gruppe 205 angibt, Emulationsinformationen 803, Original/Kopie-Informationen 804 und einer Gruppentabellennummer 805.
  • Der Adressbereich in der RAID-Gruppe 205 ist ein Adressbereich auf Speichergeräten 103, welche die RAID-Gruppe 205 bilden, d. h. eine führende Adresse und die Anzahl der Blöcke. Ein durch diesen Adressbereich angegebener Bereich bildet ein logisches Volumen 104. Weil gemäß der fünften Ausführungsform ein logisches Volumen 104 durch einen gemeinsamen Adressbereich von Speichergeräten 103, welche eine RAID-Gruppe bilden, definiert ist, werden eine führende Adresse dieses gemeinsamen Adressbereichs und die Anzahl der Blöcke darin in dem Adressbereich 802 gespeichert.
  • Die Emulationsinformationen 803 und die Original/Kopie-Informationen 804 gleichen den Emulationsinformationen 303 und den Original/Kopie-Informationen 304 (siehe 3), welche in Zusammenhang mit der ersten Ausführungsform dargestellt sind. Falls das entsprechende logische Volumen 104 zu einem Objekt des Kopierens gemacht wird, wird "KOPIERURSPRUNG" in den Original/Kopie-Informationen 804 gespeichert. In diesem bestimmten Fall wird der Wert der Gruppentabellennummer 805 gültig.
  • Die Gruppentabellennummer 805 wird mit einer Nummer einer Gruppentabelle 820, die dem logischen Volumen zugewiesen ist, gespeichert.
  • Die RAID-Gruppen-Verwaltungstabelle 840 ist eine Tabelle zum Zuordnen einer RAID-Gruppe 205 zu Speichergeräten 103. Die Tabelle 840 besteht aus Speichergerätenummern 841, die mit Nummern von Speichergeräten 103 gespeichert sind, welche eine RAID-Gruppe 205 bilden, einem RAID-Niveau 842, das mit dem RAID-Niveau der RAID-Gruppe gespeichert ist, und einem Leeradressbereich 843, wodurch ein nicht verwendeter Bereich der RAID-Gruppe 205 dargestellt ist.
  • Die Gruppentabelle 820 ist eine Tabelle, durch die jede der Gruppen eines logischen Volumens 104, dem diese Gruppentabelle 820 zugewiesen ist, einer Paarverwaltungstabelle 830 zugeordnet ist, die ein logisches Volumen 114 eines Kopierziels dieser Gruppe verwaltet. Die Tabelle 820 speichert eine Paarverwaltungstabellennummer 821, die jeder Gruppe zugeordnet ist. Indem ein Zugriff auf die Gruppentabelle 820 vorgenommen wird, wobei eine Gruppennummer als ein Index genommen wird, ist es möglich, eine Paarverwaltungstabellennummer der entsprechenden Gruppe zu kennen.
  • Die Paarverwaltungstabelle 830 ist eine Tabelle zum Zuordnen eines logischen Volumens 104 des Kopierursprungs zu einem logischen Volumen 114 eines Kopierziels. Die Tabelle 830 besteht aus einer Nummer 831 einer Steuerung der entgegengesetzten Seite, die mit einer Nummer einer Kopierzielsteuerung (T) 111 gespeichert ist, einer Nummer 832 eines logischen Volumens der entgegengesetzten Seite, die mit einer Nummer eines logischen Volumens (T) 114 eines Kopierzielspeichersystems (T) 110 gespeichert ist, einer Nummer 833 eines logischen Volumens der eigenen Seite, die mit einer Nummer eines logischen Volumens (S) 104 des Kopierursprungs gespeichert ist, einer führenden Adresse 834 eines Kopierursprungs und einer letzten Adresse 835 eines Kopierursprungs, die mit einer führenden und einer letzten Adresse des logischen Volumens (S) 104 gespeichert sind, welche zu einem Objekt des Kopierens gemacht sind, einem Paarzustand 836, wodurch der Zustand eines Kopierpaars angegeben ist, und einem Kopierzeiger 837, wodurch der Fortschritt des Kopierens dargestellt wird.
  • Die Gruppentabellen 820 und die Paarverwaltungstabellen 830 werden in einer zuvor in dem System definierten Anzahl gehalten, und die Anzahl wird anhand der Speicherkapazität der Steuerung (S) 101 und der maximalen Anzahl von Paaren bestimmt. Auch werden diese Tabellen dynamisch zugewiesen und geöffnet, je nach dem, wie es erforderlich ist. Insbesondere wird eine nicht verwendete Tabelle zugewiesen, wenn ein Paar erzeugt wird. Wenn das Paar freigegeben wird, wird die Tabelle geöffnet oder wieder in einen nicht verwendeten Zustand zurückgeführt. Dementsprechend besteht keine Befürchtung, dass eine Speicherressource großer Kapazität für das Speichern der Gruppentabellen 820 und der Paarverwaltungstabellen 830 verbraucht wird.
  • Als nächstes werden von der Steuerung (T) 111 gehaltene Tabellen beschrieben.
  • Die Steuerung (T) 111 hält in 11 dargestellte Informationstabellen 900 logischer Volumen und die in 10 dargestellten RAID-Gruppenverwaltungstabellen 840.
  • Die Informationstabelle 900 logischer Volumen ist für jedes logische Volumen (T) 114 bereitgestellt. Die Tabelle 900 besteht aus einer Nummer 905 einer Steuerung des Kopierursprungs, die mit einer Nummer einer Steuerung (S) 110 als Kopierursprung des logischen Volumens (T) 114 gespeichert ist, einer Nummer 906 eines logischen Volumens des Kopierursprungs, die mit einer Nummer eines logischen Volumens (S) 104 eines Kopierursprungsspeichersystems (S) 100 gespeichert ist, und einem Kopieradressbereich 907, der mit einem Adressbereich des logischen Volumens (S) 104 des Kopierursprungs gespeichert ist, der zu einem Objekt des Kopierens gemacht ist. Wenngleich die Tabelle 900 ferner eine RAID-Gruppennummer 901, einen Adressbereich 902, Emulationsinformationen 903 und Original/Kopie-Informationen 904 hält, ähneln ihre Inhalte jenen, die in 10 dargestellt sind.
  • Als nächstes werden die Einzelheiten eines Vorgangs zum Ausführen des entfernten Kopierens beschrieben. Wie gemäß der ersten Ausführungsform weist dieser Vorgang drei Verarbeitungen, nämlich eine Verarbeitung zur Erzeugung eines Fernkopierpaars, eine Verarbeitung zur Zeit des Schreibens von der CPU 120 zum Speichersystem (S) 100 und eine Verarbeitung zum Schalten des Betriebs vom Speichersystem (S) 100 zum Speichersystem (T) 110. Nachfolgend wird jede dieser Verarbeitungen beschrieben.
  • (i) Fernkopierpaarerzeugungsverarbeitung
  • Die Fernkopierpaarerzeugungsverarbeitung wird unter Verwendung von 4, die in der Beschreibung der ersten Ausführungsform verwendet wird, beschrieben.
  • In Schritt 400 aus 4 übergibt ein Benutzer eine Anweisung zur Fernkopierpaarerzeugung zusammen mit Informationen, ähnlich jenen gemäß der ersten Ausführungsform, an die Steuerung (S) 101.
  • Wenn die Anweisung zur Fernkopierpaarerzeugung in Schritt 400 empfangen wird, weist die Steuerung (S) 101 eine Nicht-verwendete-Paare-Verwaltungstabelle 830 zu. Falls es keine Nicht-verwendete-Paare-Verwaltungstabelle 830 gibt, ist es nicht möglich, ein Kopierpaar neu zu erzeugen, und die Steuerung (S) 101 informiert den Benutzer daher darüber, wodurch die Verarbeitung abgeschlossen wird. In diesem Fall ist es notwendig, dass der Benutzer ein bereits erzeugtes Kopierpaar freigibt, wodurch eine Paarverwaltungstabelle 830 geöffnet wird.
  • Als nächstes oder wenn eine Paarverwaltungstabelle 830 gewährleistet wird, wird die Nummer einer Kopierzielsteuerung (T) 111, die vom Benutzer gegeben wird, in der Nummer 831 einer Steuerung der entgegengesetzten Seite der Paarverwaltungstabelle 830 gespeichert, und eine Nummer eines logischen Volumens (S) 104 des Kopierursprungs wird in der Nummer 833 des eigenseitigen logischen Volumens davon gespeichert. Auch werden eine führende Kopieradresse (Kopfadresse) und eine letzte Kopieradresse (Endadresse), die vom Benutzer übergeben werden, in der führenden Adresse 834 des Kopierursprungs bzw. der letzten Adresse 835 des Kopierursprungs der Paarverwaltungstabelle 830 gespeichert. Als nächstes wird in dem Fall, in dem das durch die gegenwärtige Anweisung zur Fernkopierpaarerzeugung zum Kopierursprung gemachte logische Volumen 104 zuerst der Erzeugung eines Fernkopierpaars unterzogen wird, eine nicht verwendete Gruppentabelle 820 diesem logischen Volumen zugewiesen. Auch wird eine Nummer der nun zugewiesenen Paarverwaltungstabelle 830 in einem Eintrag gespeichert, der einer Gruppe entspricht, welche einen Abschnitt eines zu einem Objekt des entfernten Kopierens gemachten Bereichs aufweist, und ein Nullwert wird in einem Eintrag gespeichert, der einer Gruppe in einem anderen Bereich als dem zum Objekt des entfernten Kopierens gemachten Bereich entspricht. Weil jede Gruppe eine feste Länge hat, werden logische Adressen, die jeder Gruppe entsprechen, eindeutig durch eine Gruppennummer definiert.
  • Nun wird ein Verfahren zum Bestimmen von Gruppennummern in dem zum Objekt des entfernten Kopierens gemachten Bereich und außerhalb des zum Objekt des entfernten Kopierens gemachten Bereichs beschrieben. Beispielsweise wird im Fall eines Hauptrechners, falls angenommen wird, dass eine Gruppe aus n Spuren besteht und n Spuren je Zylinder existieren, eine Spur mit einer Zylinderadresse a adressiert, und eine Kopfadresse b gehört zu einer Gruppe a. Im Fall eines offenen Systems gehört andererseits, falls eine Gruppe durch n Blöcke gebildet ist, ein Block m zu einer Gruppe, die durch einen ganzzahligen Teil des Quotienten m ÷ n nummeriert ist. Demgemäß wird die logische Adresse des zum Objekt des entfernten Kopierens gemachten Bereichs in eine Gruppennummer umgewandelt, um Gruppennummern in dem zum Objekt des entfernten Kopierens gemachten Bereich und außerhalb des zum Objekt des entfernten Kopierens gemachten Bereichs zu bestimmen.
  • Als nächstes wird eine Nummer der nun zugewiesenen Gruppentabelle 820 in der Gruppentabellennummer 805 einer Informationstabelle 800 logischer Volumen, entsprechend dem für die Fernkopierpaarerzeugung angewiesenen logischen Volumen, gespeichert, und "KOPIERURSPRUNG" wird in den Original/Kopie-Informationen 804 davon gespeichert.
  • In Schritt 401 wird eine Anforderung zur Fernkopierpaarerzeugung an die Steuerung (T) 111 ausgegeben. Parameter, die zusammen mit der Anforderung zur Fernkopierpaarerzeugung zur Steuerung (T) 111 übertragen werden, ähneln jenen gemäß der ersten Ausführungsform.
  • Beim Empfang der Anforderung zur Paarerzeugung weist die Steuerung (T) 111 nun ein nicht verwendetes logisches Volumen 114 als ein logisches Volumen (T) 114 zu (Schritt 410). Zu dieser Zeit wird eine Kapazität, die dem von der Steuerung (S) 101 als das Objekt des entfernten Kopierens bezeichneten Bereich entspricht, folgendermaßen dem logischen Volumen (T) 114 zugewiesen. Insbesondere bezieht sich die Steuerung (T) 111 auf die Leeradressbereiche 843 von RAID-Gruppen verwaltungstabellen 840, um zu beurteilen, ob die erforderliche Kapazität von einer bestimmten RAID-Gruppe (T) 215 gewährleistet werden kann. Falls dies möglich ist, wird die erforderliche Kapazität von einem Leerbereich gewährleistet, und der Leeradressbereich wird entsprechend aktualisiert. Eine nicht verwendete Informationstabelle 900 logischer Volumen wird so zugewiesen, dass eine Nummer der RAID-Gruppe 215 und der Adressbereich, der gewährleistet wurde, in der RAID-Gruppennummer 901 und dem Adressbereich 902 gespeichert werden. Falls der Leeradressbereich 843, der der erforderlichen Kapazität entspricht, nicht existiert, wird eine Suche nach einer zuweisbaren RAID-Gruppe (T) 215 ausgeführt, und die Tabelle 900 wird der RAID-Gruppe zugewiesen. Andernfalls kann der Benutzer eine zuweisbare RAID-Gruppe 215 vorab bezeichnen.
  • Wenn das logische Volumen (T) 114 des Kopierziels so zugewiesen wird, werden der von der Steuerung (S) 101 empfangene Emulationstyp und die Kapazität des logischen Volumens (S) 104 des Kopierursprungs in den Emulationsinformationen 903 der Informationstabelle 900 logischer Volumen, entsprechend dem zugewiesenen logischen Volumen (T) 114, gespeichert, und "KOPIERZIEL" wird in den Original/Kopie-Informationen 904 gespeichert. Auch werden eine Nummer der Kopierursprungssteuerung (S) 101 und eine Nummer des logischen Volumens (S) 104 des Kopierursprungs in der Nummer 905 der Kopierursprungssteuerung bzw. in der Nummer 906 des logischen Volumens des Kopierursprungs der Informationstabelle 900 logischer Volumen gespeichert. Ferner wird ein Adressbereich des zum Objekt des entfernten Kopierens gemachten Bereichs im Kopieradressbereich 907 gespeichert. In Schritt 411 informiert die Steuerung (T) 111 die Steuerung (S) 101 über die Nummer des zugewiesenen logischen Volumens (T) 114. In Schritt 402 speichert die Steuerung (S) 101 die von der Steuerung (T) 111 empfangene Nummer des logischen Volumens (T) 114 in der Nummer 832 eines logischen Volumens der entgegengesetzten Seite der Paar verwaltungstabelle 830, macht den Paarzustand 836 zum Kopieausführungszustand und speichert den Wert der führenden Kopieradresse 834 im Kopierzeiger 837, um eine Kopierverarbeitung einzuleiten. Die Kopierverarbeitung wird ähnlich wie gemäß der ersten Ausführungsform ausgeführt, während der Kopierzeiger 837 aktualisiert wird.
  • Nun wurde in dem Fall, in dem ein Teilbereich eines bestimmten logischen Volumens 104 bereits zu einem Objekt des entfernten Kopierens gemacht wurde und der andere Bereich neu zu einem Objekt des entfernten Kopierens zu machen ist, eine Gruppentabelle 820, die dem entsprechenden logischen Volumen 104 entspricht, bereits gewährleistet, weshalb nur eine Paarverwaltungstabelle 830 neu zugewiesen wird, um die vorstehend erwähnten Informationen zu speichern. Auch wird eine Nummer der neu zugewiesenen Paarverwaltungstabelle 830 in einem Eintrag in der Gruppentabelle 820 gespeichert, der der Gruppennummer einer den neu zugewiesenen Bereich des Objekts des entfernten Kopierens aufweisenden Gruppe entspricht. Die anschließende Verarbeitung ähnelt jener, die bis jetzt beschrieben wurde.
  • (ii) Schreibverarbeitung
  • Als nächstes wird eine Verarbeitung in dem Fall beschrieben, in dem eine Schreibanforderung von der CPU 120 an das Speichersystem (S) 100 ausgegeben wird.
  • Der Unterschied der vorliegenden Ausführungsform gegenüber der ersten Ausführungsform in Bezug auf eine Schreibverarbeitung liegt in einem Verfahren zum Beurteilen, ob ein zu einem Objekt des Schreibens gemachter Bereich in einem Kopierbereich liegt. Gemäß der vorliegenden Ausführungsform werden die Original/Kopie-Informationen 804 einer Informationstabelle 800 logischer Volumen, entsprechend einem logischen Volumen (S) 104, das zu einem Zugriffsobjekt gemacht ist, betrachtet, um zu untersuchen, ob das logische Volumen (S) 104 ein Fernkopierpaar als "KOPIERURSPRUNG" bildet. Falls es ein Fernkopierpaar als "KOPIERURSPRUNG" bildet, wird die Gruppentabellennummer 805 betrachtet, so dass eine Gruppennummer, einschließlich Adressen, auf die zuzuweisen ist, als ein Index zum Zugreifen auf eine Gruppentabelle 820 verwendet wird. Dann ist eine Nummer einer Paarverwaltungstabelle 830 bekannt. Daher wird auf die durch diese Nummer angegebene Paarverwaltungstabelle 830 zugegriffen. Die Beurteilung, ob ein Paarzustand ein Kopieausführungszustand ist, wird anhand des Paarzustands 836 vorgenommen. In dem Fall, in dem der Paarzustand ein Kopieausführungszustand ist, wird die Untersuchung, ob die Adressen, auf die zuzugreifen ist, in einem Bereich enthalten sind, der bereits dem Kopieren unterzogen wurde, anhand der Werte der führenden Kopieradresse 834 und des Kopierzeigers 837 vorgenommen. Falls die Adressen in diesem Bereich enthalten sind, werden Schreibdaten zum Speichersystem (T) 110 übertragen und dann geschrieben. In dem Fall, in dem der Paarzustand ein Duplexzustand ist, wird die Beurteilung auf der Grundlage der führenden Kopieradresse 834 und der letzten Kopieradresse 835 in Bezug darauf vorgenommen, ob die Adressen, auf die zuzugreifen ist, in diesem Bereich enthalten sind. Falls die Adressen in diesem Bereich enthalten sind, werden die Schreibdaten zum Speichersystem (T) 110 übertragen und dann geschrieben.
  • (iii) Verarbeitung für das Schalten des Betriebs vom
  • Speichersystem (S) 100 zum Speichersystem (T) 110 Wenn es unmöglich wird, das Speichersystem (S) 100 zu verwenden, ist es notwendig, dass die Sekundärstelle den Dienst übernimmt. Zu diesem Zweck wird zuerst eine CPU 140 mit dem Speichersystem (T) 110 verbunden.
  • Zu dieser Zeit wird nur ein Teilbereich eines logischen Volumens (S) 104 von einem logischen Volumen (T) 114 gehalten. Falls notwendig, wird das logische Volumen (T) 114 daher in Bezug auf die Kapazität erweitert, so dass es mit der Kapazität des logischen Volumens (S) 104 übereinstimmt.
  • Gemäß der fünften Ausführungsform wird ein logisches Volumen, das eine erforderliche Kapazität erfüllt, dem Speichersystem (T) 110 neu zugewiesen, und Daten des logischen Speichervolumens (T) 114 des Fernkopierziels werden in das neu zugewiesene logische Volumen kopiert. Nachfolgend wird das logische Speichervolumen (T) 114 des Fernkopierziels als ein logisches Volumen A 114 bezeichnet, und das neu zugewiesene logische Volumen 114 wird als ein logisches Volumen B 114 bezeichnet.
  • Der Ablauf der vorliegenden Verarbeitung für das Schalten des Betriebs wird nun unter Verwendung von 12 beschrieben.
  • Wie dargestellt ist, liest ein Benutzer zuerst Kapazitätsinformationen des logischen Volumens A 114 von der CPU 140 oder einem externen Endgerät, das mit der Steuerung (T) 111 verbunden ist (Schritt 1001). Als nächstes wird beurteilt, ob das logische Volumen A 114 unverändert verwendet werden sollte oder ob das logische Volumen A 114 in einer in Bezug auf die Kapazität erweiterten Form verwendet werden sollte, so dass es dem logischen Volumen (S) 104 entspricht.
  • In dem Fall, in dem die Erweiterung benötigt wird, werden die Emulationsinformationen 903 einer Informationstabelle 900 logischer Volumen, entsprechend dem logischen Volumen A 114, gelesen, um den Emulationstyp und die Kapazität des logischen Volumens (S) 104 zu erhalten, und der Benutzer weist die Steuerung (T) 111 auf der Grundlage der erhaltenen Informationen an, ein logisches Volumen B 114 neu zuzuweisen. Zu dieser Zeit weist der Benutzer mindestens den Emulationstyp zu. Ferner weist der Benutzer bei Bedarf die Nummer des logischen Volumens zu.
  • In Schritt 1010 weist die Steuerung (T) 111 das logische Volumen B 114 des bezeichneten Emulationstyps und der bezeichneten Kapazität zu. Die Zuweisung des neuen logischen Volumens B 114 ist jedoch nicht unbedingt erforderlich. Beispielsweise kann ein auf dem Speichersystem 110 der Sekundärstelle definiertes logisches Volumen 114 verwendet werden.
  • Anschließend oder in Schritt 1003 weist der Benutzer das Kopieren von Daten vom logischen Volumen A 114 in das logische Volumen B 114 an. Zu dieser Zeit betrachtet der Benutzer den Kopieradressbereich 907 der gelesenen Informationstabelle 900 logischer Volumen, um einen zu kopierenden Bereich zu bezeichnen.
  • Beim Empfang der Anweisung vom Benutzer kopiert die Steuerung (T) 111 Daten des bezeichneten Bereichs vom logischen Volumen A 114 in das logische Volumen B 114. Weil Adressen auf dem logischen Volumen (S) 104 des Fernkopierursprungs im Kopieradressbereich 907 gespeichert sind, wird das Kopieren für einen Bereich des logischen Volumens B 114 ausgeführt, der diesen Adressen entspricht. Beispielsweise werden, vorausgesetzt, dass Adressen m bis n im Kopieradressbereich 907 gespeichert sind, Daten des logischen Volumens A 114 in einen Bereich des logischen Volumens B 114 kopiert, der Adressen m bis n entspricht.
  • Wenn das Kopieren abgeschlossen ist, werden Dateiverwaltungsinformationen in ähnlicher Weise wie gemäß der ersten Ausführungsform aktualisiert (Schritt 1004), und der Betrieb an der Sekundärstelle wird anschließend eingeleitet (Schritt 1005).
  • Gemäß der fünften Ausführungsform werden, nachdem das Kopieren vom logischen Volumen A 114 in das logische Volumen B 114 abgeschlossen ist, die Dateiverwaltungsinformationen aktualisiert, und der Betrieb an der Sekundärstelle wird dann eingeleitet. Das Aktualisieren der Dateiverwaltungsinformationen und das anschließende Einleiten des Betriebs können jedoch in der Mitte des Kopierens möglich sein. Dies kann verwirklicht werden, indem auf das logische Volumen A 114 zugegriffen wird, falls das logische Volumen A 114 bereits einem Kopieren unterzogen wurde, und indem auf das logische Volumen B 114 zugegriffen wird, falls das logische Volumen A 114 noch nicht dem Kopieren unterzogen wurde.
  • Vorstehend wurde die fünfte Ausführungsform der vorliegenden Erfindung beschrieben.
  • Nachstehend wird eine sechste Ausführungsform der vorliegenden Erfindung beschrieben.
  • VI. Sechste Ausführungsform
  • Gemäß der sechsten Ausführungsform wird ein migratorisches Kopieren ausgeführt, wobei Daten wie gemäß der zweiten Ausführungsform zwischen neuen und alten Speichersystemen migrieren.
  • Gemäß der sechsten Ausführungsform unterscheidet sich das in 7 dargestellte Speichersystem (T) 1000 von jenem gemäß der zweiten Ausführungsform darin, dass die Steuerung (T) 1010 die Informationstabellen 800 logischer Volumen, die RAID-Gruppenverwaltungstabellen 840, die Gruppentabellen 820 und die Paarverwaltungstabellen 830 (siehe 10) hält, die in Zusammenhang mit der fünften Ausführungsform beschrieben wurden, und eine Verarbeitung unter Verwendung dieser Tabellen ausführt.
  • Nachfolgend werden die Einzelheiten des migratorischen Kopierens mit Bezug auf 8 beschrieben, welche in der Beschreibung der zweiten Ausführungsform verwendet wurde.
  • Weil der Unterschied der Verarbeitung gemäß der sechsten Ausführungsform von jener gemäß der zweiten Ausführungsform in einem Verfahren zum Zuweisen eines logischen Volumens 104 in Schritt 710 und im Kopieren in Schritt 711 liegt, wird diesen Punkten in der folgenden Beschreibung Wichtigkeit verliehen.
  • In der Anweisung zum Zuweisen eines logischen Volumens 104 eines migratorischen Kopierziels in Schritt 701 bezeichnet ein Benutzer mindestens einen Emulationstyp und eine zuzuweisende Kapazität. In Schritt 710 weist die Steuerung (T) 1010, die angewiesen wird, ein logisches Volumen (T) 104 zuzuweisen, das logische Volumen (T) 104 in ähnlicher Weise wie bei der Zuweisung des logischen Volumens B 114 gemäß der fünften Ausführungsform zu. Als das logische Volumen des migratorischen Kopierziels kann der Benutzer ein logisches Volumen 104 bezeichnen, das bereits auf dem Speichersystem (T) 1000 definiert wurde.
  • In Schritt 711 weist die Steuerung (T) 1010, die die Anweisung zum Einleiten des migratorischen Kopierens empfängt, eine Nicht-Verwendete-Paare-Verwaltungstabelle 830 zu, speichert eine Nummer der Steuerung (S) 1110 des migratorischen Kopierursprungs und eine Nummer eines logischen Volumens (S) 114 des migratorischen Kopierursprungs in der Nummer 831 einer Steuerung der entgegengesetzten Seite bzw. der Nummer 833 eines logischen Volumens der entgegengesetzten Seite der Paarverwaltungstabelle 830, speichert eine Nummer des logischen Volumens (T) 104 des migratorischen Kopierziels in der Nummer 833 des logischen Volumens der eigenen Seite, eine führende Adresse und eine letzte Adresse eines zu einem Objekt des migratorischen Kopierens gemachten Bereichs in der führenden Kopieradresse 834 bzw. der letzten Kopieradresse 835, speichert eine führende Adresse des migratorischen Kopierens im Kopierzeiger 837 der Paarverwaltungstabelle 830 und macht den Paarzustand 836 zu "MIGRATORISCHES KOPIEREN WIRD AUSGEFÜHRT".
  • Als nächstes wird eine nicht verwendete Gruppentabelle 820 zugewiesen und eine Nummer der vorstehend zugewiesenen Paarverwaltungstabelle 830 in der Nummer 821 der Paarverwaltungstabelle gespeichert, welche einer Gruppe entspricht, die einen Abschnitt des zum Objekt des migratorischen Kopierens gemachten Bereichs aufweist. Eine Nummer der zugewiesenen Gruppentabelle wird in der Gruppentabellennummer 805 einer Informationstabelle 800 logischer Volumen, entsprechend dem logischen Volumen (T) 104, gespeichert, und "KOPIERZIEL" wird in den Original/Kopie-Informationen 804 gespeichert.
  • Wenn die vorstehend erwähnte Verarbeitung abgeschlossen ist, führt die Steuerung (T) 1010 das Kopieren durch Lesen von Daten aus dem logischen Volumen (S) 114 in einer Reihenfolge von einer durch den Kopierzeiger 837 angegebenen Adresse und durch Speichern der gelesenen Daten in dem logischen Volumen (T) 104 aus.
  • Wenn das migratorische Kopieren abgeschlossen ist, wird NULL in den Original/Kopie-Informationen 804 der Informationstabelle 800 logischer Volumen, entsprechend dem logischen Volumen (T) 104, gespeichert, um anzugeben, dass ein Paar nicht erzeugt wird. Auch wird NULL in der Gruppentabellennummer 805 gespeichert. Die Gruppentabelle 820 und die Paarverwaltungstabelle 830 werden geöffnet, so dass sie in nicht verwendete Zustände versetzt werden.
  • In dem Fall, in dem es einen Zugriff von der CPU 1200 auf ein logisches Volumen 104 unter einem migratorischen Kopieren gibt, wird die folgende Verarbeitung ausgeführt.
  • Insbesondere wird anhand der Original/Kopie-Informationen 804 der entsprechenden Informationstabelle 800 logischer Volumen untersucht, ob das einem Zugriff unterzogene logische Volumen 104 ein Objekt des migratorischen Kopierens ist. Falls die Original/Kopie-Informationen 804 "KOPIERZIEL" angeben, wird die Gruppentabellennummer 805 betrachtet, um auf die entsprechende Gruppentabelle 820 zuzugreifen. Eine Gruppennummer, auf die Adressen, auf die zuzugreifen ist, abgebildet sind, wird als ein Index verwendet, um auf die Gruppentabelle zuzugreifen, wodurch die entsprechende Paarverwaltungstabellennummer erhalten wird. Der Zugriff auf die entsprechende Paarverwaltungstabelle 830 wird vorgenommen, um den Kopierzeiger 837 zu betrachten. Falls die Adresse, auf die zuzugreifen ist, vor dem Kopierzeiger 837 liegt, wurde bereits kopiert, und es wird daher auf das logische Volumen (T) 104 zugegriffen. Falls sie hinter dem Kopierzeiger liegt, wurde noch nicht kopiert, so dass das Kopieren mit dem Zugriff von der CPU 1200 durch Lesen vorgesehener Daten aus dem logischen Volumen (S) 114 vorgenommen wird. Beim Lesen der Daten aus dem logischen Volumen (S) 114 wird eine Leseanforderung für das logische Volumen (S) des Speichersystems 1100 auf der Grundlage der Nummer 831 einer Steuerung der entgegengesetzten Seite und der Nummer 832 eines logischen Volumens der entgegengesetzten Seite der Paarverwaltungstabelle 830 ausgegeben, um die vorgesehenen Daten zu lesen.
  • Vorstehend wurde die sechste Ausführungsform der vorliegenden Erfindung beschrieben.
  • Gemäß der ersten und der fünften Ausführungsform, die vorstehend beschrieben wurden, kann nur ein Teilbereich eines logischen Volumens (oder ein Bereich davon, der zu einem Objekt des entfernten Kopierens gemacht ist) einem entfernten Kopieren unterzogen werden. Daher ist es möglich, unnötigen Zusatzaufwand zu beseitigen, der bisher durch das Kopieren von Daten hervorgerufen wurde, deren Kopie nicht erforderlich ist. Auch verwendet bei diesem entfernten Kopieren ein Kopierzielspeichersystem nur eine diesem Teilbereich entsprechende Kapazität, so dass das Kopierzielspeichersystem nicht eine Kapazität verwenden muss, die einem logischen Volumen des Kopierursprungs entspricht, wenngleich eine solche Forderung im Stand der Technik gemacht wurde.
  • Gemäß der zweiten und der sechsten Ausführungsform, die vorstehend beschrieben wurden, kann nur ein Teilbereich eines logischen Volumens (oder ein Bereich davon, der zu einem Objekt des migratorischen Kopierens gemacht ist) einem migratorischen Kopieren unterzogen werden. Daher ist es möglich, unnötigen Zusatzaufwand zu beseitigen, der bisher durch das Kopieren von Daten hervorgerufen wurde, deren Kopie nicht erforderlich ist. Auch verwendet bei diesem migratorischen Kopieren ein Kopierzielspeichersystem nur eine diesem Teilbereich entsprechende Kapazität, so dass das Kopierzielspeichersystem nicht eine Kapazität verwenden muss, die einem logischen Volumen des Kopierursprungs entspricht, wenngleich eine solche Forderung im Stand der Technik gemacht wurde.
  • Gemäß der dritten und der vierten Ausführungsform, die vorstehend beschrieben wurden, wird eine Anordnung/Umordnung nicht in Einheiten eines logischen Volumens, sondern für jeden Teilbereich eines logischen Volumens ermöglicht, so dass jeder Teilbereich eines logischen Volumens auf einer gewünschten RAID-Gruppe oder einer RAID-Gruppe, die für die Zugriffseigenschaften dieses Teilbereichs geeignet ist, angeordnet/umgeordnet werden kann.
  • Gemäß jeder der vorstehenden Ausführungsformen wird jede Verarbeitung in einer solchen Weise ausgeführt, dass ein Logikadressbereich eines logischen Volumens, das zu einem Objekt eines entfernten Kopierens, eines migratorischen Kopierens oder einer Anordnung auf RAID-Gruppen gemacht ist, in logische Speichergeräte oder Blöcke unterteilt wird, um es zu ermöglichen, dass die Verarbeitung einfach und mit hoher Geschwindigkeit ausgeführt wird. Jede Verarbeitung kann jedoch in einer solchen Weise ausgeführt werden, dass der Logikadressbereich des zum Objekt des entfernten Kopierens, des migratorischen Kopierens oder der Anordnung auf RAID-Gruppen gemachten logischen Volumens vielmehr direkt verwaltet wird, als in logische Speichergeräte oder Blöcke unterteilt zu werden.
  • VII. Siebte Ausführungsform
  • 13 ist ein Blockdiagramm eines Systems gemäß einer siebten Ausführungsform der vorliegenden Erfindung. Das System weist einen Host 1300, eine Steuerung 1312 und Speichergeräte 1313 auf. Der Host 1300 gibt entsprechend einer Benutzeranweisung oder einem Benutzerprogramm verschiedene Anforderungen an die Steuerung 1312 aus. Die Speichergeräte 1313 speichern Daten. Die Steuerung 1312 führt das Lesen von Daten aus dem Speichergerät 1313 oder das Schreiben von Daten in das Speichergerät 1313 entsprechend einer Anforderung vom Host 1300 aus.
  • Die Steuerung 1312 besteht aus Steuerprozessoren 1301, einem Steuerspeicher 1309 und einem Cache-Speicher 1311.
  • Der Steuerprozessor 1301 steuert die Steuerung 1312. Eine Paarerzeugungsverarbeitung 1302, eine Paarunterteilungsverarbeitung 1303, eine Ausdehnungsaktualisierungsverarbeitung 1304, eine Schreibverarbeitung 1305, eine Paarerzeugungskopierverarbeitung 1306, eine Paarunterteilungs kopierverarbeitung 1307 und eine Ausdehnungsaktualisierungskopierverarbeitung 1308 werden in dem Steuerprozessor 1301 ausgeführt. Der Steuerspeicher 1309 speichert Steuerinformationen, wie Paarinformationen 1310, die vom Steuerprozessor 1301 benötigt werden, um die Steuerung 1312 zu steuern. Der Cache-Speicher 1311 speichert vom Host 1300 empfangene Daten und aus dem Speichergerät 1313 gelesene Daten zwischen.
  • 14 zeigt die Datenstruktur der Paarinformationen 1310. Die Paarinformationen 1310 bestehen aus einem Verwendungshinweiszeichen 1400, einer Originalvolumennummer 1401, einer Kopiervolumennummer 1402, einem Paarzustand 1403, Differenzinformationen 1404 und Ausdehnungsinformationen 1405. Das Verwendungshinweiszeichen 1400 ist ein Hinweiszeichen, welches angibt, ob die entsprechenden Paarinformationen 1310 verwendet werden, d. h. ob Informationen in den entsprechenden Paarinformationen 1310 gültig sind. Wenn das Verwendungshinweiszeichen 1400 "1" ist, wird die Gültigkeit angegeben. Wenn es "0" ist, wird die Ungültigkeit angegeben. Die Originalvolumennummer 1401 gibt eine Nummer eines Volumens an, das als ein Original dient, wenn eine Kopie des Volumens entsprechend einer Anforderung vom Host 1300 zu erzeugen ist. Die Kopiervolumennummer 1402 gibt eine Nummer eines Volumens an, das mit einer Kopie von Daten eines Volumens gespeichert wird, das als ein Original dient, wenn eine Kopie des Volumens entsprechend einer Anforderung vom Host 1300 zu erzeugen ist. Der Paarzustand 1403 gibt an, bis wohin ein Volumenkopiererzeugungsprozess fortgeschritten ist. Der Paarzustand 1403 hat vier Werte "WIRD ERZEUGT", "ERZEUGUNG ABGESCHLOSSEN", "WIRD GETEILT" und "UNTERTEILUNG ABGESCHLOSSEN". Die Differenzinformationen 1404 sind Informationen, welche Orte darstellen, an denen Daten zwischen einem durch die Originalvolumennummer 1401 angegebenen Volumen und einem durch die Kopiervolumennummer 1402 angegebenen Volumen verschieden sind. Die Ausdehnungsinformationen 1405 sind Informationen, welche einen Ort in einem Volumen angeben, in dem ein Bereich in der Art eines Datensatzes oder einer Datei gespeichert ist. Die Ausdehnungsinformationen 1405 bestehen aus einem Verwendungshinweiszeichen 1406, einer Anfangsadresse 1407 und einer Endadresse 1408. Das Verwendungshinweiszeichen 1406 ist ein Hinweiszeichen, welches angibt, ob die entsprechenden Ausdehnungsinformationen 1405 gültig sind. Wenn das Verwendungshinweiszeichen 1406 "1" ist, wird die Gültigkeit angegeben. Wenn es "0" ist, wird die Ungültigkeit angegeben. Die Anfangsadresse 1407 ist eine Adresse, welche einen äußersten Anfang eines Bereichs in der Art eines Datensatzes oder einer Datei angibt, und die Endadresse 1408 ist eine Adresse, welche ein äußerstes Ende des Bereichs in der Art eines Datensatzes oder einer Datei angibt.
  • 15 zeigt die Struktur der Differenzinformationen 1404. Die Differenzinformationen 1404 bestehen aus drei Arten von Bitmaps, welche Erzeugungsausführungs-Differenzinformationen 1500, Unterteilungsausführungs-Differenzinformationen 1501 und Aktualisierungsausführungs-Differenzinformationen 1502 umfassen. Ein Bit entspricht einer Spur. Wenn der Bitwert "0" ist, wird angegeben, dass Daten der entsprechenden Spur zwischen einem durch die Originalvolumennummer 1401 angegebenen Volumen und einem durch die Kopiervolumennummer 1402 angegebenen Volumen übereinstimmen. Wenn der Bitwert "1" ist, wird angegeben, dass Daten der entsprechenden Spur nicht übereinstimmen. Natürlich kann ein Bit auf eine andere Einheit angewendet werden (oder es kann bewirkt werden, dass es damit übereinstimmt).
  • 16 zeigt den Ablauf der Paarerzeugungsverarbeitung 1302. Der Host 1300 gibt eine Paarerzeugungsanforderung an die Steuerung 1312 aus, wenn die Steuerung 1312 veranlasst wird, die Kopie eines bestimmten Volumens zu erzeugen. Wenn er die Paarerzeugungsanforderung vom Host 1300 empfängt, leitet der Steuerprozessor 1301 eine Paarerzeugungsverarbeitung 1302 ein. Die Paarerzeugungsanforderung hat zwei Parameter, d. h. eine Volumennummer eines Volumens, dessen Kopie zu erzeugen ist (als ein Originalvolumen bezeichnet), und eine Volumennummer eines Volumens, in dem kopierte Daten zu speichern sind (als ein Kopiervolumen bezeichnet).
  • In Schritt 1600 werden Nicht-verwendete-Paare-Informationen 1310 mit dem Verwendungshinweiszeichen 1400 von "0" ausgewählt. In den Ausgewählte-Paare-Informationen 1310 wird das Verwendungshinweiszeichen 1400 auf "1" gesetzt, eine Volumennummer eines vom Host 1300 empfangenen Originalvolumens in die Originalvolumennummer 1401 eingesetzt, eine Volumennummer eines vom Host 1300 empfangenen Kopiervolumens in die Kopiervolumennummer 1402 eingesetzt, "WIRD ERZEUGT" in den Paarzustand 1403 eingesetzt, alle Bits der Erzeugungsausführungsinformationen 1500 in den Differenzinformationen 1404 auf "1" gesetzt, alle Bits der Unterteilungsausführungsinformationen 1501 auf "0" gesetzt, alle Bits der Aktualisierungsausführungsinformationen 1502 auf "0" gesetzt und das Verwendungshinweiszeichen 1406 in den Ausdehnungsinformationen 1405 auf "0" gesetzt. In Schritt 1601 wird eine Paarerzeugungskopierverarbeitung 1306 aktiviert, wodurch die vorliegende Paarerzeugungsverarbeitung abgeschlossen wird.
  • 17 zeigt den Ablauf der Paarunterteilungsverarbeitung 1303. Der Host 1300 gibt eine Paarunterteilungsanforderung an die Steuerung 1312 aus, wenn in einem Kopiervolumen gespeicherte Daten festgelegt werden, um die Verwendung der in dem Kopiervolumen gespeicherten Daten zu ermöglichen. Wenn die Paarunterteilungsanforderung vom Host 1300 empfangen wird, beginnt der Steuerprozessor 1301 mit einer Paarunterteilungsverarbeitung. Die Paarunterteilungsanforderung hat zwei Parameter, nämlich eine Volumennummer eines ursprünglichen Volumens und eine Volumennummer eines Kopiervolumens.
  • In Schritt 1700 werden Paarinformationen 1310 mit der Volumennummer des Originalvolumens in der Originalvolumennummer 1401 und der Volumennummer des Kopiervolumens in der Kopiervolumennummer 1402 zuerst ausgewählt, und "WIRD UNTERTEILT" wird in den Paarzustand 1403 der Ausgewählte-Paare-Informationen 1310 eingesetzt. Als nächstes wird eine Paarunterteilungskopierverarbeitung 1307 aktiviert, wodurch die vorliegende Paarunterteilungsverarbeitung abgeschlossen wird.
  • 18 zeigt den Ablauf der Ausdehnungsaktualisierungsverarbeitung 1304. In dem Fall, in dem eine Paarunterteilungsanforderung ausgegeben wird und eine darauf beruhende Verarbeitung abgeschlossen wird, werden anschließend in ein Originalvolumen geschriebene Daten nicht durch ein Kopiervolumen reflektiert. Dementsprechend werden in dem Kopiervolumen gespeicherte Daten allmählich alt, so dass sie sich von den letzten in dem Originalvolumen gespeicherten Daten unterscheiden. Wenn es erwünscht ist, Daten eines Kopiervolumens und Daten eines Originalvolumens in Bezug auf einen spezifizierten Bereich in der Art eines Datensatzes oder einer Datei übereinstimmend zu machen, gibt der Host 1300 eine Ausdehnungsaktualisierungsanforderung an die Steuerung 1312 aus. Die Ausdehnungsaktualisierungsanforderung hat vier Parameter, nämlich eine Volumennummer eines Originalvolumens, eine Volumennummer eines Kopiervolumens und eine Anfangsadresse und eine Endadresse eines Bereichs in der Art eines Datensatzes oder einer Datei, in Bezug worauf die Übereinstimmung von Daten zwischen dem Originalvolumen und dem Kopiervolumen erwünscht ist. Die Anfangsadresse und die Endadresse können in mehreren Sätzen existieren. Wenn die Ausdehnungsaktualisierungsanforderung empfangen wird, leitet der Steuerprozessor 1301 eine Ausdehnungsaktualisierungsverarbeitung 1304 ein. In Schritt 1800 werden Paarinformationen 1310 mit der als Parameter in der Originalvolumennummer 1401 empfangenen Volumennummer des Originalvolumens und der als Parameter in der Kopiervolumennummer 1402 empfangenen Volumennummer des Kopiervolumens zuerst ausgewählt. Als nächstes werden Ausdehnungsinformationen 1405 mit dem Verwendungshinweiszeichen 1406 von "0" ausgewählt. Als nächstes werden das Verwendungshinweiszeichen 1406 der ausgewählten Ausdehnungsinformationen 1405 auf "1" gesetzt, die Anfangsadresse eines Bereichs in der Art eines Datensatzes oder einer Datei, die als Parameter empfangen wird, in die Anfangsadresse 1407 eingesetzt und die als Parameter empfangene Endadresse in die Anfangsadresse 1408 eingesetzt. In Schritt 1801 wird eine Ausdehnungsaktualisierungskopierverarbeitung 1308 aktiviert, wodurch die vorliegende Ausdehnungsaktualisierungsverarbeitung abgeschlossen wird.
  • 19 zeigt den Ablauf der Schreibverarbeitung 1305. Wenn eine Schreibanforderung vom Host 1300 empfangen wird, leitet der Steuerprozessor 1301 eine Schreibverarbeitung 1305 ein. Die Schreibanforderung hat drei Parameter, d. h. Schreibdaten, eine Volumennummer eines Volumens, in dem die Schreibdaten zu speichern sind, und eine Adresse in dem Volumen, in dem die Schreibdaten gespeichert sind.
  • In Schritt 1900 werden Paarinformationen 1310 mit der Originalvolumennummer 1401, entsprechend der als Parameter empfangenen Volumennummer, aus Paarinformationen 1310 mit dem Verwendungshinweiszeichen 1400 von "1" ausgewählt. In dem Fall, in dem Paarinformationen 1310, welche die vorstehend erwähnte Bedingung erfüllen, nicht existieren, wird der Ablauf in Schritt 1907 fortgesetzt. In dem Fall, in dem Paarinformationen 1310, welche die vorstehend erwähnte Bedingung erfüllen, existieren, wird der Ablauf in Schritt 1901 fortgesetzt.
  • In Schritt 1901 wird in Bezug auf die in Schritt 1900 ausgewählten Paarinformationen 1310 untersucht, ob die Ausdehnungsinformationen 1405 mit der Anfangsadresse 1407 und der Endadresse 1408, zwischen denen die als Parameter empfangene Adresse enthalten ist, unter Ausdehnungsinformationen 1405, welche das Verwendungshinweiszeichen 1406 von "1" aufweisen, existieren. In dem Fall, in dem Ausdehnungsinformationen 1405, welche die vorstehend erwähnte Bedingung erfüllen, nicht existieren, wird der Ablauf in Schritt 1908 fortgesetzt. In dem Fall, in dem Ausdehnungsinformationen 1405, welche die vorstehend erwähnte Bedingung erfüllen, existieren, wird der Ablauf in Schritt 1902 fortgesetzt.
  • In Schritt 1902 wird auf die Unterteilungsausführungs-Differenzinformationen 1501 in den Differenzinformationen 1404 der in Schritt 1900 ausgewählten Paarinformationen 1310 Bezug genommen, um zu untersuchen, ob ein Bit, das einer Spur entspricht, die der als Parameter empfangenen Adresse entspricht, "0" oder "1" ist. In dem Fall, in dem das Bit "1" ist, wird der Ablauf in Schritt 1903 fortgesetzt. In dem Fall, in dem das Bit "0" ist, wird der Ablauf in Schritt 1906 fortgesetzt.
  • In Schritt 1903 werden in der Spur, die der als Parameter empfangenen Adresse entspricht, gespeicherte Daten aus dem Speichergerät 1313 abgerufen und in den Cache-Speicher 1311 eingegeben.
  • In Schritt 1904 wird eine Kopie der in Schritt 1903 abgerufenen Daten im Cache-Speicher 1311 erzeugt. Wenngleich die erzeugte Kopie aus Daten eines durch die Kopiervolumennummer 1402 in den in Schritt 1900 ausgewählten Paarinformationen 1310 angegebenen Kopiervolumens besteht, kann die Zeit für das Schreiben dieser Daten in das Speichergerät 1313 beliebig sein.
  • In Schritt 1905 wird "0" in das in Schritt 1902 untersuchte Bit eingesetzt.
  • In Schritt 1906 wird das Differenzbit der Differenzinformationen 1404 in den Paarinformationen 1310, die in Schritt 1900 ausgewählt wurden, zu "1" gemacht. In dem Fall, in dem der Paarzustand 1403 "WIRD ERZEUGT" oder "ERZEUGUNG ABGESCHLOSSEN" ist, wird "1" in dieses Bit in den Erzeugungsausführungs-Differenzinformationen 1500 gesetzt, welche einer Spur entsprechen, die der als Parameter empfangenen Adresse entspricht. In dem Fall, in dem der Paarzustand 1403 "WIRD UNTERTEILT" ist, wird "1" in dieses Bit in den Unterteilungsausführungs-Differenzinformationen 1501 gesetzt, welche einer Spur entsprechen, die der als Parameter empfangenen Adresse entspricht. In dem Fall, in dem der Paarzustand 1403 "UNTER TEILUNG ABGESCHLOSSEN" ist und in Schritt 1901 festgestellt wird, dass die Ausdehnungsinformationen 1405 existieren, wird "1" in dieses Bit in den Aktualisierungsausführungs-Differenzinformationen 1502 gesetzt, welche einer Spur entsprechen, die der als Parameter empfangenen Adresse entspricht. In dem Fall, in dem der Paarzustand 1403 "UNTERTEILUNG ABGESCHLOSSEN" ist und in Schritt 1901 festgestellt wird, dass die Ausdehnungsinformationen 1405 nicht existieren, wird "1" in dieses Bit in den Unterteilungsausführungs-Differenzinformationen 1501 gesetzt, welche einer Spur entsprechen, die der als Parameter empfangenen Adresse entspricht.
  • In Schritt 1907 werden die als Parameter empfangenen Schreibdaten im Cache-Speicher 1311 gespeichert, wodurch die vorliegende Verarbeitung abgeschlossen wird.
  • In Schritt 1908 wird der Paarzustand 1403 untersucht. In dem Fall, in dem der Paarzustand 1403 "WIRD UNTERTEILT" ist, wird der Ablauf in Schritt 1909 fortgesetzt. In dem Fall, in dem der Paarzustand 1403 nicht "WIRD UNTERTEILT" ist, wird der Ablauf in Schritt 1906 fortgesetzt.
  • In Schritt 1909 wird auf die Erzeugungsausführungs-Differenzinformationen 1500 in den Differenzinformationen 1404 der in Schritt 1900 ausgewählten Paarinformationen 1310 Bezug genommen, um zu untersuchen, ob ein Bit, das einer Spur entspricht, die der als Parameter empfangenen Adresse entspricht, "1" oder "0" ist. In dem Fall, in dem das Bit "1" ist, wird der Ablauf in Schritt 1910 fortgesetzt. In dem Fall, in dem das Bit "0" ist, wird der Ablauf in Schritt 1906 fortgesetzt.
  • In Schritt 1910 werden in der Spur, die der als Parameter empfangenen Adresse entspricht, gespeicherte Daten aus dem Speichergerät 1313 abgerufen und in den Cache-Speicher 1311 eingegeben.
  • In Schritt 1911 wird eine Kopie der in Schritt 1910 abgerufenen Daten im Cache-Speicher 1311 erzeugt. Wenngleich die erzeugte Kopie aus Daten eines durch die Kopiervolumen nummer 1402 in den in Schritt 1900 ausgewählten Paarinformationen 1310 angegebenen Kopiervolumens besteht, kann die Zeit für das Schreiben dieser Daten in das Speichergerät 1313 beliebig sein.
  • In Schritt 1912 wird "0" in das in Schritt 1909 untersuchte Bit eingesetzt.
  • 20 zeigt den Ablauf der Paarerzeugungskopierverarbeitung 1306. Die Paarerzeugungskopierverarbeitung 1306 wird von der Paarerzeugungsverarbeitung 1302 aktiviert. Eine Volumennummer eines Originalvolumens und eine Volumennummer eines Kopiervolumens werden als Parameter gegeben.
  • In Schritt 2000 wird eine Variable i auf eine Spurnummer einer führenden Spur des Originalvolumens gesetzt.
  • In Schritt 2001 werden Paarinformationen 1310 mit der Volumennummer des Originalvolumens als Parameter in der Originalvolumennummer 1401 und der Volumennummer des Kopiervolumens als Parameter in der Kopiervolumennummer 1402 zuerst ausgewählt. Als nächstes wird auf die Erzeugungsausführungs-Differenzinformationen 1500 in den Differenzinformationen 1404 der Ausgewählte-Paare-Informationen 1310 Bezug genommen, um zu untersuchen, ob ein Bit, das einer Spur mit einer Spurnummer, die gleich der Variablen i ist, entspricht, "0" oder "1" ist. In dem Fall, in dem das Bit "0" ist, wird der Ablauf in Schritt 2005 fortgesetzt. In dem Fall, in dem das Bit "1" ist, wird der Ablauf in Schritt 2002 fortgesetzt.
  • In Schritt 2002 werden Daten der Spur mit einer Spurnummer, die gleich der Variablen i ist, aus dem Speichergerät 1313 abgerufen und in den Cache-Speicher 1311 eingegeben.
  • In Schritt 2003 wird eine Kopie der in Schritt 2002 abgerufenen Daten im Cache-Speicher 1311 erzeugt. Wenngleich die erzeugte Kopie aus Daten eines Volumens besteht, das der Kopiervolumennummer als Parameter entspricht, kann die Zeit für das Schreiben dieser Daten in das Speichergerät 1313 beliebig sein.
  • In Schritt 2004 wird "0" in das in Schritt 2001 untersuchte Bit eingesetzt.
  • In Schritt 2005 wird untersucht, ob die der Erzeugung der Kopie unterzogene Spur eine Spur ist, die einem äußersten Ende des Volumens entspricht. In dem Fall, in dem sie die letzte Spur ist, wird der Ablauf in Schritt 2007 fortgesetzt. In dem Fall, in dem sie nicht die letzte Spur ist, wird der Ablauf in Schritt 2006 fortgesetzt.
  • In Schritt 2006 wird 1 zu der Variablen i addiert. Dann geht der Ablauf zu Schritt 2001, um eine Verarbeitung für die nächste Spur auszuführen.
  • In Schritt 2007 wird "ERZEUGUNG ABGESCHLOSSEN" in den Paarzustand 1403 eingesetzt, wodurch die vorliegende Verarbeitung abgeschlossen wird.
  • 21 zeigt den Ablauf der Paarunterteilungskopierverarbeitung 1307. Die Paarunterteilungskopierverarbeitung 1307 wird von der Paarunterteilungsverarbeitung 1303 aktiviert. Eine Volumennummer eines Originalvolumens und eine Volumennummer eines Kopiervolumens werden als Parameter gegeben.
  • In Schritt 2100 wird eine Variable i auf eine Spurnummer einer führenden Spur des Originalvolumens gesetzt.
  • In Schritt 2101 werden Paarinformationen 1310 mit der Volumennummer des Originalvolumens als Parameter in der Originalvolumennummer 1401 und der Volumennummer des Kopiervolumens als Parameter in der Kopiervolumennummer 1402 zuerst ausgewählt. Als nächstes wird auf die Erzeugungsausführungs-Differenzinformationen 1500 in den Differenzinformationen 1404 der Ausgewählte-Paare-Informationen 1310 Bezug genommen, um zu untersuchen, ob ein Bit, das einer Spur mit einer Spurnummer, die gleich der Variablen i ist, entspricht, "0" oder "1" ist. In dem Fall, in dem das Bit "0" ist, wird der Ablauf in Schritt 2105 fortgesetzt. In dem Fall, in dem das Bit "1" ist, wird der Ablauf in Schritt 2102 fortgesetzt.
  • In Schritt 2102 werden Daten der Spur mit einer Spurnummer, die gleich der Variablen i ist, aus dem Speichergerät 1313 abgerufen und in den Cache-Speicher 1311 eingegeben.
  • In Schritt 2103 wird eine Kopie der in Schritt 2102 abgerufenen Daten im Cache-Speicher 1311 erzeugt. Wenngleich die erzeugte Kopie aus Daten eines Volumens besteht, das der Kopiervolumennummer als Parameter entspricht, kann die Zeit für das Schreiben dieser Daten in das Speichergerät 1313 beliebig sein.
  • In Schritt 2104 wird "0" in das in Schritt 2101 untersuchte Bit eingesetzt.
  • In Schritt 2105 wird untersucht, ob die der Erzeugung der Kopie unterzogene Spur eine Spur ist, die einem äußersten Ende des Volumens entspricht. In dem Fall, in dem sie die letzte Spur ist, wird der Ablauf in Schritt 2107 fortgesetzt. In dem Fall, in dem sie nicht die letzte Spur ist, wird der Ablauf in Schritt 2106 fortgesetzt.
  • In Schritt 2106 wird 1 zu der Variablen i addiert. Dann geht der Ablauf zu Schritt 2001, um eine Verarbeitung für die nächste Spur auszuführen.
  • In Schritt 2107 wird "UNTERTEILUNG ABGESCHLOSSEN" in den Paarzustand 1403 eingesetzt, wodurch die vorliegende Verarbeitung abgeschlossen wird.
  • 22 zeigt den Ablauf der Ausdehnungsaktualisierungskopierverarbeitung 1308. Die Ausdehnungsaktualisierungskopierverarbeitung 1308 wird von der Ausdehnungsaktualisierungsverarbeitung 1304 aktiviert. Eine Volumennummer eines Originalvolumens, eine Volumennummer eines Kopiervolumens, eine Anfangsadresse eines Bereichs in der Art eines Datensatzes oder einer Datei und eine Endadresse davon sind als Parameter gegeben.
  • In Schritt 2200 wird eine Variable i auf eine Spurnummer einer Spur gesetzt, die der als Parameter gegebenen Anfangsadresse entspricht.
  • In Schritt 2201 werden Paarinformationen 1310 mit der Volumennummer des Originalvolumens als Parameter in der Originalvolumennummer 1401 und der Volumennummer des Kopiervolumens als Parameter in der Kopiervolumennummer 1402 zuerst ausgewählt. Als nächstes wird auf die Unterteilungs ausführungs-Differenzinformationen 1501 in den Differenzinformationen 1404 der Ausgewählte-Paare-Informationen 1310 Bezug genommen, um zu untersuchen, ob ein Bit, das einer Spur mit einer Spurnummer, die gleich der Variablen i ist, entspricht, "0" oder "1" ist. In dem Fall, in dem das Bit "0" ist, wird der Ablauf in Schritt 2205 fortgesetzt. In dem Fall, in dem das Bit "1" ist, wird der Ablauf in Schritt 2202 fortgesetzt.
  • In Schritt 2202 werden Daten der Spur mit einer Spurnummer, die gleich der Variablen i ist, aus dem Speichergerät 1313 abgerufen und in den Cache-Speicher 1311 eingegeben.
  • In Schritt 2203 wird eine Kopie der in Schritt 2202 abgerufenen Daten im Cache-Speicher 1311 erzeugt. Wenngleich die erzeugte Kopie aus Daten eines der Kopiervolumennummer als Parameter entsprechenden Volumens besteht, kann die Zeit des Schreibens dieser Daten in das Speichergerät 1313 beliebig sein.
  • In Schritt 2204 wird "0" in das in Schritt 2201 untersuchte Bit gesetzt.
  • In Schritt 2205 wird untersucht, ob die der Erzeugung der Kopie unterzogene Spur eine Spur ist, die der als Parameter gegebenen Endadresse entspricht. In dem Fall, in dem sie die entsprechende Spur ist, wird der Ablauf in Schritt 2207 fortgesetzt. In dem Fall, in dem sie nicht die entsprechende Spur ist, wird der Ablauf in Schritt 2206 fortgesetzt.
  • In Schritt 2206 wird 1 zur Variablen i addiert. Dann geht der Ablauf zu Schritt 2201, um eine Verarbeitung für die nächste Spur auszuführen.
  • In Schritt 2207 werden Bits der Aktualisierungsausführungs-Differenzinformationen 1502 in einem Bereich zwischen der Anfangsadresse und der Endadresse als Parameter zuerst abgerufen, und die abgerufenen Werte werden in die Unterteilungsausführungsinformationen 1501 geschrieben. Als nächstes wird "0" in das Verwendungshinweiszeichen 1406 der Ausdehnungsinformationen 1405 gesetzt, um die Ausdehnungs informationen 1405 ungültig zu machen, wodurch die vorliegende Verarbeitung abgeschlossen wird.
  • VIII. Achte Ausführungsform
  • 23 ist ein Blockdiagramm eines Systems gemäß einer achten Ausführungsform der vorliegenden Erfindung. Das System weist einen Host 2300, eine Steuerung 2312 und Speichergeräte 2313 auf. Der Host 2300 gibt entsprechend einer Benutzeranweisung oder einem Benutzerprogramm verschiedene Anforderungen an die Steuerung 2312 aus. Die Speichergeräte 2313 speichern Daten. Die Steuerung 2312 führt das Lesen von Daten aus dem Speichergerät 2313 oder das Schreiben von Daten in das Speichergerät 2313 entsprechend einer Anforderung vom Host 2300 aus.
  • Die Steuerung 2312 besteht aus Steuerprozessoren 2301, einem Steuerspeicher 2309 und einem Cache-Speicher 2311.
  • Der Steuerprozessor 2301 steuert die Steuerung 2312. Eine Paarerzeugungsverarbeitung 2302, eine Paarunterteilungsverarbeitung 2303, eine Schreibverarbeitung 2305, eine Paarerzeugungskopierverarbeitung 2306 und eine Paarunterteilungskopierverarbeitung 2307 werden in dem Steuerprozessor 2301 ausgeführt.
  • Der Steuerspeicher 2309 speichert Steuerinformationen, wie Paarinformationen 2310, die vom Steuerprozessor 2301 benötigt werden, um die Steuerung 2312 zu steuern. Der Cache-Speicher 2311 speichert vom Host 2300 empfangene Daten und aus dem Speichergerät 2313 gelesene Daten zwischen.
  • 24 zeigt die Datenstruktur der Paarinformationen 2310. Die Paarinformationen 2310 bestehen aus einem Verwendungshinweiszeichen 2400, einer Originalvolumennummer 2401, einer Kopiervolumennummer 2402, einem Paarzustand 2403, Differenzinformationen 2404, einer Anfangsadresse 2405 und einer Endadresse 2406. Das Verwendungshinweiszeichen 2400 ist ein Hinweiszeichen, welches angibt, ob die entsprechenden Paarinformationen 2310 verwendet werden, d. h. ob Informationen in den entsprechenden Paarinformationen 2310 gültig sind. Wenn das Verwendungshinweiszeichen 2400"1" ist, wird die Gültigkeit angegeben. Wenn es "0" ist, wird die Ungültigkeit angegeben. Die Originalvolumennummer 2401 gibt eine Nummer eines Volumens an, das als ein Original dient, wenn eine Kopie des Volumens entsprechend einer Anforderung vom Host 2300 zu erzeugen ist. Die Kopiervolumennummer 2402 gibt eine Nummer eines Volumens an, das mit einer Kopie von Daten eines Volumens gespeichert wird, das als ein Original dient, wenn eine Kopie des Volumens entsprechend einer Anforderung vom Host 2300 zu erzeugen ist. Der Paarzustand 2403 gibt an, bis wohin ein Volumenkopiererzeugungsprozess fortgeschritten ist. Der Paarzustand 2403 hat vier Werte "WIRD ERZEUGT", "ERZEUGUNG ABGESCHLOSSEN", "WIRD GETEILT" und "UNTERTEILUNG ABGESCHLOSSEN". Die Differenzinformationen 2404 sind Informationen, welche Orte darstellen, an denen Daten zwischen einem durch die Originalvolumennummer 2401 angegebenen Volumen und einem durch die Kopiervolumennummer 2402 angegebenen Volumen verschieden sind. Die Anfangsadresse 2405 ist eine Adresse, welche einen äußersten Anfang eines Bereichs in der Art eines Datensatzes oder einer Datei angibt, und die Endadresse 2406 ist eine Adresse, welche ein äußerstes Ende des Bereichs in der Art eines Datensatzes oder einer Datei angibt.
  • 25 zeigt die Struktur der Differenzinformationen 2404. Die Differenzinformationen 2404 bestehen aus mehreren Bits. Ein Bit entspricht einer Spur. Wenn der Bitwert "0" ist, wird angegeben, dass Daten der entsprechenden Spur zwischen einem durch die Originalvolumennummer 2401 angegebenen Volumen und einem durch die Kopiervolumennummer 2402 angegebenen Volumen übereinstimmen. Wenn der Bitwert "1" ist, wird angegeben, dass Daten der entsprechenden Spur nicht übereinstimmen. Natürlich kann veranlasst werden, dass ein Bit einer anderen Einheit entspricht.
  • 26 zeigt den Ablauf der Paarerzeugungsverarbeitung 2302. Der Host 2300 gibt eine Paarerzeugungsanforderung an die Steuerung 2312 aus, wenn die Steuerung 2312 veranlasst wird, die Kopie eines bestimmten Bereichs in der Art eines Datensatzes oder einer Datei zu erzeugen. Wenn die Paarerzeugungsanforderung vom Host 2300 empfangen wird, leitet der Steuerprozessor 2301 eine Paarerzeugungsverarbeitung 2302 ein. Die Paarerzeugungsanforderung hat vier Parameter, nämlich eine Volumennummer eines Volumens, einschließlich eines Bereichs in der Art eines Datensatzes oder einer Datei, wovon eine Kopie zu erzeugen ist (als Kopierursprungsvolumen bezeichnet), eine Volumennummer eines Volumens, in dem kopierte Daten zu speichern sind (als Kopierzielvolumen bezeichnet), eine Adresse, welche einen äußersten Anfang des Bereichs in der Art eines Datensatzes oder einer Datei angibt, wovon eine Kopie zu erzeugen ist, und eine Adresse, welche ein äußerstes Ende des Bereichs in der Art eines Datensatzes oder einer Datei angibt, wovon eine Kopie zu erzeugen ist. Wenn ein Datensatz, eine Datei oder dergleichen durch mehrere Bereiche in einem Volumen gebildet wird, übergibt der Host 2300 mehrere Sätze von Anfangs- und Endadressen als Parameter an die Steuerung 2312.
  • In Schritt 2600 werden Nicht-verwendete-Paare-Informationen 2310 mit dem Verwendungshinweiszeichen 2400 von "0" ausgewählt. In den Ausgewählte-Paare-Informationen 2310 wird das Verwendungshinweiszeichen 2400 auf "1" gesetzt, eine Volumennummer eines vom Host 2300 empfangenen Kopierursprungsvolumens in die Originalvolumennummer 2401 eingesetzt, eine Volumennummer eines vom Host 2300 empfangenen Kopierzielvolumens in die Kopiervolumennummer 2402 eingesetzt, "WIRD ERZEUGT" in den Paarzustand 2403 eingesetzt, alle Bits in den Differenzinformationen 2404 auf "1" gesetzt, die Adresse, welche den äußersten Anfang des Bereichs in der Art des Datensatzes oder der Datei, der oder die von dem Host 2300 empfangen wurde, in die Anfangsadresse 2405 eingesetzt und die Adresse, welche das äußerste Ende des Bereichs in der Art des Datensatzes oder der Datei, der oder die vom Host 2300 empfangen wurde, in die Endadresse 2406 eingesetzt. Wenn mehrere Sätze von Anfangs- und Endadressen als Parameter gegeben sind, wird der vorliegende Schritt wiederholt, so dass die Parameter im Steuerspeicher 2309 gespeichert werden. In Schritt 2601 wird eine Paarerzeugungskopierverarbeitung 2306 aktiviert, wodurch die vorliegende Paarerzeugungsverarbeitung abgeschlossen wird.
  • 27 zeigt den Ablauf der Paarunterteilungsverarbeitung 2303. Der Host 2300 gibt eine Paarunterteilungsanforderung an die Steuerung 2312 aus, wenn ein Bereich in der Art eines Datensatzes oder einer Datei im Kopierursprungsvolumen festzulegen ist. Wenn die Paarunterteilungsanforderung vom Host 2300 empfangen wird, beginnt der Steuerprozessor 2301 mit einer Paarunterteilungsverarbeitung 2303. Die Paarunterteilungsanforderung hat vier Parameter, nämlich eine Volumennummer eines Kopierursprungsvolumens, eine Volumennummer eines Kopierzielvolumens, eine Adresse, welche einen äußersten Anfang des Bereichs in der Art eines Datensatzes oder einer Datei angibt, der oder die festzulegen ist, und eine Adresse, welche ein äußerstes Ende des Bereichs in der Art eines Datensatzes oder einer Datei angibt, der oder die festzulegen ist.
  • In Schritt 2700 werden Paarinformationen 2310 mit der Originalvolumennummer 2401, die der Volumennummer des Kopierursprungsvolumens entspricht, und der Kopiervolumennummer 2402, die der Volumen des Kopierzielvolumens entspricht, zuerst ausgewählt, und "WIRD UNTERTEILT" wird in den Paarzustand 2403 der Ausgewählte-Paare-Informationen 2310 eingesetzt. Als nächstes wird eine Paarunterteilungskopierverarbeitung 2307 aktiviert, wodurch die vorliegende Paarunterteilungsverarbeitung abgeschlossen wird.
  • 28 zeigt den Ablauf der Schreibverarbeitung 2305. Wenn eine Schreibanforderung vom Host 2300 empfangen wird, leitet der Steuerprozessor 2301 eine Schreibverarbeitung 2305 ein. Die Schreibanforderung hat drei Parameter, d. h. Schreibdaten, eine Volumennummer eines Volumens, in dem die Schreibdaten zu speichern sind, und eine Adresse in dem Volumen, in dem die Schreibdaten gespeichert sind.
  • In Schritt 2800 werden aus Paarinformationen 2310, die das Verwendungshinweiszeichen 2400 von "1" aufweisen oder verwendet werden, Paarinformationen 2310 ausgewählt, welche die Originalvolumennummer 2401, die der als Parameter empfangenen Volumennummer entspricht, und die Anfangsadresse 2405 und die Endadresse 2406, zwischen denen die als Parameter empfangene Adresse enthalten ist, aufweisen. In dem Fall, in dem Paarinformationen 2310, welche die vorstehend erwähnte Bedingung erfüllen, nicht existieren, wird der Ablauf in Schritt 2807 fortgesetzt. In dem Fall, in dem Paarinformationen 2310, welche die vorstehend erwähnte Bedingung erfüllen, existieren, wird der Ablauf in Schritt 2801 fortgesetzt.
  • In Schritt 2801 wird auf den Paarzustand 2403 in den in Schritt 2800 ausgewählten Paarinformationen 2310 Bezug genommen. In dem Fall, in dem der Paarzustand 2403 "WIRD UNTERTEILT" ist, wird der Ablauf in Schritt 2802 fortgesetzt. In dem Fall, in dem der Paarzustand 2403 nicht "WIRD UNTERTEILT" ist, wird der Ablauf in Schritt 2808 fortgesetzt.
  • In Schritt 2802 wird auf die Differenzinformationen 2404 der in Schritt 2800 ausgewählten Paarinformationen 2310 Bezug genommen. Es wird untersucht, ob ein Bit, das einer Spur entspricht, die der als Parameter empfangenen Adresse entspricht, "1" ist. In dem Fall, in dem das Bit "1" ist, wird der Ablauf in Schritt 2803 fortgesetzt. In dem Fall, in dem das Bit "0" ist, wird der Ablauf in Schritt 2807 fortgesetzt.
  • In Schritt 2803 werden Daten der Spur, die der als Parameter empfangenen Adresse entspricht, von dem Speichergerät 2313 abgerufen und in den Cache-Speicher 2311 eingegeben.
  • In Schritt 2804 wird eine Kopie der in Schritt 2803 abgerufenen Daten im Cache-Speicher 2311 erzeugt. Wenngleich die erzeugte Kopie aus Daten eines durch die Kopiervolumennummer 2402 angegebenen Volumens besteht, kann die Zeit für das Schreiben dieser Daten in das Speichergerät 2313 beliebig sein.
  • In Schritt 2805 wird "0" in das in Schritt 2802 untersuchte Bit eingesetzt.
  • In Schritt 2807 werden die als Parameter empfangenen Schreibdaten im Cache-Speicher 2311 gespeichert, wodurch die vorliegende Verarbeitung abgeschlossen wird.
  • In Schritt 2808 wird auf den Paarzustand 2403 in den in Schritt 2800 ausgewählten Paarinformationen 2310 Bezug genommen. In dem Fall, in dem der Paarzustand 2403 "WIRD ERZEUGT" oder "ERZEUGUNG ABGESCHLOSSEN" ist, wird der Ablauf in Schritt 2806 fortgesetzt. In dem Fall, in dem der Paarzustand 2403 weder "WIRD ERZEUGT" noch "ERZEUGUNG ABGESCHLOSSEN" ist, wird der Ablauf in Schritt 2807 fortgesetzt.
  • In Schritt 2806 wird "1" in ein Bit der Differenzinformationen 2404, die der Spur entsprechen, welche der als Parameter empfangenen Adresse entspricht, eingesetzt.
  • 29 zeigt den Ablauf der Paarerzeugungskopierverarbeitung 2306. Die Paarerzeugungskopierverarbeitung 2306 wird von der Paarerzeugungsverarbeitung 2302 aktiviert. Eine Volumennummer eines Kopierursprungsvolumens, eine Volumennummer eines Kopierzielvolumens, eine Adresse, welche einen äußersten Anfang des Bereichs in der Art eines Datensatzes oder einer Datei angibt, und eine Adresse, welche ein äußerstes Ende des Bereichs in der Art eines Datensatzes oder einer Datei angibt, sind als Parameter gegeben.
  • In Schritt 2900 werden aus Paarinformationen 2310, welche das Verwendungshinweiszeichen 2400 von "1" aufweisen oder verwendet werden, zuerst Paarinformationen 2310, welche die Originalvolumennummer 2401 aufweisen, die dem als Parameter gegebenen Kopierursprungsvolumen entspricht, die Kopiervolumennummer 2402, welche der als Parameter gegebenen Kopierzielvolumennummer entspricht, die Anfangsadresse 2405, welche der den äußersten Anfang angebenden Adresse als Parameter entspricht, und die Endadresse 2406, welche der das äußerste Ende angebenden Adresse als Parameter entspricht, ausgewählt. Als nächstes wird eine Variable i auf eine Spurnummer einer Spur gesetzt, die der Anfangsadresse 2405 der Ausgewählte-Paare-Informationen 2310 entspricht.
  • In Schritt 2901 wird auf die Differenzinformationen 2404 der in Schritt 2900 ausgewählten Paarinformationen 2310 Bezug genommen, um zu untersuchen, ob ein Bit, das einer Spur entspricht, die eine Spurnummer aufweist, welche gleich der Variablen i ist, "0" oder "1" ist. In dem Fall, in dem das Bit "0" ist, wird der Ablauf in Schritt 2905 fortgesetzt. In dem Fall, in dem das Bit "1" ist, wird der Ablauf in Schritt 2902 fortgesetzt.
  • In Schritt 2902 werden Daten der Spur mit einer Spurnummer, die gleich der Variablen i ist, aus dem Speichergerät 2313 abgerufen und in den Cache-Speicher 2311 eingegeben.
  • In Schritt 2903 wird eine Kopie der in Schritt 2902 abgerufenen Daten im Cache-Speicher 2311 erzeugt. Wenngleich die erzeugte Kopie aus Daten eines Volumens besteht, welches der als Parameter gegebenen Kopierzielvolumennummer entspricht, kann die Zeit für das Schreiben dieser Daten in das Speichergerät 2313 beliebig sein.
  • In Schritt 2904 wird "0" in das in Schritt 2901 untersuchte Bit eingesetzt.
  • In Schritt 2905 wird untersucht, ob die der Erzeugung der Kopie unterzogene Spur eine der Endadresse 2406 entsprechende Spur ist. In dem Fall, in dem sie die Endspur ist, wird der Ablauf in Schritt 2907 fortgesetzt. In dem Fall, in dem sie nicht die Endspur ist, wird der Ablauf in Schritt 2906 fortgesetzt.
  • In Schritt 2906 wird 1 zu der Variablen i addiert. Dann geht der Ablauf zu Schritt 2901, um eine Verarbeitung für die nächste Spur auszuführen.
  • In Schritt 2907 wird "ERZEUGUNG ABGESCHLOSSEN" in den Paarzustand 2403 eingesetzt, wodurch die vorliegende Verarbeitung abgeschlossen wird.
  • 30 zeigt den Ablauf der Paarunterteilungskopierverarbeitung 2307. Die Paarunterteilungskopierverarbeitung 2307 wird von der Paarunterteilungsverarbeitung 2303 aktiviert. Eine Volumennummer eines Originalvolumens und eine Volumennummer eines Kopiervolumens werden als Parameter gegeben.
  • In Schritt 3000 werden aus Paarinformationen 2310, welche das Verwendungshinweiszeichen 2400 von "1" aufweisen oder verwendet werden, zuerst Paarinformationen 2310, welche die Originalvolumennummer 2401 aufweisen, die dem als Parameter gegebenen Kopierursprungsvolumen entspricht, die Kopiervolumennummer 2402, welche der als Parameter gegebenen Kopierzielvolumennummer entspricht, die Anfangsadresse 2405, welche der den äußersten Anfang angebenden Adresse als Parameter entspricht, und die Endadresse 2406, welche der das äußerste Ende angebenden Adresse als Parameter entspricht, ausgewählt. Als nächstes wird eine Variable i auf eine Spurnummer einer Spur gesetzt, die der Anfangsadresse 2405 der Ausgewählte-Paare-Informationen 2310 entspricht.
  • In Schritt 3001 wird auf die Differenzinformationen 2404 der in Schritt 2900 ausgewählten Paarinformationen 2310 Bezug genommen, um zu untersuchen, ob ein Bit, das einer Spur entspricht, die eine Spurnummer aufweist, welche gleich der Variablen i ist, "0" oder "1" ist. In dem Fall, in dem das Bit "0" ist, wird der Ablauf in Schritt 3005 fortgesetzt. In dem Fall, in dem das Bit "1" ist, wird der Ablauf in Schritt 3002 fortgesetzt.
  • In Schritt 3002 werden Daten der Spur mit einer Spurnummer, die gleich der Variablen i ist, aus dem Speichergerät 2313 abgerufen und in den Cache-Speicher 2311 eingegeben.
  • In Schritt 3003 wird eine Kopie der in Schritt 3002 abgerufenen Daten im Cache-Speicher 2311 erzeugt. Wenngleich die erzeugte Kopie aus Daten eines Volumens besteht, welches der als Parameter gegebenen Kopierzielvolumennummer entspricht, kann die Zeit für das Schreiben dieser Daten in das Speichergerät 2313 beliebig sein.
  • In Schritt 3004 wird "0" in das in Schritt 3001 untersuchte Bit eingesetzt.
  • In Schritt 3005 wird untersucht, ob die der Erzeugung der Kopie unterzogene Spur eine der Endadresse 2406 entsprechende Spur ist. In dem Fall, in dem sie die Endspur ist, wird der Ablauf in Schritt 3007 fortgesetzt. In dem Fall, in dem sie nicht die Endspur ist, wird der Ablauf in Schritt 3006 fortgesetzt.
  • In Schritt 3006 wird 1 zu der Variablen i addiert. Dann geht der Ablauf zu Schritt 3001, um eine Verarbeitung für die nächste Spur auszuführen.
  • In Schritt 3007 wird "UNTERTEILUNG ABGESCHLOSSEN" in den Paarzustand 2403 eingesetzt, wodurch die vorliegende Verarbeitung abgeschlossen wird.
  • IX. Neunte Ausführungsform
  • 31 ist ein Blockdiagramm eines Systems gemäß einer neunten Ausführungsform der vorliegenden Erfindung. Das System weist einen Host 3100, eine Steuerung 3101 und Speichergeräte 3112 auf. Der Host 3100 gibt entsprechend einer Benutzeranweisung oder einem Benutzerprogramm verschiedene Anforderungen an die Steuerung 3101 aus. Die Speichergeräte 3112 speichern Daten. Die Steuerung 3101 führt das Lesen von Daten aus dem Speichergerät 3112 oder das Schreiben von Daten in das Speichergerät 3112 entsprechend einer Anforderung vom Host 3100 aus.
  • Die Steuerung 3101 besteht aus Steuerprozessoren 3102, einem Steuerspeicher 3110 und einem Cache-Speicher 3111.
  • Der Steuerprozessor 3102 steuert die Steuerung 3101. Eine Paarerzeugungsverarbeitung 3103, eine Ausdehnungsunterteilungsverarbeitung 3104, eine Ausdehnungskopplungsverarbeitung 3105, eine Schreibverarbeitung 3106, eine Ausdehnungsunterteilungskopierverarbeitung 3107, eine Ausdehnungskopplungskopierverarbeitung 3108 und eine Paarerzeugungskopierverarbeitung 3113 werden in dem Steuerprozessor 3102 ausgeführt. Der Steuerspeicher 3110 speichert Steuerinformationen, wie Paarinformationen 3109, die vom Steuerprozessor 3102 benötigt werden, um die Steuerung 3101 zu steuern. Der Cache-Speicher 3111 speichert vom Host 3100 empfangene Daten und aus dem Speichergerät 3112 gelesene Daten zwischen.
  • 32 zeigt die Datenstruktur der Paarinformationen 3109. Die Paarinformationen 3109 bestehen aus einem Verwendungshinweiszeichen 3201, einer Originalvolumennummer 3202, einer Kopiervolumennummer 3203, Differenzinformationen 3204, einem Paarzustand 3205 und Ausdehnungsinformationen 3206. Das Verwendungshinweiszeichen 3201 ist ein Hinweiszeichen, welches angibt, ob die entsprechenden Paarinformationen 3109 verwendet werden, d. h. ob Informationen in den entsprechenden Paarinformationen 3109 gültig sind. Wenn das Verwendungshinweiszeichen 3201 "1" ist, wird die Gültigkeit angegeben. Wenn es "0" ist, wird die Ungültigkeit angegeben. Die Originalvolumennummer 3202 gibt eine Nummer eines Volumens an, das als ein Original dient, wenn eine Kopie des Volumens entsprechend einer Anforderung vom Host 3100 zu erzeugen ist. Die Kopiervolumennummer 3203 gibt eine Nummer eines Volumens an, das mit einer Kopie von Daten eines Volumens gespeichert wird, das als ein Original dient, wenn eine Kopie des Volumens entsprechend einer Anforderung vom Host 3100 zu erzeugen ist. Die Differenzinformationen 3204 sind Informationen, welche Orte darstellen, an denen Daten zwischen einem durch die Originalvolumennummer 3202 angegebenen Volumen und einem durch die Kopiervolumennummer 3203 angegebenen Volumen verschieden sind. Der Paarzustand 3205 gibt an, bis wohin ein Volumenkopiererzeugungsprozess fortgeschritten ist. Der Paarzustand 3205 hat fünf Werte "WIRD ERZEUGT", "ERZEUGUNG ABGESCHLOSSEN", "AUSDEHNUNGSUNTERTEILUNG WIRD AUSGEFÜHRT", "AUSDEHNUNGSUNTERTEILUNG ABGESCHLOSSEN" und "AUSDEHNUNGSKOPPLUNG WIRD AUSGEFÜHRT". Die Ausdehnungsinformationen 3206 sind Informationen, welche einen Ort in einem Volumen angeben, in dem ein Bereich in der Art eines Datensatzes oder einer Datei gespeichert ist. Die Ausdehnungsinformationen 3206 bestehen aus einer Anfangsadresse 3207 und einer Endadresse 3208. Die Anfangsadresse 3207 ist eine Adresse, welche einen äußersten Anfang eines Bereichs in der Art eines Datensatzes oder einer Datei angibt, und die Endadresse 3208 ist eine Adresse, welche ein äußerstes Ende des Bereichs in der Art eines Datensatzes oder einer Datei angibt.
  • 33 zeigt die Struktur der Differenzinformationen 3204. Die Differenzinformationen 3204 bestehen aus zwei Arten von Bitmaps, welche Erzeugungsausführungs-Differenzinformationen 3300 und Unterteilungsausführungs-Differenzinformationen 3301 umfassen. Ein Bit entspricht einer Spur. Wenn der Bitwert "0" ist, wird angegeben, dass Daten der entsprechenden Spur zwischen einem durch die Originalvolumennummer 3202 angegebenen Volumen und einem durch die Kopiervolumennummer 3203 angegebenen Volumen übereinstimmen. Wenn der Bitwert "1" ist, wird angegeben, dass Daten der entsprechenden Spur nicht übereinstimmen. Natürlich kann veranlasst werden, dass ein Bit einer anderen Einheit entspricht.
  • 34 zeigt den Ablauf der Paarerzeugungsverarbeitung 3103. Der Host 3100 gibt eine Paarerzeugungsanforderung an die Steuerung 3101 aus, wenn die Steuerung 3101 veranlasst wird, die Kopie eines bestimmten Volumens zu erzeugen. Wenn die Paarerzeugungsanforderung vom Host 3100 empfangen wird, leitet der Steuerprozessor 3102 eine Paarerzeugungsverarbeitung 3103 ein. Die Paarerzeugungsanforderung hat zwei Parameter, d. h. eine Volumennummer eines Volumens, dessen Kopie zu erzeugen ist (als ein Originalvolumen bezeichnet), und eine Volumennummer eines Volumens, in dem kopierte Daten zu speichern sind (als ein Kopiervolumen bezeichnet).
  • In Schritt 3400 werden Nicht-verwendete-Paare-Informationen 3109, welche das Verwendungshinweiszeichen 3201 von "0" aufweisen, ausgewählt. In den Ausgewählte-Paare-Informationen 3109 wird das Verwendungshinweiszeichen 3201 auf "1" gesetzt, eine Volumennummer eines vom Host 3100 empfangenen Originalvolumens in die Originalvolumennummer 3202 eingesetzt, eine Volumennummer eines vom Host 3100 empfangenen Kopiervolumens in die Kopiervolumennummer 3203 eingesetzt, "WIRD ERZEUGT" in den Paarzustand 3205 eingesetzt, alle Bits der Erzeugungsausführungsinformationen 3300 in den Differenzinformationen 3204 auf "1" gesetzt und alle Bits der Unterteilungsausführungsinformationen 3301 auf "0" gesetzt.
  • In Schritt 3401 wird eine Paarerzeugungskopierverarbeitung 3113 aktiviert, wodurch die vorliegende Paarerzeugungsverarbeitung abgeschlossen wird.
  • 35 zeigt den Ablauf der Ausdehnungsunterteilungsverarbeitung 3104. Der Host 3100 gibt eine Ausdehnungsunterteilungsanforderung aus, wenn Daten, die in einem Kopiervolumen zu speichern sind, in Bezug auf einen spezifizierten Bereich eines Volumens festzulegen sind. Wenn die vom Host 3100 ausgegebene Ausdehnungsunterteilungsanforderung empfangen wird, leitet der Steuerprozessor 3102 eine Ausdehnungsunterteilungsverarbeitung ein. Die Ausdehnungsunterteilungsanforderung hat Parameter, die aus einer Volumennummer eines Originalvolumens, einer Volumennummer eines Kopiervolumens, einer Anfangsadresse, welche einen äußersten Anfang von einem oder mehreren Bereichen, für die Daten festzulegen sind, angibt, und einer Endadresse, welche ein äußerstes Ende des einen Bereichs oder der mehreren Bereiche, für die Daten festzulegen sind, angibt, bestehen.
  • In Schritt 3500 werden zuerst Paarinformationen 3109 ausgewählt, welche die der Volumennummer des Originalvolumens entsprechende Originalvolumennummer 3202 als Parameter und die der Volumennummer des Kopiervolumens entsprechende Kopiervolumennummer 3203 als Parameter aufweisen. Als nächstes wird "AUSDEHNUNGSUNTERTEILUNG WIRD AUSGEFÜHRT" in den Paarzustand 3205 der Ausgewählte-Paare-Informationen 3109 eingesetzt. Als nächstes werden die als Parameter empfangene Anfangsadresse in die Anfangsadresse 3207 der Ausdehnungs informationen 3206 der Ausgewählte-Paare-Informationen 3109 eingesetzt und die als Parameter empfangene Endadresse in die Endadresse 3208 davon eingesetzt.
  • In Schritt 3501 wird eine Ausdehnungsunterteilungskopierverarbeitung aktiviert, wodurch die vorliegende Ausdehnungsunterteilungsverarbeitung abgeschlossen wird.
  • 36 zeigt den Ablauf der Ausdehnungskopplungsverarbeitung 3105. Wenn eine vom Host 3100 ausgegebene Ausdehnungskopplungsanforderung empfangen wird, leitet der Steuerprozessor 3102 eine Ausdehnungskopplungsverarbeitung 3105 ein. Die Ausdehnungskopplungsanforderung hat Parameter, die aus einer Volumennummer eines Originalvolumens und einer Volumennummer eines Kopiervolumens zusammengesetzt sind.
  • In Schritt 3600 werden zuerst Paarinformationen 3109 ausgewählt, welche die der Volumennummer des Originalvolumens entsprechende Originalvolumennummer 3202 als Parameter und die der Volumennummer des Kopiervolumens entsprechende Kopiervolumennummer 3203 als Parameter aufweisen. Als nächstes wird "AUSDEHNUNGSKOPPLUNG WIRD AUSGEFÜHRT" in den Paarzustand 3205 der ausgewählten Paarinformationen 3109 eingesetzt. Als nächstes wird eine Ausdehnungskopplungskopierverarbeitung 3108 aktiviert, wodurch die vorliegende Ausdehnungskopplungsverarbeitung abgeschlossen wird.
  • 37 zeigt den Ablauf der Paarerzeugungskopierverarbeitung 3113. Die Paarerzeugungskopierverarbeitung 3113 wird von der Paarerzeugungsverarbeitung 3103 aktiviert. Eine Volumennummer eines Originalvolumens und eine Volumennummer eines Kopiervolumens werden als Parameter gegeben.
  • In Schritt 3700 wird eine Variable i auf eine Spurnummer einer führenden Spur des Originalvolumens als Parameter gesetzt.
  • In Schritt 3701 werden zuerst Paarinformationen 1310 ausgewählt, welche die der Volumennummer des Originalvolumens entsprechende Originalvolumennummer 3202 als Parameter und die der Volumennummer des Kopiervolumens entsprechende Kopiervolumennummer 3203 als Parameter aufweisen. Als nächstes wird auf die Erzeugungsausführungs-Differenzinformationen 3300 in den Differenzinformationen 3204 der Ausgewählte-Paare-Informationen 3109 Bezug genommen, um zu untersuchen, ob ein Bit, das einer Spur entspricht, die eine Spurnummer aufweist, welche gleich der Variablen i ist, "0" oder "1" ist. In dem Fall, in dem das Bit "0" ist, wird der Ablauf in Schritt 3705 fortgesetzt. In dem Fall, in dem das Bit "1" ist, wird der Ablauf in Schritt 3702 fortgesetzt.
  • In Schritt 3702 werden Daten der Spur mit einer Spurnummer, die gleich der Variablen i ist, aus dem Speichergerät 3112 abgerufen und in den Cache-Speicher 3111 eingegeben.
  • In Schritt 3703 wird eine Kopie der in Schritt 3702 abgerufenen Daten im Cache-Speicher 3111 erzeugt. Wenngleich die erzeugte Kopie aus Daten eines Volumens besteht, welches der als Parameter gegebenen Kopiervolumennummer entspricht, kann die Zeit für das Schreiben dieser Daten in das Speichergerät 3112 beliebig sein.
  • In Schritt 3704 wird "0" in das in Schritt 3701 untersuchte Bit eingesetzt.
  • In Schritt 3705 wird untersucht, ob die Spur mit einer Spurnummer, die gleich der Variablen i ist, eine Spur ist, welche einem äußersten Ende eines Volumens entspricht, das der Volumennummer des Originalvolumens als Parameter entspricht. In dem Fall, in dem dies die letzte Spur ist, wird der Ablauf in Schritt 3707 fortgesetzt. In dem Fall, in dem dies nicht die letzte Spur ist, wird der Ablauf in Schritt 3706 fortgesetzt.
  • In Schritt 3706 wird die Variable i aktualisiert. Dann geht der Ablauf zu Schritt 3701, um eine Verarbeitung für die nächste Spur auszuführen.
  • In Schritt 3707 wird "ERZEUGUNG ABGESCHLOSSEN" in den Paarzustand 3205 der in Schritt 3701 ausgewählten Paarinformationen 3109 eingesetzt, wodurch die vorliegende Verarbeitung abgeschlossen wird.
  • 38 zeigt den Ablauf der Schreibverarbeitung 3106. Wenn eine Schreibanforderung vom Host 3100 empfangen wird, leitet der Steuerprozessor 3102 eine Schreibverarbeitung 3106 ein. Die Schreibanforderung hat drei Parameter, d. h. Schreibdaten, eine Volumennummer eines Volumens, in dem die Schreibdaten zu speichern sind, und eine Adresse in dem Volumen, in dem die Schreibdaten gespeichert sind.
  • In Schritt 3800 werden Paarinformationen 3109 mit der Originalvolumennummer 3202, entsprechend der als Parameter empfangenen Volumennummer, aus Paarinformationen 3109 mit dem Verwendungshinweiszeichen 3201 von "1" ausgewählt. In dem Fall, in dem Paarinformationen 3109, welche die vorstehend erwähnte Bedingung erfüllen, nicht existieren, wird der Ablauf in Schritt 3808 fortgesetzt. In dem Fall, in dem Paarinformationen 3109, welche die vorstehend erwähnte Bedingung erfüllen, existieren, wird der Ablauf in Schritt 3801 fortgesetzt.
  • In Schritt 3801 wird der Paarzustand 3205 der in Schritt 3800 ausgewählten Paarinformationen untersucht. In dem Fall, in dem der Paarzustand 3205 "AUSDEHNUNGSUNTERTEILUNG WIRD AUSGEFÜHRT" ist, wird der Ablauf in Schritt 3802 fortgesetzt. Im anderen Fall wird der Ablauf in Schritt 3807 fortgesetzt.
  • In Schritt 3802 wird auf die Ausdehnungsinformationen 3206 in den in Schritt 3800 ausgewählten Paarinformationen 3109 Bezug genommen, um zu untersuchen, ob die als Parameter empfangene Adresse innerhalb des Volumens zwischen der Anfangsadresse 3207 und der Endadresse 3208 der Ausdehnungsinformationen enthalten ist. In dem Fall, in dem die Adresse enthalten ist, wird der Ablauf in Schritt 3803 fortgesetzt. In dem Fall, in dem die Adresse nicht enthalten ist, wird der Ablauf in Schritt 3807 fortgesetzt.
  • In Schritt 3803 wird auf die Erzeugungsausführungs-Differenzinformationen 3300 in den Differenzinformationen 3204 der in Schritt 3800 ausgewählten Paarinformationen 3109 Bezug genommen, um zu untersuchen, ob ein Bit, das einer Spur entspricht, die der als Parameter empfangenen Adresse in dem Volumen entspricht, "0" oder "1" ist. In dem Fall, in dem das Bit "0" ist, wird der Ablauf in Schritt 3807 fortgesetzt. In dem Fall, in dem das Bit "1" ist, wird der Ablauf in Schritt 3804 fortgesetzt.
  • In Schritt 3804 werden Daten der Spur, die der als Parameter empfangenen Adresse in dem Volumen entspricht, aus dem Speichergerät 3112 abgerufen und in den Cache-Speicher 3111 eingegeben.
  • In Schritt 3805 wird eine Kopie der in Schritt 3804 abgerufenen Daten im Cache-Speicher 3111 erzeugt. Wenngleich die erzeugte Kopie aus Daten eines durch die Kopiervolumennummer 3203 in den in Schritt 3800 ausgewählten Paarinformationen 3109 angegebenen Kopiervolumens besteht, kann die Zeit für das Schreiben dieser Daten in das Speichergerät 3112 beliebig sein.
  • In Schritt 3806 wird "0" in das in Schritt 3803 untersuchte Bit eingesetzt.
  • In Schritt 3807 wird der Paarzustand 3205 der in Schritt 3800 ausgewählten Paarinformationen 3109 zuerst untersucht. In dem Fall, in dem der Paarzustand 3205 "WIRD ERZEUGT", "ERZEUGUNG ABGESCHLOSSEN" oder "AUSDEHNUNGSKOPPLUNG WIRD AUSGEFÜHRT" ist, wird "1" in jenes Bit in den Erzeugungsausführungs-Differenzinformationen 3300 der Differenzinformationen 3204 eingegeben, das einer Spur entspricht, die der als Parameter empfangenen Adresse in dem Volumen entspricht. In dem Fall, in dem der Paarzustand 3205 "AUSDEHNUNGSUNTERTEILUNG WIRD AUSGEFÜHRT" oder "AUSDEHNUNGSUNTERTEILUNG ABGESCHLOSSEN" ist, wird "1" in jenes Bit in den Unterteilungsausführungs-Differenzinformationen 3301 der Differenzinformationen 3204 eingesetzt, das einer Spur entspricht, welches der als Parameter empfangenen Adresse in dem Volumen entspricht.
  • In Schritt 3808 werden die als Parameter empfangenen Schreibdaten im Cache-Speicher 3111 gespeichert, wodurch die vorliegende Verarbeitung abgeschlossen wird.
  • 39 zeigt den Ablauf der Ausdehnungsunterteilungskopierverarbeitung 3107. Die Ausdehnungsunterteilungskopierverarbeitung 3107 wird von der Ausdehnungsunterteilungs verarbeitung 3104 aktiviert. Eine Volumennummer eines Originalvolumens und eine Volumennummer eines Kopiervolumens sind als Parameter gegeben.
  • In Schritt 3900 werden zuerst Paarinformationen 3109 ausgewählt, welche die der Volumennummer des Originalvolumens entsprechende Originalvolumennummer 3202 als Parameter und die der Volumennummer des Kopiervolumens entsprechende Kopiervolumennummer 3203 als Parameter aufweisen. Als nächstes werden eine Ausdehnungsinformation 3206 der Ausgewählte-Paare-Informationen 3109 ausgewählt und eine Variable i in die Anfangsadresse 3207 eingesetzt.
  • In Schritt 3901 wird auf die Erzeugungsausführungs-Differenzinformationen 3300 in den Differenzinformationen 3204 der Ausgewählte-Paare-Informationen 3109 Bezug genommen, um ein Bit zu untersuchen, das einer Spur entspricht, die eine Spurnummer aufweist, die gleich der Variablen i ist. In dem Fall, in dem das Bit "0" ist, wird der Ablauf in Schritt 3905 fortgesetzt. In dem Fall, in dem das Bit "1" ist, wird der Ablauf in Schritt 3902 fortgesetzt.
  • In Schritt 3902 werden Daten der Spur mit einer Spurnummer, die gleich der Variablen i ist, aus dem Speichergerät 3112 abgerufen und in den Cache-Speicher 3111 eingegeben.
  • In Schritt 3903 wird eine Kopie der in Schritt 3902 abgerufenen Daten im Cache-Speicher 3111 erzeugt. Wenngleich die erzeugte Kopie aus Daten eines Volumens besteht, welches der als Parameter gegebenen Kopiervolumennummer entspricht, kann die Zeit für das Schreiben dieser Daten in das Speichergerät 3112 beliebig sein.
  • In Schritt 3904 wird "0" in das in Schritt 3901 untersuchte Bit eingesetzt.
  • In Schritt 3905 wird untersucht, ob die Spur mit einer Spurnummer, die gleich der Variablen i ist, eine Spur ist, die der Endadresse 3208 entspricht. In dem Fall, in dem sie die entsprechende Spur ist, wird der Ablauf in Schritt 3908 fortgesetzt. In dem Fall, in dem sie nicht die entsprechende Spur ist, wird der Ablauf in Schritt 3906 fortgesetzt.
  • In Schritt 3906 wird 1 zu der Variablen i addiert. Dann geht der Ablauf zu Schritt 3901, um eine Verarbeitung für die nächste Spur auszuführen.
  • In Schritt 3908 wird untersucht, ob die Verarbeitungen in den Schritten 3900 bis 3906 bereits für alle Ausdehnungsinformationen 3206 der in Schritt 3900 ausgewählten Paarinformationen 3109 ausgeführt wurden. In dem Fall, in dem die Verarbeitungen bereits ausgeführt wurden, wird der Ablauf in Schritt 3907 fortgesetzt. In dem Fall, in dem es Ausdehnungsinformationen 3206 gibt, die noch nicht verarbeitet worden sind, geht der Ablauf zu Schritt 3900, um eine Verarbeitung für einen durch die nächsten Ausdehnungsinformationen 3206 definierten Bereich auszuführen.
  • In Schritt 3907 wird "AUSDEHNUNGSUNTERTEILUNG ABGESCHLOSSEN" in den Paarzustand 3205 der in Schritt 3900 ausgewählten Paarinformationen 3109 eingesetzt, wodurch die vorliegende Verarbeitung abgeschlossen wird. Dadurch werden jene Daten eines als Parameter der Ausdehnungsunterteilungsanforderung gegebenen spezifizierten Bereichs des Originalvolumens, wobei es sich um Daten zu einem Zeitpunkt des Ausgebens der Ausdehnungsunterteilungsanforderung handelt, in dem Kopiervolumen erzeugt.
  • 40 zeigt den Ablauf der Ausdehnungskopplungskopierverarbeitung 3108. Die Ausdehnungskopplungskopierverarbeitung 3108 wird von der Ausdehnungskopplungsverarbeitung 3105 aktiviert. Eine Volumennummer eines Originalvolumens und eine Volumennummer eines Kopiervolumens sind als Parameter gegeben.
  • In Schritt 4000 werden zuerst Paarinformationen 3109 ausgewählt, welche die der Volumennummer des Originalvolumens entsprechende Originalvolumennummer 3202 als Parameter und die der Volumennummer des Kopiervolumens entsprechende Kopiervolumennummer 3203 als Parameter aufweisen. Als nächstes werden eine Ausdehnungsinformation 3206 der Ausgewählte-Paare-Informationen 3109 ausgewählt und eine Variable i in die Anfangsadresse 3207 eingesetzt.
  • In Schritt 4001 wird auf die Unterteilungsausführungs-Differenzinformationen 3301 in den Differenzinformationen 3204 der Ausgewählte-Paare-Informationen 3109 Bezug genommen, um ein Bit zu untersuchen, das einer Spur entspricht, deren Spurnummer gleich der Variablen i ist. In dem Fall, in dem das Bit "0" ist, wird der Ablauf in Schritt 4005 fortgesetzt. In dem Fall, in dem das Bit "1" ist, wird der Ablauf in Schritt 4002 fortgesetzt.
  • In Schritt 4002 werden Daten der Spur mit einer Spurnummer, die gleich der Variablen i ist, aus dem Speichergerät 3112 abgerufen und in den Cache-Speicher 3111 eingegeben.
  • In Schritt 4003 wird eine Kopie der in Schritt 4002 abgerufenen Daten im Cache-Speicher 3111 erzeugt. Wenngleich die erzeugte Kopie aus Daten eines Volumens besteht, welches der als Parameter gegebenen Kopiervolumennummer entspricht, kann die Zeit für das Schreiben dieser Daten in das Speichergerät 3112 beliebig sein.
  • In Schritt 4004 wird "0" in das in Schritt 3901 untersuchte Bit eingesetzt.
  • In Schritt 4005 wird untersucht, ob die Spur mit einer Spurnummer, die gleich der Variablen i ist, eine Spur ist, die der Endadresse 3208 entspricht. In dem Fall, in dem sie die entsprechende Spur ist, wird der Ablauf in Schritt 4008 fortgesetzt. In dem Fall, in dem sie nicht die entsprechende Spur ist, wird der Ablauf in Schritt 4006 fortgesetzt.
  • In Schritt 4006 wird die Variable i aktualisiert. Dann geht der Ablauf zu Schritt 4001, um eine Verarbeitung für die nächste Spur auszuführen.
  • In Schritt 4008 wird untersucht, ob die Verarbeitungen in den Schritten 4000 bis 4006 bereits für alle Ausdehnungsinformationen 3206 der in Schritt 4000 ausgewählten Paarinformationen 3109 ausgeführt wurden. In dem Fall, in dem die Verarbeitungen bereits ausgeführt worden sind, wird der Ablauf in Schritt 4007 fortgesetzt. In dem Fall, in dem es Ausdehnungsinformationen 3206 gibt, die noch nicht verarbeitet worden sind, geht der Ablauf zu Schritt 4000, um eine Verarbeitung für einen durch die nächsten Ausdehnungsinformationen 3206 definierten Bereich auszuführen.
  • In Schritt 4007 wird "BILDUNG ABGESCHLOSSEN" in den Paarzustand 3205 der in Schritt 4000 ausgewählten Paarinformationen 3109 eingesetzt, wodurch die vorliegende Verarbeitung abgeschlossen wird.
  • Als eine Technik zum Verbessern der Funktionsweise eines Speichergeräts ist eine Platten-Array-Technik bekannt, mit der Schreibdaten parallel in mehrere Platten geschrieben werden. Das in der siebten, der achten und der neunten Ausführungsform offenbarte Volumen kann durch die Anwendung der Platten-Array-Technik gebildet werden. Das in der ersten, der zweiten und der dritten Ausführungsform offenbarte Volumen kann ein in einer einzigen Platte gespeicherter Bereich ohne Anwendung der Platten-Array-Technik sein. Das in der ersten, der zweiten und der dritten Ausführungsform offenbarte Originalvolumen kann durch die Anwendung der Platten-Array-Technik gebildet werden, während das Kopiervolumen ein auf einer einzigen Platte ohne Anwendung der Platten-Array-Technik gespeicherter Bereich sein kann. Das in der ersten, der zweiten und der dritten Ausführungsform offenbarte Originalvolumen kann ein in einer einzigen Platte ohne Anwendung der Platten-Array-Technik gespeicherter Bereich sein, während das Kopiervolumen durch die Anwendung der Platten-Array-Technik gebildet werden kann.
  • Als nächstes wird eine zehnte Ausführungsform der vorliegenden Erfindung beschrieben.
  • X. Zehnte Ausführungsform
  • In einem System gemäß der zehnten Ausführungsform sind ein entferntes Endgerät 4302 und ein Wartungsendgerät 4303 (siehe 41) zu dem System gemäß der siebten, der achten oder der neunten Ausführungsform hinzugefügt. Das entfernte Endgerät 4302 ist eine Vorrichtung, die verschiedene Anforderungen von einem Ort, der von einem Ort entfernt ist, wo die Steuerung 1312 installiert ist, an die Steuerung 1312 ausgibt. Die Steuerung 1312 hat eine Entfernte-Endgerät-I/F 4300, welche eine Schnittstelle für das entfernte Endgerät 4302 ist. Die Entfernte-Endgerät-I/F 4300 hat eine Funktion, mit der eine vom entfernten Endgerät 4302 ausgegebene Anforderung zum Steuerprozessor 1301 übertragen wird. Das Wartungsendgerät 4303 bildet zusammen mit der Steuerung 1312 und dem Speichergerät 1313 ein Speicheruntersystem 4307. Das Wartungsendgerät 4303 ist eine Vorrichtung, welche verschiedene Anforderungen an die Steuerung 1312 ausgibt. Die Steuerung 1312 weist eine Wartungsendgerät-I/F 4301 auf, welche eine Schnittstelle für das Wartungsendgerät 4303 ist. Die Wartungsendgerät-I/F 4301 hat eine Funktion, mit der eine vom Wartungsendgerät 4303 ausgegebene Anforderung zum Steuerprozessor 1301 übertragen wird. Jedes von dem entfernten Endgerät 4302 und dem Wartungsendgerät 4303 hat eine Funktion zum Ausgeben einer Anforderung an den Host 1300, den Host 2300 oder den Host 3100, wie in Zusammenhang mit der siebten, der achten oder der neunten Ausführungsform beschrieben wurde.
  • Als nächstes wird eine elfte Ausführungsform der vorliegenden Erfindung beschrieben.
  • XI. Elfte Ausführungsform
  • In einem System gemäß der elften Ausführungsform sind ein LAN 4304, ein Host 4305 und ein Magnetband-Laufwerk 4306 (siehe 41) zu dem System gemäß der siebten, der achten oder der neunten Ausführungsform hinzugefügt. Der Host 1300 (oder 2300 oder 3100) informiert den Host 4305 durch das LAN 4304 über die Bildung eines Kopiervolumens. Der Host 4305 hat eine Funktion zum Speichern von Daten des Kopiervolumens im Magnetband-Laufwerk 4306, wodurch ein Backup erhalten wird.
  • Zuerst wird der Fall eines Systems beschrieben, in dem das LAN 4304, der Host 4305 und das Magnetband-Laufwerk 4306 zu dem in Zusammenhang mit der siebten Ausführungsform beschriebenen System hinzugefügt sind.
  • Der Host 1300 gibt zuerst eine Paarerzeugungsanforderung und anschließend eine Paarunterteilungsanforderung an die Steuerung 1312 aus, um ein Kopiervolumen zu erzeugen, und er informiert den Host 4305 über das LAN 4304 über eine logische Volumennummer des Kopiervolumens. Der Host 4305 arbeitet so, dass Daten eines logischen Volumens, das der empfangenen logischen Volumennummer entspricht, von der Steuerung 1312 aus dem Speichergerät 1313 gelesen werden und die gelesenen Daten in das Magnetband-Laufwerk 4306 geschrieben werden, um ein Backup zu erhalten. Ferner gibt der Host 1300 eine Ausdehnungsaktualisierungsanforderung an die Steuerung 1312 aus, um Daten eines Teilbereichs des Kopiervolumens zu aktualisieren. Wenn die Aktualisierung abgeschlossen ist, informiert der Host 1300 den Host 4305 durch das LAN 4304 über die logische Volumennummer des Kopiervolumens und eine den aktualisierten Bereich angebende Adresse. Der Host 4305 arbeitet so, dass Daten, die in jenem Bereich eines logischen Volumens gespeichert sind, das der empfangenen logischen Volumennummer entspricht, die der empfangenen Adresse entspricht, wodurch der aktualisierte Bereich angegeben wird, durch die Steuerung 1312 aus dem Speichergerät 1313 gelesen werden und die gelesenen Daten in das Magnetband-Laufwerk 4306 geschrieben werden, um ein Backup zu erhalten. Der vorstehend erwähnte Ablauf, bei dem der Host 1300 eine Ausdehnungsaktualisierungsanforderung zum Aktualisieren eines Teilbereichs des Kopiervolumens ausgibt und der Host 4305 das Backup dieses Bereichs erhält, wird nach Bedarf wiederholt ausgeführt.
  • Als nächstes wird der Fall eines Systems beschrieben, in dem das LAN 4304, der Host 4305 und das Magnetband-Laufwerk 4306 zu dem in Zusammenhang mit der achten Ausführungsform beschriebenen System hinzugefügt sind.
  • Der Host 2300 gibt zuerst eine Paarerzeugungsanforderung und anschließend eine Paarunterteilungsanforderung an die Steuerung 2312 aus, um ein Kopiervolumen zu erzeugen, und er informiert den Host 4305 durch das LAN 4304 über eine logische Volumennummer des Kopiervolumens und eine Adresse, welche einen Teilbereich des Kopiervolumens angibt. Der informierte Host 4305 liest Daten des Teilbereichs des Kopiervolumens durch die Steuerung 2312 aus dem Speichergerät 2313 aus und schreibt die gelesenen Daten in das Magnetband-Laufwerk 4306, um ein Backup zu erhalten.
  • Als nächstes wird der Fall eines Systems beschrieben, in dem das LAN 4304, der Host 4305 und das Magnetband-Laufwerk 4306 zu dem in Zusammenhang mit der neunten Ausführungsform beschriebenen System hinzugefügt sind.
  • Der Host 3100 gibt zuerst eine Paarerzeugungsanforderung und anschließend eine Ausdehnungsunterteilungsanforderung an die Steuerung 3101 aus, um einen Teilbereich eines Kopiervolumens zu erzeugen, und informiert den Host 4305 durch das LAN 4304 über eine logische Volumennummer des Kopiervolumens und eine Adresse, welche den Teilbereich des Kopiervolumens angibt. Der informierte Host 4305 liest Daten des Teilbereichs des Kopiervolumens durch die Steuerung 3101 aus dem Speichergerät 3112 aus und schreibt die gelesenen Daten in das Magnetband-Laufwerk 4306, um ein Backup zu erhalten.
  • Mit dem vorstehend beschriebenen Verfahren wird das Backup eines gesamten Volumens oder eines Teilbereichs in der Art einer Datei oder eines Datensatzes in einem Volumen erhalten. In der vorstehenden Beschreibung liest der Host, der von dem eine Anforderung zur Bildung eines Kopiervolumens ausgebenden Host verschieden ist, Daten aus dem Speichergerät und schreibt die gelesenen Daten in das Magnetband-Laufwerk. Es ist jedoch selbstverständlich, dass diese Hosts gleich sein können.
  • Gemäß der vorstehend beschriebenen vorliegenden Erfindung ist es jedoch möglich, die Wirksamkeit des Kopierens in der Art eines entfernten Kopierens oder eines migratorischen Kopierens zwischen Speichersystemen ohne Beteiligung einer CPU weiter zu verbessern.
  • Auch ist es möglich, ein logisches Volumen auf mehreren RAID-Gruppen verteilt anzuordnen/umzuordnen, so dass Daten sätze oder Dateien in einem logischen Volumen auf RAID-Gruppen angeordnet werden, die für ihre Zugriffseigenschaften geeignet sind.
  • Weil das Kopieren in Einheiten eines Bereichs in der Art eines Datensatzes oder einer Datei ermöglicht ist, kann das unnötige Kopieren verringert werden. Dadurch ist es möglich, die Belastung eines Speichergeräts und die Kopiererzeugungszeit zu verringern.

Claims (8)

  1. Verfahren zum Ausführen entfernten Kopierens zwischen zwei Speichersystemen (100, 110), die als externe Speicher einer CPU (120) verwendet werden, die eine Anforderung zum Zugriff auf ein logisches Volumen zur Ausführung von Dateneingabe/-ausgabe ausgibt, wobei die Speichersysteme (100, 110) jeweils eine Steuerung (101, 111) enthalten und eines (100) der zwei Speichersysteme als ein Kopierursprung dient, wobei die Bezeichnung eines Teilbereichs eines logischen Volumens (104) auf dem Kopierursprungspeichersystem durch die CPU akzeptiert wird, das Kopierursprungspeichersystem untersucht, ob der bezeichnete Teilbereich eines logischen Volumens in einem Zielbereich für das entfernte Kopieren enthalten ist oder nicht, und Daten des Teilbereichs des logischen Volumens, dessen Bezeichnung akzeptiert ist, falls der bezeichnete Teilbereich eines logischen Volumens im Zielbereich für das entfernte Kopieren enthalten ist, auf ein logisches Volumen (114) auf dem anderen (110) der zwei Speichersysteme als einem Kopierziel gesteuert von der Steuerung des Kopierursprungspeichersystems und ohne Beteiligung der CPU übertragen werden, wobei im Kopierzielspeichersystem die vom Kopierursprungspeichersystem übertragenen Daten des Teilbereichs auf das logische Volumen auf dem Kopierzielspeichersystem geschrieben werden, wobei die Steuerung eine Informationstabelle (300) logischer Speichervolumen umfaßt, die einen Kopieradressenbereich enthält, der für die Prüfung durch das Kopierursprungspeichersystem verwendet wird.
  2. Speichersystem (100), verwendet als ein externer Speicher einer CPU (120), die eine Anforderung zum Zugriff auf ein logisches Volumen zur Ausführung von Dateneingabe/-ausgabe ausgibt, wobei das Speichersystem (100) umfaßt: mehrere Speichergeräte (103) und eine Steuerung (101) zum Abbilden des logischen Volumens (104) auf einem Adressraum, der durch die mehreren Speichergeräte gebildet wird, und zum Ermöglichen des Zugriffs auf den Adressraum, auf dem logische Volumen abgebildet sind, gemäß der von der CPU ausgegebenen Zugriffsanforderung zu dem logischen Volumen, wobei die Steuerung (101) umfaßt eine Verwaltungseinrichtung (300, 310; 800, 820, 830, 840) zum Verwalten eines Teilbereichs des von einem Benutzer bezeichneten logischen Volumens, eine Einrichtung zum Prüfen, ob der bezeichnete Teilbereich des logischen Volumens in einem Zielbereich für das entfernte Kopieren enthalten ist oder nicht, und eine Einrichtung (402) zum Kopieren von Daten des verwalteten Teilbereichs des logischen Volumens auf ein logisches Volumen (114) auf einem anderen Speichersystem (110) gesteuert von der Steuerung des Speichersystems und ohne Beteiligung der CPU, falls der bezeichnete Teilbereich eines logischen Volumens im Zielbereich für das entfernte Kopieren enthalten ist, wobei die Steuerung eine Informationstabelle (300) logischer Speichervolumen umfaßt, die einen Kopieradressenbereich enthält, der für die Prüfung durch das Speichersystem verwendet wird.
  3. Informationssystem, das mit mehreren Speichersystemen (100, 110) versehen ist, die als externe Speicher einer CPU (120) verwendet werden, die eine Aufforderung zum Zugriff auf ein logisches Volumen zur Ausführung von Dateneingabe/-ausgabe ausgibt, wobei die mehreren Speichersysteme jeweils mehrere Speichergerate (103; 113) und eine Steuerung (101; 111) zum Abbilden des logischen Volumens auf einen Adressraum, der durch die mehreren Speichergeräte gebildet wird, und zum Ermöglichen des Zugriffs auf den Adressraum der abgebildeten logischen Volumen gemäß der von der CPU ausgegebenen Zugriffsaufforderung zu dem logischen Volumen umfassen, die Steuerung (101) eines ersten Speichersystems (100) aus den mehreren Speichersystemen umfaßt, eine Verwaltungseinrichtung (300, 310; 800, 820, 830, 840) zum Verwalten eines Teilbereichs eines logischen Volumens (104) auf dem von einem Benutzer bezeichneten ersten Speichersystem, eine Einrichtung zum Prüfen, ob der bezeichnete Teilbereich des logischen Volumens in einem Zielbereich für das entfernte Kopieren enthalten ist oder nicht; und eine Einrichtung (402) zum Kopieren von Daten des verwalteten Teilbereichs des logischen Volumens auf dem ersten Speichersystem in ein logisches Volumen (114) auf einem zweiten Speichersystem (110) aus den mehreren Speichersystemen gesteuert von der Steuerung des ersten Speichersystems und ohne Beteiligung der CPU, falls der bezeichnete Teilbereich eines logischen Volumens im Zielbereich für das entfernte Kopieren enthalten ist, und die Steuerung (111) des zweiten Speichersystems (110) dazu ausgelegt ist, einen Adressraum der Speichergeräte, der der Kapazität des Teilbereichs entspricht, auf das logische Volumen auf dem zweiten Speichersystem, in das Daten des Teilbereichs kopiert werden sollen, abzubilden, wobei die Steuerung des ersten Speichersystems eine Informationstabelle (300) logischer Speichervolumen umfaßt, die einen Kopieradressenbereich enthält, der für die Prüfung durch das erste Speichersystem verwendet wird.
  4. Speichersystem nach Anspruch 2, wobei die Steuerung (101) dazu ausgelegt ist, einen Adressraum der Speichergeräte (103), der der Kapazität des Teilbereichs entspricht, auf das logische Volumen (114) auf dem anderen Speichersystem (110), in das die Daten des Teilbereichs kopiert werden sollen, abzubilden.
  5. Speichersystem nach Anspruch 2, wobei die Verwaltungseinrichtung (300, 310; 800, 820, 830, 840) der Steuerung (101; 1010) dazu ausgelegt ist, den Teilbereich in Einheiten eines Bereichs (200; 210) mit einer festen Länge zu verwalten, wobei das Speichersystem dazu ausgelegt ist, charakteristische Zugriffseigenschaften des Teilbereichs zu detektieren, und wobei das Speichersystem dazu ausgelegt ist, auf der Grundlage der Detektionsergebnisse eine RAID-Gruppe neu- oder wiederzubilden.
  6. Speichersystem nach Anspruch 1 mit einer Funktion, mittels der ein Kopiervolumen als eine Kopie von in einem ursprünglichen Volumen zu einem bestimmten Zeitpunkt gespeicherten Daten gemäß einer Anweisung von einem Host (1300; 2300; 3100) erzeugt wird, wobei das Speichersystem umfaßt: eine Einrichtung (1301; 2301; 3102) zum Empfangen einer Anfangsadresse (1407; 2405; 3207) und einer Endadresse (1408; 2406; 3208) vom Host, wobei die Anfangsadresse und die Zieladresse einen in dem ursprünglichen Volumen enthaltenen Bereich angeben, und eine Einrichtung (1301; 2301; 3102) zum Ausführen des Lesens vom ursprünglichen Volumen und des Schreibens auf das Kopiervolumen für Daten eines durch die empfangenen Anfangs- und Zieladressen bestimmten Bereichs, so daß Daten eines Bereichs des Kopiervolumens, die durch die Anfangsadresse und die Zieladresse bestimmt sind, mit den Daten des ursprünglichen Volumens wieder in Übereinstimmung gebracht werden.
  7. Speichersystem nach Anspruch 6, umfassend eine Einrichtung (1309; 2309; 3110) zum Speichern eines Ortes (1404; 2404; 3204), an dem sich das ursprüngliche Volumen und das bei der Schreibverarbeitung durch den Host erzeugte Kopiervolumen unterscheiden, und eine Einrichtung (1301; 2301; 3102) zum Lesen lediglich des gespeicherten unterschiedlichen Orts vom ursprünglichen Volumen und zum Schreiben desselben in das Kopiervolumen, wenn Daten eines Bereichs des Kopiervolumens, der durch die Anfangsadresse und die Endadresse bestimmt wird, wieder mit Daten des Ursprungsvolumens in Übereinstimmung gebracht werden sollen.
  8. Speichersystem nach Anspruch 1, verbunden mit einem Host (1300; 2300; 3100), umfassend eine Einrichtung (1301; 2301; 3102) zum Empfangen einer Anfangsadresse (1407; 2405; 3207) und einer Endadresse (1408; 2406; 3208), die einen zu einem Volumen gehörenden bestimmten Bereich angeben, vom Host und eine Einrichtung (1301; 2301; 3102) zum Erzeugen einer Kopie von in dem bestimmten Bereich enthaltenen Daten.
DE69938378T 1998-08-20 1999-08-16 Kopieren von Daten in Speichersystemen Expired - Lifetime DE69938378T2 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP23386098 1998-08-20
JP23386098 1998-08-20

Publications (2)

Publication Number Publication Date
DE69938378D1 DE69938378D1 (de) 2008-04-30
DE69938378T2 true DE69938378T2 (de) 2009-04-30

Family

ID=16961715

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69938378T Expired - Lifetime DE69938378T2 (de) 1998-08-20 1999-08-16 Kopieren von Daten in Speichersystemen

Country Status (3)

Country Link
US (2) US6681303B1 (de)
EP (1) EP0981091B1 (de)
DE (1) DE69938378T2 (de)

Families Citing this family (104)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6029168A (en) * 1998-01-23 2000-02-22 Tricord Systems, Inc. Decentralized file mapping in a striped network file system in a distributed computing environment
TW454120B (en) * 1999-11-11 2001-09-11 Miralink Corp Flexible remote data mirroring
JP3868708B2 (ja) * 2000-04-19 2007-01-17 株式会社日立製作所 スナップショット管理方法及び計算機システム
JP2001306414A (ja) * 2000-04-25 2001-11-02 Hitachi Ltd 記憶装置のリモートコピーシステム
JP2001337790A (ja) * 2000-05-24 2001-12-07 Hitachi Ltd 記憶システム及びその階層管理制御方法
US7269631B2 (en) * 2000-06-02 2007-09-11 Hewlett-Packard Development Company, L.P. Architecture for parallel distributed table driven I/O mapping
KR20020004041A (ko) * 2000-06-30 2002-01-16 임경환 인터넷을 통한 파일 검색 서비스 시스템 및 방법
US6766430B2 (en) * 2000-07-06 2004-07-20 Hitachi, Ltd. Data reallocation among storage systems
US7275100B2 (en) 2001-01-12 2007-09-25 Hitachi, Ltd. Failure notification method and system using remote mirroring for clustering systems
US6748467B2 (en) * 2001-01-30 2004-06-08 Hitachi, Ltd. High speed data transfer between mainframe storage systems
US20030028719A1 (en) * 2001-08-06 2003-02-06 Rege Satish L. Disc drives divided into multiple logical containers
US7296125B2 (en) * 2001-11-29 2007-11-13 Emc Corporation Preserving a snapshot of selected data of a mass storage system
JP4168626B2 (ja) * 2001-12-06 2008-10-22 株式会社日立製作所 記憶装置間のファイル移行方法
US7062614B2 (en) * 2001-12-28 2006-06-13 Hewlett-Packard Development Company, L.P. System and method for managing access to multiple devices in a partitioned data library
US7000085B2 (en) * 2001-12-28 2006-02-14 Hewlett-Packard Development Company, L.P. System and method for securing drive access to data storage media based on medium identifiers
US20030126225A1 (en) * 2001-12-28 2003-07-03 Camble Peter Thomas System and method for peripheral device virtual functionality overlay
US7363425B2 (en) 2001-12-28 2008-04-22 Hewlett-Packard Development Company, L.P. System and method for securing drive access to media based on medium identification numbers
US8788611B2 (en) * 2001-12-28 2014-07-22 Hewlett-Packard Development Company, L.P. Method for using partitioning to provide capacity on demand in data libraries
US7082497B2 (en) 2001-12-28 2006-07-25 Hewlett-Packard Development Company, L.P. System and method for managing a moveable media library with library partitions
US6999999B2 (en) * 2001-12-28 2006-02-14 Hewlett-Packard Development Company, L.P. System and method for securing fiber channel drive access in a partitioned data library
US6839824B2 (en) * 2001-12-28 2005-01-04 Hewlett-Packard Development Company, L.P. System and method for partitioning a storage area network associated data library employing element addresses
JP2003202964A (ja) * 2002-01-09 2003-07-18 Hitachi Ltd 計算機システムの制御方法、計算機システム、記憶装置の制御方法及び記憶装置
JP2003316522A (ja) 2002-04-26 2003-11-07 Hitachi Ltd 計算機システムおよび計算機システムの制御方法
JP4704659B2 (ja) 2002-04-26 2011-06-15 株式会社日立製作所 記憶装置システムの制御方法および記憶制御装置
JP3966459B2 (ja) 2002-05-23 2007-08-29 株式会社日立製作所 ストレージ機器管理方法、システム、およびプログラム
JP2004013215A (ja) * 2002-06-03 2004-01-15 Hitachi Ltd ストレージシステム、ストレージサブシステム、および、それらを含む情報処理システム
JP2004110367A (ja) * 2002-09-18 2004-04-08 Hitachi Ltd 記憶装置システムの制御方法、記憶制御装置、および記憶装置システム
JP4318902B2 (ja) * 2002-10-15 2009-08-26 株式会社日立製作所 記憶装置システムの制御方法、記憶装置システム、およびプログラム
US7076687B2 (en) 2002-10-16 2006-07-11 Hitachi, Ltd. System and method for bi-directional failure detection of a site in a clustering system
US7263593B2 (en) * 2002-11-25 2007-08-28 Hitachi, Ltd. Virtualization controller and data transfer control method
JP2004178254A (ja) * 2002-11-27 2004-06-24 Hitachi Ltd 情報処理システム、ストレージシステム、記憶デバイス制御装置、及びプログラム
JP4037257B2 (ja) * 2002-12-26 2008-01-23 株式会社日立製作所 情報処理システムの制御方法、情報処理システム、及びプログラム
JP2004220450A (ja) * 2003-01-16 2004-08-05 Hitachi Ltd ストレージ装置、その導入方法、及びその導入プログラム
JP4411929B2 (ja) 2003-02-28 2010-02-10 株式会社日立製作所 バックアップ方法、システム、及びプログラム
JP4322031B2 (ja) 2003-03-27 2009-08-26 株式会社日立製作所 記憶装置
JP2004302556A (ja) 2003-03-28 2004-10-28 Hitachi Ltd 複数の計算機システム間でのデータ共有方法およびディスク制御装置
JP4267353B2 (ja) 2003-03-28 2009-05-27 株式会社日立製作所 データ移行支援システム、および、データ移行支援方法
JP2004302713A (ja) 2003-03-31 2004-10-28 Hitachi Ltd 記憶システム及びその制御方法
JP2004334574A (ja) 2003-05-08 2004-11-25 Hitachi Ltd ストレージの運用管理プログラム、運用管理方法及び管理計算機
JP2005018193A (ja) 2003-06-24 2005-01-20 Hitachi Ltd ディスク装置のインタフェースコマンド制御方法ならびに計算機システム
JP4537022B2 (ja) * 2003-07-09 2010-09-01 株式会社日立製作所 データ配置に制限を設けるデータ処理方法、記憶領域制御方法、および、データ処理システム。
JP4559046B2 (ja) 2003-08-04 2010-10-06 株式会社日立製作所 仮想テープライブラリ装置
JP2007502470A (ja) 2003-08-14 2007-02-08 コンペレント・テクノロジーズ 仮想ディスク・ドライブのシステムおよび方法
US9489150B2 (en) 2003-08-14 2016-11-08 Dell International L.L.C. System and method for transferring data between different raid data storage types for current data and replay data
JP4386694B2 (ja) 2003-09-16 2009-12-16 株式会社日立製作所 記憶システム及び記憶制御装置
US7219201B2 (en) 2003-09-17 2007-05-15 Hitachi, Ltd. Remote storage disk control device and method for controlling the same
JP4598387B2 (ja) * 2003-09-17 2010-12-15 株式会社日立製作所 記憶システム
JP4307202B2 (ja) 2003-09-29 2009-08-05 株式会社日立製作所 記憶システム及び記憶制御装置
US7152183B2 (en) 2003-11-20 2006-12-19 Hitachi, Ltd. Method and apparatus for volume replication management at planned and unplanned link down
JP4307964B2 (ja) * 2003-11-26 2009-08-05 株式会社日立製作所 アクセス制限情報設定方法および装置
JP4412989B2 (ja) 2003-12-15 2010-02-10 株式会社日立製作所 複数の記憶システムを有するデータ処理システム
JP4282464B2 (ja) 2003-12-17 2009-06-24 株式会社日立製作所 リモートコピーシステム
JP2005202893A (ja) * 2004-01-19 2005-07-28 Hitachi Ltd 記憶デバイス制御装置、ストレージシステム、プログラムを記録した記録媒体、情報処理装置、及びストレージシステムの制御方法
JP4391265B2 (ja) 2004-02-26 2009-12-24 株式会社日立製作所 ストレージサブシステムおよび性能チューニング方法
JP4520755B2 (ja) * 2004-02-26 2010-08-11 株式会社日立製作所 データ移行方法およびデータ移行装置
US7162647B2 (en) * 2004-03-11 2007-01-09 Hitachi, Ltd. Method and apparatus for cryptographic conversion in a data storage system
US7343449B2 (en) * 2004-03-22 2008-03-11 Hitachi, Ltd. Storage subsystem and storage system
JP4790283B2 (ja) * 2005-02-22 2011-10-12 株式会社日立製作所 ストレージサブシステム及びストレージシステム
JP4439960B2 (ja) * 2004-03-22 2010-03-24 株式会社日立製作所 ストレージ装置
JP2005276017A (ja) 2004-03-26 2005-10-06 Hitachi Ltd ストレージシステム
JP2005321913A (ja) * 2004-05-07 2005-11-17 Hitachi Ltd ファイル共有装置を有する計算機システム、および、ファイル共有装置の移行方法
JP4452557B2 (ja) * 2004-05-27 2010-04-21 株式会社日立製作所 Worm保証付きリモートコピー
US7360044B2 (en) * 2004-07-20 2008-04-15 Hewlett-Packard Development Company, L.P. Storage system with primary mirror shadow
JP4575059B2 (ja) * 2004-07-21 2010-11-04 株式会社日立製作所 ストレージ装置
JP4646574B2 (ja) 2004-08-30 2011-03-09 株式会社日立製作所 データ処理システム
JP2006127028A (ja) * 2004-10-27 2006-05-18 Hitachi Ltd 記憶システム及び記憶制御装置
JP2006139477A (ja) * 2004-11-11 2006-06-01 Hitachi Ltd 計算機システム、管理方法及びストレージネットワークシステム
US7574464B2 (en) * 2005-02-14 2009-08-11 Netapp, Inc. System and method for enabling a storage system to support multiple volume formats simultaneously
JP2006293850A (ja) 2005-04-13 2006-10-26 Hitachi Ltd リモートコピーシステムおよびリモートコピー方法
US20060272997A1 (en) * 2005-06-06 2006-12-07 Hsin-Fa Liu Reverse osmosis filtering assembly
US7634627B1 (en) * 2005-08-19 2009-12-15 Symantec Operating Corporation System and method for performing extent level backups that support single file restores
US8190588B1 (en) * 2005-09-19 2012-05-29 Amazon Technologies, Inc. Providing a distributed transaction information storage service
JP4827564B2 (ja) * 2006-03-15 2011-11-30 株式会社日立製作所 コピーペアのペア状態の表示方法
JP4842720B2 (ja) * 2006-06-29 2011-12-21 株式会社日立製作所 ストレージシステム及びデータ複製方法
US8745315B2 (en) * 2006-11-06 2014-06-03 Rambus Inc. Memory Systems and methods supporting volatile and wear-leveled nonvolatile physical memory
US8001327B2 (en) * 2007-01-19 2011-08-16 Hitachi, Ltd. Method and apparatus for managing placement of data in a tiered storage system
EP2201456A4 (de) * 2007-10-08 2012-02-15 Axxana Israel Ltd System für schnelle datenwiederherstellung
US8139595B2 (en) * 2008-01-11 2012-03-20 International Business Machines Corporation Packet transfer in a virtual partitioned environment
US9659073B2 (en) * 2008-06-18 2017-05-23 Oracle International Corporation Techniques to extract and flatten hierarchies
US8380657B2 (en) * 2008-09-19 2013-02-19 Oracle International Corporation Techniques for performing ETL over a WAN
US8448167B2 (en) 2009-02-19 2013-05-21 Hitachi, Ltd. Storage system, and remote copy control method therefor
US8468292B2 (en) * 2009-07-13 2013-06-18 Compellent Technologies Solid state drive data storage system and method
US8849758B1 (en) 2010-12-28 2014-09-30 Amazon Technologies, Inc. Dynamic data set replica management
EP2570925A1 (de) * 2011-09-19 2013-03-20 Thomson Licensing Verfahren zur genauen Reparatur von gescheiterten Speicherknotenpaaren in einem verteilten Datenspeichersystem und zugehörige Vorrichtung
US9229637B2 (en) 2011-11-18 2016-01-05 Hitachi, Ltd. Volume copy management method on thin provisioning pool of storage subsystem
US9146851B2 (en) 2012-03-26 2015-09-29 Compellent Technologies Single-level cell and multi-level cell hybrid solid state drive
WO2013171794A1 (en) * 2012-05-17 2013-11-21 Hitachi, Ltd. Method of data migration and information storage system
WO2014147695A1 (ja) * 2013-03-18 2014-09-25 株式会社日立製作所 計算機システム、ストレージシステムの管理システム及び管理方法
JP6203592B2 (ja) * 2013-10-07 2017-09-27 株式会社日立製作所 計算機システム、キャッシュ管理方法及び計算機
US20190056995A1 (en) * 2014-01-31 2019-02-21 International Business Machines Corporation Managing migration of encoded data slices in a dispersed storage network
JP6185668B2 (ja) * 2014-07-25 2017-08-23 株式会社日立製作所 ストレージ装置
US9773004B2 (en) * 2014-10-24 2017-09-26 Netapp, Inc. Methods for replicating data and enabling instantaneous access to data and devices thereof
US10089307B2 (en) * 2014-12-31 2018-10-02 International Business Machines Corporation Scalable distributed data store
JP2016162261A (ja) * 2015-03-03 2016-09-05 富士通株式会社 情報処理装置、情報処理システム、および制御プログラム
US10223222B2 (en) * 2015-12-21 2019-03-05 International Business Machines Corporation Storage system-based replication for disaster recovery in virtualized environments
JP6915459B2 (ja) 2017-08-30 2021-08-04 富士通株式会社 情報処理装置、情報処理システム及びプログラム
US10852951B1 (en) * 2017-10-18 2020-12-01 EMC IP Holding Company, LLC System and method for improving I/O performance by introducing extent pool level I/O credits and user I/O credits throttling on Mapped RAID
US10852966B1 (en) * 2017-10-18 2020-12-01 EMC IP Holding Company, LLC System and method for creating mapped RAID group during expansion of extent pool
CN108847879B (zh) * 2018-06-14 2021-05-11 上海卫星工程研究所 基于总线控制器的双机故障检测及恢复方法
US11892983B2 (en) 2021-04-29 2024-02-06 EMC IP Holding Company LLC Methods and systems for seamless tiering in a distributed storage system
US11677633B2 (en) 2021-10-27 2023-06-13 EMC IP Holding Company LLC Methods and systems for distributing topology information to client nodes
US20230127387A1 (en) * 2021-10-27 2023-04-27 EMC IP Holding Company LLC Methods and systems for seamlessly provisioning client application nodes in a distributed system
US11922071B2 (en) 2021-10-27 2024-03-05 EMC IP Holding Company LLC Methods and systems for storing data in a distributed system using offload components and a GPU module
US11762682B2 (en) 2021-10-27 2023-09-19 EMC IP Holding Company LLC Methods and systems for storing data in a distributed system using offload components with advanced data services

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5833768A (ja) * 1981-08-21 1983-02-28 Canon Inc 情報処理装置
JPH0547484Y2 (de) 1987-08-20 1993-12-14
JPH0259934A (ja) 1988-08-26 1990-02-28 Nec Corp 二重化装置の他装置間接続切替制御方式
JPH0715413B2 (ja) 1989-01-30 1995-02-22 東京電力株式会社 光ファイバ式分布形温度センサ
JP2969216B2 (ja) 1989-09-06 1999-11-02 リグナイト株式会社 建築用材の製造方法
US5155845A (en) 1990-06-15 1992-10-13 Storage Technology Corporation Data storage system for providing redundant copies of data on different disk drives
US5544347A (en) * 1990-09-24 1996-08-06 Emc Corporation Data storage system controlled remote data mirroring with respectively maintained data indices
US5511177A (en) * 1991-11-21 1996-04-23 Hitachi, Ltd. File data multiplexing method and data processing system
US5263154A (en) * 1992-04-20 1993-11-16 International Business Machines Corporation Method and system for incremental time zero backup copying of data
JPH0667809A (ja) 1992-08-20 1994-03-11 Fuji Xerox Co Ltd 多重化ディスク制御装置
US5555371A (en) * 1992-12-17 1996-09-10 International Business Machines Corporation Data backup copying with delayed directory updating and reduced numbers of DASD accesses at a back up site using a log structured array data storage
KR0128271B1 (ko) * 1994-02-22 1998-04-15 윌리암 티. 엘리스 재해회복을 위한 일관성 그룹 형성방법 및 레코드갱싱의 섀도잉 방법, 주시스템, 원격데이타 섀도잉 시스템과 비동기 원격데이타 복제 시스템
JPH07234811A (ja) 1994-02-25 1995-09-05 Fujitsu Ltd リモートファイル制御方法
JP3209634B2 (ja) 1994-03-28 2001-09-17 株式会社日立製作所 計算機システム
JP3686457B2 (ja) * 1995-08-31 2005-08-24 株式会社日立製作所 ディスクアレイサブシステム
US5680640A (en) 1995-09-01 1997-10-21 Emc Corporation System for migrating data by selecting a first or second transfer means based on the status of a data element map initialized to a predetermined state
US6101497A (en) * 1996-05-31 2000-08-08 Emc Corporation Method and apparatus for independent and simultaneous access to a common data set
JPH09325863A (ja) 1996-06-04 1997-12-16 Hitachi Ltd 外部記憶制御装置間データ転送制御方法
US6351792B1 (en) * 1999-02-02 2002-02-26 Storage Technology Corporation Selective remote storage copy system and methods

Also Published As

Publication number Publication date
EP0981091A3 (de) 2006-10-25
DE69938378D1 (de) 2008-04-30
EP0981091A2 (de) 2000-02-23
EP0981091B1 (de) 2008-03-19
US6681303B1 (en) 2004-01-20
US20040107315A1 (en) 2004-06-03
US7162598B2 (en) 2007-01-09

Similar Documents

Publication Publication Date Title
DE69938378T2 (de) Kopieren von Daten in Speichersystemen
DE602005000926T2 (de) Speichersystem und Speicherauszugs-Erstellungsverfahren eines Speichersystems
DE60038364T2 (de) Computersystem und Speicherauszugsdatenverwaltungsverfahren
DE112011100534B4 (de) Mehrstufiger Sicherungsprozess
DE602005002024T2 (de) Fernkopiersystem und Fernkopierverfahren
DE602005001041T2 (de) Speicherauszugssystem
DE69831944T2 (de) Vorrichtung und verfahren zur sicherung eines plattenspeichersystem
DE69631106T2 (de) On-line-Rekonfiguration einer Speicherplattenanordnung
DE69636330T2 (de) Verfahren für On-line- und Echzeit-Datenmigration
DE602004006084T2 (de) Fernkopiersystem mit garantierter Konsistenz eines Daten-Paares
DE60031064T2 (de) Kopierverfahren zwischen logischen Speicherplatten, Speicherplattensystem und Programm dafür
DE69533764T2 (de) Verfahren zum Gebrauch von Speicherplatten unterschiedlicher Inhalte in einem Einzelvolumen einer hierarchischen Speicherplattenanordnung
DE112011100112B4 (de) Pufferspeicher-platte in blitzkopie-kaskade
DE602004011181T2 (de) Speicherplattenanordnungsgerät
DE60317383T2 (de) Datenwiederherstellungsvorrichtung unter Verwendung von Journaldaten und Identifikationsinformation
DE69632219T2 (de) Speicherplattenanordnungssystem
DE69724834T2 (de) System für hochverfügbare datenspeicherung mit allgemein-adressiertem speicher
DE102013210642B4 (de) Vorrichtung zum Wiederherstellen von Redundanz
DE602005000972T2 (de) Speichersystem und Datenverarbeitungssystem
DE112010004947B4 (de) Wiederherstellung einer vollständigen Systemsicherung und inkrementeller Sicherungen unter Verwendung von mehreren gleichzeitigen Datenströmen von Einheiten
DE60318687T2 (de) Herstellen einer gespiegelten kopie unter verwendung inkrementeller divergenz
DE102004064069B4 (de) Plattenarrayvorrichtung
DE112014006605B4 (de) Speichersystem
DE102009031923A1 (de) Verfahren zum Verwalten von Datenobjekten
DE112014006156B4 (de) Speichersystem und Datenmigrationsverfahren

Legal Events

Date Code Title Description
8364 No opposition during term of opposition