DE602005000972T2 - Speichersystem und Datenverarbeitungssystem - Google Patents

Speichersystem und Datenverarbeitungssystem Download PDF

Info

Publication number
DE602005000972T2
DE602005000972T2 DE602005000972T DE602005000972T DE602005000972T2 DE 602005000972 T2 DE602005000972 T2 DE 602005000972T2 DE 602005000972 T DE602005000972 T DE 602005000972T DE 602005000972 T DE602005000972 T DE 602005000972T DE 602005000972 T2 DE602005000972 T2 DE 602005000972T2
Authority
DE
Germany
Prior art keywords
data
journal
storage system
storage
area
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.)
Active
Application number
DE602005000972T
Other languages
English (en)
Other versions
DE602005000972D1 (de
Inventor
Yusuke Chiyoda-ku Hirakawa
Yoshihiro Chiyoda-ku Asaka
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
Publication of DE602005000972D1 publication Critical patent/DE602005000972D1/de
Application granted granted Critical
Publication of DE602005000972T2 publication Critical patent/DE602005000972T2/de
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/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
    • 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/2071Error 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 using a plurality of controllers
    • G06F11/2074Asynchronous techniques
    • 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/2069Management of state, configuration or failover
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F2003/0697Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers device management, e.g. handlers, drivers, I/O schedulers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/855Details of asynchronous mirroring using a journal to transfer not-yet-mirrored changes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems

Description

  • Diese Anwendung bezieht sich auf die am 4. August 2004 eingereichte japanische Patentanmeldung 2004-228203 und leitet die Priorität von dieser ab.
  • Die vorliegende Erfindung betrifft eine Datenspeicherungs-Verarbeitungstechnologie, beispielsweise das Kopieren von Daten zwischen mehreren Speichersystemen.
  • In den letzten Jahren ist, um Kunden ständig einen kontinuierlichen Dienst bereitzustellen, eine Technologie zum Kopieren von Daten zwischen Speichersystemen sehr wichtig geworden, so dass ein Datenverarbeitungssystem selbst dann noch Dienste bereitstellen kann, falls ein Problem in einem ersten Speichersystem aufgetreten ist. Ein Beispiel einer Technologie zum Kopieren der im ersten Speichersystem gespeicherten Informationen in ein zweites und ein drittes Speichersystem ist dasjenige, das in dem folgenden Patentdokument offenbart ist.
  • In US-A-5 170 480 ist eine Technologie offenbart, durch die eine mit einem ersten Speichersystem verbundene erste Computervorrichtung die im ersten Speichersystem gespeicherten Daten über eine Kommunikationsverbindung zwischen der ersten Computervorrichtung und einer zweiten Computervorrichtung zu der zweiten Computervorrichtung überträgt und die zweite Computervorrichtung diese Daten zu einem zweiten Speichersystem überträgt, das mit der zweiten Computervorrichtung verbunden ist.
  • Die in US-A-5 170 480 offenbarte Technologie verwendet stets eine erste Computervorrichtung und eine zweite Computervorrichtung, um Daten zu kopieren. Die erste Computervorrichtung führt normale Aufgaben aus, und die durch die Datenkopierverarbeitung an der ersten Computervorrichtung erzeugte Belastung ist nicht unerheblich. Weil überdies eine Kommunikationsverbindung zwischen der ersten Computervorrichtung und dem ersten Speichersystem für die Übertragung der Daten verwendet wird, ergibt sich das Problem, dass die Daten für die Kopie einen Konflikt mit der für normale Aufgaben benötigten Datenübertragung hervorrufen können, wodurch bewirkt wird; dass die Datenbezugszeit und die Datenaktualisierungszeit, die für normale Aufgaben benötigt werden, zunehmen.
  • Überdies erscheint es auch als wünschenswert, die Funktionsweise des Kopierens von Daten aus dem ersten Speichersystem in das zweite Speichersystem (beispielsweise durch Verkürzen der zum Kopieren der Daten benötigten Zeitdauer) zu verbessern.
  • Falls weiterhin ein bestimmtes Ereignis auftritt (beispielsweise falls der freie Speicherplatz am Ziel für die kopierten Daten ausgeht), kann der Prozess zum Kopieren der Daten von dem ersten Speichersystem in das zweite Speichersystem unterbrochen werden, es erscheint jedoch als wünschenswert, den Zeitraum von der Zeit, zu der der Datenkopierprozess unterbrochen wird, bis zu der Zeit, zu der er wieder beginnt, zu verkürzen.
  • In US 6 226 651 B1 ist eine integrierte DBMS-Lösung für das Wiedergewinnen einer Datenbank einer ersten Stelle auf der Grundlage der Wartung einer Schattenkopie der Daten der Datenbank der ersten Stelle und auf der Grundlage von Protokollen an einer fernen Stelle offenbart. Sowohl das DBMS der ersten Stelle als auch das DBMS der fernen Stelle können ein Vorausschreibprotokoll, bei dem Protokolldatensätze in eine Protokolldatenreihe geschrieben werden, bevor Datenbankaktualisierungen in den Speicher der fernen Stelle eingegeben werden, unterstützen. Die ferne Stelle dient mindestens zwei Funktionen, nämlich als ein "Verfolgungs"-DBMS und als ein "Übernahme"-DBMS. Die Verfolgungsfunktion unterhält eine Schattenkopie der Datenreihen der Datenbank der ersten Stelle an der fernen Stelle. Die mehrphasige Übernahmefunktion verwendet die Schattenkopien zum Aktualisieren der Datenreihen der Datenbank der fernen Stelle und ersetzt sie durch Datenreihen der Datenbank der ersten Stelle, die durch eine nicht eingeplante Katastrophe an der ersten Stelle nicht verfügbar wurden.
  • In EP 1 400 899 A ist ein Verfahren zum Speichern von Daten in einem fehlertoleranten Speicheruntersystem mit einem Array fehlerunabhängiger Datenspeichereinheiten durch Unterteilen des Speicherbereichs an den Speichereinheiten in einen logischen Spiegelbereich und einen logischen Streifenbereich offenbart, so dass, wenn Daten in dem Spiegelbereich gespeichert werden, die Daten dupliziert werden, indem eine Duplikatkopie der Daten an einem Paar von Speichereinheiten unterhalten wird, und, wenn Daten an dem Streifenbereich gespeichert werden, Daten als Streifen von Blöcken gespeichert werden, welche Datenblöcke und zugeordnete Fehlerkorrekturblöcke einschließen.
  • Die vorliegende Erfindung löst vorzugsweise eine oder mehrere der folgenden Aufgaben. Eine Aufgabe der vorliegenden Erfindung besteht darin, eine Datenübertragung bei einer Datenkopie zwischen mehreren Speichersystemen auszuführen, ohne die Computervorrichtung der höchsten Ebene des Speichersystems zu beeinträchtigen. Eine weitere Aufgabe der vorliegenden Erfindung besteht darin, das Beeinträchtigen von Kommunikationen zwischen dem Speichersystem und der Computervorrichtung zu vermeiden.
  • Eine weitere Aufgabe der vorliegenden Erfindung besteht darin, die Funktionsweise der Datenkopie von einem ersten Speichersystem zu einem zweiten Speichersystem zu verbessern.
  • Eine weitere Aufgabe der vorliegenden Erfindung besteht darin, den Zeitraum von der Unterbrechung einer Datenkopie von einem ersten Speichersystem in ein zweites Speichersystem bis zur Wiederaufnahme der Datenkopie zu verkürzen.
  • Andere Aufgaben der vorliegenden Erfindung werden anhand der folgenden Beschreibung verständlich werden.
  • Das Speichersystem gemäß einem ersten Aspekt der vorliegenden Erfindung ist ein Speichersystem nach Anspruch 1.
  • Das erste Speichersystem und das zweite Speichersystem können jeweils eine eigentliche Speichervorrichtung sein, oder sie können Systeme sein, die mehrere Speichervorrichtungen aufweisen. Im letztgenannten Fall sind beispielsweise der erste Speicherbereich und der zweite Speicherbereich jeweils logische Datenträger, und sie können in getrennten Speichervorrichtungen bereitgestellte Speicherbereiche sein.
  • Gemäß dem ersten Modus zum Implementieren der vorliegenden Erfindung ist jeder der mehreren Speicherbereiche in einen Aktualisierungsinformations-Unterbereich zum Speichern der Aktualisierungsinformationen der Datenreihe und einen Daten-Unterbereich zum Speichern der Daten der Datenreihe unterteilt. In diesem Fall speichert der Steuerabschnitt die ersten Daten in dem Daten-Unterbereich des ersten Speicherbereichs und die zweiten Daten in dem Daten-Unterbereich des zweiten Speicherbereichs.
  • Gemäß einem zweiten Modus zum Implementieren der vorliegenden Erfindung sind in dem ersten Implementationsmodus die in der zweiten Datenreihe enthaltenen zweiten Daten Daten, die anschließend an die in der ersten Datenreihe enthaltenen ersten Daten gespeichert werden.
  • Gemäß einem dritten Modus zum Implementieren der vorliegenden Erfindung erzeugt das zweite Speichersystem einen Datenreihen-Lesebefehl zum Auslesen der Datenreihe und sendet den so erzeugten Datenreihen-Lesebefehl und einen Bereichsidentifizierungscode zum Identifizieren von jedem der mehreren Speicherbereiche zu dem ersten Speichersystem. Der Steuerabschnitt empfängt den Datenreihen-Lesebefehl und den Bereichsidentifizierungscode von dem zweiten Speichersystem, liest Aktualisierungsinformationen von den mehreren Speicherbereichen in Reaktion auf den Datenreihen-Lesebefehl aus, liest ferner den Aktualisierungsinformationen entsprechende Daten aus dem Speicherbereich der mehreren Speicherbereiche aus, der dem empfangenen Bereichsidentifizierungscode entspricht, und sendet die aus den Aktualisierungsinformationen und den so ausgelesenen Daten zusammengesetzte Datenreihe zu dem zweiten Speichersystem.
  • Gemäß einem vierten Modus zum Implementieren der vorliegenden Erfindung weist das erste Speichersystem weiter auf: eine Datenträgerreihe, die aus einem oder mehreren logischen Datenträgern zum Speichern der Datenreihen gebildet ist. Die Datenträgerreihe ist in mehrere Unter-Datenträgerbereiche unterteilt. Jeder der mehreren Speicherbereiche stellt einen Unter-Datenträgerbereich dar. Jeder der mehreren Unter-Datenträgerbereiche erstreckt sich über einen oder mehrere logische Datenträger.
  • Gemäß einem fünften Modus zum Implementieren der vorliegenden Erfindung ist in dem vierten Implementationsmodus jeder der einen oder mehreren logischen Datenträger in einen Aktualisierungsinformationsbereich zum Speichern der Aktualisierungsinformationen der Datenreihen und einen Datenbereich zum Speichern der Daten der Datenreihen unterteilt. Wenigstens der Datenbereich des Aktualisierungsinformationsbereichs und der Datenbereich sind in mehrere Unter-Datenbereiche unterteilt. Falls es einen logischen Datenträger gibt, stellt jeder der mehreren Unter-Datenträgerbereiche einen Unter-Datenbereich dar, während, wenn es mehrere logische Datenträger gibt, jeder der mehreren Unter-Datenträgerbereiche eine Unter-Datenbereichsgruppe darstellt, die durch eine Gruppe von mehreren Unter-Datenbereichen gebildet ist, die jeweils in den mehreren logischen Datenträgern vorgesehen sind.
  • Gemäß einem sechsten Modus zum Implementieren der vorliegenden Erfindung ändert der Steuerabschnitt im fünften Implementationsmodus das Speicherziel für die in der Datenreihe enthaltenen Daten für jeden Unter-Datenträgerbereich.
  • Gemäß einem siebten Modus zum Implementieren der vorliegenden Erfindung ist im vierten Implementationsmodus die Anzahl der Unter-Datenträgerbereiche größer oder gleich der Anzahl der logischen Datenträger.
  • Gemäß einem achten Modus zum Implementieren der vorliegenden Erfindung erzeugt das zweite Speichersystem einen Datenreihen-Lesebefehl zum Auslesen der Datenreihe und sendet diesen zu dem ersten Speichersystem. Der Steuerabschnitt empfängt den Datenreihen-Lesebefehl von dem zweiten Speichersystem, liest mehrere Datenreihen in Reaktion auf den Datenreihen-Lesebefehl aus dem Datenreihen-Speicherbereich aus und sendet sie zum zweiten Speichersystem.
  • Gemäß einem neunten Modus zum Implementieren der vorliegenden Erfindung liest der Steuerabschnitt im achten Implementationsmodus mehrere Daten aus aufeinander folgenden Bereichen des Datenreihen-Speicherbereichs, liest mehrere Aktualisierungsdaten, die jeweils den mehreren Daten entsprechen, aus dem Datenreihen-Speicherbereich, erzeugt die mehreren Datenreihen mit den mehreren Daten und den mehreren so ausgelesenen Aktualisierungsdaten und sendet sie zum zweiten Speichersystem.
  • Gemäß einem zehnten Modus zum Implementieren der vorliegenden Erfindung weist das erste Speichersystem weiter einen Cache-Speicher zum Zwischenspeichern von Datenreihen auf, die zwischen dem zweiten Speichersystem und dem Datenreihen-Speicherbereich ausgetauscht werden. Das zweite Speichersystem erzeugt einen Datenreihen-Lesebefehl zum Auslesen der Datenreihe und sendet diesen zum ersten Speichersystem. In diesem Fall empfängt der Steuerabschnitt den Datenreihen-Lesebefehl von dem zweiten Speichersystem, liest in Reaktion auf den Datenreihen-Lesebefehl eine Datenreihe aus dem Datenreihen-Speicherbereich in den Cache-Speicher, sendet die in den Cache-Speicher ausgelesene Datenreihe zum zweiten Speichersystem, liest eine Datenreihe aus dem Datenreihen-Speicherbereich in den Cache-Speicher, bevor der nächste Datenreihen-Lesebefehl empfangen wird, und sendet die in dem Cache-Speicher gespeicherte Datenreihe zu dem zweiten Speichersystem, wenn der nächste Datenreihen-Lesebefehl empfangen wird.
  • Gemäß einem elften Modus zum Implementieren der vorliegenden Erfindung weist das zweite Speichersystem einen zweiten logischen Datenträger auf. Der erste logische Datenträger zum Speichern von Daten ist mit mehreren Unterbereichen versehen, und das erste Speichersystem weist ferner einen Differenzinformations-Speicherbereich zum Speichern der sich auf den ersten logischen Datenträger beziehenden Differenzinformationen auf. Die Differenzinformationen weisen einen Einstellwert auf, der angibt, ob es einen Unterschied zwischen dem ersten logischen Datenträger und dem zweiten logischen Datenträger bezüglich der in jedem der mehreren Unterbereiche in dem ersten logischen Datenträger gespeicherten Daten gibt. Der Steuerabschnitt nimmt auf die Differenzinformationen Bezug und erzeugt die Datenreihe für bestimmte Daten nicht, falls der zu den bestimmten Daten gehörende Einstellwert angibt, dass kein Unterschied besteht.
  • Das Datenverarbeitungssystem gemäß einem zweiten Aspekt der vorliegenden Erfindung ist in Anspruch 13 dargelegt.
  • Das Datenverarbeitungsverfahren gemäß einem dritten Aspekt der vorliegenden Erfindung ist in Anspruch 14 dargelegt.
  • Kurzbeschreibung der Zeichnung
  • 1 ist ein Blockdiagramm, das die logische Zusammensetzung gemäß einem Modus zum Implementieren der vorliegenden Erfindung zeigt,
  • 2 ist ein Blockdiagramm des Speichersystems gemäß einem Modus zum Implementieren der vorliegenden Erfindung,
  • 3 ist ein Diagramm, das die Beziehung zwischen Aktualisierungsinformationen und Schreibdaten gemäß einem Modus zum Implementieren der vorliegenden Erfindung zeigt,
  • 4 ist ein Diagramm, das ein Beispiel von Datenträgerinformationen gemäß einem Modus zum Implementieren der vorliegenden Erfindung zeigt,
  • 5 ist ein Diagramm, das ein Beispiel von Paarinformationen gemäß einem Modus zum Implementieren der vorliegenden Erfindung zeigt,
  • 6 ist ein Diagramm, das ein Beispiel von Gruppeninformationen gemäß einem Modus zum Implementieren der vorliegenden Erfindung zeigt,
  • 7 ist ein Diagramm, das ein Beispiel von Zeigerinformationen gemäß einem Modus zum Implementieren der vorliegenden Erfindung zeigt,
  • 8 ist ein Diagramm, das den Aufbau eines logischen Journal-Datenträgers gemäß einem Modus zum Implementieren der vorliegenden Erfindung zeigt,
  • 9 ist ein Flussdiagramm, das eine Prozedur zum Einleiten einer Kopie von Daten gemäß einem Modus zum Implementieren der vorliegenden Erfindung zeigt,
  • 10 ist ein Flussdiagramm zum Beschreiben eines anfänglichen Kopierprozesses gemäß einem Modus zum Implementieren der vorliegenden Erfindung,
  • 11 ist ein Diagramm zum Beschreiben eines Befehlsempfangsprozesses gemäß einem Modus zum Implementieren der vorliegenden Erfindung,
  • 12 ist ein Flussdiagramm eines Befehlsempfangsprozesses gemäß einem Modus zum Implementieren der vorliegenden Erfindung,
  • 13 ist ein Flussdiagramm eines Journal-Erzeugungsprozesses gemäß einem Modus zum Implementieren der vorliegenden Erfindung,
  • 14 ist ein Diagramm zum Beschreiben eines Journal-Lese-Empfangsprozesses gemäß einem Modus zum Implementieren der vorliegenden Erfindung,
  • 15 ist ein Flussdiagramm eines Journal-Lese-Empfangsprozesses gemäß einem Modus zum Implementieren der vorliegenden Erfindung,
  • 16 ist ein Diagramm zum Beschreiben eines Journal-Lese-Befehlsprozesses gemäß einem Modus zum Implementieren der vorliegenden Erfindung,
  • 17 ist ein Flussdiagramm eines Journal-Lese-Befehlsprozesses gemäß einem Modus zum Implementieren der vorliegenden Erfindung,
  • 18 ist ein Flussdiagramm eines Journal-Speicherprozesses gemäß einem Modus zum Implementieren der vorliegenden Erfindung,
  • 19 ist ein Diagramm zum Beschreiben eines Umspeicherprozesses gemäß einem Modus zum Implementieren der vorliegenden Erfindung,
  • 20 ist ein Flussdiagramm eines Umspeicherprozesses gemäß einem Modus zum Implementieren der vorliegenden Erfindung,
  • 21 ist ein Diagramm, das ein Beispiel von Aktualisierungsinformationen gemäß einem Modus zum Implementieren der vorliegenden Erfindung zeigt,
  • 22 ist ein Diagramm, das ein Beispiel von Aktualisierungsinformationen in einem Journal-Erzeugungsprozess gemäß einem Modus zum Implementieren der vorliegenden Erfindung zeigt,
  • 23 zeigt einen Überblick eines Zusammensetzungsbeispiels eines Datenverarbeitungssystems in Bezug auf eine erste Ausführungsform eines Modus zum Implementieren der vorliegenden Erfindung,
  • 24 zeigt ein Beispiel der Zusammensetzung der Zeigerinformationen 700A gemäß der ersten Ausführungsform eines Modus zum Implementieren der vorliegenden Erfindung,
  • 25 zeigt die Zusammensetzung der in 24 dargestellten Zeigerinformationen 700A, worin die Zusammensetzung dieser Informationen in mehreren logischen Journal-Datenträgern #1A, #2A, #3A dargestellt ist,
  • 26 zeigt ein Beispiel der Zusammensetzung der Zeigerinformationen 700A bei einer ersten Modifikation gemäß der ersten Ausführungsform eines Modus zum Implementieren der vorliegenden Erfindung,
  • 27 zeigt ein Beispiel der Zusammensetzung mehrerer logischer Journal-Datenträger #1A, #2A, #3A gemäß einer zweiten Ausführungsform eines Modus zum Implementieren der vorliegenden Erfindung,
  • 28 zeigt ein Beispiel der Zusammensetzung von Gebietsinformationen zum Verwalten mehrerer Gebiete gemäß einer zweiten Ausführungsform eines Modus zum Implementieren der vorliegenden Erfindung,
  • 29 zeigt ein Beispiel der Zusammensetzung von Zeigerinformationen 700A entsprechend 27 und 28,
  • 30 zeigt einen Abschnitt eines anfänglichen Kopierprozesses gemäß einer dritten Ausführungsform eines Modus zum Implementieren der vorliegenden Erfindung,
  • 31A zeigt eine erste GUI-Bildschirmdarstellung,
  • 31B zeigt eine zweite GUI-Bildschirmdarstellung,
  • 32A zeigt eine dritte GUI-Bildschirmdarstellung,
  • 32B zeigt eine vierte GUI-Bildschirmdarstellung,
  • 33A zeigt eine fünfte GUI-Bildschirmdarstellung und
  • 33B zeigt eine sechste GUI-Bildschirmdarstellung.
  • Detaillierte Beschreibung der bevorzugten Ausführungsform Nachstehend werden ein Modus zum Implementieren der vorliegenden Erfindung und mehrere Ausführungsformen, die auf diesem Implementationsmodus beruhen, mit Bezug auf die Zeichnung beschrieben. Zuerst werden die Grundmerkmale der Datenverarbeitung unter Verwendung von Journalen mit Bezug auf die 1 bis 22 als ein Modus zum Implementieren der vorliegenden Erfindung beschrieben. Danach werden Anwendungen dieser Datenverarbeitung mit Bezug auf 23 und folgende als Ausführungsformen, die auf diesem Implementationsmodus beruhen, beschrieben.
  • 1 ist ein Blockdiagramm, das einen Überblick über die logische Zusammensetzung eines Datenverarbeitungssystems in Bezug auf einen Modus zum Implementieren der vorliegenden Erfindung zeigt.
  • Das Datenverarbeitungssystem 1 wird durch Verbinden eines Host-Computers 180 und eines Speichersystems 100A durch einen Verbindungsweg 190 und durch Verbinden des Speichersystems 100A und eines Speichersystems 100B zum Halten einer Kopie der im Speichersystem 100A gespeicherten Daten durch einen Verbindungsweg 200 gebildet. In der folgenden Beschreibung wird, um in einfacher Weise zwischen dem die zu kopierenden Daten (mit anderen Worten die ursprünglichen Daten) enthaltenden Speichersystem 100A und dem die kopierten Daten enthaltenden Speichersystem 100B unterscheiden zu können, das die zu kopierenden Daten enthaltende Speichersystem 100A als das "erste Speichersystem 100A" bezeichnet und das die kopierten Daten enthaltende Speichersystem 100B als das "zweite Speichersystem 100B" bezeichnet. Überdies kann der Begriff "Speichersystem 100" einfach verwendet werden, um entweder 100A oder 100B zu bezeichnen. Überdies wird der Speicherbereich eines Speichersystems 100 verwaltet, indem er in getrennte Bereiche unterteilt wird, und diese unterteilten Speicherbereiche werden als "logische Datenträger" bezeichnet.
  • Ein Speichersystem 100 weist mehrere logische Datenträger 230 auf. Die Kapazität der logischen Datenträger 230 und ihre physikalischen Speicherpositionen (physikalischen Adressen) in dem Speichersystem 100 können durch ein Wartungsendgerät in der Art eines mit dem Speichersystem 100 verbundenen Computers oder durch den Host-Computer 180 bestimmt werden. Die physikalische Adresse jedes logischen Datenträgers 230 ist in Datenträgerinformationen 400 gespeichert (siehe 4), welche nachstehend beschrieben werden. Die physikalische Adresse umfasst beispielsweise eine Nummer (Speichervorrichtungsnummer), welche eine Speichervorrichtung innerhalb des Speichersystems 100 (beispielsweise ein Festplattenlaufwerk) identifiziert, und einen Zahlenwert, der einen Speicherbereich in dieser Speichervorrichtung eindeutig identifiziert, beispielsweise eine Position von der Kopfposition des Speicherbereichs der Speichervorrichtung. In der folgenden Beschreibung wird die physikalische Adresse als eine Reihe angenommen, die eine Speichervorrichtungsnummer und eine Position vom Kopf des Speicherbereichs der Speichervorrichtung aufweist. Überdies ist in der folgenden Beschreibung der logische Datenträger 230 ein Speicherbereich in einer Speichervorrichtung, es ist jedoch auch möglich, dafür zu sorgen, dass ein logischer Datenträger Speicherbereichen in mehreren Speichervorrichtungen entspricht, indem die logische Adresse und die physikalische Adresse konvertiert werden (mit anderen Worten durch Zuordnen).
  • Wenn auf in einem Speichersystem 100 gespeicherte Daten Bezug genommen wird oder sie aktualisiert werden, können die den logischen Datenträger 230 identifizierende Nummer (eine logische Datenträgernummer) und der den Speicherbereich eindeutig identifizierende Zahlenwert, beispielsweise die Position vom Kopf des Speicherbereichs des logischen Datenträgers 230, universell spezifiziert werden, und es wird nachstehend eine Reihe, die eine logische Datenträgernummer und eine Position vom Kopf des Speicherbereichs eines logischen Datenträgers 230 enthält (die Position an der logischen Adresse) als "logische Adresse" bezeichnet.
  • In der folgenden Beschreibung wird zum leichten Unterscheiden zwischen den zu kopierenden Daten und den kopierten Daten ein zu kopierende Daten speichernder logischer Datenträger als ein "erster logischer Datenträger" bezeichnet und ein kopierte Daten speichernder logischer Datenträger als ein "zweiter logischer Datenträger" bezeichnet. Überdies wird ein Paar, das einen ersten logischen Datenträger und einen zweiten logischen Datenträger aufweist, als ein "Paar" bezeichnet. Die Beziehungen, Zustände und dergleichen der ersten logischen Datenträger und der zweiten logischen Datenträger sind in nachstehend beschriebenen Weginformationen 500 (siehe 5) enthalten.
  • Zum Aufrechterhalten der Aktualisierungssequenz der Daten zwischen den jeweiligen logischen Datenträgern 230 sind als Gruppen bekannte Verwaltungseinheiten bereitgestellt. Beispielsweise aktualisiert der Host-Computer 180 erste Daten in dem ersten logischen Datenträger (DATA1) 230 und liest dann diese ersten Daten aus und führt eine Verarbeitung zum Aktualisieren zweiter Daten in dem ersten logischen Datenträger (DATA2) 230 unter Verwendung des Zahlenwerts der ersten Daten aus. Falls die Kopierverarbeitung zum Kopieren von Daten von dem ersten logischen Datenträger (DATA1) 230 zu dem zweiten logischen Datenträger (COPY1) 230 unabhängig von der Kopierverarbeitung zum Kopieren von Daten von dem ersten logischen Datenträger (DATA2) 230 zu dem zweiten logischen Datenträger (COPY2) 230 ausgeführt wird, kann die Kopierverarbeitung zum Kopieren der zweiten Daten zum zweiten logischen Datenträger (COPY2) 230 vor der Kopierverarbeitung zum Kopieren der ersten Daten zum zweiten logischen Datenträger (COPY1) 230 ausgeführt werden. Falls die Kopierverarbeitung zum Kopieren der ersten Daten zum zweiten logischen Datenträger (COPY1) 230 infolge eines Fehlers oder dergleichen zwischen der Kopierverarbeitung zum Kopieren der zweiten Daten zum zweiten logischen Datenträger (COPY2) 230 und der Kopierverarbeitung zum Kopieren der ersten Daten zum zweiten logischen Datenträger (COPY1) 230 unterbrochen wird, werden die Daten im zweiten logischen Datenträger (COPY1) 230 und die Daten im zweiten logischen Datenträger (COPY2) 230 zueinander inkonsistent. Um die Konsistenz zwischen den Daten im zweiten logischen Datenträger (COPY1) 230 und im zweiten logischen Datenträger (COPY2) 230 selbst in Fällen dieser Art aufrechtzuerhalten, werden die logischen Datenträger 230, welche die Datenaktualisierungssequenz bewahren müssen, in der gleichen Gruppe registriert, und es wird jedes Mal dann, wenn die Daten aktualisiert werden, eine Aktualisierungsnummer in den nachstehend beschriebenen Gruppeninformationen 600 (siehe 6) zugewiesen, und die Daten werden in der Reihenfolge der Aktualisierungsnummern in den zweiten logischen Datenträger kopiert. Beispielsweise bilden in 1 der logische Datenträger (DATA1) 230 und der logische Datenträger (DATA2) 230 des ersten Speichersystems 100A eine Gruppe 1. Der logische Datenträger (COPY1) 230, der eine Kopie des logischen Datenträgers (DATA1) 230 ist, und der logische Datenträger (COPY2) 230, der eine Kopie des logischen Datenträgers (DATA2) 230 ist, bilden die Gruppe 1 im zweiten Speichersystem 100B.
  • Um die Daten im zweiten logischen Datenträger zu aktualisieren, wenn die Daten im ersten logischen Datenträger aktualisiert werden, erzeugt das erste Speichersystem 100A ein Journal (nachstehend beschrieben), welches es in einem logischen Datenträger 230 im ersten Speichersystem 100A speichert. Im vorliegenden Implementationsmodus ist in jeder Gruppe ein logischer Datenträger zum Speichern nur des Journals für diese Gruppe (nachstehend als "logischer Journal-Datenträger" bezeichnet) 230 bereitgestellt. In 1 wird der logische Journal-Datenträger (JNL1) 230 der Gruppe 1 im ersten Speichersystem 100A zugeordnet und der logische Journal-Datenträger (JNL2) 230 der Gruppe 1 im zweiten Speichersystem 100B zugeordnet.
  • Der logische Journal-Datenträger (JNL2) 230 speichert ein vom ersten Speichersystem 100A zum zweiten Speichersystem 100B übertragenes Journal. Durch Speichern des Journals im logischen Journal-Datenträger (JNL2) 230 ist es beispielsweise, wenn die Last am zweiten Speichersystem 100B hoch ist, möglich, die Daten im zweiten logischen Datenträger 100B zu aktualisieren, nachdem eine Zeit verstrichen ist und die Last am zweiten Speichersystem 100B abgenommen hat, statt die Daten im zweiten logischen Datenträger 100B zu aktualisieren, wenn das Journal empfangen wird. Falls es mehrere Verbindungswege 200 gibt, werden weiterhin mehrere Journale überlagernd vom ersten Speichersystem 100A zum zweiten Speichersystem 100B übertragen, so dass die Übertragungskapazität der Verbindungswege 200 wirksam verwendet werden kann. Um die Aktualisierungssequenz zu bewahren, ist es möglich, dass sich eine große Anzahl von Journalen in dem zweiten Speichersystem 100B akkumulieren kann, der Cache-Speicher (nachstehend beschrieben) kann jedoch durch Entnehmen aller Journale, die nicht sofort zum Aktualisieren der Daten im zweiten logischen Datenträger verwendet werden können, zum logischen Journal-Datenträger (JNL2) 230 freigegeben werden.
  • Ein Journal enthält die gleichen Schreibdaten wie jene, die in anderen logischen Datenträgern als dem logischen Journal-Datenträger (beispielsweise dem ersten logischen Datenträger oder dem zweiten logischen Datenträger) gespeichert sind, und Aktualisierungsinformationen. "Schreibdaten" bedeuten zu schreibende Daten, die zusammen mit einem Schreibbefehl vom Host-Computer 180 übertragen werden. "Aktualisierungsinformationen" sind Informationen zum Verwalten dieser Schreibdaten, und sie umfassen beispielsweise, wie in 21 dargestellt ist, die Zeit, zu der der Schreibbefehl empfangen wurde, die Gruppennummer, die Aktualisierungsdaten der Gruppeninformationen 600 (nachstehend beschrieben), die logische Adresse des Schreibbefehls, die Datengröße der Schreibdaten und die logische Adresse des die Schreibdaten speichernden logischen Journal-Datenträgers und dergleichen. Die Aktualisierungsinformationen können auch nur eine von der Zeit, zu der der Schreibbefehl empfangen wurde, oder der Aktualisierungsnummer speichern. Falls es eine Schreibbefehl-Erzeugungszeit in einem Schreibbefehl vom Host-Computer 180 gibt, kann die Erzeugungszeit in diesem Schreibbefehl an Stelle der Zeit, zu der der Schreibbefehl empfangen wurde, gespeichert werden.
  • Ein Beispiel der Aktualisierungsinformationen in einem Journal wird nun mit Bezug auf 3 und 21 beschrieben. Nachstehend wird die Position vom Kopf eines Speicherbereichs des logischen Datenträgers 230 (mit anderen Worten eine Position in Bezug auf die Kopfposition) der Einfachheit halber als "Adresse" bezeichnet.
  • Anhand der in 21 dargestellten Aktualisierungsinformationen 310 ist ersichtlich, dass ein Schreibbefehl um 22:22:10 (Stunden:Minuten:Sekunden) am 17. März 1999 empfangen wurde. Überdies kann entnommen werden, dass dieser Schreibbefehl ein Befehl ist, der angibt, dass die Schreibdaten beginnend mit der Adresse 700 des logischen Daten trägers 230 mit der logischen Datenträgernummer "1" zu schreiben sind und dass die Datengröße der Schreibdaten 300 ist. Überdies ist auch ersichtlich, dass die in dem Journal enthaltenen Schreibdaten beginnend mit der Adresse 1500 in dem logischen Journal-Datenträger 230 mit einer logischen Datenträgernummer "4" zu schreiben sind. Überdies kann auch entnommen werden, dass der logische Datenträger 230 mit einer logischen Datenträgernummer "1" zur Gruppe 1 gehört und dass diese Aktualisierung die vierte Datenaktualisierung seit Beginn der Datenkopie für die Gruppe 1 ist.
  • Wie beispielsweise in 3 dargestellt ist, wird der logische Journal-Datenträger verwendet, indem er in einen Speicherbereich zum Speichern von Aktualisierungsinformationen (einen Aktualisierungsinformationsbereich) und einen Speicherbereich zum Speichern von Schreibdaten (einen Schreibdatenbereich) unterteilt wird (es sei bemerkt, dass das Symbol "#4" angibt, dass die logische Datenträgernummer "4" ist). Die Aktualisierungsinformationen werden in der Aktualisierungsnummernreihenfolge, beginnend am Kopf des Aktualisierungsinformationsbereichs, im Aktualisierungsinformationsbereich gespeichert, und wenn das Ende des Aktualisierungsinformationsbereichs erreicht wird, werden die Aktualisierungsinformationen mit der nächsten Aktualisierungsnummer, beginnend am Kopf des Aktualisierungsinformationsbereichs, gespeichert. Schreibdaten werden der Reihe nach, beginnend am Kopf des Schreibdatenbereichs, im Schreibdatenbereich gespeichert, und wenn das Ende des Schreibdatenbereichs erreicht wird, werden die nächsten Schreibdaten, beginnend am Kopf des Schreibdatenbereichs, gespeichert. Das Verhältnis zwischen der Größe des Aktualisierungsinformationsbereichs und der Größe des Schreibdatenbereichs kann ein festes Verhältnis sein, oder es kann ein veränderliches Verhältnis sein, das durch ein spezifisches Endgerät in der Art des Wartungsendgeräts, des Host-Computers 180 oder dergleichen festgelegt wird. Diese Informationen können in die Zeigerinformationen 700 (siehe 7) aufgenommen werden, wie nachstehend beschrieben wird. In der folgenden Beschreibung wird der logische Journal-Datenträger in einen Aktualisierungsinformationsbereich und einen Schreibdatenbereich für die Verwendung unterteilt, es ist jedoch auch möglich, ein Verfahren zu verwenden, bei dem das Journal, mit anderen Worten eine Reihe von Aktualisierungsinformationen und Schreibdaten, beginnend am Kopf des logischen Datenträgers, kontinuierlich gespeichert wird.
  • Überdies wird ein Beispiel eines Vorgangs zum Spiegeln einer an einem ersten logischen Datenträger des ersten Speichersystems 100A vorgenommenen Datenaktualisierung in einen zweiten logischen Datenträger des zweiten Speichersystems 100B mit Bezug auf 1 breit beschrieben.
    • (1) Wenn das erste Speichersystem 100A einen Schreibbefehl, der sich auf die Daten im ersten logischen Datenträger (DATA1) 230 bezieht, vom Host-Computer 180 empfängt, aktualisiert es die Daten im ersten logischen Datenträger (DATA1) 230 und speichert ein Journal im logischen Journal-Datenträger (JNL1) 230 durch einen Befehlsempfangsprozess 210 und einen Lese-/Schreibprozess 220, welche nachstehend beschrieben werden (270 in 1).
    • (2) Das zweite Speichersystem 100B liest das Journal durch einen nachstehend beschriebenen Journalleseprozess 240 aus dem ersten Speichersystem 100A aus und speichert es durch einen Lese-/Schreibprozess 220 (280 in 1) im logischen Journal-Datenträger (JNL2) 230.
    • (3) Wenn das erste Speichersystem 100A einen Befehl zum Lesen des Journals aus dem zweiten Speichersystem 100B empfängt, liest es das Journal aus dem logischen Journal-Datenträger (JNL1) 230 aus und sendet es durch einen Befehlsempfangsprozess 210 und einen Lese-/Schreibprozess 220, wie nachstehend beschrieben wird (280 in 1), zum zweiten Speichersystem 100B.
    • (4) Unter Verwendung der Zeigerinformationen 700 liest das zweite Speichersystem 100B das Journal in einer Sequenz mit der Aktualisierungsnummer aus dem logischen Journal-Datenträger (JNL2) 230 aus und aktualisiert die Daten im zweiten logischen Datenträger (COPY1) 230 durch einen Umspeicherprozess 250 und einen Lese-/Schreibprozess 220 (290 in 1).
  • 2 ist ein Blockdiagramm, in dem ein Beispiel des Aufbaus des ersten Speichersystems 100A dargestellt ist. Nachstehend wird der Einfachheit halber angenommen, dass das erste Speichersystem 100A und das zweite Speichersystem 100B ähnlich aufgebaut sind, und das erste Speichersystem 100A wird als ein repräsentatives Beispiel zum Beschreiben des Aufbaus der Speichersysteme 100 angenommen. Das erste Speichersystem 100A und das zweite Speichersystem 100B brauchen jedoch nicht notwendigerweise den gleichen Aufbau zu haben.
  • Das erste Speichersystem 100A ist ein Platten-Array-System, wie beispielsweise ein RAID-(Redundant Array of Independent Disks)-System. Das erste Speichersystem 100A umfasst beispielsweise ein Steueruntersystem 101 zum Steuern der von dem ersten Speichersystem 100A ausgeführten Verarbeitung, eine RAID-Gruppe 210 und einen Wartungsprozessor (SVP) 281. Das Steueruntersystem 101 umfasst beispielsweise mehrere DKAs 120, mehrere Kanaladapter (nachstehend als CHA bezeichnet) 110, einen Cache-Speicher 130, einen geteilt verwendeten Speicher 140 und einen Schaltsteuerabschnitt 270.
  • Die RAID-Gruppe 210 umfasst mehrere Speichervorrichtungen 150, und sie stellt beispielsweise redundanten Speicher auf der Grundlage von RAIDs, in der Art eines RAID1- oder eines RAID5-Systems, bereit. Die jeweiligen Speichervorrichtungen 150 können durch Speichervorrichtungen in der Art eines Festplattenlaufwerks (oder einer Plattenvorrichtung selbst), einer Halbleiterspeichervorrichtung, eines magnetooptischen Plattenlaufwerks (oder einer magnetooptischen Platte selbst) und dergleichen gebildet sein. Mindestens ein oder mehrere logische Datenträger 230, welche logische Speicherbereiche bilden, können in die physikalischen Speicherbereiche gesetzt werden, die von den jeweiligen Speichervorrichtungen 150 bereitgestellt werden. Mehrere vom Host-Computer 180 verwendete Daten können in den logischen Datenträgern 230 gespeichert werden. Überdies ist es auch möglich, Steuerinformationen und dergleichen in einem separaten logischen Datenträger 230 zu speichern und diesen als einen Systembereich zu verwenden. Überdies brauchen nicht alle Speichervorrichtungen 150 innerhalb des Rahmens des ersten Speichersystems 100A positioniert zu werden. Beispielsweise ist es möglich, einen logischen Datenträger, der zu einem anderen Speichersystem (nicht dargestellt) gehört, als einen logischen Datenträger des ersten Speichersystems 100A zu verwenden. In der folgenden Beschreibung können Fälle auftreten, in denen ein logischer Datenträger als "Datenträger" abgekürzt wird.
  • Die jeweiligen DKAs 120 steuern die Datenübertragung und den Datenempfang zwischen den jeweiligen Speichervorrichtungen 150. Jeder der DKAs 120 kann aus einem Mikrocomputersystem bestehen, das beispielsweise eine CPU, einen ROM, einen RAM und dergleichen aufweist. Mehrere DKAs 120 werden im ersten Speichersystem 100A bereitgestellt. Die DKAs 120 übertragen Blockebenendaten auf der Grundlage eines SCSI- oder iSCSI-Protokolls oder dergleichen zwischen den Speichervorrichtungen 150.
  • Ähnlich den DKAs 120 kann jeder der mehreren CHAs 110 durch ein Mikrocomputersystem gebildet sein. Mehrere Host-CHAs 110A zum Ausführen einer Datenkommunikation mit dem Host-Computer 180 über den Verbindungsweg 190 und ein oder mehrere System-CHAs 110B zum Ausführen einer Datenkommunikation mit den anderen Speichersystemen 100 über den Verbindungsweg 200 sind in die mehreren CHAs 110 aufgenommen. Mindestens einer der Verbindungswege 190 und 280 kann ein Kommunikationsnetz oder eine zweckgebundene Wegleitung sein. Überdies können die Host-CHAs 110A jeweils entsprechend dem Typ des Host-Computers 180 präpariert werden (beispielsweise abhängig davon, ob es sich um einen Server oder eine Großrechnervorrichtung oder dergleichen handelt).
  • Der Cache-Speicher 130 kann beispielsweise durch einen flüchtigen oder einen nichtflüchtigen Halbleiterspeicher gebildet sein. Der Cache-Speicher 130 speichert Schreibdaten (in den logischen Datenträger geschriebene Daten) vom Host-Computer 180. Weiterhin speichert der Cache-Speicher 130 aus dem logischen Datenträger 230 ausgelesene Daten (nachstehend als "Lesedaten" bezeichnet).
  • Der geteilt verwendete Speicher 140 kann beispielsweise durch einen nichtflüchtigen oder einen flüchtigen Halbleiterspeicher gebildet sein. Der geteilt verwendete Speicher 140 speichert beispielsweise verschiedene vom Host-Computer 180 empfangene Befehle und Steuerinformationen und dergleichen, die zum Steuern des ersten Speichersystems 100A verwendet werden. Die Befehle und Steuerinformationen und dergleichen können in redundanter Weise durch mehrere geteilt verwendete Speicher 140 gespeichert werden. Der Cache-Speicher 130 und der geteilt verwendete Speicher 140 können als voneinander getrennte Speicher aufgebaut sein, oder es kann alternativ ein Abschnitt eines einzigen Speichers als ein Cache-Speicherbereich verwendet werden und der restliche Abschnitt des Speichers als ein geteilt verwendeter Speicherbereich verwendet werden.
  • Der Schaltsteuerabschnitt 270 ist jeweils mit den verschiedenen DKAs 120, dem Host-CHA 110A, dem System-CHA 110B, dem Cache-Speicher 130 und dem geteilt verwendeten Speicher 140 verbunden. Der Schaltsteuerabschnitt 270 kann beispielsweise durch einen sehr schnellen Kreuzschienenschalter oder dergleichen gebildet sein.
  • Der SVP 281 stellt die Zustände der jeweiligen Abschnitte des ersten Speichersystems 100A beispielsweise über ein internes Netz (in der Art eines LANs) 282 zusammen und überwacht diese. Der SVP 281 kann die sich auf die internen Zustände beziehenden gesammelten Daten entweder direkt als Rohdaten oder als verarbeitete statistische Daten an ein externes Verwaltungsendgerät (nicht dargestellt) ausgeben. Beispiele von Informationen, die durch den SVP 280 gesammelt werden können, sind die Vorrichtungszusammensetzung, Stromversorgungsalarme, Temperaturalarme, die Ein-/Ausgabegeschwindigkeit und dergleichen. Der Systemadministrator kann die Einstellungen der RAID-Zusammensetzung ändern oder eine Verarbeitung zum Abschalten verschiedener Typen von Paketen (beispielsweise der CHAs 110 und der DKAs 120) von dem Verwaltungsendgerät über den SVP 280 implementieren.
  • Als nächstes wird ein Beispiel der von dem ersten Speichersystem 100A ausgeführten Verarbeitung beschrieben. Der Host-CHA 110A empfängt Schreibbefehle und Schreibdaten von dem Host-Computer 180 über den Verbindungsweg 190. Der so empfangene Schreibbefehl wird im geteilt verwendeten Speicher 140 gespeichert, und die so empfangenen Schreibdaten werden im Cache-Speicher 130 gespeichert. Die DKAs 120 beziehen sich in regelmäßigen Intervallen auf den geteilt verwendeten Speicher 140. Wenn der DKA 120 einen im geteilt verwendeten Speicher 140 gespeicherten nicht verarbeiteten Schreibbefehl entdeckt, liest er die Schreibdaten aus dem Cache-Speicher 130 aus und führt eine Adresskonvertierung und dergleichen entsprechend diesem Schreibbefehl aus. Der DKA 120 speichert die Schreibdaten in den jeweiligen Speichervorrichtungen 150, welche den vom Schreibbefehl bezeichneten logischen Datenträger 230 bilden.
  • Nun wird ein Fall beschrieben, in dem ein Lesebefehl vom Host-Computer 180 verarbeitet wird. Wenn ein Host-CHA 110A einen Lesebefehl vom Host-Computer 180 empfängt, speichert er diesen Lesebefehl im geteilt verwendeten Speicher 140. Falls der DKA 120 einen nicht verarbeiteten Lesebefehl im geteilt verwendeten Speicher 140 entdeckt, liest er Daten aus den jeweiligen Speichervorrichtungen 150, die den vom Lesebefehl bezeichneten logischen Datenträger 230 bilden. Der DKA 120 speichert die so gelesenen Daten im Cache-Speicher 130. Überdies teilt der DKA 120 dem Host-CHA 110A über den geteilt verwendeten Speicher 140 mit, dass das Auslesen der angeforderten Daten abgeschlossen wurde. Der Host-CHA 110A liest Daten aus dem Cache-Speicher 130 ein und überträgt diese zum Host-Computer 180.
  • Ein Beispiel einer Datenkopie (nachstehend in manchen Fällen auch als "Fernkopie" bezeichnet), die zwischen dem ersten Speichersystem 100A und dem zweiten Speichersystem 100B über den Verbindungsweg 200 (der auch als "Fernkopierleitung" bezeichnet werden kann) ausgeführt wird, wird nun beschrieben. Die Fernkopie ist nicht mit einem Schreibbefehl oder einem Lesebefehl vom Host-Computer 180 verbunden, sondern sie ist vielmehr ein Datenkopierprozess, der ansprechend auf Schreibbefehle und Lesebefehle ausgeführt wird, die zwischen den Speichersystemen 100A und 100B gesendet und empfangen werden, ohne dass ein Eingriff des Host-Computers 180 erforderlich wäre.
  • Falls insbesondere beispielsweise das Steueruntersystem 101A des ersten Speichersystems 100A Schreibdaten in den ersten logischen Datenträger (DATA1) 230 schreibt, der mit dem zweiten logischen Datenträger (COPY1) 230 ein Paar bildet, überträgt es die Schreibdaten und den entsprechenden Schreibbefehl über den Verbindungsweg 200 zum zweiten Speichersystem 100B. Dadurch werden die aktualisierten Daten synchron mit dem Aktualisieren der Daten im zweiten Speichersystem 100B gespeichert.
  • Überdies erzeugt das Steueruntersystem 101A des ersten Speichersystems 100A jedes Mal dann, wenn der erste logische Datenträger (DATA1) aktualisiert wird, ein Journal, wie vorstehend beschrieben wurde, und speichert es beispielsweise im logischen Journal-Datenträger (JNL1) 230, und falls es einen Lesebefehl vom zweiten Speichersystem 100B empfängt (oder falls es einen Schreibbefehl an das zweite Speichersystem 100B ausgegeben hat), wird das Journal im logischen Journal-Datenträger (JNL1) 230 über den Verbindungsweg 200 zum zweiten Speichersystem 200B übertragen. Folglich wird das Journal in dem zweiten Speichersystem 100B nicht synchronisiert in Bezug auf das Speichern des Journals im ersten Speichersystem 100A gespeichert. Überdies wird der zweite logische Datenträger (COPY1) 230 durch Ausführen eines Umspeicherprozesses in dem zweiten Speichersystem 100B unter Verwendung dieses Journals zu einer Kopie des ersten logischen Datenträgers (DATA1) 230.
  • Vorstehend wurde ein Beispiel des Aufbaus eines Speichervorrichtungssystems 100 gemäß dem vorliegenden Implementationsmodus vorgestellt. Es erübrigt sich zu bemerken, dass es nicht erforderlich ist, das Speichersystem 100 auf den vorstehend erwähnten Aufbau zu beschränken. Beispielsweise ist das Steueruntersystem 101 nicht auf den vorstehend erwähnten Aufbau beschränkt, und es kann beispielsweise aus einem Speicher, der in der Lage ist, Steuerinformationen, Schreibdaten und dergleichen zu speichern, einer Schnittstellenvorrichtung zum Kommunizieren mit dem Host-Computer (nachstehend als "I/F" abgekürzt), einer I/F zum Kommunizieren mit den anderen Speichersystemen, einer I/F zum Kommunizieren mit den Speichervorrichtungen 150 und einem Steuerabschnitt (beispielsweise einer CPU) zum Steuern der Kommunikation über diese I/F und dergleichen auf der Grundlage der Informationen im Speicher bestehen. Überdies können im Speichersystem eine erste Datenübertragung, die vom Host-Computer 180 (oder einem anderen Speichersystem) zum Cache-Speicher 130 über einen CHA 110 und den Schaltsteuerabschnitt 270 ausgeführt wird, und die zweite Datenübertragung, die vom Cache-Speicher 130 zum Host-Computer (oder einem anderen Speichersystem) über den Schaltsteuerabschnitt 270 und einen CHA 110 ausgeführt wird, gleichzeitig ausgeführt werden, vorausgesetzt, dass der die erste Datenübertragung steuernde CHA 110 und der die zweite Datenübertragung steuernde CHA 110 verschieden sind und/oder die Cache-Speicher, die die Übertragungsquelle und das Übertragungsziel der Daten bilden, verschieden sind (beispielsweise unter der Voraussetzung, dass die Cache-Speicheradresse der Übertragungsquelle von der Cache- Speicheradresse des Übertragungsziels verschieden ist). Ähnlich können im Speichersystem 100 eine dritte Datenübertragung, die von einer Speichervorrichtung 150 über einen DKA 120 und den Schaltsteuerabschnitt 270 zum Cache-Speicher 130 ausgeführt wird, und eine vierte Datenübertragung, die vom Cache-Speicher 130 über den Schaltsteuerabschnitt 270 und einen DKA 120 zu einer Speichervorrichtung 150 ausgeführt wird, gleichzeitig ausgeführt werden, vorausgesetzt, dass der die dritte Datenübertragung steuernde DKA 120 und der die vierte Datenübertragung steuernde DKA 120 verschieden sind und/oder die Cache-Speicher, die die Übertragungsquelle und das Übertragungsziel der Daten bilden, verschieden sind (beispielsweise unter der Voraussetzung, dass die Cache-Speicheradresse der Übertragungsquelle von der Cache-Speicheradresse des Übertragungsziels verschieden ist). Überdies können die erste Datenübertragung oder die zweite Datenübertragung und die dritte Datenübertragung und/oder die vierte Datenübertragung gleichzeitig ausgeführt werden, vorausgesetzt dass das Übertragungsziel bei der ersten Datenübertragung oder die Übertragungsquelle bei der zweiten Datenübertragung von dem Übertragungsziel bei der dritten Datenübertragung und/oder der Übertragungsquelle bei der vierten Datenübertragung verschieden ist. Überdies müssen zum Ausführen einer synchronisierten Übertragung dieser Art die jeweiligen Übertragungswege (beispielsweise der Übertragungsweg zwischen dem CHA 110 und dem Schaltsteuerabschnitt 270, der Übertragungsweg zwischen dem DKA 120 und dem Schaltsteuerabschnitt 270 und der Übertragungsweg zwischen dem Schaltsteuerabschnitt 270 und dem Cache-Speicher 130) eine geeignete Bandbreite (Übertragungsgeschwindigkeit) aufweisen. Falls beispielsweise ein Schaltsteuerabschnitt 270 mit zwei CHAs 110, zwei DKAs 120 und zwei Cache-Speichern 130 verbunden ist, bringt eine überlagerte Übertragung keine Vorteile, falls die Bandbreite zwischen dem Schaltsteuerabschnitt 270 und den Cache-Speichern 130 nicht größer oder gleich der Bandbreite zwischen den CHAs 110 (oder den DKAs 120) und dem Schaltsteuerabschnitt 270 ist, und es ist daher wünschenswert, dass diese Bandbreite mindestens zwei Mal so groß ist wie die Bandbreite zwischen den CHAs 110 (oder den DKAs 120) und dem Schaltsteuerabschnitt 270. Überdies sollten die Schreibgeschwindigkeit und die Auslesegeschwindigkeit der Speichervorrichtung 150 und die Schreibgeschwindigkeit und die Auslesegeschwindigkeit des Cache-Speichers 130 höher sein als die Übertragungsgeschwindigkeit auf dem Weg zwischen der Speichervorrichtung 150 und dem Cache-Speicher 130, und sie sind wünschenswerterweise Geschwindigkeiten, die keine Unterlauffehler oder Überlauffehler zwischen diesen Elementen hervorrufen.
  • Die Datenträgerinformationen 400, die Weginformationen 500, die Gruppeninformationen 600 und die Zeigerinformationen 700 werden als Typen von Steuerinformationen in einem Speicher gespeichert, auf den durch den CHA 110 und den DKA 120 Bezug genommen werden kann, beispielsweise im geteilt verwendeten Speicher 140. Diese Bestandteile werden nachstehend beschrieben.
  • 4 zeigt ein Beispiel des Aufbaus der Datenträgerinformationen 400.
  • Die Datenträgerinformationen 400 sind Informationen zum Verwalten mehrerer logischer Datenträger 230, und sie umfassen Informationselemente, welche die jedem logischen Datenträger zugeordnete logische Datenträgernummer, den Datenträgerstatus, das Datenträgerformat, die Kapazität (beispielsweise in Einheiten von Gigabytes), die Paarnummer und die physikalische Adresse angeben.
  • Der Datenträgerstatus für jeden logischen Datenträger ist ein Informationselement, das den Status dieses logischen Datenträgers angibt, beispielsweise "normal", "erster", "zweiter", "abnorm", "nicht verwendet" oder dergleichen. Ein logischer Datenträger 230, der einen Datenträgerstatus "normal" oder "erster" aufweist, ist ein logischer Datenträger 230, auf den durch den Host-Computer 180 normal zugegriffen werden kann. Ein logischer Datenträger 230, der einen Datenträgerstatus "zweiter" aufweist, ist ein logischer Datenträger 230, auf den ein Zugriff vom Host-Computer 180 zugelassen werden kann. Ein logischer Datenträger 230, der einen Datenträgerstatus "erster" aufweist, ist ein logischer Datenträger, für den eine Datenkopie ausgeführt wird (mit anderen Worten ein erster logischer Datenträger) 230. Ein logischer Datenträger 230, der einen Datenträgerstatus "zweiter" aufweist, ist ein logischer Datenträger, der zum Kopieren von Daten verwendet wird (mit anderen Worten ein zweiter logischer Datenträger) 230. Ein logischer Datenträger 230, der einen Datenträgerstatus "abnorm" aufweist, ist ein logischer Datenträger 230, auf den infolge eines Problems nicht normal zugegriffen werden kann. Hier bedeutet ein "Problem" beispielsweise ein Problem in dem Plattenlaufwerk 110, das den logischen Datenträger 230 enthält. Ein logischer Datenträger 230, der einen Datenträgerstatus "nicht verwendet" aufweist, gibt einen logischen Datenträger 230 an, der nicht verwendet wird.
  • Die Paarnummer jedes logischen Datenträgers ist eine Nummer zum Identifizieren eines Paars, das aus einem ersten logischen Datenträger und einem zweiten logischen Datenträger besteht. Insbesondere ist die Paarnummer für jeden logischen Datenträger eine Paarnummer zum Identifizieren von Weginformationen 500 (nachstehend beschrieben), die gültig sind, wenn der diesem logischen Datenträger entsprechende Datenträgerstatus "erster" oder "zweiter" ist.
  • Entsprechend den in 4 dargestellten Datenträgerinformationen 400 ist beispielsweise der logische Datenträger 230 mit einer logischen Datenträgernummer "1" ein erster logischer Datenträger (mit anderen Worten ein logischer Datenträger, dessen Daten kopiert werden) mit einem Formattyp "OPEN3" und einer Speicherkapazität von 3 GB, der Daten von der Kopfposition des Speicherbereichs der Speichervorrichtung 150 mit einer Speichervorrichtungsnummer "1" speichert und auf den zugegriffen werden kann. Zusätzlich dazu, dass sie Informationen enthalten, die sich auf die mehreren logischen Datenträger 230 in dem Speichersystem 100 beziehen, in dem diese Datenträgerinformationen 400 bereitgestellt sind, können die Datenträgerinformationen 400 auch Informationen aufzeichnen, die sich auf einen oder mehrere logische Datenträger 230 in einem anderen Speichersystem 100 beziehen, das über den Verbindungsweg 200 mit diesem Speichersystem 100 verbunden ist.
  • 5 zeigt ein Beispiel der Zusammensetzung von Weginformationen 500.
  • Die Weginformationen 500 sind Informationen zum Verwalten von Paaren, welche Informationselemente einschließen, die beispielsweise die jedem Paar zugeordnete Paarnummer, den Paarstatus, die Nummer des ersten Speichersystems, die Nummer des ersten logischen Datenträgers, die Nummer des zweiten Speichersystems, die Nummer des zweiten logischen Datenträgers, die Gruppennummer und die kopierte Adresse angeben.
  • Der Paarstatus für jedes Paar ist ein Informationselement, das den Status dieses Paars angibt, der beispielsweise "normal", "abnorm", "nicht verwendet", "nicht kopiert", "kopierend" oder dergleichen sein kann. Ein Paarstatus "normal" gibt an, dass eine Datenkopie des ersten logischen Datenträgers 230 normal ausgeführt wurde. Ein Paarstatus "abnorm" gibt an, dass eine Kopie des ersten logischen Datenträgers 230 infolge eines Problems nicht ausgeführt wurde. Hier bedeutet ein "Problem" beispielsweise eine Unterbrechung des Verbindungswegs 200. Ein Paarstatus "nicht verwendet" gibt an, dass die Paarnummerninformationen, die diesem Paarstatus entsprechen, nicht gültig sind. Ein Paarstatus "kopierend" gibt an, dass die anfängliche Kopierverarbeitung, wie nachstehend beschrieben wird, gerade abläuft. Ein Paarstatus "nicht kopiert" gibt an, dass die anfängliche Kopierverarbeitung, wie nachstehend beschrieben wird, noch nicht ausgeführt wurde.
  • Die Nummer des ersten Speichersystems für jedes Paar ist eine Nummer, die das erste Speichersystem 100A angibt, das den ersten logischen Datenträger 230 enthält, der dieses Paar bildet.
  • Die Nummer des zweiten Speichersystems für jedes Paar ist eine Nummer, die das zweite Speichersystem 100B angibt, das den zweiten logischen Datenträger 230 enthält, der dieses Paar bildet.
  • Falls das Speichersystem 100, das die Weginformationen 500 bereitstellt, das erste Speichersystem 100A ist, ist die Gruppennummer für das Paar die Gruppennummer der Gruppe, zu der der dieses Paar bildende erste logische Datenträger 230 gehört, und falls das Speichersystem 100, das die Weginformationen 500 bereitstellt, ein zweites Speichersystem ist, ist es die Gruppennummer der Gruppe, zu der der zweite logische Datenträger 230, der dieses Paar bildet, gehört.
  • Die kopierte Adresse für jedes Paar wird nachstehend mit Bezug auf die anfängliche Kopierverarbeitung beschrieben.
  • Entsprechend den in 5 dargestellten Weginformationen 500 ist beispielsweise das Paar mit einer Paarnummer "1" ein Paar, das durch einen ersten logischen Datenträger mit einer logischen Datenträgernummer "1" und einen zweiten logischen Datenträger mit einer logischen Datenträgernummer "1" gebildet ist, und es ist ersichtlich, dass die Datenkopierverarbeitung normal ausgeführt wurde.
  • 6 zeigt ein Beispiel der Zusammensetzung von Gruppeninformationen 600.
  • Die Gruppeninformationen 600 sind Informationen zum Verwalten von einer oder mehreren Gruppen, die durch mehrere logische Datenträger 230 gebildet sind, und sie enthalten Informationselemente, welche beispielsweise die jeder Gruppe zugeordnete Gruppennummer, den Gruppenstatus, die Reihe von Paaren, die Nummer des logischen Journal-Datenträgers und die Aktualisierungsnummer angeben.
  • Der Gruppenstatus für jede Gruppe ist ein Informationselement, welches den sich auf diese Gruppe beziehenden Status angibt, beispielsweise "normal", "abnorm", "nicht verwendet" oder dergleichen. Ein Gruppenstatus "normal" gibt an, dass der Paarstatus von mindestens einem der Paare, die durch die Paarreihe identifiziert sind, welche dieser Gruppe zugeordnet ist, "normal" ist. Ein Gruppenstatus "abnorm" gibt an, dass der Paarstatus aller Paare, die durch die Paarreihe identifiziert sind, welche dieser Gruppe zugeordnet ist, "abnorm" ist. Ein Gruppenstatus "nicht verwendet" gibt an, dass die Gruppennummerninformationen für die entsprechende Gruppe nicht gültig sind.
  • Die Paarreihe für jede Gruppe umfasst die Paarnummern der Paare, die durch die jeweiligen logischen Datenträger in dieser Gruppe gebildet sind. Falls das Speichersystem 100 mit diesen Gruppeninformationen 600 ein erstes Speichersystem 100A ist, enthält die Paarreihe alle Paarnummern, die jeweils allen zu dieser Gruppe gehörenden ersten logischen Datenträgern entsprechen. Falls andererseits das Speichersystem 100 mit diesen Gruppeninformationen 600 ein zweites Speichersystem 100B ist, enthält die Paarreihe alle Paarnummern, die jeweils allen zu dieser Gruppe gehörenden zweiten logischen Datenträgern entsprechen.
  • Die Nummer des logischen Journal-Datenträgers für jede Gruppe gibt eine Nummer zum Identifizieren des zu dieser Gruppe gehörenden logischen Journal-Datenträgers an.
  • Die Aktualisierungsnummer für jede Gruppe ist eine Nummernreihe in den Aktualisierungsinformationen des Journals, die verwendet wird, um die Datenaktualisierungssequenz in dem zweiten Speichersystem 100B zu bewahren. Die Aktualisierungsnummer einer Gruppe hat einen Anfangswert "1", falls jedoch anschließend Daten in einen ersten logischen Datenträger in dieser Gruppe geschrieben werden, wird 1 zu der nur dieser Gruppe entsprechenden Aktualisierungsnummer addiert.
  • Unter der Annahme, dass die in 6 dargestellten Gruppeninformationen 600 beispielsweise in einem ersten Speichersystem 100A bereitgestellte Gruppeninformationen sind, ist anhand dieser Gruppeninformationen ersichtlich, dass die eine Gruppennummer "1" aufweisende Gruppe einen ersten logischen Datenträger, der ein Paar mit einer Paarnummer "1" bildet, einen ersten logischen Datenträger, der ein Paar mit einer Paarnummer "2" bildet, und einen logischen Journal-Datenträger mit einer logischen Datenträgernummer "4" enthält. Überdies ist ersichtlich, dass die Datenkopierverarbeitung für die eine Gruppennummer "1" aufweisende Gruppe normal ausgeführt wurde.
  • 7 zeigt ein Beispiel der Zusammensetzung von Zeigerinformationen 700. 8 zeigt die Inhalte, die durch die in 7 dargestellten Zeigerinformationen 700 identifiziert sind.
  • Wie in 7 dargestellt ist, werden die Zeigerinformationen 700 für jede Gruppe präpariert und verwendet, um den logischen Journal-Datenträger, der in der entsprechenden Gruppe enthalten ist, zu verwalten. Die Zeigerinformationen 700 enthalten Informationselemente, welche beispielsweise eine Aktualisierungsinformationsbereichs-Kopfadresse, eine Schreibdatenbereichs-Kopfadresse, eine Neueste-Aktualisierungsinformations-Adresse, eine Älteste-Aktualisierungsinformations-Adresse, eine Neueste-Schreibdaten-Adresse, eine Älteste-Schreibdaten-Adresse, eine Lesebeginnadresse und eine Neuversuchs-Anfangsadresse angeben.
  • Die Aktualisierungsinformationsbereichs-Kopfadresse ist die logische Adresse der Kopfposition des Speicherbereichs, der die Aktualisierungsinformationen des logischen Journal-Datenträgers (des Aktualisierungsinformationsbereichs) speichert.
  • Die Schreibdatenbereichs-Kopfadresse ist die logische Adresse der Kopfposition des Speicherbereichs, der die Schreibdaten des logischen Journal-Datenträgers (des Schreibdatenbereichs) speichert.
  • Die Neueste-Aktualisierungsinformations-Adresse ist die logische Adresse der Kopfposition, die zum Speichern der Aktualisierungsinformationen in einem Journal verwendet wird, wenn das nächste Journal gespeichert wird (mit anderen Worten Informationen, welche angeben, wo mit dem Schreiben der in dem nächsten Journal enthaltenen Aktualisierungsinformationen zu beginnen ist).
  • Die Älteste-Aktualisierungsinformations-Adresse ist die logische Adresse der Kopfposition des Bereichs, in dem die Aktualisierungsinformationen des ältesten Journals (nämlich des Journals mit der kleinsten Aktualisierungsnummer) gespeichert sind.
  • Die Neueste-Schreibdaten-Adresse ist die logische Adresse der Kopfposition, die zum Speichern der Schreibdaten in einem Journal verwendet wird, wenn das nächste Journal gespeichert wird (mit anderen Worten Informationen, die angeben, wo mit dem Schreiben der im nächsten Journal enthaltenen Schreibdaten zu beginnen ist).
  • Die Älteste-Schreibdaten-Adresse ist die logische Adresse der Kopfposition des Bereichs, in dem die Schreibdaten in dem ältesten Journal (nämlich dem Journal mit der kleinsten Aktualisierungsnummer) gespeichert sind.
  • Die Lesebeginnadresse und die Neuversuchs-Anfangsadresse sind Informationselemente, die nur vom ersten Speichersystem 100A verwendet werden. Diese Informationen werden bei der Journallese-Empfangsverarbeitung verwendet, welche nachstehend beschrieben wird. Eine detaillierte Beschreibung der Lesebeginnadresse und der Neuversuchs-Anfangsadresse wird nachstehend gegeben.
  • Anhand der in dem Beispiel in den 7 und 8 dargestellten Zeigerinformationen 700 ist ersichtlich, dass der Bereich zum Speichern der Aktualisierungsinformationen in dem Journal (der Aktualisierungsinformationsbereich) der Bereich von der Adresse 0 (der Kopfposition) des logischen Journal-Datenträgers #4 bis zur Adresse 699 von diesem ist und dass der Bereich zum Speichern der Schreibdaten in dem Journal (der Schreibdatenbereich) der Bereich von der Adresse 700 des logischen Journal-Datenträgers #4 bis zur Adresse 2699 von diesem ist. Überdies ist ersichtlich, dass die Aktualisierungsinformationen eines Journals in dem Bereich zwischen der Adresse 200 und der Adresse 499 des logischen Journal-Datenträgers #4 gespeichert werden und die Aktualisierungsinformationen des nächsten Journals von der Adresse 500 des logischen Journal-Datenträgers #4 an geschrieben werden. Überdies ist auch ersichtlich, dass die Schreibdaten des Journals im Bereich zwischen der Adresse 1300 und der Adresse 2199 des logischen Journal-Datenträgers #4 gespeichert werden und die Schreibdaten des nächsten Journals von der Adresse 2200 des logischen Journal-Datenträgers #4 an geschrieben werden.
  • Vorstehend wurde ein Beispiel der Zusammensetzung der Zeigerinformationen 700 gegeben. In der Beschreibung des vorliegenden Implementationsmodus wird eine Konfiguration beschrieben, bei der ein logischer Journal-Datenträger jeder Gruppe zugeordnet ist, es ist jedoch auch möglich, mehrere logische Journal-Datenträger einer Gruppe zuzuordnen. Insbesondere ist es beispielsweise auch möglich, zwei logische Journal-Datenträger einer Gruppe zuzuordnen, Zeigerinformationen 700 für jeden logischen Journal-Datenträger bereitzustellen (oder Informationselemente aufzunehmen, die sich auf die mehreren logischen Journal-Datenträger in den Zeigerinformationen 700 beziehen) und Journale alternierend in den logischen Journal-Datenträgern zu speichern. Dadurch ist es möglich, die Aufgabe des Schreibens von Journalen auf die Festplatte 150 zu verteilen, und es kann daher eine verbesserte Funktionsweise erwartet werden. Überdies kann die Leistungsfähigkeit des Auslesens von Journalen verbessert werden. Als ein weiteres konkretes Beispiel ist es auch möglich, zwei logische Journal-Datenträger einer Gruppe zuzuordnen, wobei nur einer der logischen Journal-Datenträger unter Normalbedingungen verwendet wird und der andere logische Journal-Datenträger in Fällen verwendet wird, in denen die Leistungsfähigkeit des ersten logischen Journal-Datenträgers bei der Verwendung abgenommen hat. Ein Beispiel einer Verringerung der Leistungsfähigkeit ist ein Fall, in dem der logische Journal-Datenträger aus mehreren Speichervorrichtungen 150 besteht, Daten durch ein RAID5-Verfahren gespeichert werden und an einer dieser mehreren Speichervorrichtungen 150 ein Fehler auftritt.
  • Überdies können die Datenträgerinformationen 400, die Weginformationen 500, die Gruppeninformationen 600, die Zeigerinformationen 700 und dergleichen, die vorstehend beschrieben wurden, in dem geteilt verwendeten Speicher 140 gespeichert werden. Die Erfindung ist jedoch nicht hierauf beschränkt, und diese Informationen können beispielsweise auch in konzentrierter oder verteilter Art in mindestens einem von dem Cache-Speicher 130, den CHAs 110, den DKAs 120 und den Speichervorrichtungen 150 gespeichert werden. Überdies kann jedes Speichersystem 100, zusätzlich zu den Steuerinformationen, die sich auf es selbst beziehen, mit Steuerinformationen versehen werden, die sich zumindest auf die anderen Speichersysteme 100 beziehen, mit denen es kommunizieren kann (beispielsweise mindestens eine von den Datenträgerinformationen 400, den Weginformationen 500, den Gruppeninformationen 600 und den Zeigerinformationen 700). In diesem Fall können überdies jedes Mal dann, wenn die Steuerinformationen in einem der anderen Speichersysteme 100 aktualisiert werden, die aktualisierten Inhalte in den diesem anderen Speichersystem 100 entsprechenden Steuerinformationen widergespiegelt werden, welche im ersten Speichersystem 100 bereitgestellt sind.
  • Als nächstes wird ein Beispiel einer Prozedur zum Einleiten einer Datenkopie von einem ersten Speichersystem 100A zu einem zweiten Speichersystem 100B mit Bezug auf 9 beschrieben.
    • (1) Es wird nun ein Gruppenerzeugungsschritt (Schritt 900) beschrieben.
  • Der Benutzer bezieht sich auf die Gruppeninformationen 600 des ersten Speichersystems 100A durch ein Wartungsendgerät oder den Host-Computer 180 und erfasst eine Gruppennummer A, die einen Gruppenstatus "nicht verwendet" aufweist. Der Benutzer legt die Gruppennummer A fest und gibt eine Gruppenerzeugungsanweisung durch den SVP 281 oder den Host- Computer 180 an das erste Speichersystem 100A aus. Nach dem Empfang der Gruppenerzeugungsanweisung ändert das erste Speichersystem 100A den Gruppenstatus der festgelegten Gruppennummer A (den Gruppenstatus in den Gruppeninformationen 600, die im ersten Speichersystem 100A enthalten sind) auf "normal".
  • Ähnlich bezieht sich der Benutzer auf die Gruppeninformationen 600 des zweiten Speichersystems 100B und erfasst eine Gruppennummer B mit einem Gruppenstatus "nicht verwendet". Der Benutzer legt die Nummer des zweiten Speichersystems und die Gruppennummer B fest und gibt eine Gruppenerzeugungsanweisung durch den SVP 281 oder den Host-Computer 180 an das erste Speichersystem 100A aus. Das erste Speichersystem 100A empfängt diese Nummer des zweiten Speichersystems, die Gruppennummer B und die Gruppenerzeugungsanweisung und überträgt die Gruppennummer B und die Gruppenerzeugungsanweisung, die so empfangen wurden, zum zweiten Speichersystem 100B, das durch die so empfangene Nummer des zweiten Speichersystems spezifiziert ist. Das zweite Speichersystem 100B empfängt die Gruppenerzeugungsanweisung und ändert ansprechend auf diese Anweisung den Gruppenstatus der empfangenen Gruppennummer B (den Gruppenstatus in den im zweiten Speichersystem 100B enthaltenen Gruppeninformationen 600) auf "normal". In einem Modifikationsbeispiel kann der Benutzer auch eine Gruppennummer B festlegen und eine Gruppenerzeugungsanweisung durch den SVP 281 des zweiten Speichersystems 100B oder einen Host-Computer 180, der mit dem zweiten Speichersystem 100B verbunden ist, an das zweite Speichersystem 100B ausgeben.
    • (2) Nun wird ein Paarregistrierungsschritt (Schritt 910) beschrieben.
  • Der Benutzer gibt eine Paarregistrierungsanweisung, welche Informationen, die ein Datenkopierobjekt angeben, und Informationen, die ein Datenkopierziel angeben, spezifiziert, durch den SVP 281 oder den Host-Computer 180 an das erste Speichersystem 100A aus. Die "Informationen, die das Datenkopierobjekt angeben" sind beispielsweise Informationen, die eine Gruppennummer A der Gruppe des Datenkopierobjekts (mit anderen Worten der Datenkopierquelle) und die Nummer des entsprechenden ersten logischen Datenträgers enthalten. Die "Informationen, die das Datenkopierziel angeben" sind beispielsweise Informationen, die die Nummer des zweiten Speichersystems 100B, das die kopierten Daten enthält, die Nummer des zweiten logischen Datenträgers, der die kopierten Daten enthält, und die Gruppennummer B der Gruppe, zu der dieser zweite logische Datenträger gehört, enthalten.
  • Nach dem Empfang dieser Paarregistrierungsanweisung erfasst das erste Speichersystem 100A eine Paarnummer mit einem Paarstatus "nicht verwendet" von den Weginformationen 500 und führt die folgende Verarbeitung in Bezug auf die verschiedenen Informationselemente aus, die der so erfassten Paarnummer entsprechen (die verschiedenen Informationselemente, die die Weginformationen 500 im ersten Speichersystem 100A bilden). Mit anderen Worten ändert das erste Speichersystem 100A das Informationselement "Paarstatus" von "nicht verwendet" zu "nicht kopiert", setzt die Nummer des ersten Speichersystems, die das erste Speichersystem 100A in dem Informationselement "Nummer des ersten Speichersystems" angibt, setzt die festgelegte Nummer des ersten logischen Datenträgers in dem Informationselement "Nummer des ersten logischen Datenträgers", setzt die festgelegte Nummer des zweiten Speichersystems in dem Informationselement "Nummer des zweiten Speichersystems", setzt die festgelegte Nummer des zweiten logischen Datenträgers in dem Informationselement "Nummer des zweiten logischen Datenträgers" und setzt die festgelegte Gruppennummer A in dem Informationselement "Gruppennummer". Überdies bezieht sich das erste Speichersystem 100A auf die Gruppeninformationen 600, die innerhalb dieses ersten Speichersystems 100A bereitgestellt sind, addiert die vorstehend erwähnte erfasste Paarnummer zu der Paarreihe, die der festgelegten Gruppennummer A entspricht, und ändert den Datenträgerstatus entsprechend der fest gelegten Nummer des ersten logischen Datenträgers (den Datenträgerstatus in den im ersten Speichersystem 100A bereitgestellten Datenträgerinformationen 400) zu "primär".
  • Das erste Speichersystem 100A überträgt die Nummer des ersten Speichersystems, welche das erste Speichersystem 100A angibt, und die Gruppennummer B, die Nummer des ersten logischen Datenträgers und die Nummer des zweiten logischen Datenträgers, die vom Benutzer festgelegt wurden, zum zweiten Speichersystem 100B, das der vom Benutzer spezifizierten Nummer des zweiten Speichersystems entspricht. Das zweite Speichersystem 100B erfasst eine nicht verwendete Paarnummer aus den Weginformationen 500 und führt die folgende Verarbeitung in Bezug auf die verschiedenen Informationselemente aus, die der so erfassten Paarnummer entsprechen (die verschiedenen Informationselemente, die die Weginformationen 500 im zweiten Speichersystem 100B bilden). Mit anderen Worten setzt das zweite Speichersystem 100B das Informationselement "Paarstatus" auf "nicht kopiert", die Nummer des ersten Speichersystems, die das erste Speichersystem 100A in dem Informationselement "Nummer des ersten Speichersystems" angibt, die festgelegte Nummer des ersten logischen Datenträgers in dem Informationselement "Nummer des ersten logischen Datenträgers", die Nummer des zweiten Speichersystems, die das zweite Speichersystem B in dem Informationselement "Nummer des zweiten Speichersystems" angibt, die festgelegte Nummer des zweiten logischen Datenträgers in dem Informationselement "Nummer des zweiten logischen Datenträgers" und die festgelegte Gruppennummer B in dem Informationselement "Gruppennummer". Überdies bezieht sich das zweite Speichersystem 100B auf die Gruppeninformationen 600, die innerhalb dieses zweiten Speichersystems 100B bereitgestellt sind, addiert die vorstehend erwähnte erfasste Paarnummer zu der Paarreihe, die der festgelegten Gruppennummer B entspricht, und ändert den Datenträgerstatus entsprechend der festgelegten Nummer des zweiten logischen Datenträgers (den Datenträgerstatus in den im zweiten Speichersystem 100B bereitgestellten Datenträgerinformationen 400) zu "sekundär".
  • Die Verarbeitung in dem vorstehend beschriebenen Schritt 910 wird für alle Paare der Datenkopierobjekte ausgeführt.
  • In der vorstehenden Beschreibung werden die Registrierung eines logischen Datenträgers in einer Gruppe und das Festlegen von Paaren logischer Datenträger gleichzeitig ausgeführt, diese Prozesse können jedoch auch zu verschiedenen Zeiten ausgeführt werden.
    • (3) Nun wird ein Schritt zum Registrieren eines logischen Journal-Datenträgers beschrieben (Schritt 920).
  • Der Benutzer gibt eine Anweisung zum Registrieren eines zum Speichern eines Journals verwendeten logischen Datenträgers (eines logischen Journal-Datenträgers) in einer Gruppe (eine Anweisung zum Registrieren eines logischen Journal-Datenträgers) durch den SVP 281 oder den Host-Computer 180 an das erste Speichersystem 100A aus. Die Anweisung zum Registrieren eines logischen Journal-Datenträgers umfasst beispielsweise eine Gruppennummer und eine logische Datenträgernummer.
  • Das erste Speichersystem 100A registriert die festgelegte logische Datenträgernummer als die Nummer des logischen Journal-Datenträgers der Gruppeninformationen 600 der festgelegten Gruppennummer. Der Datenträgerstatus der Datenträgerinformationen 400 dieses logischen Datenträgers wird auf "normal" gesetzt.
  • Ähnlich bezieht sich der Benutzer durch den SVP 281 oder den Host-Computer 180 auf die Datenträgerinformationen 400 des zweiten Speichersystems 100B und gibt eine Anweisung zum Registrieren eines logischen Journal-Datenträgers an das erste Speichersystem 100A aus, wodurch eine Nummer des zweiten Speichersystems, eine Gruppennummer B und eine logische Datenträgernummer zur Verwendung für den logischen Journal-Datenträger spezifiziert werden. Das erste Speichersystem 100A überträgt die Anweisung zum Registrieren des logischen Journal-Datenträgers, die Gruppennummer B und die logische Datenträgernummer, die so empfangen wurden, zu dem durch die festgelegte Nummer des zweiten Speichersystems identifizierten zweiten Speichersystem 100B. Das zweite Speichersystem 100B bezieht sich auf die in diesem zweiten Speichersystem 100B bereitgestellten Gruppeninformationen 600 und registriert die empfangene logische Datenträgernummer als das Informationselement "Nummer des logischen Journal-Datenträgers", das der empfangenen Gruppennummer B entspricht. Überdies bezieht sich das zweite Speichersystem 100B auf die in diesem zweiten Speichersystem 100B bereitgestellten Datenträgerinformationen 400 und setzt das Informationselement "Datenträgerstatus", das der empfangenen logischen Datenträgernummer entspricht, auf "normal".
  • Der Benutzer kann auch die Gruppennummer und die logische Datenträgernummer festlegen, die für den logischen Journal-Datenträger zu verwenden sind, und eine Anweisung zum Registrieren des logischen Journal-Datenträgers durch einen SVP 281 des zweiten Speichersystems 100B oder durch einen Host-Computer 180, der mit dem zweiten Speichersystem 100B verbunden ist, an das zweite Speichersystem 100B ausgeben.
  • Die Verarbeitung im vorstehenden Schritt 920 wird mit Bezug auf alle logischen Datenträger ausgeführt, die als logische Journal-Datenträger verwendet werden. Die Sequenz aus den Schritten 910 und 920 braucht keine zufällige Sequenz zu sein.
    • (4) Nun wird ein Kopierprozess-Anfangsschritt (Schritt 930) beschrieben.
  • Der Benutzer legt eine Gruppennummer zum Einleiten eines Datenkopierprozesses fest und gibt eine Anweisung zum Einleiten eines Datenkopierprozesses durch den SVP 281 oder den Host-Computer 180 an das erste Speichersystem 100A aus. Das erste Speichersystem 100A bezieht sich auf die in diesem ersten Speichersystem 100A bereitgestellten Paarinformationen 400 und setzt alle kopierten Adressen für die festgelegte Gruppennummer auf "0".
  • Das erste Speichersystem 100A weist das durch die Nummer des zweiten Speichersystems, entsprechend der festgelegten Gruppennummer, spezifizierte zweite Speichersystem 100B an, einen Journal-Leseprozess und einen Umspeicherprozess einzuleiten, welche nachstehend beschrieben werden.
  • Das erste Speichersystem 100A leitet einen nachstehend beschriebenen anfänglichen Kopierprozess ein.
    • (5) Nun wird ein Schritt zum Abschließen des anfänglichen Kopierens (Schritt 940) beschrieben.
  • Wenn das anfängliche Kopieren abgeschlossen wurde, teilt das erste Speichersystem 100A dem in Schritt 930 spezifizierten zweiten Speichersystem 100B das Ende des anfänglichen Kopierprozesses mit. Das zweite Speichersystem 100B bezieht sich auf die in diesem zweiten Speichersystem 100B enthaltenen Weginformationen 500 und ändert jeden Paarstatus, der der festgelegten Gruppennummer entspricht (den Paarstatus der zweiten logischen Datenträger) auf "normal".
  • 10 ist ein Flussdiagramm eines anfänglichen Kopierprozesses.
  • Beim anfänglichen Kopierprozess werden Journale in Einheitsgrößen für den gesamten Speicherbereich des das Datenkopierobjekt bildenden ersten logischen Datenträgers in einer Sequenz von der Kopfposition des Speicherbereichs unter Verwendung der kopierten Adressen in den Weginformationen 500 erzeugt. Die kopierte Adresse hat einen Anfangswert von 0, und jedes Mal dann, wenn ein Journal erzeugt wird, wird der so erzeugte Datenträger zu diesem Wert addiert. Beim anfänglichen Kopierprozess werden Journale von der Kopfposition des Speicherbereichs des logischen Datenträgers bis zur Adresse unmittelbar vor der kopierten Adresse erzeugt. Durch Ausführen eines anfänglichen Kopierprozesses ist es möglich, Daten, die nicht im ersten logischen Datenträger aktualisiert worden sind, zum zweiten logischen Datenträger zu übertragen. In der folgenden Beschreibung wird der Host-CHA 110A im ersten Speichersystem 100A als diese Verarbeitung implementierend beschrieben, sie kann stattdessen jedoch auch durch den DKA 120 implementiert werden.
    • (1) Der Host-CHA 110A im ersten Speichersystem 100A findet einen ersten logischen Datenträger mit einem Paarstatus "nicht kopiert" in einem Paar, das zu der verarbeiteten Gruppe gehört (nachstehend als "erster logischer Datenträger A" bezeichnet), auf der Grundlage der Gruppeninformationen 600 und der Weginformationen 500 im ersten Speichersystem 100A und aktualisiert den so gefundenen Paarstatus, der sich auf den ersten logischen Datenträger A bezieht, zu "kopierend" und wiederholt dann die anschließenden Prozesse (Schritte 1010 und 1020). Falls der erste logische Datenträger A nicht existiert, beendet der Host-CHA 110A die Verarbeitung (Schritt 1030).
    • (2) Falls in Schritt 1020 der logische Datenträger A existiert, erzeugt der Host-CHA 110A ein Journal für eine Einheitsdatengröße (beispielsweise 1 MB an Daten). Der Journal-Erzeugungsprozess wird nachstehend beschrieben (Schritt 1040).
    • (3) Der Host-CHA 110A addiert die Datengröße des erzeugten Journals zur kopierten Adresse (Schritt 1050).
    • (4) Die vorstehend erwähnte Verarbeitung wird wiederholt, bis die kopierte Adresse die Kapazität des ersten logischen Datenträgers A erreicht (Schritt 1060). Falls die kopierte Adresse nicht gleich der Kapazität des ersten logischen Datenträgers A ist, bedeutet dies, dass ein Journal für den ganzen Speicherbereich des ersten logischen Datenträgers A erzeugt worden ist, und der Paarstatus wird daher zu "normal" aktualisiert, und es wird die Verarbeitung eines anderen ersten logischen Datenträgers eingeleitet (Schritt 1070).
  • In dem vorstehend erwähnten Flussdiagramm wurden die ersten logischen Datenträger als unabhängig behandelt beschrieben, es ist jedoch auch möglich, dass Journale für mehrere Daten, die jeweils in mehreren ersten logischen Datenträgern gespeichert sind, gleichzeitig verarbeitet werden.
  • 11 zeigt die Sequenz eines Befehlsempfangsprozesses 210, und 12 ist ein Flussdiagramm eines Befehlsempfangsprozesses 210. 13 ist ein Flussdiagramm eines Journal-Erzeugungsprozesses. Nachstehend wird ein Vorgang, bei dem das erste Speichersystem 100A einen Schreibbefehl vom Host-Computer 180 für den ersten logischen Datenträger 230, der ein Datenkopierobjekt bildet, empfängt, mit Bezug auf die 11 bis 13 beschrieben. Weiterhin wird in der folgenden Beschreibung angenommen, dass es einen ersten logischen Datenträger und einen logischen Journal-Datenträger gibt, die zu einer bestimmten Gruppe des ersten Speichersystems 100A gehören, wobei der erste logische Datenträger als "erster logischer Datenträger 230PA" bezeichnet wird und der logische Journal-Datenträger als "logischer Journal-Datenträger JA" bezeichnet wird.
    • (1) Der Host-CHA 110A im ersten Speichersystem 100A empfängt einen Zugriffsbefehl vom Host-Computer 180 (Schritt 1200). Der Zugriffsbefehl enthält einen Befehl in der Art eines Lesebefehls, eines Schreibbefehls oder eines Journal-Lesebefehls (nachstehend beschrieben), eine logische Adresse, die sich auf den Befehl bezieht, einen Datenträger und dergleichen. Nachstehend wird die logische Adresse in dem Zugriffsbefehl als logische Adresse A bezeichnet, die logische Datenträgernummer als logische Datenträgernummer A bezeichnet, die Position in dem logischen Datenträger als logische Datenträgerposition A bezeichnet und der Datenträger als Datenträger A bezeichnet. Überdies wird der durch die logische Datenträgernummer A festgelegte logische Datenträger als logischer Datenträger A bezeichnet.
    • (2) Der Host-CHA 110A untersucht den Zugriffsbefehl (Schritte 1210 und 1215). Falls bei der Untersuchung in Schritt 1215 herausgefunden wird, dass der Zugriffsbefehl ein Journal-Lesebefehl ist, wird die nachstehend beschriebene Journal-Leseempfangsverarbeitung ausgeführt (Schritt 1220). Falls der Zugriffsbefehl ein von einem Journal-Lesebefehl oder einem Journal-Schreibbefehl verschiedener Befehl, beispielsweise ein Lesebefehl, ist, wird die Leseverarbeitung in Übereinstimmung mit diesem Lesebefehl ausgeführt (Schritt 1230).
    • (3) Falls bei der Untersuchung in Schritt 1210 herausgefunden wird, dass der Zugriffsbefehl ein Schreibbefehl ist, bezieht sich der Host-CHA 110A auf die Datenträgerinformationen 400 und untersucht den Datenträgerstatus des logischen Datenträgers A (Schritt 1240). Falls bei der Untersuchung in Schritt 1240 der Datenträgerstatus des logischen Datenträgers A ein anderer Status als "normal" oder "erster" ist, bedeutet dies, dass der Zugriff auf den logischen Datenträger A nicht möglich ist, und der Host-CHA 110A teilt dem Host-Computer 180 daher eine abnorme Beendigung mit (Schritt 1245).
    • (4) Falls bei der Untersuchung in Schritt 1240 herausgefunden wird, dass der Datenträgerstatus des logischen Datenträgers A "normal" oder "erster" ist, reserviert der Host-CHA 110A den Cache-Speicher 130 (oder einen Speicherbereich mit einer vorgeschriebenen Größe in diesem Speicher 130) und teilt dem Host-Computer 180 mit, dass die Vorbereitungen für den Datenempfang abgeschlossen wurden. Der Host-Computer 180 empfängt diese Mitteilung und überträgt Schreibdaten zum ersten Speichersystem 100A. Der Host-CHA 110A empfängt die Schreibdaten und speichert sie im Cache-Speicher 130 (Schritt 1250 und 1100 in 11).
    • (5) Der Host-CHA 110A bezieht sich auf den Datenträgerstatus im logischen Datenträger A und untersucht, ob der logische Datenträger A ein Datenkopierobjekt ist (mit anderen Worten, ob er ein erster logischer Datenträger ist) (Schritt 1260). Falls bei der Untersuchung in Schritt 1260 herausgefunden wird, dass der Datenträgerstatus "erster" ist, bedeutet dies, dass der logische Datenträger A ein Datenkopierobjekt ist, und der Host-CHA 110A führt daher eine Journal-Erzeugungsverarbeitung aus, wie nachstehend beschrieben wird (Schritt 1265).
    • (6) Falls bei der Untersuchung in Schritt 1260 herausgefunden wird, dass der Datenträgerstatus "normal" ist oder falls der Journal-Erzeugungsprozess in Schritt 1265 abgeschlossen wurde, gibt der Host-CHA 110A einen Befehl an den DKA 120 aus, um die Schreibdaten an die Speichervorrichtung 150 auszugeben, die den logischen Datenträger A bereitstellt (1140 in 11), und er teilt dem Host-Computer 180 den Abschluss mit (Schritte 1270 und 1280). Anschließend speichert der den Schreibbefehl für die Schreibdaten empfangende DKA 120 die Schreibdaten durch einen Lese-/Schreibprozess 220 (1110 in 11) in der Speichervorrichtung 150, die den logischen Datenträger A bereitstellt.
  • Als nächstes wird die Journal-Erzeugungsverarbeitung beschrieben.
    • (1) Der Host-CHA 110A untersucht den Datenträgerstatus des logischen Journal-Datenträgers 230JA, der zu der Gruppennummer gehört, die der logischen Datenträgernummer A entspricht, auf der Grundlage der Datenträgerinformationen 400, der Weginformationen 500 und der Gruppeninformationen 600 (Schritt 1310). Falls bei der Untersuchung in Schritt 1310 herausgefunden wird, dass der Datenträgerstatus des logischen Journal-Datenträgers "abnorm" ist, bedeutet dies, dass das Journal nicht in diesem logischen Journal-Datenträger gespeichert werden kann, und der Host-CHA 110A ändert den Gruppenstatus daher zu "abnorm" und beendet die Verarbeitung (Schritt 1315). In diesem Fall kann der Host-CHA 110A beispielsweise eine Verarbeitung zum Ändern des logischen Journal-Datenträgers zu einem normalen logischen Datenträger ausführen.
    • (2) Falls bei der Untersuchung in Schritt 1310 herausgefunden wird, dass der logische Journal-Datenträger normal ist, setzt der Host-CHA 110A den Journal-Erzeugungsprozess fort. Die Inhalte des Journal-Erzeugungsprozesses ändern sich abhängig davon, ob er als Teil eines anfänglichen Kopierprozesses oder als Teil eines Befehlsempfangsprozesses implementiert ist (Schritt 1320). Falls der Journal-Erzeugungsprozess Teil eines Befehlsempfangsprozesses ist, implementiert der Host-CHA 110A die Verarbeitung von Schritt 1330 an. Falls der Journal-Erzeugungsprozess Teil eines anfänglichen Kopierprozesses ist, implementiert der Host-CHA 110A die Verarbeitung von Schritt 1370 an.
    • (3) Falls der Journal-Erzeugungsprozess Teil eines Befehlsempfangsprozesses ist, untersucht der Host-CHA 110A, ob die logische Adresse A, die zu schreiben ist, in dem anfänglichen Kopierprozess verarbeitet worden ist (Schritt 1330). Falls der Paarstatus des logischen Datenträgers A "nicht kopiert" ist, bedeutet dies, dass der Journal-Erzeugungsprozess später in einem anfänglichen Kopierprozess auszuführen ist, und der Host-CHA 110A beendet daher den Prozess, ohne ein Journal zu erzeugen (Schritt 1335). Falls der Paarstatus des logischen Datenträgers A "kopierend" ist oder falls die kopierte Adresse kleiner oder gleich der logischen Adressposition A ist, bedeutet dies, dass der Journal-Erzeugungsprozess später in einem anfänglichen Kopierprozess auszuführen ist, und der Host-CHA 110A beendet daher den Prozess, ohne ein Journal zu erzeugen (Schritt 1335). In anderen Fällen als den vorstehend erwähnten, mit anderen Worten, falls der Paarstatus des logischen Datenträgers A "kopierend" ist und die kopierte Adresse höher als die logische Adressposition A ist oder falls der Paarstatus des logischen Datenträgers A "normal" ist, bedeutet dies, dass der anfängliche Kopierprozess bereits abgeschlossen wurde, und der Host-CHA 110A setzt daher den Journal-Erzeugungsprozess fort.
    • (4) Als nächstes untersucht der Host-CHA 110A, ob ein Journal im logischen Journal-Datenträger gespeichert werden kann. Insbesondere untersucht der Host-CHA 110A unter Verwendung der Zeigerinformationen 700, ob im Aktualisierungsinformationsbereich nicht verwendeter Platz vorhanden ist (Schritt 1340). Falls die Neueste-Aktualisierungsinformations-Adresse und die Älteste-Aktualisierungsinformations-Adresse in den Zeigerinformationen 700 gleich sind, bedeutet dies, dass in dem Aktualisierungsinformationsbereich kein ungenutzter Platz vorhanden ist, und der Host-CHA 110A beendet daher den Prozess als "es ist nicht gelungen, ein Journal zu erzeugen" (Schritt 1390). Falls bei der Untersuchung in Schritt 1340 in dem Aktualisierungsinformationsbereich ein nicht verwendeter Platz vorhanden ist, untersucht der Host-CHA 110A auf der Grundlage der Zeigerinformationen 700, ob es möglich ist, Schreibdaten in dem Schreibdatenbereich zu speichern (Schritt 1345). Falls die Summe aus der Neueste-Schreibdaten-Adresse und dem Datenträger A größer oder gleich der Älteste-Schreibdaten-Adresse ist, bedeutet dies, dass die Schreibdaten nicht im Schreibdatenbereich gespeichert werden können, weshalb der Host-CHA 110A den Prozess als "es ist nicht gelungen, ein Journal zu erzeugen" beendet (Schritt 1390).
    • (5) Falls ein Journal gespeichert werden kann, erfasst der Host-CHA 110A die der fraglichen Gruppe (der Gruppe, zu der der logische Journal-Datenträger JA1 gehört) entsprechende Aktualisierungsnummer (die in den Gruppeninformationen 600 enthaltene Aktualisierungsnummer), die logische Adresse zum Speichern der Aktualisierungsinformationen und die logische Adresse zum Speichern der Schreibdaten und erzeugt Aktualisierungsinformationen im Cache-Speicher 130. Überdies legt der Host-CHA 110A einen Zahlenwert, der gleich der erfassten Aktualisierungsnummer plus 1 ist, als die neue Aktualisierungsnummer in den Gruppeninformationen 600 fest. Die logische Adresse zum Speichern der Aktualisierungsinformationen ist die Neueste-Aktualisierungsinformations-Adresse in den Zeigerinformationen 700, und der Host-CHA 110A legt den Wert dieser Adresse plus der Größe der Aktualisierungsinformationen als eine frische Neueste-Aktualisierungsinformations-Adresse in den Zeigerinformationen 700 fest. Die logische Adresse zum Speichern der Schreibdaten ist die Neueste-Schreibdaten-Adresse in den Zeigerinformationen 700, und der Host-CHA 110A legt den Wert der Neueste-Schreibdaten-Adresse plus dem Datenträger A als eine frische Neueste-Schreibdaten-Adresse in den Zeigerinformationen 700 fest. Der Host-CHA 110A legt die Werte und die Gruppennummer, die vorstehend erfasst wurden, die Zeit, zu der der Schreibbefehl empfangen wurde, die logische Adresse A in dem Schreibbefehl und den Datenträger A in den Aktualisierungsinformationen fest (Schritt 1350, 1120 in 11). Falls beispielsweise im Fall der in 6 dargestellten Gruppeninformationen 600 und der in 7 dargestellten Zeigerinformationen 700 ein Schreibbefehl einer Datengröße 100 an der Position der Adresse 800 des zur Gruppe 1 gehörenden ersten logischen Datenträgers #1 empfangen wird, werden Aktualisierungsinformationen in der Art der in 22 dargestellten erzeugt. Die Aktualisierungsnummer in den Gruppeninformationen ist 5, die Neueste-Aktualisierungsinformations-Adresse in den Zeigerinformationen ist 600 (wobei die Größe der Aktualisierungsinformationen als 100 angenommen wird), und die Neueste-Schreibdaten-Adresse ist 2300.
    • (6) Der Host-CHA 110A weist den DKA 120 an, die Aktualisierungsinformationen und die Schreibdaten in dem Journal in die Speichervorrichtung 150 zu schreiben, und beendet dann normal (Schritt 1360; 1130, 1140, 1150 in 11).
    • (7) Falls der Journal-Erzeugungsprozess Teil eines anfänglichen Kopierprozesses ist, implementiert der Host-CHA 110A die Verarbeitung von Schritt 1370 an. Der Host-CHA 110A untersucht, ob ein Journal erzeugt werden kann. Insbesondere untersucht der Host-CHA 110A unter Verwendung der Zeigerinformationen 700, ob im Aktualisierungsinformationsbereich nicht verwendeter Platz vorhanden ist (Schritt 1370). Falls die Neueste-Aktualisierungsinformations-Adresse und die Älteste-Aktualisierungsinformations-Adresse in den Zeiger informationen 700 gleich sind, bedeutet dies, dass in dem Aktualisierungsinformationsbereich kein ungenutzter Platz vorhanden ist, und der Host-CHA 110A beendet daher den Prozess als "es ist nicht gelungen, ein Journal zu erzeugen" (Schritt 1390). Bei dem im vorliegenden Implementationsmodus beschriebenen anfänglichen Kopierprozess werden die Schreibdaten in dem Journal aus dem ersten logischen Datenträger gelesen, und weil der Schreibdatenbereich nicht verwendet wird, ist es dann nicht erforderlich, auf nicht verwendeten Platz in dem Schreibdatenbereich zu prüfen.
    • (8) Falls anhand der Untersuchung in Schritt 1370 herausgefunden wird, dass ein Journal erzeugt werden kann, erfasst der Host-CHA 110A den in den Aktualisierungsinformationen festgelegten Zahlenwert und erzeugt Aktualisierungsinformationen in dem Cache-Speicher 130. Die Aktualisierungsnummer wird anhand der Gruppeninformationen 600 für die fragliche Gruppe erfasst, und der Host-CHA 110A erzeugt einen Wert, der gleich dieser Aktualisierungsnummer plus eins ist, als eine neue Aktualisierungsnummer in den Gruppeninformationen 600. Die logische Adresse zum Speichern der Aktualisierungsinformationen ist die Position der Neueste-Aktualisierungsinformations-Adresse in den Zeigerinformationen 700, und der Host-CHA 110A legt den Wert dieser Adresse plus der Größe der Aktualisierungsinformationen als die frische Neueste-Aktualisierungsinformations-Adresse in den Zeigerinformationen 700 fest. Der Host-CHA 110A legt die Werte und die Gruppennummer, die vorstehend erfasst wurden, die Anfangszeit des Prozesses, die in dem anfänglichen Kopierprozess verwendete logische Adresse, die je Operation in dem anfänglichen Kopierprozess verarbeitete Datenmenge, die logische Adresse des logischen Journal-Datenträgers, der die Schreibdaten speichert, und die in dem anfänglichen Kopierprozess verwendete logische Adresse in den Aktualisierungsinformationen fest (Schritt 1380; 1120 in 11).
    • (9) Der Host-CHA 110A weist den DKA 120 an, die Aktualisierungsinformationen in die Speichervorrichtung 150 zu schreiben (er weist mit anderen Worten den DKA 120 an, die Informationen beginnend mit der vorstehend erwähnten frischen Neueste-Aktualisierungsinformations-Adresse in dem logischen Journal-Datenträger 230JA zu schreiben), und er beendet normal (Schritt 1385; 1140 und 1160 in 11).
  • Das vorstehend Erwähnte war eine Beschreibung, die sich auf die 11 bis 13 bezog. In der vorstehenden Beschreibung werden die Aktualisierungsinformationen vorübergehend im Cache-Speicher 130 gespeichert, sie können jedoch auch vorübergehend im geteilt verwendeten Speicher 140 oder dergleichen gespeichert werden.
  • Überdies braucht das Schreiben der Schreibdaten in die Speichervorrichtung 150 nicht asynchron zu erfolgen, und es braucht mit anderen Worten nicht unmittelbar nach Schritt 1360 und Schritt 1385 ausgeführt zu werden. Falls der Host-Computer 180 einen anderen Schreibbefehl an die logische Adresse A implementiert hat, werden die Schreibdaten in dem Journal überschrieben, und die Schreibdaten in dem Journal müssen daher, bevor sie vom Host-Computer 180 empfangen werden, in die Speichervorrichtung 150 geschrieben werden, die der logischen Adresse des die Aktualisierungsinformationen speichernden logischen Journal-Datenträgers entspricht. Alternativ können sie in einen getrennten Cache-Speicher zurückgezogen werden und später entsprechend der logischen Adresse des die Aktualisierungsinformationen speichernden logischen Journal-Datenträgers in die Speichervorrichtung 150 geschrieben werden.
  • Weiterhin werden in dem vorstehend beschriebenen Journal-Erzeugungsprozess Journale in der Speichervorrichtung 150 gespeichert (mit anderen Worten im logischen Journal-Datenträger 230JA), es ist jedoch auch möglich, Cache-Speicher 130 mit einer vorgeschriebenen Größe für das Speichern der Journale vorab zu präparieren und die Journale dann in einer Speichervorrichtung 150 zu speichern, wenn alle Cache-Speicher verwendet worden sind. Der Datenträger des Cache-Speichers für die Journale kann auch beispielsweise über einen SVP 281 spezifiziert werden.
  • Ferner ist der Lese-/Schreibprozess 220 ein durch den DKA 120 ansprechend auf einen durch den DKA 120 von einem CHA 110 oder einem anderen DKA 120 empfangenen Befehl implementierter Prozess. Genauer gesagt, ist der Lese-/Schreibprozess 220 beispielsweise ein Prozess, durch den die Daten in einem festgelegten Cache-Speicher 130 in den Speicherbereich der Speichervorrichtung 150, entsprechend einer festgelegten logischen Adresse, geschrieben werden, oder ein Prozess, durch den Daten aus dem Speicherbereich in der Speichervorrichtung 150, entsprechend einer festgelegten logischen Adresse, in einen festgelegten Cache-Speicher 130 ausgelesen werden. Der Lese-/Schreibprozess 220 kann beispielsweise durch die CPU in dem DKA 120 ausgeführt werden, die ein bestimmtes Computerprogramm ausliest.
  • 14 ist ein Diagramm zum Beschreiben des Betriebs des Host-CHAs 110A des ersten Speichersystems 100A, das einen Journal-Lesebefehl empfangen hat (nämlich zum Beschreiben eines Journal-Leseempfangsprozesses), und 15 ist ein Flussdiagramm eines Journal-Leseempfangsprozesses. Nachstehend wird ein Vorgang, bei dem das erste Speichersystem 100A einen Journal-Lesebefehl vom zweiten Speichersystem 100B empfängt, mit Bezug auf die 14 und 15 beschrieben. In der folgenden Beschreibung werden der System-CHA 110B in dem ersten Speichersystem 100A als "System-CHA 110BP" bezeichnet und der System-CHA 110B in dem zweiten Speichersystem 100B als "System-CHA 110BS" bezeichnet.
    • (1) Der System-CHA 110BP empfängt einen Zugriffsbefehl vom System-CHA 110BS. Der Zugriffsbefehl enthält einen Identifizierer zum Angeben, dass es sich um einen Journal-Lesebefehl handelt, eine Gruppennummer, die sich auf den Befehl bezieht, und einen Indikator, der das Vorhandensein oder Nichtvorhandensein einer Neuversuchsanweisung angibt. Nachstehend wird die Gruppennummer in dem Zugriffsbefehl als die Gruppennummer A angenommen (Schritt 1220; 1410 in 14).
    • (2) Der System-CHA 110BP bezieht sich auf die Gruppeninformationen 600 und untersucht, ob der Gruppenstatus für die Gruppennummer A "normal" ist (Schritt 1510). Falls der Gruppenstatus in Schritt 1510 ein anderer Status als "normal", beispielsweise "Problem" ist, teilt der System-CHA 110BP den Gruppenstatus dem System-CHA 110BS mit und beendet die Verarbeitung. Der System-CHA 110BS führt die Verarbeitung entsprechend dem so empfangenen Gruppenstatus aus. Falls der Gruppenstatus beispielsweise "Problem" ist, beendet der System-CHA 110BS den Journal-Leseprozess (Schritt 1515).
    • (3) Falls der Gruppenstatus der Gruppennummer A bei der Untersuchung in Schritt 1510 "normal" ist, untersucht der System-CHA 110BP den Status des logischen Journal-Datenträgers (Schritt 1520). Falls der Datenträgerstatus des logischen Journal-Datenträgers bei der Untersuchung in Schritt 1520 nicht "normal" ist, falls der Status beispielsweise "Problem" ist, ändert der System-CHA 110BP den Gruppenstatus zu "Problem", teilt den geänderten Gruppenstatus dem System-CHA 110BS mit und beendet die Verarbeitung. Der System-CHA 110BS führt die Verarbeitung entsprechend dem so empfangenen Gruppenstatus aus. Falls der Gruppenstatus beispielsweise "Problem" ist, beendet der System-CHA 110BS den Journal-Leseprozess (Schritt 1525).
    • (4) Falls bei der Untersuchung in Schritt 1520 herausgefunden wird, dass der Datenträgerstatus des logischen Journal-Datenträgers "normal" ist, untersucht der System-CHA 110BP, ob der Journal-Lesebefehl eine Neuversuchsanweisung ist (Schritt 1530).
    • (5) Falls bei der Untersuchung in Schritt 1530 herausgefunden wird, dass der Journal-Lesebefehl eine Neuversuchsanweisung ist, sendet der System-CHA 110BP das zuvor übertragene Journal wieder zum zweiten Speichersystem 100B. Der System-CHA 110BP reserviert den Cache-Speicher 130 und weist den DKA 120 an, der Größe der Aktualisierungs informationen entsprechende Informationen, beginnend mit der Neuversuchs-Anfangsadresse, die in den Zeigerinformationen 700 angegeben ist, in den Cache-Speicher zu schreiben (1420 in 14).
  • Der Lese-/Schreibprozess 220 in dem DKA 120 (beispielsweise ein in die CPU des DKAs 120 gelesenes Computerprogramm) liest die Aktualisierungsinformationen aus der Speichervorrichtung 150 (mit anderen Worten dem logischen Journal-Datenträger 230JA) ein, speichert diese Informationen im Cache-Speicher 130 und teilt das Ende des Leseprozesses dem System-CHA 110BP mit, von dem der Befehl ausgegangen ist (1430 in 14).
  • Der System-CHA 110BP empfängt die Mitteilung, welche das Ende des Aktualisierungsinformations-Leseprozesses angibt, erfasst die logische Adresse der Schreibdaten und die Größe der Schreibdaten und reserviert dann einen Cache-Speicher 130 und befiehlt dem DKA 120, die Schreibdaten, beginnend mit der wie vorstehend beschrieben erfassten logischen Adresse, in den reservierten Cache-Speicher 130 zu schreiben (Schritt 1540; 1440 in 14).
  • Durch den Lese-/Schreibprozess 220 liest der DKA 120 die Schreibdaten aus der Speichervorrichtung 150 ein (insbesondere die festgelegte logische Adresse), speichert die Schreibdaten im reservierten Cache-Speicher 130 und teilt das Ende des Leseprozesses dem System-CHA 110BP mit, von dem der Befehl ausgegangen ist (1450 in 14).
  • Der System-CHA 110BP empfängt die Mitteilung, die das Ende des Schreibdaten-Leseprozesses angibt, sendet die Aktualisierungsinformationen und die Schreibdaten zum zweiten Speichersystem 100B, gibt den das Journal enthaltenden Cache-Speicher 130 frei und beendet dann die Verarbeitung (Schritt 1545; 1460 in 14).
    • (6) Falls bei der Untersuchung in Schritt 1530 herausgefunden wird, dass der Befehl keine Neuversuchsanweisung ist, untersucht der System-CHA 110BP, ob es ein Journal gibt, das nicht gesendet wurde, und sendet, falls dies der Fall ist, dieses Journal zum zweiten Speichersystem 100B. Der System-CHA 110BP vergleicht die Lesebeginnadresse in den Zeigerinformationen 700 mit der Neueste-Aktualisierungsinformations-Adresse (Schritt 1550).
  • Falls die Lesebeginnadresse gleich der Neueste-Aktualisierungsinformations-Adresse ist, bedeutet dies, dass alle Journale zum zweiten Speichersystem 100B gesendet worden sind, und der System-CHA 110BP sendet daher eine "keine Journale"-Nachricht zum zweiten Speichersystem 100B (Schritt 1560), und wenn der nächste Journallesebefehl empfangen wird, gibt er den Speicherbereich der Journale, die zum zweiten Speichersystem 100B gesendet worden sind, frei (Schritt 1590).
  • In dem Prozess zum Freigeben des Journal-Speicherbereichs setzt der System-CHA 110BP die Neuversuchs-Anfangsadresse auf die Älteste-Aktualisierungsinformations-Adresse in den Zeigerinformationen 700. Falls die Älteste-Aktualisierungsinformations-Adresse die Kopfadresse des Schreibdatenbereichs erreicht hat, setzt der System-CHA 110BP die Älteste-Aktualisierungsinformations-Adresse auf Null. Der System-CHA 110BP ändert die Älteste-Schreibdaten-Adresse in den Zeigerinformationen 700 auf den existierenden Wert plus der Größe der entsprechend dem vorhergehenden Journal-Lesebefehl gesendeten Schreibdaten. Falls die Älteste-Schreibdaten-Adresse eine logische Adresse erreicht hat, die gleich der Kapazität des logischen Journal-Datenträgers ist oder diese übersteigt, korrigiert der System-CHA 110BP die Adresse durch Subtrahieren der Kopfadresse des Schreibdatenbereichs.
    • (7) Falls es in Schritt 1550 ein Journal gibt, das nicht gesendet wurde, reserviert der System-CHA 110BP einen Cache-Speicher 130 und befiehlt dem DKA 120, die Aktualisierungsinformationen von der Lesebeginnadresse in den Zeigerinformationen 700 zu dem so reservierten Cache-Speicher 130 zu schreiben (mit anderen Worten Informationen der vorgeschriebenen Größe von der Lesebeginnadresse auszulesen) (1420 in 14).
  • Durch Ausführen eines Lese-/Schreibprozesses 220 ansprechend auf diesen Befehl liest der DKA 120 die Aktualisierungsinformationen aus der Speichervorrichtung 150 (mit anderen Worten dem logischen Journal-Datenträger 230JA) ein, speichert diese Informationen im Cache-Speicher 130 und teilt das Ende des Leseprozesses dem System-CHA 110BP mit, von dem der Befehl ausgegangen ist (1430 in 14).
  • Der System-CHA 110BP empfängt die Mitteilung, die das Ende des Aktualisierungsinformations-Leseprozesses angibt, erfasst die logische Adresse der Schreibdaten und die Größe der Schreibdaten anhand der ausgelesenen Aktualisierungsinformationen und reserviert dann einen Cache-Speicher 130 und weist den DKA 120 an, Schreibdaten mit der erfassten Datengröße von der erfassten logischen Adresse in den reservierten Cache-Speicher 130 einzulesen (Schritt 1570; 1440 in 14).
  • Durch den Lese-/Schreibprozess 220 liest der DKA 120 die Schreibdaten aus der Speichervorrichtung 150 (insbesondere die festgelegte logische Adresse des logischen Journal-Datenträgers 230JA) entsprechend diesem Befehl ein, speichert die Schreibdaten im reservierten Cache-Speicher 130 und teilt das Ende des Leseprozesses dem System-CHA 110BP mit (1450 in 14).
  • Das System-CHA 110BP empfängt die Mitteilung, die das Ende des Schreibdaten-Leseprozesses angibt, sendet die Aktualisierungsinformationen und die Schreibdaten zum zweiten Speichersystem 100B (Schritt 1580) und gibt den Cache-Speicher 130 frei, der das Journal enthält (1460 in 14). Der System-CHA 110BP legt dann die Lesebeginnadresse als die Neuversuchs-Anfangsadresse in den Zeigerinformationen 700 fest und legt einen durch Addieren der Lesebeginnadresse zu der Aktualisierungsinformationsgröße des gesendeten Journals erhaltenen Wert als die neue Lesebeginnadresse in den Zeigerinformationen 700 fest.
    • (8) Wenn der vorhergehende Journal-Lesebefehl verarbeitet wurde, gibt der System-CHA 110BP den Speicher bereich der Journale frei, die zum zweiten Speichersystem 100B gesendet worden sind (Schritt 1590).
  • Die vorstehende Beschreibung bezog sich auf die 14 bis 15. Bei dem vorstehend beschriebenen Journal-Leseempfangsprozess hat das erste Speichersystem 100A die Journale einzeln nacheinander zu dem zweiten Speichersystem 100B übertragen, es ist jedoch auch möglich, mehrere Journale gleichzeitig zu dem zweiten Speichersystem 100B zu senden. Die Anzahl der Journale, die durch einen Journal-Lesebefehl gesendet werden können, kann durch das zweite Speichersystem 100B im Journal-Lesebefehl spezifiziert werden, oder sie kann durch den Benutzer zu einer vorgeschriebenen Zeit, beispielsweise wenn die Gruppe registriert wird, für das erste Speichersystem 100A oder das zweite Speichersystem 100B spezifiziert werden. Weiterhin ist es auch möglich, dass das erste Speichersystem 100A oder das zweite Speichersystem 100B die Anzahl der durch einen einzigen Journal-Lesebefehl gesendeten Journale in dynamischer Weise, abhängig von der Übertragungskapazität, der Belastung oder dergleichen des Verbindungswegs 200 zwischen dem ersten Speichersystem 100A und dem zweiten Speichersystem 100B ändert. Überdies kann das Journal-Übertragungsvolumen an Stelle der Anzahl der Journale spezifiziert werden, indem die Größe der Schreibdaten in den Journalen berücksichtigt wird. Dieses Übertragungsvolumen kann auch dynamisch geändert werden.
  • Überdies werden bei dem vorstehend beschriebenen Journal-Leseempfangsprozess die Journale von der Speichervorrichtung 150 in den Cache-Speicher 130 eingelesen, falls sie sich jedoch im Cache-Speicher 130 befinden, braucht die vorstehend erwähnte Verarbeitung nicht ausgeführt zu werden.
  • Weiterhin wurde beschrieben, dass der Prozess zum Freigeben des Speicherbereichs des Journals beim Journal-Leseempfangsprozess implementiert wird, wenn der nächste Journal-Lesebefehl verarbeitet wird, er kann jedoch auch implementiert werden, unmittelbar nachdem die Journale zum zweiten Speichersystem 100B gesendet worden sind. Überdies kann das zweite Speichersystem 100B eine Aktualisierungsnummer festlegen, bei der der Speicherbereich in dem Journal-Lesebefehl freigegeben werden kann, wobei das erste Speichersystem 100A den Journal-Speicherbereich entsprechend dieser Anweisung freigibt.
  • 16 zeigt die Sequenz eines Journal-Lesebefehlsprozesses 240, und 17 ist ein Flussdiagramm eines Journal-Lesebefehlsprozesses 240. 18 ist ein Flussdiagramm eines Journal-Speicherprozesses. Nachstehend wird ein Vorgang beschrieben, bei dem der System-CHA 110BS des zweiten Speichersystems 100B ein Journal aus dem ersten Speichersystem 100A ausliest und dieses Journal in einem logischen Journal-Datenträger im zweiten Speichersystem 100B (nachstehend als "logischer Journal-Datenträger 230JB" bezeichnet) speichert. Überdies wird in 16 der Journal-Lesebefehlsprozess 240 als "JNLRD-Prozess 240" bezeichnet.
    • (1) Der System-CHA 110BS reserviert den Cache-Speicher 130 zum Speichern des Journals und erzeugt einen Zugriffsbefehl, der einen Identifizierer, welcher angibt, dass es sich um einen Journal-Lesebefehl handelt, die Gruppennummer in dem ersten Speichersystem 100A, die sich auf diesen Befehl bezieht, und einen Indikator, der zeigt, ob es sich um eine Neuversuchsanweisung handelt, enthält. Der System-CHA 110BS sendet diesen Zugriffsbefehl zum ersten Speichersystem 100A. Nachstehend wird die Gruppennummer in dem Zugriffsbefehl als die Gruppennummer A angenommen (Schritt 1700; 1610 in 16). Die Gruppennummer A kann beispielsweise erfasst werden, indem der System-CHA 110BS auf die Gruppeninformationen 600, die Weginformationen 500 oder dergleichen, die im zweiten Speichersystem 100B enthalten sind, Bezug nimmt, die erste logische Datenträgernummer identifiziert, die der zweiten logischen Datenträgernummer entspricht, die in der Gruppennummer enthalten ist, zu der der logische Journal-Datenträger 230JB gehört, und dann beim ersten Speichersystem 100A eine Anfrage in Bezug auf die Gruppennummer, zu der die identifizierte erste logische Datenträgernummer gehört, vornimmt.
    • (2) Der System-CHA 110BS empfängt eine Antwort und ein Journal vom ersten Speichersystem 100A (1620 in 16). Der System-CHA 110BS untersucht die so empfangene Antwort, und falls die Antwort "keine Journale" ist, bedeutet dies, dass es in der Gruppe des ersten Speichersystems 100A, die der festgelegten Gruppennummer A entspricht, keine Journale gibt. Daher sendet der System-CHA 110BS nach Ablauf eines vorgeschriebenen Zeitraums einen Journal-Lesebefehl zum ersten Speichersystem 100A (Schritte 1720 und 1725).
    • (4) Falls die Antwort des ersten Speichersystems 100A" Gruppenstatus gibt abnorm an" oder "Gruppenstatus gibt nicht verwendet an" ist, ändert der System-CHA 110BS den Gruppenstatus im zweiten Speichersystem 100B (den Gruppenstatus der Gruppe, zu der der logische Journal-Datenträger 230JB gehört) zu dem so empfangenen Status und beendet dann den Journal-Leseprozess (Schritte 1730 und 1735).
    • (5) Falls die Antwort des ersten Speichersystems 100A eine andere Antwort als die vorstehend erwähnte ist, falls sie mit anderen Worten eine normale Beendigung angibt, bezieht sich der System-CHA 110BS auf die Datenträgerinformationen 400 und untersucht den Datenträgerstatus des logischen Journal-Datenträgers 230JB (Schritt 1740). Falls der Datenträgerstatus des logischen Journal-Datenträgers 230JB "abnorm" ist, bedeutet dies, dass das Journal nicht in dem logischen Journal-Datenträger 230JB gespeichert werden kann, weshalb der System-CHA 110BS den Gruppenstatus, der der Gruppe entspricht, zu der der logische Journal-Datenträger 230JB gehört, zu "abnorm" ändert und den Prozess dann beendet (Schritt 1745). In diesem Fall kann der System-CHA 110BS beispielsweise die Verarbeitung zum Ändern des logischen Journal-Datenträgers zu einem normalen logischen Datenträger ausführen und den Gruppenstatus zu "normal" zurücksetzen.
    • (6) Falls bei der Untersuchung in Schritt 1740 herausgefunden wird, dass der Datenträgerstatus des logischen Journal-Datenträgers "normal" ist, führt der System-CHA 110BS die Journal-Speicherverarbeitung 1800 wie nachstehend beschrieben aus. Falls der Journal-Speicherprozess 1800 normal endet, sendet der System-CHA 110BS den nächsten Journal-Lesebefehl (Schritt 1760). Stattdessen ist es auch möglich, dass der System-CHA 110BS den nächsten Journal-Lesebefehl erzeugt und sendet, wenn ein bestimmter Zeitraum nach der normalen Beendigung des Journal-Speicherprozesses 1800 verstrichen ist. Der System-CHA 110BS kann anschließend Journal-Befehle in periodischer Weise, in vorgeschriebenen Zeitintervallen senden oder alternativ die Zeit für das Senden des nächsten Journal-Befehls auf der Grundlage der Anzahl der empfangenen Journale, des Übertragungsvolumens in dem Verbindungsweg 200 und der Speicherkapazität des im zweiten Speichersystem 100B enthaltenen logischen Journal-Datenträgers oder der Belastung des zweiten Speichersystems 100B oder dergleichen oder auf der Grundlage der im ersten Speichersystem 100A enthaltenen Journal-Speicherkapazität (oder der Zeigerinformationen 700 des ersten Speichersystems 100A), die vom ersten Speichersystem 100A erfasst wurde, festlegen. Die erwähnte Informationsübertragung kann durch einen Spezialbefehl implementiert werden, oder sie kann in eine Antwort auf den Journal-Lesebefehl aufgenommen werden. Die anschließende Verarbeitung gleicht derjenigen von Schritt 1710 an.
    • (7) Falls der Journal-Speicherprozess in Schritt 1800 nicht normal endet, bedeutet dies, dass es ungenügend freien Platz im logischen Journal-Datenträger gibt, weshalb der System-CHA 110BS das empfangene Journal verwirft und einen Journal-Lesebefehl, der eine Neuversuchsanweisung angibt, sendet, wenn ein vorgeschriebener Zeitraum verstrichen ist (Schritt 1755). Alternativ kann der System-CHA 110BS das Journal in einem Cache-Speicher 230 halten und die Journal-Speicherverarbeitung wieder ausführen, wenn ein vorgeschriebener Zeitraum verstrichen ist. Dies liegt daran, dass es eine Möglichkeit gibt, dass der nicht verwendete Platz in dem logischen Journal-Datenträger zugenommen hat, wenn der vorgeschriebene Zeitraum verstrichen ist, weil ein Umspeicher- Prozess 250 (nachstehend beschrieben) implementiert wurde. Im Fall dieses Verfahrens braucht ein Indikator, der zeigt, ob der Befehl eine Neuversuchsanweisung ist, nicht in den Journal-Lesebefehl aufgenommen zu werden.
  • Als nächstes wird der in 18 dargestellte Journal-Speicherprozess 1800 beschrieben.
    • (1) Der System-CHA 110BS untersucht, ob ein Journal in dem logischen Journal-Datenträger 230JB gespeichert werden kann. Insbesondere untersucht der System-CHA 110BS unter Verwendung der im zweiten Speichersystem 100B enthaltenen Zeigerinformationen 700, ob es in dem Aktualisierungsinformationsbereich nicht verwendeten Platz gibt (Schritt 1810). Falls die Neueste-Aktualisierungsinformations-Adresse und die Älteste-Aktualisierungsinformations-Adresse in den Zeigerinformationen 700 gleich sind, bedeutet dies, dass in dem Aktualisierungsinformationsbereich kein ungenutzter Platz vorhanden ist, und der System-CHA 110BS beendet daher den Prozess als "es ist nicht gelungen, ein Journal zu erzeugen" (Schritt 1820).
    • (2) Falls bei der Untersuchung in Schritt 1810 in dem Aktualisierungsinformationsbereich ein nicht verwendeter Platz vorhanden ist, untersucht der System-CHA 110BS auf der Grundlage der Zeigerinformationen 700, ob es möglich ist, Schreibdaten in dem Schreibdatenbereich zu speichern (Schritt 1830). Falls die Summe aus der Neueste-Schreibdaten-Adresse und dem Datenträger der Schreibdaten größer oder gleich der Älteste-Schreibdaten-Adresse ist, bedeutet dies, dass die Schreibdaten nicht im Schreibdatenbereich gespeichert werden können, weshalb der System-CHA 110BS den Prozess als "es ist nicht gelungen, ein Journal zu erzeugen" beendet (Schritt 1820).
    • (3) Falls das Journal gespeichert werden kann, ändert der System-CHA 110BS die in den Aktualisierungsinformationen des Journals, die durch den Journal-Leseprozess 240 empfangen wurden, enthaltene Gruppennummer und die logische Adresse für die Schreibdaten in dem logischen Journal-Datenträger (nachstehend als "Journal-Schreibdatenadresse" bezeichnet). Insbesondere ändert der System-CHA 110BS die Gruppennummer in den Aktualisierungsinformationen zu der Gruppennummer des zweiten Speichersystems 100B (die Gruppennummer der Gruppe, zu der der logische Journal-Datenträger 230JB gehört) und ändert die Journal-Schreibdatenadresse in den Aktualisierungsinformationen zu der Neueste-Schreibdaten-Adresse in den vom zweiten Speichersystem 100B bereitgestellten Zeigerinformationen 700. Der System-CHA 110BS ändert die Neueste-Aktualisierungsinformations-Adresse in den Zeigerinformationen 700 zu dem Wert der existierenden Neueste-Aktualisierungsinformations-Adresse plus der Größe der Aktualisierungsinformationen. Der System-CHA 110BS ändert auch die Neueste-Schreibdaten-Adresse in den Zeigerinformationen 700 zu dem Wert der existierenden Neueste-Schreibdaten-Adresse plus der Größe der Schreibdaten (Schritt 1840).
    • (4) Der System-CHA 110BS reserviert den Cache-Speicher 130, speichert die Aktualisierungsinformationen und die Schreibdaten im reservierten Cache-Speicher 130, weist den DKA 120 an, die Aktualisierungsinformationen und die Schreibdaten in eine Speichervorrichtung 150 (mit anderen Worten in den logischen Journal-Datenträger 230JB) zu schreiben, und beendet dann den Prozess als "Journal erfolgreich erzeugt" (Schritt 1850; 1630 in 16). Danach schreibt der DKA 120 durch den Lese-/Schreibprozess 220 die im Cache-Speicher 130 gespeicherten Aktualisierungsinformationen und die Schreibdaten in die Speichervorrichtung 150 und gibt dann den Cache-Speicher 130 frei, der reserviert wurde (1640 in 16).
  • Überdies werden in dem vorstehend beschriebenen Journal-Speicherprozess Journale in der Speichervorrichtung 150 gespeichert, es ist jedoch auch möglich, Cache-Speicher 130 mit einer vorgeschriebenen Größe für das Speichern der Journale vorab zu präparieren und dann die Journale von allen Cache-Speichern in einer Speichervorrichtung 150 zu speichern, wenn alle Cache-Speicher verwendet worden sind. Der für die Journale verwendete Cache-Speicherdatenträger kann beispielsweise auch durch einen SVP 281 spezifiziert werden.
  • 19 ist ein Diagramm zum Beschreiben eines Umspeicherprozesses 250, und 20 ist ein Flussdiagramm dieses Umspeicherprozesses 250. Nachstehend wird ein Vorgang, bei dem der Host-CHA 110A des zweiten Speichersystems 100B Daten unter Verwendung eines Journals aktualisiert, mit Bezug auf die 19 und 20 beschrieben. Der Umspeicherprozess 250 kann durch einen getrennten CHA 110 (beispielsweise den System-CHA 110BS) oder durch den DKA 120 des zweiten Speichersystems 100B ausgeführt werden.
    • (1) Der Host-CHA 110A bezieht sich auf die Gruppeninformationen 600 und untersucht, ob der Gruppenstatus der aus mehreren Gruppennummern ausgewählten Gruppennummer "normal" ist (Schritt 2010). Falls bei der Untersuchung in Schritt 2010 herausgefunden wird, dass der Gruppenstatus ein von "normal" verschiedener Status, beispielsweise "Problem", ist, beendet der Host-CHA 110A den Umspeicherprozess 250 (Schritt 2015).
    • (2) Falls in Schritt 2010 herausgefunden wird, dass der Gruppenstatus "normal" ist, bezieht sich der Host-CHA 110A auf die Gruppeninformationen 600, die Datenträgerinformationen 400 und dergleichen und untersucht den Datenträgerstatus entsprechend der zur ausgewählten Gruppennummer gehörenden logischen Journal-Datenträgernummer (Schritt 2020). Falls bei der Untersuchung in Schritt 2020 herausgefunden wird, dass der Datenträgerstatus des logischen Journal-Datenträgers 230JB "abnorm" ist, bedeutet dies, dass auf den logischen Datenträger nicht zugegriffen werden kann, weshalb der Host-CHA 110A den Gruppenstatus, der der ausgewählten Gruppennummer entspricht, zu "abnorm" ändert und die Verarbeitung beendet (Schritt 2025).
    • (3) Falls in Schritt 2020 herausgefunden wird, dass der Datenträgerstatus des logischen Journal-Datenträgers 230JB "normal" ist, untersucht der Host-CHA 110A, ob ein Journal existiert, das umzuspeichern ist. Insbesondere erfasst der Host-CHA 110A die Älteste-Aktualisierungsinformations-Adresse und die Neueste-Aktualisierungsinformations-Adresse in den Zeigerinformationen 700 und vergleicht diese Adressen. Falls die Älteste-Aktualisierungsinformations-Adresse und die Neueste-Aktualisierungsinformations-Adresse gleich sind, bedeutet dies, dass kein Journal vorhanden ist, weshalb der Host-CHA 110A den Umspeicherprozess vorübergehend beendet und ihn neu einleitet, sobald ein vorgeschriebener Zeitraum verstrichen ist (Schritt 2030).
    • (4) Falls ein Journal als Ergebnis der Untersuchung in Schritt 2030 umzuspeichern ist, führt der Host-CHA 110A die folgende Verarbeitung in Bezug auf das Journal, das die älteste (kleinste) Aktualisierungsnummer aufweist, aus. Die Aktualisierungsinformationen in dem Journal mit der ältesten (kleinsten) Aktualisierungsnummer werden, beginnend mit der Älteste-Aktualisierungsinformations-Adresse, die in den Zeigerinformationen 700 angegeben ist, gespeichert. Der Host-CHA 110A reserviert einen Cache-Speicher 130 und weist den DKA 120 an, Informationen, die der Größe der Aktualisierungsinformationen entsprechen (mit anderen Worten die Aktualisierungsinformationen selbst), aus der Älteste-Aktualisierungsinformations-Adresse in den Cache-Speicher 130 zu lesen (1910 in 19).
  • Der durch den DKA 120 ausgeführte Lese-/Schreibprozess 220 beinhaltet das Lesen der Aktualisierungsinformationen aus der Speichervorrichtung 150 (mit anderen Worten dem logischen Journal-Datenträger 230JB), das Speichern dieser Aktualisierungsinformationen in einem reservierten Cache-Speicher 130 und das anschließende Mitteilen des Abschlusses des Lesevorgangs zu dem Host-CHA 110 (1920 in 19).
  • Der Host-CHA 110A empfängt die Mitteilung, die den Abschluss des Aktualisierungsinformations-Leseprozesses angibt, erfasst die logische Adresse der Schreibdaten und die Größe der Schreibdaten und reserviert dann einen Cache-Speicher 130 und weist den DKA 120 an, dieser Datengröße entsprechende Daten (mit anderen Worten einen Teil der Schreibdaten) von der erfassten logischen Adresse in den Cache-Speicher 130 zu lesen (1930 in 19).
  • Der von dem DKA 120 ausgeführte Lese-/Schreibprozess 220 beinhaltet das Lesen der Schreibdaten aus der Speichervorrichtung 150 (mit anderen Worten aus der festgelegten logischen Adresse), das Speichern dieser Schreibdaten im Cache-Speicher 130 und das anschließende Mitteilen des Abschlusses des Lesevorgangs zum Host-CHA 110 (Schritt 2040; 1940 in 19).
    • (5) Der Host-CHA 110A legt die zu aktualisierende logische Adresse des zweiten logischen Datenträgers (mit anderen Worten die logische Adresse des Schreibbefehls (siehe 21)) anhand der Aktualisierungsinformationen fest und weist den DKA 120 an, die Schreibdaten an die durch diese logische Adresse identifizierte Adresse des zweiten logischen Datenträgers 230SB zu schreiben (Schritt 2050; 1950 in 19). Der durch den DKA 120 ausgeführte Lese-/Schreibprozess 220 beinhaltet das Schreiben der im Cache-Speicher 130 gespeicherten Schreibdaten in den Speicherbereich der Speichervorrichtung 150, der der logischen Adresse im zweiten logischen Datenträger (der logischen Adresse des Schreibbefehls) entspricht, und das anschließende Freigeben des Cache-Speichers 130 und das Mitteilen des Abschlusses des Schreibvorgangs zum Host-CHA 110A (1960 in 19).
    • (6) Der Host-CHA 110A empfängt die Schreibprozess-Abschlussmitteilung und gibt den Journal-Speicherbereich frei. In dem Prozess zum Freigeben des Journal-Speicherbereichs ändert der Host-CHA 110A die Älteste-Aktualisierungsinformations-Adresse in den Zeigerinformationen 700, die im zweiten Speichersystem 100B bereitgestellt sind, zu einem Wert, der gleich der aktuellen Älteste-Aktualisierungsinformations-Adresse plus der Aktualisierungsinformationsgröße ist. Falls die Älteste-Aktualisierungsinformations-Adresse die Kopfadresse des Schreibdatenbereichs erreicht hat, setzt der Host-CHA 110A die Kopfadresse des Schreibdatenbereichs auf 0. Der Host-CHA 110A ändert die Älteste-Schreibdaten-Adresse in den Zeigerinformationen 700 zu einem Wert, der gleich der existierenden Älteste-Schreibdaten-Adresse plus der Größe der Schreibdaten, die geschrieben worden sind, ist. Falls die Älteste-Schreibdaten-Adresse eine logische Adresse erreicht hat, die gleich der Kapazität des logischen Journal-Datenträgers ist oder diese übersteigt, korrigiert der Host-CHA 110A die Adresse durch Subtrahieren der Kopfadresse des Schreibdatenbereichs. Anschließend leitet der Host-CHA 110A den nächsten Umspeicherprozess ein (Schritt 2060).
  • Die vorstehende Beschreibung bezog sich auf die 19 bis 20. Überdies werden bei dem vorstehend beschriebenen Umspeicherprozess 250 die Journale aus der Speichervorrichtung 150 in den Cache-Speicher 130 eingelesen, falls sie sich jedoch im Cache-Speicher 130 befinden, braucht die vorstehend erwähnte Verarbeitung nicht ausgeführt zu werden.
  • Überdies wird in dem Journal-Leseempfangsprozess und dem Journal-Lesebefehlsprozess 240, die vorstehend beschrieben wurden, das zu sendende Journal entsprechend den Zeigerinformationen 700 durch das erste Speichersystem 100A festgelegt, das zu sendende Journal kann jedoch auch durch das zweite Speichersystem 100B festgelegt werden. Beispielsweise addiert der System-CHA 110BS eine Aktualisierungsnummer zu dem Journal-Lesebefehl. In diesem Fall kann, damit der den Journal-Lesebefehl empfangende System-CHA 110BP die logische Adresse der Aktualisierungsinformationen mit der vom zweiten Speichersystem 100B festgelegten Aktualisierungsnummer bestimmen kann, in dem Journal-Leseempfangsprozess eine Tabelle oder ein Index in dem geteilt verwendeten Speicher 140 des ersten Speichersystems 100A bereitgestellt werden, um auf der Grundlage der Aktualisierungsnummer die logische Adresse zu bestimmen, an der die Aktualisierungsinformationen gespeichert werden.
  • Überdies wurde in dem Journal-Leseempfangsprozess und dem Journal-Lesebefehlsprozess 240, die vorstehend beschrieben wurden, ein Journal-Lesebefehl verwendet, es ist jedoch auch möglich, einen normalen Lesebefehl zu verwenden. Beispielsweise können die Gruppeninformationen 600 und die Zeigerinformationen 700 in dem ersten Speichersystem 100A zuvor zum zweiten Speichersystem 100B übertragen werden, und das zweite Speichersystem 100B kann dann die Daten im logischen Journal-Datenträger des ersten Speichersystems 100A (mit anderen Worten das Journal) lesen.
  • Überdies werden in dem vorstehend beschriebenen Journal-Leseempfangsprozess die Journale in der Reihenfolge ihrer Aktualisierungsnummern vom ersten Speichersystem 100A zum zweiten Speichersystem 100B gesendet, sie brauchen jedoch nicht in der Reihenfolge der Aktualisierungsnummern gesendet zu werden. Überdies ist es auch möglich, dass mehrere Journal-Lesebefehle vom ersten Speichersystem 100A zum zweiten Speichersystem 100B gesendet werden. In diesem Fall kann zum Verarbeiten der Journale in der Reihenfolge der Aktualisierungsnummer beim Umspeicherprozess eine Tabelle oder ein Index im zweiten Speichersystem 100B bereitgestellt werden, so dass die logische Adresse, an der, die Aktualisierungsinformationen gespeichert werden, anhand der Aktualisierungsnummer bestimmt werden kann.
  • In dem vorstehend beschriebenen Datenverarbeitungssystem 1 erzeugt das erste Speichersystem 100A Journale und überträgt diese Journale zum zweiten Speichersystem 100B, und das zweite Speichersystem 100B kopiert Daten auf der Grundlage der Journale, die es vom ersten Speichersystem 100A empfängt. Auf diese Weise wird der mit dem ersten Speichersystem 100A verbundene Host-Computer 180 nicht durch den Datenkopierprozess belastet, weshalb der Verbindungsweg 190 zwischen dem ersten Speichersystem 100A und dem Host-Computer 180 nicht verwendet zu werden braucht.
  • Vorstehend wurde ein Implementationsmodus beschrieben, der sich auf die grundlegende Datenverarbeitung unter Verwendung von Journalen bezog. Nachstehend werden mehrere Ausführungsformen beschrieben, die sich auf die Anwendung der Datenverarbeitung unter Verwendung von Journalen beziehen.
  • (Ausführungsform 1)
  • 23 zeigt einen Überblick über ein Beispiel des Aufbaus eines Datenverarbeitungssystems, das sich auf eine erste Ausführungsform eines Modus zum Implementieren der vorliegenden Erfindung bezieht. Die folgende Beschreibung konzentriert sich in erster Linie auf die Unterschiede in Bezug auf den vorstehend erwähnten Implementationsmodus, und Punkte, die mit dem vorstehend erwähnten Implementationsmodus übereinstimmen, werden kurz erklärt oder aus dieser Beschreibung fortgelassen. Überdies sind in der folgenden Beschreibung die Bezugszahl 101A an das Steueruntersystem des ersten Speichersystems 100A angehängt und die Bezugszahl 101B an jenes des zweiten Speichersystems 100B angehängt. Überdies enthalten die Datenträgerinformationen, Weginformationen, Gruppeninformationen und Zeigerinformationen, die im ersten Speichersystem 100A bereitgestellt sind, Informationen, die sich auf das erste Speichersystem 100A beziehen, und es ist das Suffix A an sie angehängt. Mindestens eine von den Datenträgerinformationen 400A, den Weginformationen 500A, den Gruppeninformationen 600A und den Zeigerinformationen 700A kann sich im Steueruntersystem 101B befinden, und es kann sich ähnlich mindestens eine von den Datenträgerinformationen 400B, den Weginformationen 500B, den Gruppeninformationen 600B und den Zeigerinformationen 700B im Steueruntersystem 101A befinden. Falls überdies in diesem Fall eines der Informationselemente aktualisiert wird (beispielsweise die Weginformationen 500A), können sich die aktualisierten Inhalte durch den Verbindungsweg 200 in den gleichen Informationen (beispielsweise den Weginformationen 500A) widerspiegeln, die im anderen Steueruntersystem enthalten sind. Weiterhin enthalten die Datenträgerinformationen, die Weginformationen, die Gruppeninformationen und die Zeigerinformationen, die im zweiten Speichersystem 100B bereitgestellt sind, Informationen, die sich auf das zweite Speichersystem 100B beziehen, und es ist das Suffix B an sie angehängt. In 23 gibt das Symbol "#" in einem logischen Datenträger die logische Datenträgernummer an. Weiterhin ist das Referenzsymbol "P" an den ersten logischen Datenträger (als "P-VOL" dargestellt) angehängt, das Referenzsymbol "S" an den zweiten logischen Datenträger (als "S-VOL" dargestellt) angehängt, das Referenzsymbol "A" an die logischen Journal-Datenträger im ersten Speichersystem 100A (als "JNLVOL" dargestellt) angehängt und das Referenzsymbol "B" an die logischen Journal-Datenträger im zweiten Speichersystem 100B angehängt. Nachstehend wird, wenn auf einen logischen Datenträger Bezug genommen wird, um die Beschreibung leichter verständlich zu machen, eine Kombination des an den logischen Datenträger angehängten Symbols # und des vorstehend erwähnten Referenzsymbols an Stelle von Bezugszahlen, wie "230", verwendet.
  • Mehrere logische Journal-Datenträger, beispielsweise drei logische Journal-Datenträger #1A, #2A und #3A, sind in einer bestimmten Gruppe 102A der mehreren im ersten Speichersystem 100A eingerichteten Gruppen enthalten. Überdies enthält die Gruppe 102 beispielsweise auch einen ersten logischen Datenträger #4P, der ein logischer Datenträger ist, in dem Journale nicht gespeichert werden und nur Schreibdaten gespeichert werden.
  • Mehrere logische Journal-Datenträger, beispielsweise drei logische Journal-Datenträger #1B, #2B und #3B, sind in einer bestimmten Gruppe 102B der mehreren im zweiten Speichersystem 100B eingerichteten Gruppen enthalten. Überdies enthält die Gruppe 102 beispielsweise auch einen zweiten logischen Datenträger #4S, der ein logischer Datenträger ist, in dem Journale nicht gespeichert werden und nur Schreibdaten gespeichert werden. Um den Inhalt der vorliegenden Ausführungsform leichter verständlich zu machen, wird angenommen, dass die Anzahl der logischen Journal-Datenträger, die in der Gruppe 102A enthalten sind, und die Anzahl der logischen Journal-Datenträger, die in der Gruppe 102B enthalten sind, gleich sind, diese Nummern können jedoch auch verschieden sein. Überdies können auch die jeweiligen Speicherkapazitäten der logischen Journal-Datenträger #1A, #2A und #3A verschieden sein. Das Gleiche gilt für die logischen Journal-Datenträger #1B, #2B und #3B.
  • Falls das Steueruntersystem 101A einen Schreibbefehl und Schreibdaten für den ersten logischen Datenträger #4P vom Host-Computer 180 empfangen hat, speichert es die Schreibdaten entsprechend diesem Schreibbefehl im ersten logischen Datenträger #42. Weiterhin bezieht sich das Steueruntersystem 101A auf die Gruppeninformationen 600, legt die Aktualisierungsnummer entsprechend der Gruppennummer der Gruppe 102A fest (nachstehend auch als "SEQ#" bezeichnet) und erzeugt ein Journal, das die so festgestellte Aktualisierungsnummer und dergleichen enthält. Das Steueruntersystem 101A wählt einen ersten logischen Journal-Datenträger, der ein Speicherziel für die Aktualisierungsinformationen in dem Journal bildet, und einen zweiten logischen Journal-Datenträger, der ein Speicherziel für die Schreibdaten in dem Journal bildet, aus den mehreren logischen Journal-Datenträgern #1A, #2A und #3A aus. Es speichert die in dem erzeugten Journal enthaltenen Aktualisierungsinformationen in dem so ausgewählten ersten logischen Journal-Datenträger und die in dem erzeugten Journal enthaltenen Schreibdaten in dem zweiten so gewählten logischen Journal-Datenträger. Nachstehend wird eine konkretere Beschreibung gegeben.
  • 24 zeigt ein Beispiel der Zusammensetzung der Zeigerinformationen 700A gemäß der ersten Ausführungsform eines Modus zum Implementieren der vorliegenden Erfindung. 25 zeigt die Zusammensetzung der in 24 dargestellten Zeigerinformationen 700A, und diese Informationen bestehen aus mehreren logischen Journal-Datenträgern #1A, #2A, #3A. Nachstehend wird die Zusammensetzung der Zeigerinformationen 700A im ersten Speichersystem 100A und der mehreren logischen Journal-Datenträger #1A, #2A und #3A mit Bezug auf die 24 und 25 beschrieben, diese Beschreibung kann jedoch auch auf das zweite Speichersystem 100B angewendet werden.
  • Von den mehreren Informationselementen in den Zeigerinformationen 700A sind die Kopfadresse des Aktualisierungsinformationsbereichs, die Kopfadresse des Schreibdatenbereichs, die Neueste-Schreibdaten-Adresse und die Älteste-Schreibdaten-Adresse für jeden der logischen Journal-Datenträger registriert, die sich in der entsprechenden Gruppe befinden.
  • Entsprechend dem Beispiel in den 24 und 25 werden die Aktualisierungsinformationen und die Schreibdaten, die das gleiche Journal bilden, in einem getrennten logischen Journal-Datenträger gespeichert. Insbesondere ist es möglich, die Aktualisierungsinformationen und die Schreibdaten jeweils beispielsweise durch die folgenden Verfahren zu speichern.
  • (Verfahren zum Speichern von Aktualisierungsinformationen in dem Journal)
  • Das Steueruntersystem 101A wählt einen logischen Journal-Datenträger aus den mehreren logischen Journal-Datenträgern, beispielsweise den logischen Journal-Datenträger #1A mit der neuesten Nummer, aus, speichert die Aktualisierungsinformationen 310, beginnend mit der Kopfposition des ausgewählten logischen Journal-Datenträgers #1A und fährt dann damit fort, die Informationselemente entsprechend dem logischen Journal-Datenträger #1, die in den Zeigerinformationen 700A enthalten sind, jedes Mal dann, wenn eine Aktualisierung geschieht, zu aktualisieren. Falls das Steueruntersystem 101A folglich feststellt, dass der ausgewählte logische Journal-Datenträger #1A bis zum Ende des Aktualisierungsinformationsbereichs (der Kopfadresse des Schreibdatenbereichs) verwendet worden ist, wählt es einen getrennten logischen Journal-Datenträger, beispielsweise den logischen Journal-Datenträger #2A mit der nächstletzten Nummer, aus und speichert die Aktualisierungsinformationen 310 von der Kopfposition des ausgewählten logischen Journal- Datenträgers #2A. Danach wählt das Steueruntersystem 101A, falls der Speicherbereich bis zum Ende des Aktualisierungsinformationsbereichs (der Kopfadresse des Schreibdatenbereichs) in dem logischen Journal-Datenträger #2 verwendet wurde, ähnlich einen anderen logischen Journal-Datenträger, beispielsweise den logischen Journal-Datenträger #3, aus und speichert die Aktualisierungsinformationen 310, beginnend mit der Kopfposition dieses logischen Journal-Datenträgers. Falls der Speicherbereich bis zum Ende des Aktualisierungsinformationsbereichs des logischen Journal-Datenträgers #3 (bis zur Kopfadresse des Schreibdatenbereichs) verwendet worden ist und es keinen anderen nicht verwendeten logischen Journal-Datenträger gibt, speichert das Steueruntersystem 101A die Aktualisierungsinformationen 310 beginnend mit der Kopfposition des anfänglich ausgewählten logischen Journal-Datenträgers #1A. Beim Speichern der Aktualisierungsinformationen können die mehreren logischen Journal-Datenträger entsprechend einer zuvor festgelegten Sequenz (beispielsweise einer im geteilt verwendeten Speicher 260 festgelegten Sequenz oder dergleichen) ausgewählt werden, oder sie können in zufälliger Weise ausgewählt werden. Weiterhin können ähnlich dem nachstehend beschriebenen Verfahren zum Speichern von Schreibdaten erste und zweite Aktualisierungsinformationen mit angrenzenden Aktualisierungsnummern (beispielsweise mit aufeinander folgenden Aktualisierungsnummern) zwischen getrennten logischen Journal-Datenträgern geteilt werden, statt im gleichen logischen Journal-Datenträger gespeichert zu werden.
  • (Verfahren zum Speichern von Schreibdaten in dem Journal)
  • Das Steueruntersystem 101A ändert den das Speicherziel für die Schreibdaten bildenden logischen Journal-Datenträger für jedes Journal. Falls es insbesondere beispielsweise N logische Journal-Datenträger (beispielsweise 3 logische Journal-Datenträger) in der Gruppe 102A gibt, teilt das Steueruntersystem 101A die Aktualisierungsnummer in den ein Paar bildenden Aktualisierungsinformationen mit den zu speichernden Schreibdaten (beispielsweise 5) durch N (beispielsweise 3) und speichert die Schreibdaten, die in dem dem Restwert (beispielsweise 2) entsprechenden logischen Journal-Datenträger, nämlich dem logischen Journal-Datenträger #2A, zu speichern sind. Die Speicherzieladresse für die Schreibdaten in dem logischen Journal-Datenträger (beispielsweise #2A) bildet die Neueste-Schreibdaten-Adresse, die diesem logischen Journal-Datenträger entspricht, in den Zeigerinformationen 700A. Die ersten und zweiten Schreibdaten mit benachbarten Aktualisierungsnummern werden nicht notwendigerweise in dem gleichen logischen Journal-Datenträger gespeichert, sondern sie können, entsprechend den Anforderungen, in dem gleichen logischen Journal-Datenträger gespeichert werden (beispielsweise falls die Schreibdatenbereiche der anderen logischen Journal-Datenträger voll sind). Weiterhin können ähnlich wie beim vorstehend beschriebenen Aktualisierungsinformations-Speicherverfahren die ersten und die zweiten Schreibdaten mit benachbarten Aktualisierungsnummern im selben logischen Journal-Datenträger gespeichert werden, und sie können, falls dieser logische Journal-Datenträger voll wird, in einem anderen logischen Journal-Datenträger gespeichert werden.
  • Die vorstehende Beschreibung bezog sich auf ein Verfahren zum Speichern der Aktualisierungsinformationen und der Schreibdaten in dem Journal. Falls dieses Speicherverfahren verwendet wird, kann die folgende Verarbeitung beispielsweise in dem Journal-Erzeugungsprozess ausgeführt werden (beispielsweise Schritt 1345 in 13 und Schritt 1830 in 18), der in dem vorstehend erwähnten Implementationsmodus beschrieben wurde.
  • Das Steueruntersystem 101A wählt den logischen Journal-Datenträger, der das Speicherziel für die Schreibdaten bildet, aus mehreren logischen Journal-Datenträgern aus und beurteilt auf der Grundlage der verschiedenen Informations elemente, die dem ausgewählten logischen Journal-Datenträger entsprechen (der in den Zeigerinformationen 100A registrierten Informationselemente), ob Schreibdaten in diesem logischen Datenträger gespeichert werden können. Insbesondere teilt das Steueruntersystem 101A beispielsweise die Aktualisierungsnummer in den ein Paar bildenden Aktualisierungsinformationen mit den zu speichernden Schreibdaten (beispielsweise 5) durch die Anzahl der logischen Journal-Datenträger N, die in der Gruppe 102A existieren (beispielsweise 3), und beurteilt, ob die Schreibdaten in dem logischen Journal-Datenträger gespeichert werden können, der dem Rest dieser Divisionsoperation entspricht (beispielsweise 2) (nämlich dem logischen Journal-Datenträger #2A). Falls ein negatives Beurteilungsergebnis erhalten wird, beendet das Steueruntersystem 101A den Prozess als "es ist nicht gelungen, ein Journal zu erzeugen" (Schritt 1390 in 13 und Schritt 1830 in 18). Statt den Prozess zu beenden, kann das Steueruntersystem 101A auch auf der Grundlage der Datengröße der Schreibdaten und der Zeigerinformationen 700A und dergleichen nach einem logischen Journal-Datenträger suchen, der ausreichend freien Platz aufweist, um die Schreibdaten zu speichern, und dann die Schreibdaten in dem freien Platz des durch diese Suche gefundenen logischen Journal-Datenträgers speichern.
  • Gemäß der vorstehend beschriebenen ersten Ausführungsform werden mehrere logische Journal-Datenträger für eine Gruppe präpariert, und erste und zweite Schreibdaten mit benachbarten Aktualisierungsnummern (beispielsweise aufeinander folgenden Aktualisierungsnummern) werden in getrennten logischen Journal-Datenträgern gespeichert. Daher ist es möglich, dafür zu sorgen, dass das Schreiben der Schreibdaten das Lesen des Journals ("pipelineartig") überlappt, und die Leistungsfähigkeit beim Kopieren wird auf diese Weise verbessert. Falls es insbesondere einen logischen Journal-Datenträger gibt, hängt die Leistungsfähigkeit beim Lesen (oder beim Schreiben) für die Schreibdaten von der Leistungsfähigkeit der diesen logischen Journal-Datenträger bereitstellenden Speichervorrichtung 150 ab. Gemäß der vorliegenden Ausführungsform werden mehrere logische Journal-Datenträger präpariert und die Schreibdaten in Journalen mit benachbarten Aktualisierungsnummern in verschiedenen logischen Journal-Datenträgern gespeichert. Daher ist es möglich, mehrere Speichervorrichtungen 150 gleichzeitig zu verwenden, und die Leistungsfähigkeit des Lesens (oder Schreibens) des Journals kann daher verbessert werden. Um diese verbesserte Leistungsfähigkeit zufrieden stellend zu erreichen, ist es wünschenswert, dass die mehreren logischen Journal-Datenträger in getrennten Speichervorrichtungen 150 bereitgestellt werden. Falls überdies jeder logische Journal-Datenträger über mehrere Speichervorrichtungen 150 bereitgestellt wird, ist es, wenn mehrere logische Journal-Datenträger bereitgestellt werden, wünschenswert, dass alle der mehreren Speichervorrichtungen 150 oder ein Teil von diesen, die einen logischen Journal-Datenträger bereitstellen, nicht alle der mehreren Speichervorrichtungen 150 oder einen Teil von diesen, die einen anderen logischen Journal-Datenträger bereitstellen, überlappen.
  • Gemäß der vorstehend beschriebenen ersten Ausführungsform kann nach Schritt 1580 in 15 und vor dem Empfang eines Journal-Lesebefehls von dem zweiten Speichersystem 100B das Steueruntersystem 101A einen Leseprozess autonom implementieren, um ein oder mehrere folgende Journale (mit anderen Worten das Journal mit der nächsten Aktualisierungsnummer von den in Schritt 1580 gesendeten Journalen) zu lesen. Wenn dadurch der nächste Journallesebefehl empfangen wird, gibt es in dem Leseprozess in Schritt 1570 eine erhöhte Wahrscheinlichkeit, dass sich das diesem Befehl entsprechende Journal bereits im Cache-Speicher 130 befindet, weshalb die Zeit vom Empfang des Journal-Lesebefehis bis zum Senden eines Journals zum zweiten Speichersystem 100B entsprechend diesem Befehl verringert werden kann. Hierbei kann beispielsweise der Begriff "ein oder mehrere folgende Journale" als Journale bis zur Aktualisierungsnummer, die gleich der Summe der vorhergehenden Aktualisierungsdaten plus der Anzahl n der logischen Journal-Datenträger ist, angesehen werden. In diesem Fall werden in dem zweiten Speichersystem 100B die Schreibdaten in dem Journal fortlaufend in dem gleichen logischen Journal-Datenträger gespeichert.
  • Überdies können gemäß der ersten Ausführungsform, wie vorstehend beschrieben wurde, die ersten und zweiten Aktualisierungsinformationen mit angrenzenden Aktualisierungsnummern (beispielsweise aufeinander folgenden Aktualisierungsnummern), ähnlich dem Verfahren zum Speichern der Schreibdaten, in getrennten logischen Journal-Datenträgern gespeichert werden.
  • Überdies brauchen gemäß dieser ersten Ausführungsform die mehreren logischen Journal-Datenträger, die zur selben Gruppe gehören, nicht die gleiche Speicherkapazität zu haben.
  • Weiterhin ist es gemäß der ersten Ausführungsform auch möglich, das Folgende als ein Modifikationsbeispiel zu implementieren:
  • (A) Erste Modifikation der ersten Ausführungsform
  • Das Steueruntersystem 101B des zweiten Speichersystems 100B überlagert m Journal-Lesebefehle (wobei m eine ganze Zahl größer gleich 2 ist) und sendet die m überlagerten Journal-Lesebefehle zum ersten Speichersystem 100A. Das Steueruntersystem 101B fügt eine Nummer (nachstehend als "TAG#" bezeichnet) zum Identifizieren des Journal-Lesebefehls in jedem der m überlagerten Journal-Lesebefehle ein. Die TAG# reicht von 1 bis m. Falls es insbesondere beispielsweise drei überlagerte Journal-Lesebefehle gibt, fügt das Steueruntersystem 101B eine TAG#1 in den ersten Journal-Lesebefehl der drei überlagerten Journal-Lesebefehle ein, fügt eine TAG#2 in den zweiten Journal-Lesebefehl ein, fügt eine TAG#3 in den dritten Journal-Lesebefehl ein und sendet dann die drei überlagerten Journal-Lesebefehle zum ersten Speichersystem 100A. In diesem Fall werden in dem ersten Speichersystem 100A, wie in 26 dargestellt ist, spezifische Informationselemente in den Zeigerinformationen 700A (beispielsweise die Lesebeginnadresse und die Neuversuchs-Anfangsadresse) in gleicher Zahl wie die Anzahl der überlagerten Befehle m bereitgestellt, so dass sie mit anderen Worten für jede TAG# bereitgestellt werden. Die Anzahl m der überlagerten Befehle kann beispielsweise gleich der Anzahl der in der Gruppe 102A bereitgestellten logischen Journal-Datenträger sein. Falls weiterhin entsprechend den in 26 dargestellten Zeigerinformationen 700A die Schreibdaten aus dem TAG#1 entsprechenden logischen Journal-Datenträger #1A ausgelesen werden, sind die Lesebeginnadresse und die Neuversuchs-Anfangsadresse, die der TAG#1 entsprechen, die Adresse "150" von der Kopfposition in dem logischen Datenträger mit der Nummer "1".
  • Nachstehend wird eine konkretere Beschreibung dieses ersten Modifikationsbeispiels gegeben.
  • Das Steueruntersystem 101B des zweiten Speichersystems 100B implementiert die in 17 dargestellte Journal-Lesebefehlsverarbeitung für jede TAG#.
  • Wenn das Steueruntersystem 101A des ersten Speichersystems 100A einen Journal-Lesebefehl empfangen hat, implementiert es die mit Bezug auf 15 beschriebene Journal-Empfangsverarbeitung. Beim Journal-Empfangsprozess liest das Steueruntersystem 101A die Aktualisierungsinformationen 310 aus der durch die Neuversuchs-Anfangsadresse und die Leseanfangsadresse entsprechend der TAG# (die Informationselemente, die in den Zeigerinformationen 700A enthalten sind) angegebenen logischen Adresse aus (Schritte 1570 und 1540). Durch den Journal-Empfangsprozess wird ein Aktualisierungsinformationen enthaltendes Journal zu dem zweiten Speichersystem 100B gesendet. In diesem Fall hängt das Steueruntersystem 101A zum Identifizieren des Journal-Lesebefehls, auf dessen Grundlage das Journal erfasst wurde, die TAG# in dem entsprechenden Journal-Lesebefehl an das erfasste Journal an und sendet das Journal dann mit der angehängten TAG# zum zweiten Speichersystem 100B.
  • Falls das Steueruntersystem 101B des zweiten Speichersystems 100B ein Journal empfängt, implementiert es die mit Bezug auf 18 beschriebene Journal-Speicherverarbeitung. In diesem Fall berechnet das Steueruntersystem 101B die logische Adresse zum Speichern der Aktualisierungsinformationen in dem Journal auf der Grundlage der TAG# und der Aktualisierungsnummer in dem empfangenen Journal und der Zeigerinformationen 700B und untersucht auf der Grundlage der berechneten logischen Adresse und der Größe der Aktualisierungsinformationen, ob Aktualisierungsinformationen in dem durch die TAG# identifizierten logischen Journal-Datenträger gespeichert werden können (Schritt 1810 in 18). Überdies untersucht das Steueruntersystem 101B auf der Grundlage der Datengröße der Schreibdaten in den Aktualisierungsinformationen und der Zeigerinformationen 700B, ob Schreibdaten in dem identifizierten logischen Journal-Datenträger gespeichert werden können (Schritt 1830 in 18). Der logische Journal-Datenträger, in dem die Aktualisierungsinformationen und die Schreibdaten gespeichert sind, ist der logische Journal-Datenträger, der der TAG# entspricht.
  • Auf diese Weise kann eine sogar noch größere Kopierleistungsfähigkeit erreicht werden, indem Journal-Lesebefehle in überlagerter Weise gesendet werden.
  • (B) Zweite Modifikation der ersten Ausführungsform
  • Die zweite Modifikation ist eine weitere Modifikation des ersten Modifikationsbeispiels, wobei das erste Speichersystem 100A mehrere Journale erfasst und sie ansprechend auf einen Journal-Lesebefehl zum zweiten Speichersystem 100B sendet. Nachstehend wird eine konkretere Beschreibung gegeben.
  • Bei dem mit Bezug auf 15 beschriebenen Journal-Empfangsprozess erfasst das Steueruntersystem 101A des ersten Speichersystems 100A die in den aufeinander folgenden Speicherbereichen desselben logischen Journal-Datenträgers gespeicherten Schreibdaten und sendet sie. Insbesondere stellt das Steueruntersystem 101A beispielsweise in 25 anhand der Zeigerinformationen 700A und dergleichen sicher, dass die zwei in aufeinander folgenden Bereichen des logischen Journal-Datenträgers #1A registrierten Schreibdaten der Aktualisierungsnummer 1 bzw. der Aktualisierungsnummer 4 entsprechen. Dadurch erzeugt es die Aktualisierungsnummer 1 einschließende Aktualisierungsinformationen und ein Journal, das diesen entsprechende Schreibdaten enthält, und die Aktualisierungsnummer 4 einschließende Aktualisierungsinformationen und ein Journal, das diesen entsprechende Schreibdaten enthält, ansprechend auf einen Journal-Lesebefehl und überträgt sie zum zweiten Speichersystem 100B. Nach der Verarbeitung in Schritt 1590 (oder 1545) in 15 bestimmt das Steueruntersystem 101A die logische Adresse zum Speichern der zwei oder mehr Aktualisierungsinformationen, die jeweils in zwei oder mehr Journalen enthalten sind, die anschließend zu erzeugen sind. In diesem Fall ist die logische Adresse gleich der Lesebeginnadresse plus dem Wert, der durch Multiplizieren der Nummer m von TAG# mit der Aktualisierungsinformationsgröße erhalten wird.
  • Das Steueruntersystem 101B des zweiten Speichersystems 100B, das die Journale empfangen hat, implementiert die mit Bezug auf 18 beschriebene Journal-Speicherverarbeitung, in diesem Fall werden die Schreibdaten in dem empfangenen Journal jedoch von der Neueste-Schreibdaten-Adresse in dem logischen Journal-Datenträger gespeichert, die der an das empfangene Journal angehängten TAG# entspricht. Falls in dem Beispiel in 25 das Steueruntersystem 101B zwei Journale mit der Aktualisierungsnummer 1 und der Aktualisierungsnummer 4 empfangen hat, schreibt es die Schreibdaten in dem Journal mit der Aktualisierungsnummer 1, beginnend mit der logischen Adresse 700, in den logischen Journal-Datenträger #1 und speichert dann die Schreibdaten in kontinuierlicher Weise nach diesen Schreibdaten in dem Journal mit der Aktualisierungsnummer 4.
  • (Ausführungsform 2)
  • Als nächstes wird eine zweite Ausführungsform eines Modus zum Implementieren der vorliegenden Erfindung beschrieben. Die zweite Ausführungsform ist ein weiteres Beispiel für die Anwendung der vorstehend beschriebenen ersten Ausführungsform. Die folgende Beschreibung konzentriert sich in erster Linie auf die Unterschiede gegenüber der vorstehend erwähnten ersten Ausführungsform, und Punkte, die mit der vorstehend erwähnten ersten Ausführungsform übereinstimmen, werden kurz erklärt oder fortgelassen.
  • Gemäß der zweiten Ausführungsform wird der Schreibdatenbereich in dem logischen Journal-Datenträger in mehrere Unterschreibbereiche unterteilt. Die mehreren Unterschreibbereiche können jeweils die gleiche Speicherkapazität aufweisen oder verschiedene Speicherkapazitäten haben. Gemäß dieser zweiten Ausführungsform haben sie jeweils die gleiche Speicherkapazität. Mit anderen Worten wird gemäß der zweiten Ausführungsform der Schreibdatenbereich in dem logischen Journal-Datenträger gleich in mehrere Unterschreibbereiche unterteilt. Nachstehend werden die einzelnen Unterschreibbereiche als "Gebiete" bezeichnet.
  • 27 zeigt ein Beispiel des Aufbaus mehrerer logischer Journal-Datenträger #1A, #2A, #3A. 28 zeigt ein Beispiel der Zusammensetzung von Gebietsinformationen für die Verwaltung mehrerer Gebiete. 29 zeigt ein Beispiel der Zusammensetzung von Zeigerinformationen 700A entsprechend den 27 und 28. Nachstehend werden mehrere logische Journal-Datenträger #1A, #2A und #3A in dem ersten Speichersystem 100A, die Gebietsinformationen 701 und die Zeigerinformationen 700A mit Bezug auf die 27 bis 29 beschrieben, diese Beschreibung kann jedoch auch auf das zweite Speichersystem 100B angewendet werden.
  • Wie in 27 dargestellt ist, ist der Schreibdatenbereich in den mehreren logischen Journal-Datenträgern #1A, #2A und #3A gleich in mehrere Gebiete (beispielsweise vier Gebiete) eingeteilt. Eine Gebietsnummer zum Identifizieren des Gebiets in dem logischen Journal-Datenträger (beispielsweise #0-#3) ist an jedes Gebiet in jedem der logischen Journal-Datenträger angehängt.
  • Weiterhin sind, wie in 27 dargestellt ist, die Schreibdatenbereiche aller logischer Journal-Datenträger in ähnlicher Weise auch jeweils in mehrere Gebiete eingeteilt. Mit anderen Worten hat jeder der logischen Journal-Datenträger #1A, #2A und #3A einen Schreibdatenbereich mit der gleichen Speichergröße und der gleichen Anzahl von Gebieten. Daher weisen mindestens die mehreren Schreibdatenbereiche der mehreren logischen Journal-Datenträger #1A, #2A und #3A jeweils die gleiche Größe auf (die mehreren Aktualisierungsinformationsbereiche können jeweils die gleiche Größe oder unterschiedliche Größen aufweisen).
  • Weiterhin wird, wie in 27 dargestellt ist, die gleiche Gebietsnummer nicht zwei Mal in jedem einzelnen logischen Journal-Datenträger verwendet, sondern es werden in den mehreren logischen Journal-Datenträgern #1A, #2A und #3A (mit anderen Worten innerhalb derselben Gruppe 102A) gemeinsame Gebietsnummern verwendet. Insbesondere gibt es in jedem der logischen Journal-Datenträger #1A, #2A und #3A vier Gebiete, die jeweils mit den Gebietsnummern #0-#4 bezeichnet sind. Mit anderen Worten ist jeder Schreibdatenbereich jedes logischen Journal-Datenträgers in mehrere Unterschreibbereiche unterteilt, und ein Gebiet ist durch jeden Unterschreibbereich der mehreren logischen Journal-Datenträger gebildet. Anders ausgedrückt, wird durch Spezifizieren einer Gebietsnummer (beispielsweise #0) ein Unterschreibbereich in jedem der mehreren logischen Journal-Datenträger #1A, #2A und #3A identifiziert, und der Satz der identifizierten Unterschreibbereiche bildet ein Gebiet, das der spezifizierten Gebietsnummer entspricht. Anders ausgedrückt, erstreckt sich jedes Gebiet über mehrere logische Datenträger #1A-#3A, die zur selben Gruppe 102A gehören.
  • Ein Beispiel der Zusammensetzung der Gebietsinformationen 701 zum Verwalten von Gebieten dieser Art ist in 28 dargestellt.
  • Insbesondere registrieren die Gebietsinformationen 701 für jede Gebietsnummer, in welchem der mehreren logischen Journal-Datenträger #1A-#1C sich das Gebiet, das dieser Gebietsnummer entspricht, befindet. Der Ort des Gebiets wird durch eine Reihe angegeben, welche die logische Anfangsadresse und die Endadresse enthält, und diese Reihen existieren in gleicher Anzahl wie die Anzahl der zu derselben Gruppe 102A gehörenden logischen Journal-Datenträger #1A-#1C. Die logische Anfangsadresse gibt die logische Adresse an, bei der das Speichern der Schreibdaten beginnt, und die logische Endadresse gibt die logische Adresse an, bei der das Speichern der Schreibdaten endet. Überdies geben in den Gebietsinformationen 701 die Nummern #1-#3, die jeweils für die mehreren Sätze der logischen Anfangsadresse und der logischen Endadresse registriert sind, die Speicherreihenfolge der Schreibdaten an.
  • Es ist möglich, das Folgende beispielsweise anhand der Gebietsinformationen 701 dieser Art zu bestimmen.
  • Es ist ersichtlich, dass in dem Gebiet mit der Gebietsnummer 0 das Speichern der Schreibdaten zunächst an der Adresse 700 in dem logischen Journal-Datenträger #1A beginnt, und, falls Schreibdaten bis zur Position der Adresse 1119 im Datenträger #1A gespeichert worden sind, das Speichern der Schreibdaten anschließend an der Position der Adresse 700 im logischen Journal-Datenträger #2A beginnt. Falls die Schreibdaten bis zur Position der Adresse 1119 im logischen Journal-Datenträger #2A gespeichert worden sind, wird das Speichern der Speichervorrichtung anschließend an der Position der Adresse 700 im logischen Journal-Datenträger #3A begonnen.
  • Es ist ersichtlich, dass in dem Gebiet mit der Gebietsnummer 2 das Speichern der Schreibdaten zunächst an der Adresse 1200 im logischen Journal-Datenträger #2A beginnt, und, falls Schreibdaten bis zur Position der Adresse 1699 im Datenträger 2A gespeichert worden sind, das Speichern der Schreibdaten anschließend an der Position der Adresse 1200 im logischen Journal-Datenträger #23A beginnt.
  • Auf diese Weise ist es durch Ändern des logischen Journal-Datenträgers, an dem das Speichern der Schreibdaten zunächst beginnt, für jede Gebietsnummer möglich, dass alle logischen Journal-Datenträger #1A-#3A parallel funktionieren.
  • Falls Schreibdaten auf der Grundlage der vorstehend beschriebenen Gebietsinformationen 701 in den jeweiligen logischen Journal-Datenträgern #1A-3A zu speichern sind, haben die Zeigerinformationen 700A die in 29 dargestellte Zusammensetzung. Mit anderen Worten werden die Kopfadresse des Aktualisierungsinformationsbereichs und die Kopfadresse des Schreibdatenbereichs für jede logische Journal-Datenträgernummer präpariert und die Neueste-Schreibdaten-Adresse, die Älteste-Schreibdaten-Adresse, die Lesebeginnadresse und die Neuversuchs-Anfangsadresse für jede Gebietsnummer präpariert. Durch Einstellen der Neueste-Schreibdaten-Adresse, der Älteste-Schreibdaten-Adresse, der Lesebeginnadresse und der Neuversuchs-Anfangsadresse ist es möglich, mehrere Schreibdaten mit angrenzenden (beispielsweise aufeinander folgenden) Aktualisierungsnummern in getrennte Gebiete zu schreiben.
  • Gemäß dieser zweiten Ausführungsform gleicht das Verfahren zum Speichern der Aktualisierungsinformationen demjenigen gemäß der ersten Ausführungsform, das Verfahren zum Speichern von Schreibdaten ist jedoch verschieden.
  • Beispielsweise ändert für jedes Journal das Steueruntersystem 101A das Gebiet, in dem die Schreibdaten in diesem Journal gespeichert werden. Genauer gesagt, teilt das Steueruntersystem 101A, falls es n Gebiete gibt (wobei beispielsweise n = 4 ist), die Aktualisierungsnummer in dem Journal (beispielsweise 12) durch die Anzahl der Gebiete (beispielsweise 4) und speichert die in dem Journal enthaltenen Schreibdaten in dem Gebiet, das dem Rest dieser Divisionsoperationen entspricht (beispielsweise 0) (nämlich Gebietsnummer 0). Die Speicherzieladresse in diesem Gebiet ist die Neueste-Schreibdaten-Adresse, die der Nummer des Gebiets entspricht (die Neueste-Schreibdaten-Adresse, die in den Zeigerinformationen 700A registriert ist). Das Steueruntersystem 101A ist auf der Grundlage der Zeigerinformationen 700A und der Gebietsinformationen 701 in der Lage, festzustellen, ob die Speicherzieladresse die Endadresse (beispielsweise die Adresse 1200) eines Teils eines bestimmten Gebiets (beispielsweise #0), das in einem bestimmten logischen Journal-Datenträger (beispielsweise #1A) bereitgestellt ist, erreicht hat. Überdies verwendet das Steueruntersystem 101A in diesem Fall die Gebietsinformationen 701 zum Lokalisieren der Anfangsadresse eines anderen Teils desselben Gebiets in einem anderen logischen Journal-Datenträger, die als die nächste Speicherzieladresse festzulegen ist (es bestimmt beispielsweise, dass die Adresse 700 des logischen Journal-Datenträgers #2A die nächste Speicherzieladresse ist). Das Steueruntersystem 101A ist dann in der Lage, diese Speicherzieladresse als die Neueste-Schreibdaten-Adresse festzulegen und Schreibdaten von dieser Anfangsadresse an zu speichern.
  • Falls dieses Schreibdaten-Speicherverfahren verwendet wird, kann die folgende Verarbeitung beispielsweise in dem Journal-Erzeugungsprozess ausgeführt werden (beispielsweise Schritt 1345 in 13 und Schritt 1830 in 18), der in dem vorstehend erwähnten Implementationsmodus beschrieben wurde.
  • Das Steueruntersystem 101A teilt die Aktualisierungsnummer in dem Journal (beispielsweise 12) durch die Anzahl n der Gebiete (beispielsweise 4) und beurteilt, ob es möglich ist, die in dem Journal enthaltenen Schreibdaten in dem Gebiet zu speichern, das dem Rest der Divisionsoperation entspricht (beispielsweise 0) (nämlich dem Gebiet #0). Falls ein negatives Beurteilungsergebnis erhalten wird, beendet das Steueruntersystem 101A den Prozess als "es ist nicht gelungen, ein Journal zu erzeugen" (Schritt 1390 in 13 und Schritt 1830 in 18). Statt den Prozess zu beenden, kann das Steueruntersystem 101A auch auf der Grundlage der Datengröße der Schreibdaten und der Zeigerinformationen 700A und dergleichen nach einem weiteren Gebiet suchen, das ausreichend freien Platz aufweist, um die Schreibdaten zu speichern, und dann die Schreibdaten in dem freien Platz des durch diese Suche gefundenen Gebiets speichern.
  • Gemäß der vorstehend beschriebenen zweiten Ausführungsform werden die Schreibdatenbereiche der logischen Journal-Datenträger in mehrere Gebiete unterteilt und die Schreibdaten in Journalen mit benachbarten (beispielsweise aufeinander folgenden) Aktualisierungsnummern in verteilter Weise in verschiedenen Gebieten gespeichert. Dadurch ist es möglich, die Kopierleistung unabhängig von der Anzahl der logischen Journal-Datenträger, die zur selben Gruppe gehören, zu verbessern (mit anderen Worten selbst dann, wenn es einen logischen Journal-Datenträger in einer Gruppe gibt). Beispielsweise kann die Zeit, während derer eine Speichervorrichtung 150 einen Lesebefehl (oder einen Schreibbefehl) nicht empfangen kann, wirksam beseitigt werden, weshalb die Leistungsfähigkeit der Speichervorrichtung vorteilhafterweise verwendet werden kann. Um diese verbesserte Leistungsfähigkeit zufrieden stellend zu erreichen, ist es wünschenswert, dass die mehreren logischen Journal-Datenträger in getrennten Speichervorrichtungen 150 bereitgestellt werden. Falls überdies jeder logische Journal-Datenträger über mehrere Speichervorrichtungen 150 bereitgestellt wird, ist es, wenn mehrere logische Journal-Datenträger bereitgestellt werden, wünschenswert, dass alle der mehreren Speichervorrichtungen 150 oder ein Teil von diesen, die einen logischen Journal-Datenträger bereitstellen, nicht alle der mehreren Speichervorrichtungen 150 oder einen Teil von diesen, die einen anderen logischen Journal-Datenträger bereitstellen, überlappen. Überdies ist es auch wünschenswert, dass die mehreren Gebiete in getrennten Speichervorrichtungen 150 bereitgestellt werden.
  • Gemäß der vorstehend beschriebenen zweiten Ausführungsform kann das Steueruntersystem 101A nach Schritt 1580 in 15 und vor dem Empfang eines Journal-Lesebefehls vom zweiten Speichersystem 100B autonom einen Leseprozess für das Journal implementieren, von dem erwartet wird, dass es als nächstes übertragen wird. Wenn der nächste Journal-Lesebefehl empfangen wird, gibt es dadurch in dem Leseprozess in Schritt 1570 eine erhöhte Wahrscheinlichkeit, dass sich das diesem Befehl entsprechende Journal bereits in dem Cache-Speicher 130 befindet, weshalb die Zeit vom Empfang des Journal-Lesebefehls bis zum Senden eines Journals zum zweiten Speichersystem 100B entsprechend diesem Befehl verringert werden kann. Hierbei kann "ein Journal, von dem erwartet wird, dass es als nächstes übertragen wird" beispielsweise so ausgelegt werden, dass es das Journal mit der Aktualisierungsnummer bedeutet, die gleich der zuvor verarbeiteten Aktualisierungsnummer plus der Anzahl p der Gebiete ist. In diesem Fall werden in dem zweiten Speichersystem 100B die Schreibdaten in dem Journal kontinuierlich im selben Unterschreibbereich desselben logischen Journal-Datenträgers gespeichert.
  • Überdies können gemäß der zweiten Ausführungsform die Aktualisierungsinformationsbereiche der mehreren logischen Journal-Datenträger (oder des einen logischen Journal-Datenträgers), die zu derselben Gruppe gehören, jeweils ähnlich wie bei den Schreibdatenbereichen in mehrere Unterbereiche (Gebiete) unterteilt werden. In diesem Fall können die ersten und die zweiten Aktualisierungsinformationen, die angrenzende Aktualisierungsnummern aufweisen (beispielsweise aufeinander folgende Aktualisierungsnummern), ähnlich dem Verfahren zum Speichern der Schreibdaten, in getrennten Unterbereichen (Gebieten) gespeichert werden.
  • Weiterhin gibt es gemäß der zweiten Ausführungsform keine Grenze für die Anzahl p der Gebiete, um jedoch ein Lesebefehl (oder ein Schreibbefehl) an alle logischen Journal-Datenträger auszugeben, die zur selben Gruppe gehören, ist die Anzahl p der Gebiete wünschenswerterweise größer oder gleich der Anzahl n der logischen Journal-Datenträger (mit anderen Worten p >= n).
  • Weiterhin ist es gemäß der zweiten Ausführungsform auch möglich, das Folgende als ein Modifikationsbeispiel zu implementieren:
  • (A) Erste Modifikation der zweiten Ausführungsform
  • Das Steueruntersystem 101B des zweiten Speichersystems 100B gibt mehrere Journal-Lesebefehle aus. Das Steueruntersystem 101B fügt eine Gebietsnummer in jeden der überlagerten Journal-Lesebefehle ein. Das Steueruntersystem 101B führt die mit Bezug auf 17 beschriebene Journal-Lesebefehlsverarbeitung unabhängig für jede Gebietsnummer aus.
  • Wenn das Steueruntersystem 101A des ersten Speichersystems 100A einen Journal-Lesebefehl empfangen hat, implementiert es die mit Bezug auf 15 beschriebene Journal-Empfangsverarbeitung. In dem Journalempfangsprozess bezieht sich das Steueruntersystem 101A auf die Zeigerinformationen 700A und liest die Aktualisierungsinformationen 310 aus der logischen Adresse aus, die durch der Gebietsnummer entsprechende bestimmte Informationselemente angegeben wird (nämlich der Neuversuchs-Anfangsadresse und der Lesebeginnadresse) (Schritte 1570 und 1540).
  • Falls das Steueruntersystem 101B des zweiten Speichersystems 100B ein Journal empfängt, implementiert es die mit Bezug auf 18 beschriebene Journal-Speicherverarbeitung. In diesem Fall berechnet das Steueruntersystem 101B die logische Adresse zum Speichern der Aktualisierungsinformationen in dem Journal auf der Grundlage der Gebietsnummer und der Aktualisierungsnummer in dem empfangenen Journal und der Zeigerinformationen 700B und untersucht auf der Grundlage der berechneten logischen Adresse und der Größe der Aktualisierungsinformationen, ob Aktualisierungsinformationen in dem spezifischen logischen Journal-Datenträger gespeichert werden können (Schritt 1810 in 18). Überdies untersucht das Steueruntersystem 101B auf der Grundlage der Datengröße der Schreibdaten in den Aktualisierungsinformationen und der Zeigerinformationen 700B, ob Schreibdaten in dem identifizierten logischen Journal-Datenträger gespeichert werden können (Schritt 1830 in 18). Der logische Journal-Datenträger, in dem die Aktualisierungsinformationen und die Schreibdaten gespeichert sind, ist der logische Journal-Datenträger, der dem Gebiet entspricht. In Schritt 1830 in 18 kann das Steueruntersystem 101B untersuchen, ob Schreibdaten in dem der Gebietsnummer entsprechenden Gebiet gespeichert werden können.
  • (B) Zweite Modifikation der zweiten Ausführungsform
  • Die zweite Modifikation ist eine weitere Modifikation des ersten Modifikationsbeispiels, wobei das erste Speichersystem 100A mehrere Journale erfasst und sie ansprechend auf einen Journal-Lesebefehl zum zweiten Speichersystem 100B sendet. Eine konkretere Beschreibung wird nachstehend gegeben.
  • Bei dem mit Bezug auf 15 beschriebenen Journal-Empfangsprozess erfasst das Steueruntersystem 101A des ersten Speichersystems 100A die in aufeinander folgenden Speicherbereichen desselben Gebiets gespeicherten Schreibdaten und sendet diese. Insbesondere stellt das Steueruntersystem 101A beispielsweise in 27 anhand der Zeigerinformationen 700A und dergleichen fest, dass die beiden in aufeinander folgenden Bereichen des logischen Datenträgers #1A des Unterschreibbereichs registrierten Schreibdaten der Aktualisierungsnummer 8 bzw. der Aktualisierungsnummer 12 entsprechen. Dadurch erzeugt es die Aktualisierungsnummer 8 einschließende Aktualisierungsinformationen und ein Journal, das diesen entsprechende Schreibdaten enthält, und die Aktualisierungsnummer 12 einschließende Aktualisierungsinformationen und ein Journal, das diesen entsprechende Schreibdaten enthält, ansprechend auf einen Journal-Lesebefehl und überträgt sie zum zweiten Speichersystem 100B. Nach der Verarbeitung in Schritt 1590 (oder 1545) in 15 bestimmt das Steueruntersystem 101A die logische Adresse zum Speichern der zwei, oder mehr Aktualisierungsinformationen, die jeweils in zwei oder mehr Journalen enthalten sind, die anschließend zu erzeugen sind. In diesem Fall ist die logische Adresse gleich der Lesebeginnadresse plus dem Wert, der durch Multiplizieren der Anzahl p der Gebiete mit der Aktualisierungsinformationsgröße erhalten wird.
  • Das Steueruntersystem 101B des zweiten Speichersystems 100B, das die Journale empfangen hat, implementiert die mit Bezug auf 18 beschriebene Journal-Speicherverarbeitung, in diesem Fall werden die Schreibdaten in dem empfangenen Journal jedoch von der Neueste-Schreibdaten-Adresse in dem Gebiet gespeichert, die der an das empfangene Journal angehängten Gebietsnummer entspricht. Falls in dem Beispiel in 27 das Steueruntersystem 101B zwei Journale mit der Aktualisierungsnummer 8 und der Aktualisierungsnummer 12 empfangen hat, schreibt es die Schreibdaten in dem Journal mit der Aktualisierungsnummer 1, beginnend mit der logischen Adresse 700, in den logischen Journal-Datenträger #8 und speichert dann die Schreibdaten in kontinuierlicher Weise nach diesen Schreibdaten in dem Journal mit der Aktualisierungsnummer 12.
  • (Dritte Ausführungsform)
  • Als nächstes wird eine dritte Ausführungsform eines Modus zum Implementieren der vorliegenden Erfindung beschrieben. Diese dritte Ausführungsform bezieht sich auf die vom ersten Speichersystem 100A in einem Fall, in dem die Aktualisierungsinformationen oder die Schreibdaten in dem Journal nicht gespeichert werden können, ausgeführte Verarbeitung. Eine konkrete Beschreibung wird nachstehend gegeben.
  • Falls bei der mit Bezug auf 13 beschriebenen Journal-Erzeugungsverarbeitung das Steueruntersystem 101A in dem ersten Speichersystem 100A die Aktualisierungsinformationen oder die Schreibdaten nicht speichern kann, kann das Kopieren in der Gruppe, die sich auf diesen Prozess bezieht, nicht fortgesetzt werden (1390 in 13). In diesem Fall ändert das Steueruntersystem 101A den Gruppenstatus in den Gruppeninformationen 600A auf "unterbrochen" und implementiert die folgende Verarbeitung. Ein Gruppenstatus "unterbrochen" bedeutet, dass der Journal-Erzeugungsprozess unterbrochen wurde und die Konsistenz zwischen den Daten in dem ersten logischen Datenträger P und dem zweiten logischen Datenträger S nicht erreicht wurde.
  • Gemäß dieser dritten Ausführungsform stellt das Steueruntersystem 101A Differenzinformationen bereit. Die Differenzinformationen sind Informationen, die für jeden Speicherbereich einer vorgeschriebenen Größe angeben, ob es einen Unterschied zwischen dem ersten logischen Datenträger und dem zweiten logischen Datenträger gibt (beispielsweise für jedes kB, für jede logische Adresse, für jedes Speichervolumen, das dem in einem anfänglichen Kopiervorgang verarbeiteten Datenvolumen entspricht, oder für einen Faktor oder ein Maß davon). Differenzinformationen sind für alle ersten logischen Datenträger P erforderlich. Die Differenzinformationen werden in einem vorgeschriebenen Speicherbereich, beispielsweise einem Speicher, der von dem Kanalsteuerabschnitt 110 und dem DKA 120 konsultiert werden kann, gespeichert (insbesondere in einem geteilt verwendeten Speicher 140).
  • (A: Verarbeitung, die implementiert wird, wenn ein Journal nicht gespeichert werden kann (Gruppenstatus: unterbrochen))
  • Bevor der Gruppenstatus einer bestimmten Gruppe "unterbrochen" wird, setzt das Steueruntersystem 101A zuvor den Wert der Differenzinformationen für den ersten logischen Datenträger P in der Gruppe auf "kein Unterschied". Das Steueruntersystem 101A liest das älteste Journal aus den logischen Journal-Datenträgern in dieser Gruppe auf der Grundlage der Zeigerinformationen 700A aus und setzt den Wert, der sich auf das älteste Journal in den Differenzinformationen bezieht (beispielsweise den Wert, der der logischen Adresse des ältesten Journals entspricht), auf "Unterschied". Das Steueruntersystem 101A entfernt dann das älteste Journal aus dem logischen Journal-Datenträger. Das Steueruntersystem 101A führt diesen Prozess für alle Journale aus.
  • (B: Verarbeitung, die implementiert wird, wenn ein Journal nicht gespeichert werden kann (Gruppenstatus: unterbrochen))
  • Falls bei der vorstehend beschriebenen Verarbeitung (A: Verarbeitung, die implementiert wird, wenn ein Journal nicht gespeichert werden kann (Gruppenstatus: unterbrochen)) das Steueruntersystem 101A einen Schreibbefehl und Schreibdaten vom Host-Computer 180 empfangen hat, setzt es, statt ein Journal für diese Schreibdaten zu erzeugen, den Wert in den Differenzinformationen auf "Unterschied". Insbesondere bezieht sich das Steueruntersystem 101A beispielsweise in Schritt 1265 in 12 auf den Gruppenstatus und setzt, falls der Gruppenstatus "unterbrochen" ist, die entsprechende logische Adresse (den entsprechenden Ort in den Differenzinformationen) auf "Unterschied", ohne ein Journal zu erzeugen.
  • (C: Wiedereinleiten des Kopierens nach dem Unterbrechen des Kopierens (Unterbrechungszustand))
  • Das Steueruntersystem 101A empfängt eine spezifizierte Gruppennummer und einen Kopierneueinleitbefehl vom Host- Computer 180 oder vom Wartungsendgerät und leitet den Kopierprozess für die der spezifizierten Gruppennummer entsprechende Gruppe, ansprechend auf diesen Kopierneueinleitbefehl, neu ein. Ein Beispiel einer spezifischen Verarbeitungssequenz wird nachstehend beschrieben. Mit anderen Worten ändert das Steueruntersystem 101A, wenn die vorstehend beschriebene Verarbeitung beendet wurde (A: Verarbeitung, die implementiert wird, wenn ein Journal nicht gespeichert werden kann (Gruppenstatus: unterbrochen)), den Gruppenstatus der für die Kopierneueinleitverarbeitung spezifizierten Gruppe auf "nicht kopiert". Das Steueruntersystem 101A implementiert dann einen anfänglichen Kopierprozess, wie in 10 beschrieben wurde. Bei diesem anfänglichen Kopierprozess prüft das Steueruntersystem 101A, wie in 30 dargestellt ist, nach Schritt 1020 jeden Ort der Differenzinformationen 1021 entsprechend dem ersten logischen Datenträger, der das Objekt des anfänglichen Kopierprozesses ist (beispielsweise die Orte, die jeder logischen Adresse entsprechen), um zu bestätigen, ob sie "Unterschied" oder "kein Unterschied" angeben (Schritt 1021). Falls "Unterschied" in den Differenzinformationen festgelegt ist, führt das Steueruntersystem 101A in Schritt 1040 einen Journal-Erzeugungsprozess aus, und falls "kein Unterschied" festgelegt ist, führt es die Verarbeitung in Schritt 1050 aus. Wenn der Paarstatus für alle ersten logischen Datenträger in der festgelegten Gruppe infolge dieser Verarbeitung "normal" geworden ist, führt das Steueruntersystem 101A den Gruppenstatus auf "normal" zurück. Daraufhin werden alle in den Differenzinformationen festgelegten Werte auf "kein Unterschied" geändert, und es wird der Normalbetrieb wieder aufgenommen, wobei mit anderen Worten immer dann ein Journal erzeugt wird, wenn Daten aktualisiert werden.
  • Gemäß dieser vorstehend beschriebenen dritten Ausführungsform werden Differenzinformationen 1021 verwendet, um zu identifizieren, ob die Schreibdaten, für die ein Journal zu erzeugen ist, Schreibdaten sind, die einen Unterschied zwischen dem ersten logischen Datenträger P und dem zweiten logischen Datenträger S enthalten, und es wird kein Journal erzeugt, falls die Schreibdaten keinen solchen Unterschied enthalten. Folglich werden Journale nicht unnötig erzeugt, und die Zeit, die erforderlich ist, bis der zweite logische Datenträger S mit dem ersten logischen Datenträger P übereinstimmt, kann verkürzt werden.
  • (Ausführungsform 4)
  • Als nächstes wird eine vierte Ausführungsform eines Modus zum Implementieren der vorliegenden Erfindung beschrieben. Diese vierte Ausführungsform betrifft ein Beispiel eines Verfahrens zum Festlegen verschiedener Informationen zum Erreichen mindestens eines der vorstehend erwähnten Implementationsmodi und der vorstehend erwähnten ersten bis dritten Ausführungsform. Nachstehend wird eine Bildschirmdarstellung einer GUI (graphischen Benutzerschnittstelle), die verwendet wird, wenn dieses Verfahrensbeispiel angenommen wird, beschrieben. Die nachstehend beschriebene GUI-Bildschirmdarstellung wird als eine GUI-Bildschirmdarstellung angenommen, die durch im SVP 281 installierte Software bereitgestellt wird, und sie kann auf einer Vielzahl von Computern angezeigt werden, die mit dem SVP 281 verbunden sind.
  • 31A zeigt ein Beispiel einer ersten GUI-Bildschirmdarstellung.
  • Die erste GUI-Bildschirmdarstellung ist eine Bildschirmdarstellung zum Einrichten des Aktualisierungsinformationsbereichs, des Schreibdatenbereichs und der Anzahl der Gebiete, und diese Bildschirmdarstellung wird beispielsweise für jede Gruppe bereitgestellt.
  • Insbesondere ist es beispielsweise in dem "Meta/Daten-Verhältnis"-Kästchen möglich, das Verhältnis der Speicherkapazität zwischen dem Aktualisierungsinformationsbereich und dem Schreibdatenbereich festzulegen. In dem Beispiel in 31A ist das Verhältnis auf "16" gesetzt, was bedeutet, dass, wenn die Speicherkapazität eines logischen Journal-Datenträgers beispielsweise 170 GB ist, der Aktualisierungsinformationsbereich 10 GB ist und der Schreibdatenbereich 160 GB ist. Die für bestimmte Informationselemente der Zeigerinformationen 700A festgelegten Werte werden auf der Grundlage der auf dieser Bildschirmdarstellung festgelegten Werte bestimmt.
  • Insbesondere kann die Anzahl der Gebiete in dem "Gebiet"-Kästchen festgelegt werden. In dem Beispiel in 31A ist diese Anzahl auf "32" gesetzt, was bedeutet, dass in einem oder mehreren Schreibdatenbereichen 32 Gebiete festgelegt sind.
  • 31B zeigt ein Beispiel einer zweiten GUI-Bildschirmdarstellung.
  • Diese zweite GUI-Bildschirmdarstellung ist eine Bildschirmdarstellung, auf der der Benutzer bestimmte Einstellungen bestätigen kann.
  • Insbesondere wird die Gruppennummer (beispielsweise "70") beispielsweise in der Spalte angezeigt, die "JNL-Gruppe" entspricht.
  • Informationen, die sich auf den Gruppenstatus beziehen, werden in der "Attribut" entsprechenden Spalte angezeigt. Falls der Gruppenstatus insbesondere beispielsweise "normal" ist, wird die der vorstehend erwähnten Gruppennummer (beispielsweise "70") entsprechende Gruppe entweder als eine Kopierquelle (Master) oder ein Kopierziel (Umspeichern) angezeigt. Falls der Gruppenstatus "unterbrochen" ist, wird "unterbrochen" angezeigt, und falls das anfängliche Kopieren gerade abläuft, wird "Kopieren" angezeigt.
  • Das Kästchen "JNL-Größe (GB)" gibt die Gesamtspeicherkapazität der logischen Journal-Datenträger an.
  • Das Kästchen "JNL-Datenträger" gibt die Anzahl der logischen Journal-Datenträger an.
  • Überdies sind die der Gruppennummer zugeordneten logischen Journal-Datenträger beispielsweise in dem durch die Bezugszahl 5001 angegebenen Anzeigebereich aufgelistet.
  • 32A zeigt ein Beispiel einer dritten GUI-Bildschirmdarstellung.
  • Die dritte GUI-Bildschirmdarstellung ist eine Bildschirmdarstellung zum Erfassen von Informationen in Bezug auf eine Gruppe und zum Vornehmen von Einstellungen in Bezug auf eine Gruppe.
  • Beispielsweise wird das durch eine Bezugszahl 5003 angegebene Menü "JNL-Datenträger" vom Benutzer ausgewählt, wenn ein neuer logischer Journal-Datenträger zu einer vom Benutzer ausgewählten Gruppe hinzuzufügen ist. Der Benutzer kann einen logischen Datenträger hinzufügen, um einen für eine Gruppe registrierten logischen Journal-Datenträger zu bilden, indem er beliebige der logischen Datenträger aus einer durch eine Bezugszahl 5005 angegebenen Liste beispielsweise auf einer in 32B dargestellten vierten GUI-Bildschirmdarstellung auswählt.
  • Auf der dritten GUI-Bildschirmdarstellung wird das durch die Bezugszahl 5004 angegebene Menü "Option ändern" vom Benutzer ausgewählt, wenn die Bildschirmdarstellung in 31A anzuzeigen ist.
  • Wenngleich hier auf eine detailliertere Beschreibung verzichtet wird, wird die dritte GUI-Bildschirmdarstellung auch verwendet, um nicht verwendete Gruppen zu untersuchen (dort ist die "Attribut"-Spalte leer). Überdies wird die dritte GUI-Bildschirmdarstellung auch verwendet, wenn der Benutzer den Gruppenstatus bestätigen möchte. Überdies wird die dritte GUI-Bildschirmdarstellung auch verwendet, wenn der Benutzer Operationen in Gruppeneinheiten ausführt (Anweisungen gibt), wie das Einleiten eines anfänglichen Kopierprozesses oder dergleichen.
  • 33A zeigt ein Beispiel einer fünften GUI-Bildschirmdarstellung.
  • Die fünfte GUI-Bildschirmdarstellung ist eine Bildschirmdarstellung zum Spezifizieren Paare bildender logischer Datenträger und zum Bestätigen des Status dieser Paare.
  • In der fünften GUI-Bildschirmdarstellung gibt die Spalte "Status" den Paarstatus an. Ein Eintrag "SMPL" in der diesem Element entsprechenden Spalte gibt einen logischen Datenträger an, der nicht gepaart ist, und ein Eintrag "PAAR" gibt einen logischen Datenträger an, der gepaart ist und für den eine Datenkopie normal ausgeführt wurde. Falls der logische Datenträger ein erster logischer Datenträger ist, wird "P" unterhalb des Bildzeichens 5006 und links davon angegeben, und falls der logische Datenträger ein zweiter logischer Datenträger ist, wird "S" angegeben. Überdies wird in der "Status"-Spalte "unterbrochen" angezeigt, falls der Gruppenstatus "unterbrochen" ist, und "Kopieren" angezeigt, falls das anfängliche Kopieren gerade ausgeführt wird.
  • Überdies ist es in der fünften GUI-Bildschirmdarstellung möglich, ein Paar zu erzeugen, wenn das durch eine Bezugszahl 5008 angegebene Menü "Paarerzeugung" ausgewählt wird. Falls insbesondere ein erster logischer Datenträger ausgewählt, rechts angeklickt und das Menü "Paarerzeugung" in dem sich ergebenden Pop-up-Fenster ausgewählt wird, wird eine sechste Bildschirmdarstellung in der Art der in 33B dargestellten angezeigt. Auf dieser Bildschirmdarstellung kann ein Paar erzeugt werden, indem ein zweiter logischer Datenträger und eine erste/zweite Gruppennummer und dergleichen ausgewählt werden.
  • Vorstehend wurden ein bevorzugter Implementationsmodus und mehrere Ausführungsformen der vorliegenden Erfindung beschrieben, die vorliegende Erfindung ist jedoch nicht auf diesen Implementationsmodus dieser Ausführungsformen beschränkt, und sie kann natürlich auf verschiedene Arten modifiziert werden, ohne vom Grundgedanken der Erfindung abzuweichen.
  • Beispielsweise wird in der vorstehenden Beschreibung eine "Nummer" verwendet, um jedes Element zu identifizieren, es ist jedoch auch möglich, einen beliebigen Kennungstyp außer einer Nummer zu verwenden, der dieses Element identifizieren kann. Insbesondere ist die Kennung zum Identi fizieren eines Speichersystems 100 beispielsweise nicht auf eine Nummer beschränkt, und sie kann auch ein WWN (weltweiter Name), ein iSCSI-Name, eine IP-Adresse, eine MAC-Adresse oder dergleichen sein.
  • Überdies kann ein Journal auch dadurch in dem zweiten Speichersystem 100B gespeichert werden, dass das erste Speichersystem 100A das Journal und einen Journal-Schreibbefehl zum zweiten Speichersystem 100B sendet. Falls ein Verfahren eingesetzt wird, bei dem Journal-Lesebefehle verwendet werden, ist es dem zweiten Speichersystem 100B möglich, Befehle entsprechend seinem eigenen Status in der Art seiner Belastung oder dergleichen auszugeben, wodurch die Zweckmäßigkeit des zweiten Speichersystems 100B verbessert wird. Falls ein Verfahren eingesetzt wird, bei dem Journal-Schreibbefehle verwendet werden, ist es dem ersten Speichersystem 100A möglich, Befehle entsprechend seinem eigenen Status in der Art seiner Belastung oder dergleichen auszugeben, wodurch die Zweckmäßigkeit des ersten Speichersystems 100A verbessert wird.
  • Falls das Steueruntersystem 101A weiterhin feststellt, dass die in einem logischen Journal-Datenträger des ersten Speichersystems 100A gespeicherten Aktualisierungsinformationen umgespeichert wurden, beispielsweise dadurch, dass das zweite Speichersystem 100B auf der Grundlage eines diese Aktualisierungsinformationen enthaltenden Journals einen Umspeicherprozess implementiert hat, oder falls das die Aktualisierungsinformationen enthaltende Journal zum zweiten Speichersystem 100B gesendet wurde, kann das Steueruntersystem 101A diese Aktualisierungsinformationen entfernen. Der erstgenannte Fall kann beispielsweise festgestellt werden, indem das Steueruntersystem 101B des zweiten Speichersystems 100B jedes Mal dann, wenn ein Umspeicherprozess auf der Grundlage eines Journals ausgeführt wird, die Aktualisierungsnummer in dem Journal zu dem ersten Speichersystem 100A sendet.

Claims (14)

  1. Erstes Speichersystem (100A), das an ein zweites Speichersystem (100B) zum Speichern empfangener Daten angeschlossen ist und einen ersten Datenträger (DATA1) bezogen auf einen ersten Abschnitt wenigstens eines ersten Plattenlaufwerks (150) aufweist, wobei das zweite Speichersystem einen zweiten Datenträger (COPY1) bezogen auf einen ersten Abschnitt wenigstens eines zweiten Plattenlaufwerks aufweist, und der erste Datenträger und der zweite Datenträger in einer Paarbeziehung zueinander stehen, wobei das erste Speichersystem aufweist: einen Datenreihen-Speicherbereich (JNL1), der auf einen zweiten Abschnitt des ersten Plattenlaufwerks bezogen ist, zum Speichern einer Datenreihe mit Daten, die auf den ersten Datenträger (DATA1) gerichteten Aktualisierungsdaten und Aktualisierungsinformation zum Verwalten der Daten entsprechen, und einen Steuerabschnitt (110A, 110B, 120) zum Erzeugen der Datenreihe mit der Aktualisierungsinformation zum Verwalten der Daten, Speichern der erzeugten Datenreihe in dem Datenreihen-Speicherbereich (JNL1), und Senden einer Datenreihe in dem Datenreihenspeicherbereich an das zweite Speichersystem (100B), wobei der Datenreihen-Speicherbereich (JNL1) in mehrere Speicherbereiche einschließlich eines ersten Speicherbereichs und eines zweiten Speicherbereichs unterteilt ist, die empfangenen Daten erste und zweite Daten umfassen, wobei die ersten und die zweiten Daten mehreren sequentiell durch das Speichersystem empfangenen Daten entsprechen, und der Steuerabschnitt eine erste Datenreihe mit den ersten Daten (330) und erste Aktualisierungsinformation (310), die Aktualisierungsinformation für die ersten Daten darstellt, erzeugt, wenigstens die ersten Daten (330) der erzeugten ersten Datenreihe in dem ersten Speicherbereich speichert, eine zweite Datenreihe mit den zweiten Daten und zweiter Aktualisierungsinformation, die Aktualisierungsinformation für die zweiten Daten darstellt, erzeugt, und wenigstens die zweiten Daten der erzeugten zweiten Datenreihe in dem zweiten Speicherbereich speichert, der von dem ersten Speicherbereich verschieden ist, auf Grundlage neuer erster Daten und neuer zweiter Daten, die von den ersten Daten und den zweiten Daten verschieden sind, das Erzeugen einer neuen ersten Datenreihe, das Speichern wenigstens der neuen ersten Daten der erzeugten neuen ersten Datenreihe in dem ersten Speicherbereich, das Erzeugen einer neuen zweiten Datenreihe, und das Spei chern wenigstens der neuen zweiten Daten der erzeugten neuen zweiten Datenreihe in dem zweiten Speicherbereich wiederholt wird.
  2. Speichersystem (100A) nach Anspruch 1, wobei jeder der mehreren Speicherbereiche in einen Aktualisierungsinformations-Unterbereich zum Speichern der Aktualisierungsinformation der Datenreihe und einen Daten-Unterbereich zum Speichern der Daten der Datenreihe unterteilt ist, und der Steuerabschnitt die ersten Daten in dem Daten-Unterbereich des ersten Speicherbereichs speichert und die zweiten Daten in dem Daten-Unterbereich des zweiten Speicherbereichs speichert.
  3. Speichersystem (100A) nach Anspruch 2, wobei die in der zweiten Datenreihe enthaltenen zweiten Daten Daten darstellen, die nach den in der ersten Datenreihe enthaltenen ersten Daten gespeichert wurden.
  4. Speichersystem (100A) nach Anspruch 1, wobei das zweite Speichersystem (100B) einen Datenreihen-Lesebefehl zum Auslesen der Datenreihe erzeugt und den so erzeugten Datenreihen-Lesebefehl und einen Bereichsidentifizierungscode zum Identifizieren jedes der mehreren Speicherbereiche an das erste Speichersystem (100A) sendet, und der Steuerabschnitt (110B) den Datenreihen-Lesebefehl und den Bereichsidentifizierungscode von dem zweiten Speichersystem (100B) empfängt, Aktualisierungsinformation von den mehreren Speicherbereichen in Reaktion auf den Datenreihen-Lesebefehl ausliest, ferner der Aktualisierungsinformation entsprechende Daten aus dem Speicherbereich der mehreren Speicherbereiche ausliest, der dem empfangenen Bereichsidentifizierungscode entspricht, und die aus den Aktualisierungsdaten und den so ausgelesenen Daten zusammengesetzte Datenreihe an das zweite Speichersystem (100B) sendet.
  5. Speichersystem (100A) nach Anspruch 1, wobei das erste Speichersystem (100A) ferner eine Datenträgerreihe aufweist, die aus einem oder mehreren logischen Datenträgern zum Speichern der Datenreihen gebildet ist, die Datenträgerreihe in mehrere Unter-Datenträgerbereiche unterteilt ist, jeder der mehreren Speicherbereiche einen Unter-Datenträgerbereich darstellt, und sich jeder der mehreren Unter-Datenträgerbereiche über einen oder mehrere logische Datenträger erstreckt.
  6. Speichersystem nach Anspruch 5, wobei jeder der einen oder mehreren logischen Datenträger in einen Aktualisierungsinformationsbereich zum Speichern der Aktualisierungsinformation der Datenreihen und einen Datenbereich zum Speichern der Daten der Datenreihen unterteilt ist, wenigstens der Datenbereich des Aktualisierungsinformationsbereichs und der Datenbereich in mehrere Unter-Datenbereiche unterteilt sind, und wenn es einen logischen Datenträger gibt, jeder der mehreren Unter-Datenträgerbereiche einen Unter-Datenbereich darstellt, während wenn es mehrere logische Datenträger gibt, jeder der mehreren Unter-Datenträgerbereiche eine Unter-Datenbereichsgruppe darstellt, die durch eine Gruppe von mehreren Unter-Datenbereichen gebildet ist, die jeweils in den mehreren logischen Datenträgern vorgesehen sind.
  7. Speichersystem (100A) nach Anspruch 6, wobei der Steuerabschnitt das Speicherziel für die in der Datenreihe enthaltenen Daten für jeden Unter-Datenträgerbereich ändert.
  8. Speichersystem (100A) nach Anspruch 5, wobei die Anzahl der Unter-Datenträgerbereiche mindestens so groß ist wie die Anzahl der logischen Datenträger.
  9. Speichersystem (100A) nach Anspruch 1, wobei das zweite Speichersystem (100B) einen Datenreihen-Lesebefehl zum Auslesen der Datenreihe erzeugt und denselben an das erste Speichersystem (100A) sendet, und der Steuerabschnitt (110B) den Datenreihen-Lesebefehl von dem zweiten Speichersystem (100B) empfangt, in Reaktion auf den Datenreihen-Lesebefehl mehrere Datenreihen von dem Datenreihen-Speicherbereich (JNL1) ausliest und an das zweite Speichersystem (100B) sendet.
  10. Speichersystem (100A) nach Anspruch 9, wobei der Steuerabschnitt (110B) mehrere Daten von aufeinanderfolgenden Bereichen des Datenreihen-Speicherbereichs (JNL1) ausliest; mehrere Aktualisierungsdaten, die jeweils den mehreren Daten entsprechen, aus dem Datenreihen-Speicherbereich ausliest; und die mehreren Datenreihen mit den mehreren Daten und den mehreren so ausgelesenen Aktualisierungsdaten erzeugt und an das zweite Speichersystem (100B) sendet.
  11. Speichersystem (100A) nach Anspruch 1, wobei das erste Speichersystem (100A) ferner eine Cache-Speicher (130) zum temporären Speichern von Datenreihen aufweist, die zwischen dem zweiten Speichersystem (100B) und dem Datenreihen-Speicherbereich (JNL1) ausgetauscht werden, das zweite Speichersystem (100B) einen Datenreihen-Lesebefehl zum Auslesen der Datenreihe erzeugt und denselben an das erste Speichersystem (100A) sendet, und der Steuerabschnitt (110B) den Datenreihen-Lesebefehl von dem zweiten Speichersystem (100B) empfängt, eine Datenreihe von dem Datenreihen-Speicherbereich (JNL1) in den Cache-Speicher (130) ausliest, in Reaktion auf den Datenreihen-Lesebefehl die in den Cache-Speicher ausgelesene Datenreihe an das zweite Speichersystem (100B) sendet, eine Datenreihe von dem Datenreihen-Speicherbereich in den Cache-Speicher ausliest, bevor der nächste Datenreihen-Lesebefehl empfangen wird, und die in dem Cache-Speicher (130) gespeicherte Datenreihe an das zweite Speichersystem (100B) sendet, wenn der nächste Datenreihen-Lesebefehl empfangen wird.
  12. Speichersystem (100A) nach Anspruch 1, wobei das zweite Speichersystem (100B) einen zweiten logischen Datenträger (COPY1) aufweist, der erste logische Datenträger mit mehreren Unterbereichen versehen ist, das erste Speichersystem ferner eine Differenzinformations-Speicherbereich zum Speichern von Differenzinformation bezüglich des ersten logischen Datenträgers aufweist, die Differenzinformation einen Einstellwert aufweist, der anzeigt, ob es einen Unterschied zwischen dem ersten logischen Datenträger (DATA1) und dem zweiten logischen Datenträger (COPY1) bezüglich der in jedem der mehreren Unterbereiche in dem ersten logischen Datenträger gespeicherten Daten gibt, und der Steuerabschnitt auf die Differenzinformation Bezug nimmt und die Datenreihe für bestimmte Daten nicht erzeugt, falls der zu den bestimmten Daten gehörende Einstellwert anzeigt, daß kein Unterschied besteht.
  13. Datenverarbeitungssystem (1) mit einem ersten Speichersystem (100A) zum Speichern von Daten, welches das Speichersystem nach Anspruch 1 ist, und einem zweiten Speichersystem (100B), das an das erste Speichersystem angeschlossen ist, um Daten von dem ersten Speichersystem zu empfangen und zu speichern.
  14. Datenverarbeitungsverfahren, das durch ein Datenverarbeitungssystem (1) mit einem ersten Speichersystem (100A) zum Speichern von Daten und einem zweiten Speichersystem (100B), das an das erste Speichersystem angeschlossen ist, um Daten von dem ersten Speichersystem zu empfangen und zu speichern, implementiert ist, wobei das erste Speichersystem einen ersten Datenträger (DATA1) bezogen auf einen ersten Abschnitt wenigstens eines ersten Plattenlaufwerks aufweist, das zweite Speichersystem einen zwei ten Datenträger (COPY1) bezogen auf einen ersten Abschnitt wenigstens eines zweiten Plattenlaufwerks aufweist, und der erste Datenträger und der zweite Datenträger in einer Paarbeziehung zueinander stehen, wobei in dem Verfahren das erste Speichersystem (100A) eine erste Datenreihe mit ersten Daten und erster Aktualisierungsinformation, die Aktualisierungsinformation für die ersten Daten darstellt, erzeugt, das erste Speichersystem (100A) wenigstens die ersten Daten und die erzeugte erste Datenreihe in einem ersten Speicherbereich von mehreren Speicherbereichen speichert, die einen Datenreihen-Speicherbereich (JNL1) bilden, das erste Speichersystem (100A) eine zweite Datenreihe mit zweiten Daten und zweiter Aktualisierungsinformation, die Aktualisierungsinformation für die zweiten Daten darstellt, erzeugt, das erste Speichersystem (100A) wenigstens die zweiten Daten der erzeugten zweiten Datenreihe in einem zweiten Speicherbereich speichert, der von dem ersten Speicherbereich verschieden ist und in den mehreren Speicherbereichen enthalten ist, das erste Speichersystem (100A) eine erste Datenreihe in dem ersten Speicherbereich und eine zweite Datenreihe in dem zweiten Speicherbereich an das zweite Speichersystem (100B) sendet, das zweite Speichersystem (100B) die erste Datenreihe und die zweite Datenreihe von dem ersten Speichersystem empfängt und in einem Datenreihen-Speicherbereich (JNL2) speichert, und das erste Speichersystem (100A) neue erste Daten und neue zweite Daten, die sich von den ersten und den zweiten Daten unterscheiden, empfängt und die oben aufgeführten Schritte zum Erzeugen einer neuen ersten Datenreihe, Speichern wenigstens der neuen ersten Daten der erzeugten neuen ersten Datenreihe in dem ersten Speicherbereich, Erzeugen einer neuen zweiten Datenreihe, und Speichern wenigstens der neuen zweiten Daten der erzeugten neuen zweiten Datenreihe in den zweiten Speicherbereich wiederholt.
DE602005000972T 2004-08-04 2005-02-01 Speichersystem und Datenverarbeitungssystem Active DE602005000972T2 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2004228203 2004-08-04
JP2004228203A JP4519563B2 (ja) 2004-08-04 2004-08-04 記憶システム及びデータ処理システム

Publications (2)

Publication Number Publication Date
DE602005000972D1 DE602005000972D1 (de) 2007-06-06
DE602005000972T2 true DE602005000972T2 (de) 2008-01-17

Family

ID=34940417

Family Applications (2)

Application Number Title Priority Date Filing Date
DE602005000972T Active DE602005000972T2 (de) 2004-08-04 2005-02-01 Speichersystem und Datenverarbeitungssystem
DE602005007258T Active DE602005007258D1 (de) 2004-08-04 2005-02-01 Speichersystem und Datenverarbeitungssystem

Family Applications After (1)

Application Number Title Priority Date Filing Date
DE602005007258T Active DE602005007258D1 (de) 2004-08-04 2005-02-01 Speichersystem und Datenverarbeitungssystem

Country Status (4)

Country Link
US (4) US7159088B2 (de)
EP (2) EP1796004B1 (de)
JP (1) JP4519563B2 (de)
DE (2) DE602005000972T2 (de)

Families Citing this family (111)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2003092166A1 (en) * 2002-04-25 2003-11-06 Kashya Israel Ltd. An apparatus for continuous compression of large volumes of data
WO2005036418A1 (en) * 2003-10-13 2005-04-21 Illuminator (Israel) Ltd. Apparatus and method for information recovery quality assessment in a computer system
JP4519563B2 (ja) * 2004-08-04 2010-08-04 株式会社日立製作所 記憶システム及びデータ処理システム
US7590780B2 (en) * 2004-11-08 2009-09-15 Broadcom Corporation Method and computer program product to migrate legacy data to a RAID array while contemporaneously providing user access to legacy data
US20060143502A1 (en) * 2004-12-10 2006-06-29 Dell Products L.P. System and method for managing failures in a redundant memory subsystem
KR100674946B1 (ko) * 2005-01-19 2007-01-26 삼성전자주식회사 디스크 드라이브의 데이터 복사 방법 및 그 장치
JP2006221510A (ja) * 2005-02-14 2006-08-24 Fujitsu Ltd ディスク装置制御プログラム、ディスク装置制御方法、ディスク装置制御システム
US7774565B2 (en) * 2005-12-21 2010-08-10 Emc Israel Development Center, Ltd. Methods and apparatus for point in time data access and recovery
US8060713B1 (en) 2005-12-21 2011-11-15 Emc (Benelux) B.V., S.A.R.L. Consolidating snapshots in a continuous data protection system using journaling
US7849361B2 (en) * 2005-12-22 2010-12-07 Emc Corporation Methods and apparatus for multiple point in time data access
JP4938328B2 (ja) * 2006-03-28 2012-05-23 株式会社日立製作所 記憶システム及びその電源制御方法並びにストレージ装置
JP2008015768A (ja) * 2006-07-05 2008-01-24 Hitachi Ltd 記憶システム並びにこれを用いたデータの管理方法
JP2008033527A (ja) * 2006-07-27 2008-02-14 Hitachi Ltd ストレージ装置、ディスク装置及びデータ復元方法
JP4890160B2 (ja) * 2006-09-06 2012-03-07 株式会社日立製作所 ストレージシステム及びバックアップ/リカバリ方法
US7627687B2 (en) * 2006-09-28 2009-12-01 Emc Israel Development Center, Ltd. Methods and apparatus for managing data flow in a continuous data replication system having journaling
US7516287B2 (en) * 2006-09-28 2009-04-07 Emc Israel Development Center, Ltd. Methods and apparatus for optimal journaling for continuous data replication
US7627612B2 (en) * 2006-09-28 2009-12-01 Emc Israel Development Center, Ltd. Methods and apparatus for optimal journaling for continuous data replication
JP2008192058A (ja) * 2007-02-07 2008-08-21 Nec Corp ファイルのリモートコピー装置、方法およびプログラム
JP5158074B2 (ja) * 2007-03-20 2013-03-06 富士通株式会社 ストレージ管理プログラム、ストレージ管理方法、ストレージ管理装置およびストレージシステム
JP2008250695A (ja) * 2007-03-30 2008-10-16 Nec Corp ディスクアレイコントローラ及びこれを備えたディスクアレイシステム
JP4981523B2 (ja) * 2007-05-28 2012-07-25 株式会社日立製作所 ストレージシステム及びストレージシステム管理方法
JP4386932B2 (ja) * 2007-08-17 2009-12-16 富士通株式会社 ストレージ管理プログラム、ストレージ管理装置およびストレージ管理方法
US7860836B1 (en) 2007-12-26 2010-12-28 Emc (Benelux) B.V., S.A.R.L. Method and apparatus to recover data in a continuous data protection environment using a journal
US7958372B1 (en) 2007-12-26 2011-06-07 Emc (Benelux) B.V., S.A.R.L. Method and apparatus to convert a logical unit from a first encryption state to a second encryption state using a journal in a continuous data protection environment
US7840536B1 (en) 2007-12-26 2010-11-23 Emc (Benelux) B.V., S.A.R.L. Methods and apparatus for dynamic journal expansion
US8041940B1 (en) 2007-12-26 2011-10-18 Emc Corporation Offloading encryption processing in a storage area network
KR101258589B1 (ko) * 2008-03-03 2013-05-02 삼성전자주식회사 저널링 파일 시스템에 따라 데이터를 기록한 정보저장매체,저널링 파일 시스템을 이용해서 데이터를 기록/복구하는방법 및 장치
US9501542B1 (en) 2008-03-11 2016-11-22 Emc Corporation Methods and apparatus for volume synchronization
US7719443B1 (en) 2008-06-27 2010-05-18 Emc Corporation Compressing data in a continuous data protection environment
US8108634B1 (en) 2008-06-27 2012-01-31 Emc B.V., S.A.R.L. Replicating a thin logical unit
US8069322B2 (en) 2008-08-15 2011-11-29 International Business Machines Corporation Active-active remote configuration of a storage system
US20100049926A1 (en) * 2008-08-21 2010-02-25 International Business Machines Corporation Enhancement of data mirroring to provide parallel processing of overlapping writes
US8060714B1 (en) 2008-09-26 2011-11-15 Emc (Benelux) B.V., S.A.R.L. Initializing volumes in a replication system
US7882286B1 (en) * 2008-09-26 2011-02-01 EMC (Benelux)B.V., S.A.R.L. Synchronizing volumes for replication
WO2010058488A1 (en) * 2008-11-21 2010-05-27 Hitachi, Ltd. Storage apparatus and method of updating control information in storage apparatus
US8650328B1 (en) * 2008-12-15 2014-02-11 American Megatrends, Inc. Bi-directional communication between redundant storage controllers
TWI514249B (zh) 2009-01-23 2015-12-21 Infortrend Technology Inc 遠端非同步資料卷複製的方法及執行該方法的儲存系統
JP5326918B2 (ja) * 2009-08-05 2013-10-30 株式会社リコー 電子機器,ソフトウェア更新方法,プログラム,および記録媒体
WO2011077489A1 (ja) * 2009-12-24 2011-06-30 株式会社日立製作所 仮想ボリュームを提供するストレージシステム
JP5544897B2 (ja) * 2010-01-22 2014-07-09 富士通株式会社 記憶装置、制御装置および記憶装置の制御方法
JP5549243B2 (ja) * 2010-01-29 2014-07-16 富士通株式会社 ストレージ装置、ストレージ装置の制御方法及びストレージ装置の制御プログラム
US8392680B1 (en) 2010-03-30 2013-03-05 Emc International Company Accessing a volume in a distributed environment
US8332687B1 (en) 2010-06-23 2012-12-11 Emc Corporation Splitter used in a continuous data protection environment
US8433869B1 (en) 2010-09-27 2013-04-30 Emc International Company Virtualized consistency group using an enhanced splitter
US8478955B1 (en) 2010-09-27 2013-07-02 Emc International Company Virtualized consistency group using more than one data protection appliance
US8335771B1 (en) 2010-09-29 2012-12-18 Emc Corporation Storage array snapshots for logged access replication in a continuous data protection system
US8694700B1 (en) 2010-09-29 2014-04-08 Emc Corporation Using I/O track information for continuous push with splitter for storage device
US8335761B1 (en) 2010-12-02 2012-12-18 Emc International Company Replicating in a multi-copy environment
JP2013029911A (ja) * 2011-07-27 2013-02-07 Fujitsu Ltd 制御装置、制御方法およびストレージ装置
US9256605B1 (en) 2011-08-03 2016-02-09 Emc Corporation Reading and writing to an unexposed device
US8898112B1 (en) 2011-09-07 2014-11-25 Emc Corporation Write signature command
US9336132B1 (en) * 2012-02-06 2016-05-10 Nutanix, Inc. Method and system for implementing a distributed operations log
US9223659B1 (en) 2012-06-28 2015-12-29 Emc International Company Generating and accessing a virtual volume snapshot in a continuous data protection system
US9336094B1 (en) 2012-09-13 2016-05-10 Emc International Company Scaleout replication of an application
US10235145B1 (en) 2012-09-13 2019-03-19 Emc International Company Distributed scale-out replication
US9317423B2 (en) * 2013-01-07 2016-04-19 Hitachi, Ltd. Storage system which realizes asynchronous remote copy using cache memory composed of flash memory, and control method thereof
US9383937B1 (en) 2013-03-14 2016-07-05 Emc Corporation Journal tiering in a continuous data protection system using deduplication-based storage
US9110914B1 (en) 2013-03-14 2015-08-18 Emc Corporation Continuous data protection using deduplication-based storage
US8996460B1 (en) 2013-03-14 2015-03-31 Emc Corporation Accessing an image in a continuous data protection using deduplication-based storage
US9696939B1 (en) 2013-03-14 2017-07-04 EMC IP Holding Company LLC Replicating data using deduplication-based arrays using network-based replication
US9081842B1 (en) 2013-03-15 2015-07-14 Emc Corporation Synchronous and asymmetric asynchronous active-active-active data access
US9152339B1 (en) 2013-03-15 2015-10-06 Emc Corporation Synchronization of asymmetric active-active, asynchronously-protected storage
US9244997B1 (en) 2013-03-15 2016-01-26 Emc Corporation Asymmetric active-active access of asynchronously-protected data storage
US9069709B1 (en) 2013-06-24 2015-06-30 Emc International Company Dynamic granularity in data replication
US9087112B1 (en) 2013-06-24 2015-07-21 Emc International Company Consistency across snapshot shipping and continuous replication
US9146878B1 (en) 2013-06-25 2015-09-29 Emc Corporation Storage recovery from total cache loss using journal-based replication
CN103649901A (zh) 2013-07-26 2014-03-19 华为技术有限公司 数据发送方法、数据接收方法和存储设备
GB2517453B (en) * 2013-08-20 2017-12-20 Imagination Tech Ltd Improved use of memory resources
ES2676057T3 (es) 2013-10-18 2018-07-16 Huawei Technologies Co., Ltd. Método de memorización de datos, aparato de memorización de datos y dispositivo de memorización
US9367260B1 (en) 2013-12-13 2016-06-14 Emc Corporation Dynamic replication system
US9405765B1 (en) 2013-12-17 2016-08-02 Emc Corporation Replication of virtual machines
US9158630B1 (en) 2013-12-19 2015-10-13 Emc Corporation Testing integrity of replicated storage
US9189339B1 (en) 2014-03-28 2015-11-17 Emc Corporation Replication of a virtual distributed volume with virtual machine granualarity
US10082980B1 (en) 2014-06-20 2018-09-25 EMC IP Holding Company LLC Migration of snapshot in replication system using a log
US9274718B1 (en) 2014-06-20 2016-03-01 Emc Corporation Migration in replication system
US9619543B1 (en) 2014-06-23 2017-04-11 EMC IP Holding Company LLC Replicating in virtual desktop infrastructure
US10324798B1 (en) 2014-09-25 2019-06-18 EMC IP Holding Company LLC Restoring active areas of a logical unit
US10101943B1 (en) 2014-09-25 2018-10-16 EMC IP Holding Company LLC Realigning data in replication system
US10437783B1 (en) 2014-09-25 2019-10-08 EMC IP Holding Company LLC Recover storage array using remote deduplication device
US9910621B1 (en) 2014-09-29 2018-03-06 EMC IP Holding Company LLC Backlogging I/O metadata utilizing counters to monitor write acknowledgements and no acknowledgements
US9529885B1 (en) 2014-09-29 2016-12-27 EMC IP Holding Company LLC Maintaining consistent point-in-time in asynchronous replication during virtual machine relocation
WO2016051512A1 (ja) 2014-09-30 2016-04-07 株式会社日立製作所 分散型ストレージシステム
US10496487B1 (en) 2014-12-03 2019-12-03 EMC IP Holding Company LLC Storing snapshot changes with snapshots
US9600377B1 (en) 2014-12-03 2017-03-21 EMC IP Holding Company LLC Providing data protection using point-in-time images from multiple types of storage devices
US9405481B1 (en) 2014-12-17 2016-08-02 Emc Corporation Replicating using volume multiplexing with consistency group file
US9632881B1 (en) 2015-03-24 2017-04-25 EMC IP Holding Company LLC Replication of a virtual distributed volume
US10296419B1 (en) 2015-03-27 2019-05-21 EMC IP Holding Company LLC Accessing a virtual device using a kernel
US9411535B1 (en) 2015-03-27 2016-08-09 Emc Corporation Accessing multiple virtual devices
US9678680B1 (en) 2015-03-30 2017-06-13 EMC IP Holding Company LLC Forming a protection domain in a storage architecture
US10853181B1 (en) 2015-06-29 2020-12-01 EMC IP Holding Company LLC Backing up volumes using fragment files
US10346260B1 (en) * 2015-09-30 2019-07-09 EMC IP Holding Company LLC Replication based security
US10630802B2 (en) * 2015-12-07 2020-04-21 International Business Machines Corporation Read caching in PPRC environments
US9684576B1 (en) 2015-12-21 2017-06-20 EMC IP Holding Company LLC Replication using a virtual distributed volume
US10133874B1 (en) 2015-12-28 2018-11-20 EMC IP Holding Company LLC Performing snapshot replication on a storage system not configured to support snapshot replication
US10067837B1 (en) 2015-12-28 2018-09-04 EMC IP Holding Company LLC Continuous data protection with cloud resources
US10235196B1 (en) 2015-12-28 2019-03-19 EMC IP Holding Company LLC Virtual machine joining or separating
US10152267B1 (en) 2016-03-30 2018-12-11 Emc Corporation Replication data pull
US10235087B1 (en) 2016-03-30 2019-03-19 EMC IP Holding Company LLC Distributing journal data over multiple journals
US10579282B1 (en) 2016-03-30 2020-03-03 EMC IP Holding Company LLC Distributed copy in multi-copy replication where offset and size of I/O requests to replication site is half offset and size of I/O request to production volume
US10235060B1 (en) 2016-04-14 2019-03-19 EMC IP Holding Company, LLC Multilevel snapshot replication for hot and cold regions of a storage system
TWI582581B (zh) * 2016-05-13 2017-05-11 群暉科技股份有限公司 用來於一冗餘儲存系統中進行資料修復之方法與裝置
JP6677605B2 (ja) * 2016-08-22 2020-04-08 株式会社東芝 プログラム、ストレージシステム、およびストレージシステムの制御方法
CN106407040B (zh) 2016-09-05 2019-05-24 华为技术有限公司 一种远程数据复制方法及系统
US10235091B1 (en) 2016-09-23 2019-03-19 EMC IP Holding Company LLC Full sweep disk synchronization in a storage system
US10146961B1 (en) 2016-09-23 2018-12-04 EMC IP Holding Company LLC Encrypting replication journals in a storage system
US10210073B1 (en) 2016-09-23 2019-02-19 EMC IP Holding Company, LLC Real time debugging of production replicated data with data obfuscation in a storage system
US10019194B1 (en) 2016-09-23 2018-07-10 EMC IP Holding Company LLC Eventually consistent synchronous data replication in a storage system
US10235090B1 (en) 2016-09-23 2019-03-19 EMC IP Holding Company LLC Validating replication copy consistency using a hash function in a storage system
US10416905B2 (en) 2017-02-09 2019-09-17 Hewlett Packard Enterprise Development Lp Modifying membership of replication groups via journal operations
KR20190123990A (ko) * 2018-04-25 2019-11-04 에스케이하이닉스 주식회사 메모리 컨트롤러 및 그 동작 방법
US11100132B2 (en) * 2018-10-11 2021-08-24 International Business Machines Corporation Intelligent space release in asynchronous mirror journal volumes

Family Cites Families (92)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US60507A (en) * 1866-12-18 Chaelbs m
US132155A (en) * 1872-10-15 Improvement in twisting and spooling machines
US55523A (en) * 1866-06-12 Improvement in automatic heliotropes
US204106A (en) * 1878-05-21 Improvement in grand piano-fortes
JP2544449B2 (ja) 1986-05-23 1996-10-16 株式会社日立製作所 情報処理システム及び情報処理システムの制御方法
JP2569135B2 (ja) 1988-07-27 1997-01-08 株式会社日立製作所 記憶装置のデータ整合性制御方式
US5170480A (en) * 1989-09-25 1992-12-08 International Business Machines Corporation Concurrently applying redo records to backup database in a log sequence using single queue server per queue at a time
JPH03164827A (ja) * 1989-11-22 1991-07-16 Hitachi Ltd 2次記憶装置への分割格納方式
US5307481A (en) * 1990-02-28 1994-04-26 Hitachi, Ltd. Highly reliable online system
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
US5459857A (en) * 1992-05-15 1995-10-17 Storage Technology Corporation Fault tolerant disk array data storage subsystem
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
JPH06242976A (ja) * 1993-02-16 1994-09-02 Nec Corp システム障害復旧処理方式
US5978565A (en) * 1993-07-20 1999-11-02 Vinca Corporation Method for rapid recovery from a network file server failure including method for operating co-standby servers
JP3246146B2 (ja) 1993-12-27 2002-01-15 株式会社日立製作所 外部記憶装置のデータ移行方法
KR0128271B1 (ko) * 1994-02-22 1998-04-15 윌리암 티. 엘리스 재해회복을 위한 일관성 그룹 형성방법 및 레코드갱싱의 섀도잉 방법, 주시스템, 원격데이타 섀도잉 시스템과 비동기 원격데이타 복제 시스템
US5504882A (en) 1994-06-20 1996-04-02 International Business Machines Corporation Fault tolerant data storage subsystem employing hierarchically arranged controllers
US5835953A (en) * 1994-10-13 1998-11-10 Vinca Corporation Backup system that takes a snapshot of the locations in a mass storage device that has been identified for updating prior to updating
US5548712A (en) 1995-01-19 1996-08-20 Hewlett-Packard Company Data storage system and method for managing asynchronous attachment and detachment of storage disks
US5799323A (en) * 1995-01-24 1998-08-25 Tandem Computers, Inc. Remote duplicate databased facility with triple contingency protection
US5682513A (en) * 1995-03-31 1997-10-28 International Business Machines Corporation Cache queue entry linking for DASD record updates
US5799141A (en) * 1995-06-09 1998-08-25 Qualix Group, Inc. Real-time data protection system and method
US5720029A (en) * 1995-07-25 1998-02-17 International Business Machines Corporation Asynchronously shadowing record updates in a remote copy session using track arrays
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
US5819020A (en) * 1995-10-16 1998-10-06 Network Specialists, Inc. Real time backup system
US5901327A (en) * 1996-05-28 1999-05-04 Emc Corporation Bundling of write data from channel commands in a command chain for transmission over a data link between data storage systems for remote data mirroring
US6477627B1 (en) * 1996-05-31 2002-11-05 Emc Corporation Method and apparatus for mirroring data in a remote data storage system
US6101497A (en) * 1996-05-31 2000-08-08 Emc Corporation Method and apparatus for independent and simultaneous access to a common data set
US5933653A (en) * 1996-05-31 1999-08-03 Emc Corporation Method and apparatus for mirroring data in a remote data storage system
US6092066A (en) * 1996-05-31 2000-07-18 Emc Corporation Method and apparatus for independent operation of a remote data facility
US5995980A (en) * 1996-07-23 1999-11-30 Olson; Jack E. System and method for database update replication
US6073209A (en) * 1997-03-31 2000-06-06 Ark Research Corporation Data storage controller providing multiple hosts with access to multiple storage subsystems
JP3414218B2 (ja) * 1997-09-12 2003-06-09 株式会社日立製作所 記憶制御装置
US6052758A (en) * 1997-12-22 2000-04-18 International Business Machines Corporation Interface error detection and isolation in a direct access storage device DASD system
US6226651B1 (en) * 1998-03-27 2001-05-01 International Business Machines Corporation Database disaster remote site recovery
US6324654B1 (en) * 1998-03-30 2001-11-27 Legato Systems, Inc. Computer network remote data mirroring system
US6157991A (en) * 1998-04-01 2000-12-05 Emc Corporation Method and apparatus for asynchronously updating a mirror of a source device
US6178427B1 (en) * 1998-05-07 2001-01-23 Platinum Technology Ip, Inc. Method of mirroring log datasets using both log file data and live log data including gaps between the two data logs
US6148383A (en) * 1998-07-09 2000-11-14 International Business Machines Corporation Storage system employing universal timer for peer-to-peer asynchronous maintenance of consistent mirrored storage
JP4689137B2 (ja) * 2001-08-08 2011-05-25 株式会社日立製作所 リモートコピー制御方法、及びストレージシステム
JP2000099277A (ja) * 1998-09-18 2000-04-07 Fujitsu Ltd ファイルユニット間のリモート転送方法
US6209002B1 (en) * 1999-02-17 2001-03-27 Emc Corporation Method and apparatus for cascading data through redundant data storage units
US6397307B2 (en) * 1999-02-23 2002-05-28 Legato Systems, Inc. Method and system for mirroring and archiving mass storage
JP2000276304A (ja) * 1999-03-26 2000-10-06 Nec Corp データ移行方法と情報処理システム
US6662197B1 (en) * 1999-06-25 2003-12-09 Emc Corporation Method and apparatus for monitoring update activity in a data storage facility
US6611901B1 (en) * 1999-07-02 2003-08-26 International Business Machines Corporation Method, system, and program for maintaining electronic data as of a point-in-time
US6804676B1 (en) * 1999-08-31 2004-10-12 International Business Machines Corporation System and method in a data processing system for generating compressed affinity records from data records
US6463501B1 (en) * 1999-10-21 2002-10-08 International Business Machines Corporation Method, system and program for maintaining data consistency among updates across groups of storage areas using update times
US7203732B2 (en) * 1999-11-11 2007-04-10 Miralink Corporation Flexible remote data mirroring
US6338126B1 (en) * 1999-12-06 2002-01-08 Legato Systems, Inc. Crash recovery without complete remirror
US6526418B1 (en) * 1999-12-16 2003-02-25 Livevault Corporation Systems and methods for backing up data files
US6460055B1 (en) * 1999-12-16 2002-10-01 Livevault Corporation Systems and methods for backing up data files
US6625623B1 (en) * 1999-12-16 2003-09-23 Livevault Corporation Systems and methods for backing up data files
JP2001229063A (ja) * 2000-02-17 2001-08-24 Mitsubishi Electric Corp データ管理システム
US6487645B1 (en) * 2000-03-06 2002-11-26 International Business Machines Corporation Data storage subsystem with fairness-driven update blocking
US6446176B1 (en) * 2000-03-09 2002-09-03 Storage Technology Corporation Method and system for transferring data between primary storage and secondary storage using a bridge volume and an internal snapshot copy of the data being transferred
US6499112B1 (en) * 2000-03-28 2002-12-24 Storage Technology Corporation Automatic stand alone recovery for peer to peer remote copy (PPRC) operations
JP2001356945A (ja) * 2000-04-12 2001-12-26 Anetsukusu Syst Kk データバックアップ・リカバリー方式
US6622152B1 (en) * 2000-05-09 2003-09-16 International Business Machines Corporation Remote log based replication solution
CN100345143C (zh) * 2000-10-09 2007-10-24 最佳收益有限公司 数据处理方法和装置
US6728736B2 (en) * 2001-03-14 2004-04-27 Storage Technology Corporation System and method for synchronizing a data copy using an accumulation remote copy trio
DE60216443T2 (de) * 2001-03-15 2007-09-27 Board Of Governors For Higher Education, State Of Rhode Island And Providence Plantations Online-fern-informationssicherungssystem
WO2002079905A2 (en) * 2001-04-02 2002-10-10 Akamai Technologies, Inc. Scalable, high performance and highly available distributed storage system for internet content
US6496908B1 (en) * 2001-05-18 2002-12-17 Emc Corporation Remote mirroring
US20030014523A1 (en) * 2001-07-13 2003-01-16 John Teloh Storage network data replicator
US6883122B2 (en) * 2001-07-31 2005-04-19 Hewlett-Packard Development Company, L.P. Write pass error detection
US6681228B2 (en) * 2001-11-01 2004-01-20 Verisign, Inc. Method and system for processing query messages over a network
JP2003202964A (ja) * 2002-01-09 2003-07-18 Hitachi Ltd 計算機システムの制御方法、計算機システム、記憶装置の制御方法及び記憶装置
US6941322B2 (en) * 2002-04-25 2005-09-06 International Business Machines Corporation Method for efficient recording and management of data changes to an object
US6968349B2 (en) * 2002-05-16 2005-11-22 International Business Machines Corporation Apparatus and method for validating a database record before applying journal data
US20030220935A1 (en) * 2002-05-21 2003-11-27 Vivian Stephen J. Method of logical database snapshot for log-based replication
JP2004013367A (ja) * 2002-06-05 2004-01-15 Hitachi Ltd データ記憶サブシステム
US7844577B2 (en) * 2002-07-15 2010-11-30 Symantec Corporation System and method for maintaining a backup storage system for a computer system
US7076508B2 (en) * 2002-08-12 2006-07-11 International Business Machines Corporation Method, system, and program for merging log entries from multiple recovery log files
US7076606B2 (en) * 2002-09-20 2006-07-11 Quantum Corporation Accelerated RAID with rewind capability
JP2004259079A (ja) 2003-02-27 2004-09-16 Hitachi Ltd データ処理システム
US6959369B1 (en) * 2003-03-06 2005-10-25 International Business Machines Corporation Method, system, and program for data backup
JP2004295465A (ja) * 2003-03-27 2004-10-21 Hitachi Ltd 計算機システム
US7130975B2 (en) 2003-06-27 2006-10-31 Hitachi, Ltd. Data processing system
JP2005309550A (ja) * 2004-04-19 2005-11-04 Hitachi Ltd リモートコピー方法及びリモートコピーシステム
JP2005062928A (ja) * 2003-08-11 2005-03-10 Hitachi Ltd 複数のサイトにリモートコピーを行うシステム
US20050050115A1 (en) * 2003-08-29 2005-03-03 Kekre Anand A. Method and system of providing cascaded replication
JP4598387B2 (ja) 2003-09-17 2010-12-15 株式会社日立製作所 記憶システム
US7219201B2 (en) * 2003-09-17 2007-05-15 Hitachi, Ltd. Remote storage disk control device and method for controlling the same
JP4412989B2 (ja) * 2003-12-15 2010-02-10 株式会社日立製作所 複数の記憶システムを有するデータ処理システム
JP4282464B2 (ja) * 2003-12-17 2009-06-24 株式会社日立製作所 リモートコピーシステム
WO2005086001A1 (en) 2004-02-27 2005-09-15 Incipient, Inc. Distributed asynchronous ordered replication
JP4476683B2 (ja) * 2004-04-28 2010-06-09 株式会社日立製作所 データ処理システム
JP4575059B2 (ja) * 2004-07-21 2010-11-04 株式会社日立製作所 ストレージ装置
JP4519563B2 (ja) * 2004-08-04 2010-08-04 株式会社日立製作所 記憶システム及びデータ処理システム
JP2006099440A (ja) 2004-09-29 2006-04-13 Hitachi Ltd リモートコピーシステム

Also Published As

Publication number Publication date
EP1624376A3 (de) 2006-02-15
JP2006048358A (ja) 2006-02-16
US7529901B2 (en) 2009-05-05
US20080215835A1 (en) 2008-09-04
US20070168630A1 (en) 2007-07-19
JP4519563B2 (ja) 2010-08-04
EP1796004A1 (de) 2007-06-13
US20060242373A1 (en) 2006-10-26
US20060031647A1 (en) 2006-02-09
DE602005007258D1 (de) 2008-07-10
EP1624376B1 (de) 2007-04-25
DE602005000972D1 (de) 2007-06-06
EP1624376A2 (de) 2006-02-08
US7159088B2 (en) 2007-01-02
EP1796004B1 (de) 2008-05-28
US7296126B2 (en) 2007-11-13
US7313663B2 (en) 2007-12-25

Similar Documents

Publication Publication Date Title
DE602005000972T2 (de) Speichersystem und Datenverarbeitungssystem
DE102004028808B4 (de) Speichersystem, das mit einem externen Speichersystem verbunden ist und Verfahren zum Verbinden derartiger Systeme
DE112015000710T5 (de) Verteiltes Speichersystem
DE69938378T2 (de) Kopieren von Daten in Speichersystemen
DE60008021T2 (de) Speicherverwaltungssystem mit gemeinsamen trägerverwalter
DE60113586T2 (de) Übertragen von miteinander verbundenen Datenobjekten in einer verteilten Datenspeicherumgebung
DE602005002668T2 (de) Verfahren zur Datenspeicherungskapazitätzuweisung und Verwaltung unter Verwendung eines oder mehreren Datenspeicherungslaufwerken
DE69724834T2 (de) System für hochverfügbare datenspeicherung mit allgemein-adressiertem speicher
DE60111039T2 (de) Speichersystem das aus mehreren speichergeräten besteht, mit verschiedenen fehlertoleranten verfahren
DE112014006605B4 (de) Speichersystem
DE60025749T2 (de) Dateisystemabbildübertragung zwischen ungleichen dateisystemen
DE60213867T2 (de) Vorrichtung zur verwaltung von datenreplikation
DE60131900T2 (de) Verfahren und system zur verwaltung von verteilten inhalten und verwandten metadaten
DE69631106T2 (de) On-line-Rekonfiguration einer Speicherplattenanordnung
DE112013006504B4 (de) Speichersystem und Datenverwaltungsverfahren
DE602004005344T2 (de) Verfahren, system und programm zur handhabung eines failover zu einem fernspeicherort
DE602005002713T2 (de) Informationsverarbeitungssystem mit redundanten Pfaden und Zugriffsverfahren
DE602005000926T2 (de) Speichersystem und Speicherauszugs-Erstellungsverfahren eines Speichersystems
DE69636663T2 (de) System und Verfahren zur Zugriffsverteilung von Mehrfachspeichermatrixen zwischen Mehrfachwirtrechnersystemen
DE60036539T2 (de) Verwendung von ungenutzter Speicherkapazität bei vernetzten Computern
DE112019002609T5 (de) Wechseln zwischen Fehlerreaktionsmodellen für ein Speichersystem
EP1959346A2 (de) Verfahren und Vorrichtung zur Anpassung eines Journalbereichs für kontinuierlichen Datenschutz
DE112010003794B4 (de) Datenspeicherung unter Verwendung von Bitmaps
DE112013005903T5 (de) Speichersystem und Speichersteuerungsverfahren
DE112005002481T5 (de) Rekonfigurierung einer redundanten Datenspeicherung

Legal Events

Date Code Title Description
8364 No opposition during term of opposition