[go: up one dir, main page]

DE602004002445T2 - Speichersystem und dessen Verfahren zur Replikationsgenerierung - Google Patents

Speichersystem und dessen Verfahren zur Replikationsgenerierung Download PDF

Info

Publication number
DE602004002445T2
DE602004002445T2 DE602004002445T DE602004002445T DE602004002445T2 DE 602004002445 T2 DE602004002445 T2 DE 602004002445T2 DE 602004002445 T DE602004002445 T DE 602004002445T DE 602004002445 T DE602004002445 T DE 602004002445T DE 602004002445 T2 DE602004002445 T2 DE 602004002445T2
Authority
DE
Germany
Prior art keywords
volume
control unit
replication
information
request
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
DE602004002445T
Other languages
English (en)
Other versions
DE602004002445D1 (de
Inventor
Ai Satoyama
Yasutomo Yamamoto
Noboru Morishita
Yoshiaki Eguchi
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 DE602004002445D1 publication Critical patent/DE602004002445D1/de
Application granted granted Critical
Publication of DE602004002445T2 publication Critical patent/DE602004002445T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/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
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99951File or database maintenance
    • Y10S707/99952Coherency, e.g. same view to multiple users
    • Y10S707/99953Recoverability
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99951File or database maintenance
    • Y10S707/99952Coherency, e.g. same view to multiple users
    • Y10S707/99955Archiving or backup

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

  • HINTERGRUND DER ERFINDUNG
  • Die vorliegende Erfindung betrifft ein Speichersystem mit mehreren Steuereinheiten, die jeweils mit mehreren Platteneinheiten verbunden sind.
  • In den letzten Jahren ist die Nachfrage nach einer Kürzung der Zeit gestiegen, die für den Vorgang (nachstehend als Sicherungsvorgang bezeichnet) zur Replizierung der in einer gegebenen Speichereinheit gespeicherten Daten in eine von einem Firmenunternehmen gehaltene andere Speichereinheit erforderlich ist. Vor dem Hintergrund dieser Nachfrage steht der Anstieg der Informationsmenge, die jedes Unternehmen hält, und die für die Sicherung aufgewendete Zeit wird ständig mehr, während der Anstieg der Geschäftsstunden jedes Unternehmens die relative Länge der Zeit, die dem Sicherungsvorgang zugeteilt werden kann, verkürzt hat.
  • In JP-A-7-210439 und JP-A-2001-318833 ist ein „Schnappschuss" als Technik zum Sichern der in einer Speichervorrichtung gespeicherten Daten ohne Unterbrechung der Routinearbeit von Unternehmen vorgeschlagen worden. Der Schnappschuss wird als Funktion zur Herstellung einer Kopie eines Speicherbereichs einer Speichervorrichtung zu einem bestimmten Zeitpunkt ohne die Vermittlung des mit der Speichervorrichtung verbundenen Computers definiert. Indem der Benutzer sich die Funktion zunutze macht, verwendet er den Originalspeicherbereich für das Geschäft und die in dem Kopiespeicherbereich gespeicherten Daten zum Sichern.
  • US 2003/0131207 A1 offenbart einen Server, der Verwaltungsinformation einschließlich Korrespondenzinformation zwischen einem physikalischen Speicherbereich und einem virtualisierten Speicherbereich aufweist, um einen virtualisierten Speicherbereich bereitzustellen. Der Server beinhaltet eine Einheit zu Verwendung der Verwaltungsinformation, um einem anderen Host einen virtualisierten Speicherbereich zur Verfügung zu stellen, und eine Einheit zur Anweisung der Steuerung der Speicherbereiche auf der Grundlage des virtualisierten Steuerbereichs an eine Steuerungsvorrichtung für eine Speichervorrichtung zum Bereitstellen des physikalischen Speicherbereichs. Des Weiteren weist die Steuerungsvorrichtung eine Einheit auf, die die gesamte oder einen Teil einer Verwaltungsinformation einschließlich der Korrespondenzinformation aufweist und die Steuerung der Speichervorrichtung auf der Grundlage des virtualisierten Speicherbereichs in Ansprechung auf die Anweisung durchführt.
  • In US 2002/0129214 A1 ist ein computer-umgesetztes Verfahren zur Verwaltung von Datenschnappschüssen von Quell- und Zielspeichervolumina in einer Doppel-Steuerungsvorrichtungs-Umgebung beschrieben. Ein Konfigurationsraum, der die Quell- und Zielspeichervolumina auf einem ersten bzw. zweiten logischen Laufwerk abbildet, wird eingerichtet. Der Konfigurationsraum wird dann in einen ersten und zweiten Abschnitt geteilt, wobei eine erste Speichersteuerungsvorrichtung den ersten Abschnitt steuert und eine zweite Speichersteuerungsvorrichtung den zweiten Abschnitt steuert. Zwischen den Quell- und Zielspeichervolumina wird eine Schnappschussbeziehung eingerichtet, so dass Abschnitte von Daten im Quellspeichervolumen auf dem Zielspeichervolumen logisch gespiegelt werden. Die identische Schnappschussbeziehung wird sowohl in der ersten als auch in der zweiten Speichersteuerungsvorrichtung gespeichert. In Ansprechung auf eine Anforderung, eine Betätigung durchzuführen, die zu einer Modifizierung der Schnappschussbeziehung führt, wird die Betätigung durchgeführt und dann wird eine modifizierte Schnappschussbeziehung auf die erste und zweite Steuerungsvorrichtung übertragen. Die modifizierte Schnappschussbeziehung spiegelt die Betätigung wider, wodurch sie die Schnappschussbeziehungsdaten in der ersten und zweiten Steuerungsvorrichtung synchronisiert.
  • EP 1 217 523 A1 offenbart ein Speichersystemdaten-Duplizierungsverfahren zum Kopieren von Daten von mehreren logischen Volumina, die in einem ersten Speichersystem enthalten sind, zu einem zweiten Speichersystem, das die folgenden Schritte einschließt: Kopieren der Daten der mehreren logischen Volumina in das zweite Speichersystem; Unterbrechen des Kopierens der Daten der mehreren logischen Volumina in das zweite Speichersystem; Beginn des Kopierens von Daten von einem oder mehr der mehreren logischen Volumina in das zweite Speichersystem; und Beginn des Kopierens von Daten von einigen anderen der mehreren logischen Volumina als dem einen oder mehr logischen Volumina in das zweite Speichersystem, wie von dem Schritt verzögert, Verkürzen einer Zeit, die benötigt wird, bis der Abschluss der Datenduplizierung auf die Wiederherstellung einer Gruppe gepaarter logischer Volumina in einer Volumengruppe nach einer Fernkopie vorübergehend gestoppt wird.
  • ZUSAMMENFASSUNG DER ERFINDUNG
  • Ein Clusterkonfigurations-Speichersystem ist als Technik zur Steigerung der Skalierbarkeit einer mit dem Netzwerk verbundenen Speichervorrichtung erdacht. Das Clusterkonfigurations-Speichersystem ist so aufgebaut, dass jedes Speichersystem mehrere Cluster beinhaltet, die jeweils ein konventionelles Speichersystem, zum Beispiel eine Plattenanordnungseinheit, bilden.
  • Es ist keine frühere Referenz verfügbar, die einen Schnappschuss in dem konventionellen Clusterkonfigurations-Speichersystem angibt. In dem Fall, in dem das Clusterkonfigurations-Speichersystem und die herkömmliche Schnappschusstechnik einfach miteinander kombiniert werden, kann der Speicherbereich nur in einen Cluster kopiert werden.
  • Wenn jedoch ein Speicherbereich nicht zwischen verschiedenen Clustern kopiert werden kann, kommt es bei einem einzelnen Clusterkonfigurations-Speichersystem unerwünschterweise dazu, dass es sowohl einen Speicherbereich, in dem Daten kopiert werden können, als auch einen Speicherbereich, in dem Daten nicht kopiert werden können, aufweist, wodurch die Skalierbarkeit negativ beeinflusst wird, die ursprünglich durch das Clusterkonfigurations-Speichersystem beabsichtigt war.
  • In dem Fall, in dem eine Kopie eines logischen Volumens (nachstehend einfach als das Volumen bezeichnet) zwischen Clustern des Clusterkonfigurations-Speichersystems erstellt wird, d. h. in dem Fall, dass ein Originalvolumen und ein Kopievolumen in verschiedenen Clustern vorhanden sind, kann der dem Originalvolumen (nachstehend manchmal als primäres Volumen bezeichnet) zugeordnete Cluster nicht auf einen gemeinsamen Speicher in dem Cluster, der dem Kopiervolumen zugeordnet ist (nachstehend manchmal als sekundärer Cluster bezeichnet), zugreifen und kann daher die Last auf den sekundären Cluster nicht erkennen. Somit bleibt dem Benutzer keine andere Wahl als ein Kopievolumen in demselben Cluster wie dem Originalcluster auszuwählen und daher ist die Benutzer-Betriebsfähigkeit auf unpraktische Weise aufgrund einer sich von dem Stand der Technik unterscheidenden Systemkonfiguration verändert.
  • Dementsprechend ist es Aufgabe der vorliegenden Erfindung, ein Speichersystem mit mehreren Steuereinheiten, die jeweils mit mehreren Platteneinheiten verbunden sind, wobei eine Kopie eines Speicherbereichs, ohne sich des Unterschieds einer Steuereinheit bewusst zu sein, selbst in dem Fall erzeugt werden kann, dass eine Replikation eines Volumens in den mit verschiedenen Steuereinheiten verbundenen Platteneinheiten sowie in den mit derselben Steuereinheit verbundenen Platteneinheiten erzeugt wird, sowie ein jeweiliges Verfahren zur Herstellung einer Replikation in einem Speichersystem bereitzustellen.
  • Dies wird durch ein Speichersystem gemäß Anspruch 1 und einem Verfahren mit den Merkmalen des Anspruchs 11 erreicht.
  • Gemäß der vorliegenden Erfindung wird ein Speichersystem mit mehreren Steuereinheiten, die jeweils mehrere Platteneinheiten aufweisen, bereitgestellt,
    wobei jede der Steuereinheiten eine Replikationserzeugungseinheit umfasst zum Erzeugen einer Replikation der Volumendaten in den mit der Steuereinheit verbundenen Platteneinheiten und Paarinformation mit der Information über das Originalvolumen und der Information über das Replikationsvolumen,
    wobei die Replikationserzeugungseinheit einer ersten von mehreren der Steuereinheiten, wenn eine Replikation in einem Volumen in einer mit derselben Steuereinheit verbundenen Platteneinheit erzeugt wird, die Information über das Originalvolumen und die Information über das Replikationsvolumen als die Paarinformation einträgt und somit eine Replikation in dem Volumen in der mit derselben Steuereinheit verbundenen Platteneinheit auf der Grundlage der Paarinformation erzeugt, während, wenn eine Replikation in einem Volumen in einer mit einer zweiten Steuereinheit verbundenen Platteneinheit erzeugt wird, die Replikationserzeugungseinheit die Information über das Originalvolumen, die Information über das Replikationsvolumen der ersten Steuereinheit und die Information über die zweite Steuereinheit als die Paarinformation einträgt, und
    wobei eine Anforderung zur Erzeugung einer Replikation an die zweite Steuereinheit auf der Grundlage der Paarinformation übertragen wird, um dadurch eine Replikation zu erzeugen.
  • In dem Speichersystem mit mehreren Steuereinheiten, die jeweils mit mehreren Platteneinheiten verbunden sind, kann daher eine Kopie eines Speicherbereichs hergestellt werden, ohne sich des Unterschieds einer Steuereinheit in dem Fall bewusst zu sein, dass eine Replikation in den Volumina in den mit verschiedenen Steuereinheiten verbundenen Platteneinheiten sowie in den Volumina in den mit derselben Steuereinheit verbundenen Steuereinheiten erzeugt wird.
  • KURZE BESCHREIBUNG DER ZEICHNUNGEN
  • 1 ist ein Diagramm, das eine Konfiguration eines Computersystems gemäß einer Ausführungsform der Erfindung zeigt.
  • 2 ist ein Diagramm, das eine Konfiguration eines Speichers gemäß einer Ausführungsform der Erfindung zeigt.
  • 3 ist ein Diagramm, das eine Konfiguration einer Benutzereingabe-/-ausgabevorrichtung (beispielsweise eines Verwaltungsservers) gemäß einer Ausführungsform der Erfindung zeigt.
  • 4 ist ein Diagramm, das ein Beispiel für eine Volumenpaarinformationstabelle zeigt.
  • 5 ist ein Beispiel eines Flussdiagramms, das einen Umriss des Verfahrens zur Erzeugung einer Replikation zeigt.
  • 6 ist ein Beispiel eines Flussdiagramms, das ein Replikationserzeugungsverfahren in derselben Speichersteuereinheit zeigt.
  • 7 ist ein Diagramm, das den Vorgang eines Replikationserzeugungsverfahrens in verschiedenen Speichersteuereinheiten gemäß einer Ausführungsform der Erfindung zeigt.
  • 8 ist ein Flussdiagramm, das ein Verfahren zur Erzeugung einer Replikation in einer unterschiedlichen Speichersteuereinheit zeigt.
  • 9 ist ein Beispiel eines Flussdiagramms, das den Vorgang zeigt, der in dem Fall ausgeführt wird, in dem eine Schreibanforderung während der anfänglichen Kopiebetätigung ausgegeben wird.
  • 10 ist ein Diagramm, das ein Beispiel für eine Volumeninformationstabelle zeigt.
  • 11 ist ein Diagramm, das ein Beispiel einer Differenzbitmap zeigt.
  • 12 ist ein Beispiel eines Flussdiagramms, das den Spaltvorgang zeigt.
  • 13 ist ein Beispiel eines Flussdiagramms, das den Vorgang des Empfangens einer Schreibanforderung an das primäre Volumen und den Vorgang des Empfangens einer Schreibanforderung an das sekundäre Volumen im Schnellspaltmodus zeigt.
  • 14 ist ein Diagramm, das ein Beispiel einer Auftragvorranginformationsbitmap zeigt.
  • 15 ist ein Beispiel eines Flussdiagramms, das den Resynchronisierungsvorgang zeigt.
  • 16 ist ein Beispiel eines Flussdiagramms des Auftragvorranginformations-Eintragungsvorgangs und des Schreib-/Lesevorgangs auf der Grundlage der Auftragvorranginformation.
  • 17 ist ein Beispiel eines Plan-Flussdiagramms einer Warteschlange mit niedrigem Auftragsvorrang.
  • 18 ist ein Diagramm zur Erläuterung der Betätigung durch den Benutzer zur Realisierung eines Paars zwischen Clustern als ein Paar in demselben Cluster.
  • BESCHREIBUNG DER AUSFÜHRUNGSFORMEN
  • 1 zeigt ein Beispiel eines Computersystems einschließlich eines Clusterkonfigurations-Speichersystems gemäß einer Ausführungsform der Erfindung.
  • Ein erstes Speichersystem 70A ist durch ein Netzwerk 60 mit Hosts 10, 11 verbunden. Eine Benutzereingabe-/-ausgabevorrichtung 80 ist mit dem ersten Speichersystem 70A durch ein Verwaltungsnetzwerk 62 und ein zweites Speichersystem 70B mit dem ersten Speichersystem 70A durch ein Netzwerk 61 verbunden. Der gezeigte Fall stellt eine Konfiguration dar, die mit dem zweiten Speichersys tem 70B verbunden ist. Dennoch kann das zweite Speichersystem 70B auch nicht verbunden sein.
  • Das Speichersystem 70A weist einen Protokollumwandlungsadapter 40 auf. Der Protokollumwandlungsadapter 40 ist ein von einer Speichersteuereinheit 20 unabhängiger Kanalverbindungsabschnitt und handhabt ein Protokoll auf der Grundlage eines LAN (local area network – lokales Netz), öffentlichen Netzes, einer Standleitung oder ESCON (enterprise systems connection – Unternehmenssystemverbindung). Mehrere der Protokollumwandlungsadapter 40 und mehrere der Speichersteuereinheiten 20 sind miteinander durch ein Netzwerk 63 verbunden.
  • Bei Empfang eines Eingabe-/-ausgabebefehls von den Hosts 10, 11 analysiert der Protokollumwandlungsadapter 40 den Befehl und wandelt dessen Protokoll um. Indem er einerseits eine bestimmte Speichersteuereinheit 20 festlegt, die die LU (logical unit – logische Einheit) steuert, die die durch den Befehl angeforderten Daten speichert, und andererseits im Hinblick darauf, ob die LU durch das Speichersystem 70B verwaltet wird, sendet der Adapter 40 dann den Befehl an die so festgelegte Speichersteuereinheit 20. Welche von den Speichersteuereinheiten 20 die LU verwaltet, wird durch Zugreifen auf die Konfigurationsinformationstabelle 510 festgelegt, die in dem Speicher in dem durch ein Netzwerk 63 verbundenen Prozessor 50 gespeichert ist.
  • Die Benutzereingabe-/-ausgabevorrichtung 80 erkennt das erste Speichersystem 70A durch das Netzwerk 63. Alternativ ist die Benutzereingabe-/-ausgabevorrichtung 80 durch eine Standleitung direkt mit dem ersten Speichersystem 70A verbunden.
  • Die Speichersteuereinheit 20 beinhaltet eine CPU 21, einen Speicher 22, einen Cache-Speicher 23 zum vorübergehenden Speichern der Eingabe-/-ausgabedaten von den Hosts 10, 11, eine Plattenmitte 24, die einen Verbindungsabschnitt mit dem Netzwerk 63 bildet, und eine Speicherschnittstelle 25 zum Steuern der Übertragung und des Empfangs der Daten an die und von den Speichereinheiten 31. Diese Bestandteile sind miteinander durch einen internen Bus verbunden.
  • 2 ist ein Diagramm, das eine Konfiguration des Speichers 22 gemäß einer Ausführungsform der Erfindung zeigt. Wie in 2 gezeigt ist, sind verschiedene durch die CPU 21 ausgeführte Programme im Speicher 22 gespeichert. Insbesondere beinhalten die Programme ein RAID (redundant array of inexpensive disks – redundante Anordnung von Laufwerken)-Steuerprogramm 200 zum Steuern der Betätigung des Speichersystems 70 und einen Verwaltungsagent 210 zum Verwalten der Konfiguration des Speichersystems 70. In dem Speicher 22 sind auch verschiedene Verwaltungsinformationen gespeichert. Insbesondere beinhalten die Verwaltungsinformationen eine Volumenpaarinformationstabelle 220 zum Aufzeichnen der Information über das Originalvolumen (Replikationsquelle) und das Kopievolumen (Replikationsvolumen), eine Volumeninformationstabelle 230, eine Auftragvorranginformationsbitmap 250, eine Differenzbitmap 240, eine Auftragswarteschlange 260 und eine (nicht gezeigte) Konfigurationsinformationstabelle, wodurch das Speichersystem 70B dem Speichersystem 70A seine eigene LU als LU des Speichersystems 70A zuführt. Die Bestandteile 220 bis 250 und die Konfigurationsinformationstabelle können in dem Prozessor 50 eingeschlossen sein.
  • Das RAID-Steuerprogramm 200 weist einen (nicht gezeigten) Abschnitt auf, von dem ein Befehl an die Speichereinheiten 31 ausge geben wird. Das RAID-Steuerprogramm 200 weist darin Teilprogramme einschließlich eines Replikationserzeugungsprogramms 201 zum Erzeugen einer Replikation (Kopie) der Daten im Speichersystem 70 und ein Auftragsvorrangeinstellprogramm 201 auf. Das RAID-Steuerprogramm 200, das Replikationserzeugungsprogramm 201 und das Auftragsvorrangeinstellprogramm 202 werden durch die CPU 21 (1) ausgeführt, um dadurch eine RAID-Steuereinheit, eine Replikationserzeugungseinheit und eine Auftragsvorrangeinstelleinheit der Speichersteuereinheit 20 zu bilden. Das RAID-Steuerprogramm 200, das Replikationserzeugungsprogramm 201 und das Auftragsvorrangeinstellprogramm 202 können teilweise oder ganz aus Hardware konfiguriert sein. Die Daten werden entweder synchron (einem Host wird der Abschluss der Datenkopie nach dem Abschluss gemeldet) oder asynchron (einem Host wird der Abschluss der Datenkopie vor dem Abschluss gemeldet) repliziert. Gemäß der vorliegenden Ausführungsform wird jedoch kein Unterschied zwischen den beiden Variationen gemacht.
  • Der Verwaltungsagent 210 ist ein Programm zum Empfangen einer Eingabe von der Benutzereingabe-/-ausgabevorrichtung 80 und zum Einstellen oder Ausgeben der Information an die Benutzereingabe-/-ausgabevorrichtung 80.
  • 3 ist ein Diagramm, das eine Konfiguration der Benutzereingabe-/-ausgabevorrichtung 80 gemäß einer Ausführungsform der Information zeigt. Die Benutzereingabe-/-ausgabevorrichtung 80 beinhaltet eine CPU 81, eine primäre Speichereinheit 82, eine Eingabeeinheit (Tastatureinheit etc.) 83, eine Ausgabeeinheit (Anzeigeeinheit etc.) 84, eine Verwaltungsschnittstelle 85 zum Verbinden mit dem Netzwerk 62 und eine Speichereinheit 86. Diese Bestandteile sind durch einen internen Bus untereinander verbunden. In der Speichereinheit 86 ist ein durch die CPU 81 ausgeführtes Auftragsvorrangeinstellprogramm 202 gespeichert.
  • Der Host 10 ist ein Personalcomputer, eine Arbeitsstation oder ein Allzweckcomputer und weist einen (nicht gezeigten) HBA (host bus adaptor – Hostbusadapter) auf, der eine FC-Schnittstelle zur Verbindung nach außen bildet. Dem HBA ist auch ein WWN (weltweiter Name) zugeordnet.
  • 4 ist ein Diagramm, das ein Beispiel für die Volumenpaarinformationstabelle 220 zeigt. Diese Tabelle enthält Information zum Verwalten der Volumenpaare (nachstehend manchmal einfach als die Paare bezeichnet), die die replizierten Daten im Speichersystem 70 halten, und beinhaltet eine Paarnummer 221, Primärvolumeninformation 222, Sekundärvolumeninformationen 223 bis 225 und einen Paarstatus 226. Insbesondere die Information über ein in denselben Speichersteuereinheiten 20A befindliches Paar und die Information über ein Paar mit einem Originalvolumen in der Speichersteuereinheit 20A werden im Speicher 22 der Speichersteuereinheit 20A gespeichert.
  • Die Paarnummer 221 gibt einen Bezeichner an, der jedem Paar willkürlich zugeordnet wird.
  • Die Primärvolumeninformation 222 ist die Volumennummer, die dem primären Volumen zugeordnet ist, das ein Originalvolumen (Original) von jedem Paar, dem ein Bezeichner zugeordnet ist, bildet.
  • Die Sekundärvolumeninformationen 223 bis 225 sind die Informationen über das sekundäre Volumen, das das Replikations- (Kopie)-Volumen von jedem Paar, dem ein Bezeichner zugeordnet ist, bil det. Die Sekundärvolumennummer eines Paars in derselben Speichersteuereinheit wird in Spalte 223 eingetragen. Wie bei einem Paar zwischen verschiedenen Speichersteuereinheiten wird dagegen eine Volumennummer, die in derselben Speichersteuereinheit virtualisiert ist, in Spalte 223 eingetragen. Die Information über die Speichersteuereinheit des sekundären Volumens zum tatsächlichen Speichern der Daten, wie etwa die Speichersteuereinheitsnummer, wird in Spalte 224 eingetragen und die Volumennummer in Spalte 225. Die in derselben Speichersteuereinheit virtualisierte Volumennummer ist, obschon eine Volumennummer in der besonderen Speichersteuereinheit, eine virtuelle Volumennummer, mit der kein Volumen für die mit der besonderen Speichersteuereinheit verbundene Platteneinheit erzeugt wird.
  • Der Paarstatus gibt den aktuellen Zustand eines Paars an. Der Paarstatus beinhaltet einen Zustand (nachstehend als „gepaarter Zustand" bezeichnet), in dem die in den Volumina eines Paars gespeicherten Daten miteinander synchronisiert und übereinstimmend sind, und einen Zustand (nachstehend als „gespaltener Zustand" bezeichnet), in dem die Daten eines Paars nicht miteinander synchronisiert sind.
  • Im Speichersystem 70A wird ein Paar im gepaarten Zustand zu einem beliebigen Zeitpunkt in ein Paar im gespaltenen Zustand geändert. Zur gleichen Zeit werden die Daten, die das primäre Volumen des Paars zu einer beliebigen Zeit aufweist, in einem sekundären Volumen gehalten (dieser Vorgang wird als „einen Schnappschuss machen" bezeichnet). Danach liest der Host 10 die Daten aus dem sekundären Volumen und schreibt sie in eine andere Speichereinheit (zum Beispiel eine Bandeinheit). Somit können die Daten, die in dem Paar zu dem Zeitpunkt gespeichert sind, an dem der Schnappschuss gemacht wird, gesichert werden. Alternativ kann das sekundäre Volumen als Sicherungsdaten gehalten werden, nachdem der Schnappschuss gemacht ist.
  • 10 ist ein Diagramm, das ein Beispiel für die Volumeninformationstabelle 230 zeigt. Diese Tabelle ist zum Eintragen der Information zum Verwalten der durch die Speichersteuereinheit 20A gespeicherten Volumina und zum Speichern der Information im Speicher der Speichersteuereinheit 20A bestimmt.
  • Die Volumennummer 231 ist ein jedem Volumen zugeordneter Bezeichner. Die drei Volumennummern 0 stellen einen Fall dar, in dem drei Paare für dieselbe Volumennummer 0 gesetzt sind. Im Allgemeinen können ein oder mehrere Paare für jedes Volumen gesetzt werden.
  • Die Spalte „primär/sekundär" 232 gibt an, ob ein gegebenes Volumen als primäres oder sekundäres eines Paars fungiert.
  • Die Paarungsvolumeninformationen 233 bis 235 sind die Volumeninformationen über die andere Partei eines Paars. Im Fall eines Paars in derselben Speichersteuereinheit wird die Sekundärvolumennummer in Spalte 233 eingetragen. Für ein Paar zwischen unterschiedlichen Speichersteuereinheiten dagegen wird eine in derselben Speichersteuereinheit virtualisierte Volumennummer in Spalte 233 eingetragen, die Speichersteuereinheitsnummer des sekundären Volumens, das die Daten tatsächlich gespeichert hat, wird in Spalte 234 eingetragen, und die Volumennummer in Spalte 235. Die Volumen-belegt-Spalte 236 ist die Information, welche angibt, ob ein bestimmtes Volumen belegt oder frei ist.
  • Es sei angenommen, dass 10 die Volumeninformation über die Speichersteuereinheit Nr. 0 zeigt. Das Volumen 0 erzeugt drei Paa re. Das erste Paar gibt an, dass das Volumen 1024 der Speichersteuereinheit Nr. 0 ein virtualisiertes sekundäres Volumen ist und das sekundäre Volumen, in dem tatsächliche Daten gespeichert sind, das Volumen 20 der Speichersteuereinheit Nr. 1 ist. Das zweite Paar gibt das Volumen 158 derselben Speichersteuereinheit an. Das Volumen 1 wird als sekundäres Volumen des Paares verwendet und das primäre Volumen ist das Volumen 3783 der Speichersteuereinheit Nr. 3.
  • 11 ist ein Diagramm, das ein Beispiel für die Differenzbitmap 240 zeigt. Zwei Bitmaps derselben Größe werden für ein Paar vorbereitet. In der Differenzbitmap bezeichnet „0" den Punkt, an dem die Replikation beendet ist, und „1", wo die Replikation noch zu beenden ist. Die Daten von vorgegebener Größe werden aufbereitet, um einem Bit zu entsprechen. In dem Fall, dass die Daten von 64 kB, die einem Bit entsprechen sollen, und selbst 1B von 64 kB aktualisiert werden, wird das Bit beispielsweise auf „1" gesetzt, um die Inhalte in dem Replikationsvolumen zu reflektieren.
  • 14 ist ein Diagramm, das ein Beispiel für die Auftragvorranginformationsbitmap 250 zeigt. Diese Bitmap gibt die Information über dasjenige Volumen an, das durch eine gegebene Speichersteuereinheit mit der in ihr gespeicherten Bitmap gesteuert wird, die ein Replikationspaar mit einem durch eine andere Speichersteuereinheit gesteuerten Volumen bildet. Das Bit „1" gibt die Erwünschtheit der Verarbeitung an, die von niedrigerem Vorrang der normale Schreib-/Lesevorgang ist. Das Bit „0" gibt die Erwünschtheit des Vorgangs mit einem Plan an, der demjenigen der normalen Schreib/Leseverarbeitung gleichwertig ist. Es sei angenommen, dass die Bitmap der 14 der Reihenfolge der Volumennummer entspricht. Das führende Bit stellt die Information des Volumens 0 dar. In dieser Bitmap sind die vierten, fünften und achten Bits „1".
  • Dies gibt an, dass die Volumina 3, 4 und 7 normal verarbeitet werden, wenn die Schreib-/Leseanforderung eine geringere Anzahl von Malen ausgegeben wird, ohne die normale Fähigkeit zur Schreib/Leseverarbeitung zu beeinträchtigen. Diese Bitmap wird durch „0" und „1" angegeben. In dem Fall jedoch, in dem die Planung in mehreren Vorrangsstufen gewünscht ist, kann die Anzahl der Bits pro Volumen erhöht werden.
  • Mit dieser Systemkonfiguration wird eine Erläuterung über ein Verfahren zum Kopieren eines Volumens der Speichersteuereinheit 20A auf die Speichersteuereinheit 20B gegeben.
  • Der Vorgang des Erzeugens eines Kopievolumens wird gemäß dem Replikationserzeugungsprogramm 201 ausgeführt. Das Replikationserzeugungsprogramm 201 überprüft, ob das primäre und sekundäre Volumen eines Replikationspaars zur selben Speichersteuereinheit oder zu verschiedenen Speichersteuereinheiten gehören. In dem Fall, in dem das primäre und sekundäre Volumen mit unterschiedlichen Speichersteuereinheiten verknüpft sind, wird der Vorgang der vorliegenden Erfindung ausgeführt. In dem Fall dagegen, in dem das primäre und sekundäre Volumen mit derselben Speichersteuereinheit verknüpft sind, wird das herkömmliche Verfahren ausgeführt.
  • 5 ist ein Flussdiagramm, das einen Umriss des Vorgangs zur Erzeugung einer Replikation in dem Clusterkonfigurations-Speichersystem der 1 zeigt. Zuerst wird ein sekundäres Volumen, das ein Replikationsvolumen bereitstellt, aus freien Volumina ausgewählt und ein Paar aus primärem und sekundärem Volumen wird in der Volumenpaarinformationstabelle 220 eingetragen (Schritt 5010). Es wird festgelegt, ob das Paar mit derselben Speichersteuereinheit 20 verknüpft ist (Schritt 5020), und in dem Fall, in dem das Paar mit derselben Speichersteuereinheit 20 verknüpft ist, wird der Vorgang der Herstellung einer Replikation in derselben Speichersteuereinheit ausgeführt (Schritt 5030), wodurch der Vorgang beendet wird. In dem Fall dagegen, in dem sich die Volumina des Paars in verschiedenen Speichersteuereinheiten befinden, wird der Replikationserzeugungsvorgang zwischen verschiedenen Speichersteuereinheiten ausgeführt (Schritt 5040), wodurch der Vorgang beendet wird.
  • Als Nächstes wird der Vorgang des Erzeugens einer Replikation in derselben Speichersteuereinheit in Schritt 5030 unter Bezugnahme auf das Flussdiagramm der 6 erläutert.
  • Der anfängliche Kopiervorgang wird begonnen, um alle Inhalte des primären Volumens in das sekundäre Volumen zu kopieren. Im anfänglichen Kopiervorgang werden all Bits der in den 2 und 11 gezeigten Differenzbitmap 240 P1 auf „1" gesetzt (Schritt 6010). Bei aufeinander folgender Erfassung von Bits „1" auf der Differenzbitmap (Schritt 6020) wird bestimmt, ob die Daten an einer Position, die einem besonderen Bit „1" entspricht, in dem Cache-Speicher gespeichert werden oder nicht (Schritt 6030). Andererseits geht bei Erfassung von keinem Bit „1" in Schritt 6020 der Vorgang zu Schritt 6070 weiter. In dem Fall, in dem die entsprechenden Daten in Schritt 6030 nicht im Cache-Speicher gespeichert werden, werden die Daten aus dem primären Volumen in den Cache-Speicher gelesen (Schritt 6040). Eine Kopie des primären Volumens wird als Sekundärvolumendaten im Cache-Speicher hergestellt (Schritt 6050). Zur gleichen Zeit wie die Kopiebetätigung wird die redundante Information zur Bestimmung, ob die Daten korrekt sind oder nicht, für das sekundäre Volumen neu hergestellt und an die Daten angehängt. Sobald die Daten im Cache-Speicher gespeichert sind, wird das Differenzbit auf „0" gesetzt (Schritt 6060). Bei Vorhanden sein des nächsten Bits wird der Vorgang der Schritte 6020 bis 6060 wiederholt (Schritt 6070). Bei Abwesenheit des nächsten Bits wird der Vorgang dagegen beendet. In einem alternativen Verfahren zum Lesen der Daten aus dem primären Volumen wird die redundante Information für das sekundäre Volumen hergestellt und direkt im Cache-Speicher als Sekundärvolumendaten gespeichert. Andererseits werden die Sekundärvolumendaten auf dem Cache-Speicher in dem sekundären Volumen gespeichert (Schritt 6080).
  • Als Nächstes wird der Vorgang des Schritts 5040 zur Erzeugung einer Replikation zwischen verschiedenen Speichersteuereinheiten unter Bezugnahme auf die 7 und 8 erläutert.
  • 7 zeigt eine Ausführungsform, in der eine Replikation zwischen verschiedenen Speichersteuereinheiten erzeugt wird. Gemäß dieser Ausführungsform werden die Daten bevorzugt von dem Volumen 311 als einem Originalvolumen in das Volumen 312 kopiert. In der Speichersteuereinheit 20A mit dem primären Volumen 311 wird das sekundäre Volumen 312 in der Speichersteuereinheit 20B in ein Volumen 313 der Speichersteuereinheit 20A virtualisiert. Als Ergebnis führt der Host den Replikationserzeugungsvorgang unter der Annahme durch, dass sich die Volumina des Paars (einschließlich der Volumina 311 und 313 als Paar Nr. 1) in derselben Speichersteuereinheit 20A befinden. Andererseits gibt die Speichersteuereinheit 20A, welche erkennt, dass sich das sekundäre Volumen tatsächlich in der Speichersteuereinheit 20B befindet, eine Schreibanforderung aus, um die Kopierdaten an die Speichersteuereinheit 20B zu übertragen. Die Paarinformation des Paars Nr. 1 (Paar #1) wird in der Paarinformationstabelle 220 in der Speichersteuereinheit 20A mit dem primären Volumen eingetragen. Die Paarinformation des Paars Nr. 2 (Paar #2) dagegen, das sich in der Speicher steuereinheit 20B befindet, wird in der Paarinformationstabelle 220 in der Speichersteuereinheit 20B eingetragen.
  • Wenn irgendeine Replikation erzeugt wird, wird sie vorzugsweise in derselben Speichersteuereinheit erzeugt und soweit wie möglich tatsächlich in derselben Speichersteuereinheit erzeugt. In dem Fall, in dem Originalvolumen konzentriert sind und kein freier Bereich in einer gegebenen Speichersteuereinheit zur Verfügung steht, kann jedoch eine Replikation zwischen mehreren Speichersteuereinheiten erzeugt werden. Eine Ausführungsform, in der eine Replikation zwischen verschiedenen Speichersteuereinheiten erzeugt wird, ist in 7 gezeigt. In dieser Ausführungsform wird eine Replikation des primären Volumens 311 in einem realen sekundären Volumen 312 hergestellt. Auch in diesem Fall wird ein Replikationsvolumen in einer solchen Weise ausgewählt, dass eine Replikation des primären Volumens 311 in einem virtuellen sekundären Volumen 313 erzeugt wird. Auf diese Weise scheint die Replikation innerhalb derselben Speichersteuereinheit erzeugt zu werden. Das virtuelle sekundäre Volumen 313 verwendet keinen Datenbereich in der Platteneinheit, sondern nur die Volumennummer. Dies ist der Vorgang für die virtuelle Datenzuordnung. Der Host-Computer erkennt, dass das primäre Volumen 311 als virtuelles sekundäres Volumen 313 repliziert wird, und kann daher den Vorgang, wie im Stand der Technik, ausführen, ohne die Speichersteuereinheit des Replikationsvolumens zu erkennen. Der Host-Computer gibt eine Anforderung an die Speichersteuereinheit mit dem primären Volumen 311 und dem virtuellen sekundären Volumen 313 aus. Andererseits erkennt das Speichersystem 70, dass das virtuelle sekundäre Volumen 313 virtuell zugeordnet wird und dass das tatsächliche Volumen ein reales sekundäres Volumen 312 ist. Sobald daher eine Anforderung bei dem realen sekundären Volumen 312 eintrifft, wird sie durch die Speichersteuereinheit des virtuellen sekundären Volumens 313 empfangen und die Inhalte der Anforderung werden an eine Speichersteuereinheit mit dem realen sekundären Volumen 312 übertragen.
  • 8 ist ein Beispiel für ein Flussdiagramm, das das Replikationserzeugungs-Verarbeitungsverfahren zwischen verschiedenen Speichersteuereinheiten zeigt. Das Replikationserzeugungs-Verarbeitungsverfahren zwischen verschiedenen Speichersteuereinheiten in Schritt 5040 ist nachstehend unter Bezugnahme auf das Flussdiagramm der 8 erläutert.
  • Die Schritte 8010 bis 8070 sind mit den Schritten 6010 bis 6070 identisch. Obwohl es in 8 nicht detailliert gezeigt ist, wird der Vorgang der folgenden Schritte ausgeführt: In Schritt 8010 (der Schritt 6010 entspricht) werden alle Bits der in den 2 und 11 gezeigten Differenzbitmap 240 P1 auf „1" gesetzt. In Schritt 8020 (der Schritt 6020 entspricht) bestimmt Schritt 8030 (der Schritt 6030 entspricht) bei Erfassung von Bits „1" auf der Differenzbitmap, ob die Daten an einer Position, die einem besonderen Bit „1" entspricht, in dem Cache-Speicher enthalten sind oder nicht. Wenn Bit „1" nicht in Schritt 8020 erfasst wird, geht der Vorgang zu Schritt 8070 weiter (der Schritt 6070 entspricht). In dem Fall, in dem die Daten an einer dem Bit „1" entsprechenden Position in dem Cache-Speicher in Schritt 8030 nicht gefunden werden, liest der Schritt 8040 (der Schritt 6040 entspricht) die Daten aus dem primären Volumen in den Cache-Speicher. In Schritt 8050 (der Schritt 6050 entspricht) werden die Daten in das sekundäre Volumen in dem virtualisierten Cache-Speicher kopiert. Sobald die Daten im Cache-Speicher gespeichert sind, setzt der Schritt 8060 (der Schritt 6060 entspricht) das Differenzbit auf „0". Bei Vorhandensein des nächsten Bits in Schritt 8070 (der Schritt 6070 entspricht) wird der Vorgang der Schritte 8020 bis 8060 wiederholt. Bei Abwe senheit des nächsten Bits wird der Vorgang beendet. Auf diese Weise werden die virtualisierten Sekundärvolumendaten im Cache-Speicher gespeichert. Der Vorgang bis zu dieser Stufe ist ähnlich demjenigen in dem Fall, in dem sich sowohl ein primäres als auch ein sekundäres Volumen in derselben Speichersteuereinheit befinden.
  • Andererseits ist es erforderlich, dass die virtualisierten Sekundärvolumendaten, die asynchron im Cache-Speicher gespeichert sind, in dem tatsächlichen sekundären Volumen gespeichert werden. Zu diesem Zweck wird eine Anforderung zur Erzeugung einer Replikation von der primären Speichersteuereinheit 20A an die sekundäre Speichersteuereinheit 20B übertragen und eine Replikation wird in der sekundären Speichersteuereinheit 20B erzeugt. Insbesondere wird eine Replikation in einer Platteneinheit erzeugt, die mit der sekundären Speichersteuereinheit 20B in der folgenden Weise verbunden ist: Die Speichersteuereinheit 20A mit einem primären Volumen gibt an die Speichersteuereinheit 20B eine Anforderung aus, die nicht in der Speichereinheit der Speichersteuereinheit 20B reflektierten Daten (verfälschte Daten) in den Cache-Speicher zur Erzeugung eines sekundären Volumens zu schreiben (Schritt 8110). Die sekundäre Speichersteuereinheit 20B sichert einen Cache-Speicher zum Speichern der Schreibdaten (Schritt 8120). Der primären Speichersteuereinheit 20A wird gemeldet, dass der Cache-Speicher gesichert worden ist (Schritt 8130). Bei Empfang der Meldung überträgt die primäre Speichersteuereinheit 20A die Schreibdaten (Schritt 8140). Die primäre Speichersteuereinheit 20A empfängt eine Übertragungsabschlussmeldung von der sekundären Speichersteuereinheit 20B (Schritt 8150). Bei Vorhandensein der nächsten verfälschten Daten wiederholt die primäre Speichersteuereinheit 20A den Vorgang der Schritte 8110 bis 8150 (Schritt 8160). Bei Abwesenheit der nächsten verfälschten Daten wird der Vorgang dagegen beendet. Die sekundäre Speichersteuereinheit 20B speichert die Daten aus dem Cache-Speicher asynchron in das sekundäre Volumen (Schritt 8170).
  • Der anfängliche Kopievorgang dient zum Kopieren der allen Differenzbits entsprechenden Daten. Selbst nach dem abgeschlossenen anfänglichen Kopievorgang wird die Differenzbitmap auf „1" gesetzt, wenn eine Schreibanforderung auf halbem Weg empfangen wird. In diesem restlichen Kopievorgang wird die Differenzbitmap von oben angefangen der Reihe nach durchsucht, und bei Erfassung eines Bits „1" wird ein ähnlicher Kopievorgang wie der anfängliche Kopievorgang ausgeführt.
  • Die normale Schreib-/Leseanforderung kann während des anfänglichen Kopiervorgangs eintreffen. Der Vorgang, der auszuführen ist, wenn eine Schreibanforderung eintrifft, wird nachstehend unter Bezugnahme auf das Flussdiagramm der 9 erläutert.
  • Die Speichersteuereinheit 20A empfängt eine Schreibanforderung von dem Host 10 (Schritt 9010). Die Speichersteuereinheit 20A setzt das Bit an einer bestimmten Position der Differenzbitmap 240 P1 (2 und 11), die den zu schreibenden Daten entspricht, auf „1" (Schritt 9020). Die Speichersteuereinheit 20A sichert den Cache-Speicherbereich zum Speichern der Schreibdaten (Schritt 9030). Die Speichersteuereinheit 20A empfängt die Schreibdaten von dem Host 10 und speichert sie im Cache-Speicher (Schritt 9040). Die Speichersteuereinheit 20A sendet eine Schreibabschlussmeldung an den Host 10 zurück (Schritt 9050).
  • Die Speichersteuereinheit 20A speichert die Schreibdaten unabhängig von der Schreibanforderung von dem Host asynchron in dem primären Volumen (Schritt 9060).
  • Der Vorgang des Reflektierens der Inhalte der Schreibdaten im sekundären Volumen wird so ausgeführt, dass die Differenzbitmap sequenziell beobachtet wird, und bei Erfassung eines Bits „1" (Schritt 9070) mit einem Paar in derselben Speichersteuereinheit (Schritt 9080) wird der Vorgang der Schritte 6030 bis 6060, 6080 ausgeführt (Schritt 9090), während für ein Paar zwischen verschiedenen Speichersteuereinheiten der Vorgang der Schritte 8030 bis 8060, 8110 bis 8150, 8170 ausgeführt wird (Schritt 9100). Auf der Suche nach dem nächsten Bit geht der Vorgang zu Schritt 9070 weiter und bei Abwesenheit des nächsten Bits wird der Vorgang beendet (Schritt 9110).
  • Als Nächstes wird der Spaltzustand des Paars erläutert. Sobald ein Paar gespalten ist, werden die Differenzbitmaps 240 P1 und 240 P2 umgeschaltet. Wie in 11 gezeigt ist, werden die Differenzbitmaps P1 und P1 in dem Speicher 22 für jedes Paar im Speicher 22 der Speichersteuereinheit des primären Volumens gehalten. Es wird angenommen, dass die Differenzbitmaps P1 und P2 von derselben Größe sind. Die während des Spaltzustands verwendeten Differenzbitmaps werden im Speicher 22 der Speichersteuereinheit des primären Volumens gehalten, und jedes Mal, wenn das sekundäre Volumen aktualisiert wird, wird auf die Differenzbitmaps in der Speichersteuereinheit 22A zugegriffen.
  • Zur Resynchronisierung mit den Inhalten des primären Volumens werden die vorherrschenden Inhalte des primären Volumens in das sekundäre Volumen kopiert. Zu diesem Zweck werden die beiden Differenzbitmaps, die primäre und die sekundäre, miteinander vermischt und derselbe Vorgang wie der anfängliche Kopiervorgang wird ausgeführt. Mit anderen Worten werden in dem Fall, in dem eines der Bits für das primäre oder sekundäre Volumen auf „1" gesetzt wird, alle Volumina kopiert.
  • Der normale Spaltvorgang wird zu dem Zeitpunkt ausgeführt, wenn die Inhalte des primären und sekundären Volumens nach dem anfänglichen Kopievorgang miteinander synchronisiert werden. Abgesehen davon, wird der „Schnellspalt"-Vorgang so ausgeführt, dass bei Empfang einer Spaltanforderung selbst während des anfänglichen Kopievorgangs dem Host 10 ein Spaltabschluss gemeldet wird, während der reprimärende Kopievorgang im Hintergrund ausgeführt wird. 12 ist ein Flussdiagramm, das den Spaltvorgang gemäß diesem Verfahren zeigt. Wie in 12 gezeigt ist, gibt der Host 10 eine „Schnellspalt"-Anweisung aus und die Speichersteuereinheit 20A schaltet bei Empfang der Anweisung (Schritt 12010) die Differenzbitmap 240 zum Speichern der Schreibanforderung des Hosts 10 von P1 zu P2 um (Schritt 12020). Die Speichersteuereinheit 20A ändert den Paarstatus 226 (4) der Volumenpaarinformationstabelle 220 in „gespalten" (Schritt 12030). Nun sind das primäre und sekundäre Volumen zum Empfang einer Schreib-/Leseanforderung bereit. Die Speichersteuereinheit 20 führt den Vorgang des Kopierens der unreflektierten Daten in das sekundäre Volumen im Hintergrund durch. Der Vorgang des Reflektierens der Daten in das sekundäre Volumen wird so ausgeführt, dass die Differenzbitmap sequenziell beobachtet wird, und bei Erfassung eines Bits „1" (Schritt 12040) mit einem Paar in derselben Speichersteuereinheit 20 (Schritt 12050) wird ein den Schritten 6020 bis 6080 ähnlicher Vorgang ausgeführt (Schritt 12060). Andererseits wird in dem Fall, dass ein Paar zwischen verschiedenen Speichersteuereinheiten 20 beteiligt ist, der Vorgang der Schritte 8020 bis 8070 und der Schritte 8110 bis 8160 ausgeführt (Schritt 12070). Auf der Suche nach dem nächsten Bit geht der Vorgang zu Schritt 12040 weiter. Bei Abwesenheit des nächsten Bits wird der Vorgang beendet (Schritt 12080).
  • Der Vorgang, der ausgeführt wird, wenn eine Schreibanforderung durch das primäre Volumen von dem Host 10 im Schnellspaltmodus empfangen wird, ist in 13 gezeigt.
  • Die Speichersteuereinheit 20A empfängt eine Schreibanforderung vom Host 10 in das primäre Volumen (Schritt 13010). Die Speichersteuereinheit 20A setzt das Bit an einer Position, die den Schreibdaten in der Differenzbitmap 240 P1 (11) entspricht, auf „1" (Schritt 13020). Es wird bestimmt, ob die Daten an der dem besonderen Bit entsprechenden Position in dem Cache-Speicher sind oder nicht (Schritt 13030). In dem Fall, dass die Daten in Schritt 13030 nicht im Cache-Speicher gefunden werden, werden die entsprechenden Daten aus dem primären Volumen in den Cache-Speicher gelesen (Schritt 13040). Bei Erfassung des Bits „1" an einer den alten Schreibdaten der Differenzbitmap P2 entsprechenden Position geht der Vorgang zu Schritt 13060 weiter. Ansonsten geht der Vorgang zu Schritt 13080 weiter (Schritt 13050). In dem Fall, dass ein Bit auf „1" gesetzt ist, zeigt es an, dass die dem besonderen Bit entsprechenden Daten noch in das sekundäre Volumen zu kopieren sind. Die alten Daten werden in den Datenbereich des sekundären Volumens in dem Cache-Speicher kopiert (oder dem sekundären Volumenbereich, der in dem Cache-Speicher in dem Fall des Paars zwischen verschiedenen Speichersteuereinheiten virtualisiert ist) (13060). Bei Abwesenheit der Daten im Cache-Speicher dagegen können die Daten zweimal für das primäre und sekundäre Volumen gelesen werden. Mit der Kopiebetätigung wird die redundante Information zum Bestimmen, ob die Daten korrekt sind oder nicht, für das sekundäre Volumen neu erzeugt und an die Daten angehängt. Sobald die Daten im Cache-Speicher gespei chert sind, wird das Differenzbit auf „0" gesetzt (Schritt 13070). Als Ergebnis des Ausführens des Vorgangs der vorstehend beschriebenen Schritte 13030 bis 13070 werden die alten Daten des primären Volumens in dem Sekundärvolumendatenbereich in dem Cache-Speicher gespeichert (oder dem Sekundärvolumendatenbereich, der in dem Cache-Speicher in dem Fall des Paars zwischen verschiedenen Speichersteuereinheiten virtualisiert ist). Nach dem Schritt 13070 oder in dem Fall, dass die Bestimmung in Schritt 13050 NEIN lautet, werden die zu dem beteiligten Bit zu schreibenden Daten vom Host 10 empfangen und in dem Cache-Speicherbereich für das primäre Volumen gespeichert (Schritt 13080). Eine Schreibabschlussmeldung wird an den Host 10 gesendet (Schritt 13090).
  • Im Fall eines mit derselben Speichersteuereinheit verknüpften Paars (Schritt 13100) werden die Daten im Cache-Speicher asynchron in sekundären Volumen gespeichert (Schritt 13110). Im Fall eines Paars zwischen verschiedenen Speichersteuereinheiten wird dagegen der Vorgang der Schritte 8110 bis 8160 ausgeführt (Schritt 13120), um die alten Daten im Cache-Speicher in der Speichersteuereinheit 20B mit einem sekundären Volumen zu speichern, in dem die tatsächlichen Daten gespeichert sind.
  • Als Nächstes folgt eine Erläuterung über einen Fall, in dem das sekundäre Volumen eine Schreibanforderung von dem Host 10 im Schnellspaltmodus erhält. Es wird auf das Flussdiagramm der 13 Bezug genommen.
  • Wie in Schritt 13010 empfängt die Speichersteuereinheit 20A von dem Host 10 eine Schreibanforderung an das virtualisierte sekundäre Volumen. Wie in Schritt 13020 setzt die Speichersteuereinheit 20A das Bit an einem Punkt, der den Schreibdaten in der Differenzbitmap 240 P1 (11) entspricht, auf „1". Wie in Schritt 13030 wird bestimmt, ob die Daten an einem dem Bit entsprechenden Punkt ein Cache-Speicherbereich für das primäre Volumen sind. Wie in Schritt 13040 werden in dem Fall, dass die Daten in Schritt 13030 im Cache-Speicher nicht zur Verfügung stehen, die entsprechenden Daten aus dem primären Volumen in den Cache-Speicher gelesen. Wie in Schritt 13050 geht bei Erfassung eines Bits „1" an einem den alten Schreibdaten entsprechenden Punkt der Differenzbitmap 240 P2 der Vorgang weiter zu Schritt 13060. Ansonsten geht der Vorgang weiter zu Schritt 13080. Wie in Schritt 13060 werden die alten Daten in den Datenbereich des sekundären Volumens in dem Cache-Speicher kopiert (oder dem Sekundärvolumenbereich, der in dem Cache-Speicher in dem Fall eines Paars zwischen verschiedenen Speichersteuereinheiten virtualisiert ist). Bei Abwesenheit von Daten im Cache-Speicher können die Daten für das primäre und sekundäre Volumen zweimal gelesen werden. In dem Fall, dass die Daten aus dem Cache-Speicher gelesen werden, können die alten Daten direkt in den Datenbereich des sekundären Volumens in dem Cache-Speicher gelesen werden (oder dem Sekundärvolumenbereich, der in dem Cache-Speicher in dem Fall eines Paars zwischen verschiedenen Speichersteuereinheiten virtualisiert ist). Dadurch ist nur ein Lesevorgang genug. Mit der Kopiebetätigung wird die redundante Information zur Bestimmung, ob die Daten korrekt sind oder nicht, auch für das sekundäre Volumen neu erzeugt und mit den Daten im Cache-Speicher gespeichert. In dem Fall, dass die Schreibdaten mit allen den Bits entsprechenden Daten übereinstimmen, ist es nicht erforderlich, dass die alten Daten im Cache-Speicher gespeichert werden, und daher wird nur der Bereich gesichert. Sobald die Daten im Cache-Speicher gespeichert sind, wird das Differenzbit auf „0" gesetzt (wie in Schritt 13070). Die zu dem beteiligten Bit zu schreibenden Daten werden empfangen und im Cache-Speicherbereich für das sekundäre Volumen gespeichert (wie in Schritt 13080). An den Host 10 wird eine Schreibabschlussmeldung ausgegeben (wie in Schritt 13090). Danach wird derselbe Vorgang als Schritte 13100 bis 13120 ausgeführt. Der Host, der eine Schreibanforderung an das sekundäre Volumen ausgibt, kann ein anderer als der Host 10 sein, der eine Schreibanforderung an das primäre Volumen ausgibt.
  • Als Nächstes wird die Resynchronisierung der Volumina unter Bezugnahme auf das Flussdiagramm der 15 erläutert. Das primäre Volumen und das sekundäre Volumen, die in den Spaltzustand eingetreten sind, verarbeiten Lese- bzw. Schreibanforderungen und haben daher verschiedene Inhalte. Die Resynchronisierung ist durch den Vorgang des Einstellens der Inhalte des sekundären Volumens auf die Inhalte des primären Volumens an dem bestimmten Zeitpunkt definiert. Zuerst wird der Paarstatus der Volumenpaarinformation geändert (Schritt 15010). Die Differenzbitmaps 240 P1 und 240 P2 werden miteinander vermischt und in der Differenzbitmap 240 P1 gespeichert (Schritt 15020). Bei Erfassung des Bits „1" in der Differenzbitmap 240 P1 (Schritt 15030) wird der dem anfänglichen Kopievorgang ähnliche Vorgang ausgeführt. Insbesondere wird für ein Paar in derselben Speichersteuereinheit (Schritt 15040) der Vorgang der Schritte 6020 bis 6080 ausgeführt (Schritt 15050), während der Vorgang der Schritte 8020 bis 8160 für ein Paar zwischen verschiedenen Speichersteuereinheiten ausgeführt wird (Schritt 15060). Auf der Suche nach dem nächsten Bit geht der Vorgang weiter zu Schritt 15030. Ansonsten ist der Vorgang beendet (Schritt 15070).
  • Wie vorstehend erläutert ist, kann in dem Fall, dass das Originalvolumen und das Replikationsvolumen mit verschiedenen Clustern verknüpft sind, das Paar aufbereitet werden, so dass es für den Host durch die Virtualisierungstechnik, in der das tatsächliche Replikationsvolumen einem freien Volumen im Cluster des Origi nalvolumens virtuell zugeordnet wird, erscheint, als gehöre es zu demselben Cluster. Als Ergebnis wird ein Clusterkonfigurations-Speichersystem zur freien Erzeugung einer Kopie des Speicherbereichs, ohne sich des Clusters bewusst zu sein, bereitgestellt.
  • Der Replikationserzeugungsvorgang ist vorstehend erläutert. Der Verarbeitungsgeschwindigkeits-Vorrangsvorgang wird nachstehend erläutert. Im Verarbeitungsgeschwindigkeits-Vorrangsvorgang werden der Vorgang zur Erzeugung eines Replikationsvolumens und die normale Schreib-/Leseanforderung (normale E/A) in der Vorrangsreihenfolge in Übereinstimmung mit der vorherrschenden Situation verarbeitet.
  • In dem vorstehend beschriebenen Replikationsvorgang wird der für den Kopievorgang fällige Vorgang von dem primären Cluster auf den sekundären Cluster übertragen, ungeachtet der Situation des sekundären Clusters. Dennoch empfängt der sekundäre Cluster die normale Host-E/A. Außerdem weist der sekundäre Cluster eine Kopiefunktionsmaschine auf und erzeugt eine Kopie des Volumens in dem Cluster. Auf diese Weise besitzt jeder Cluster die Kopiefunktion und eine Auftragsanforderungs-Warteschlange, so dass Aufträge in Übereinstimmung mit der Vorrangsreihenfolge der Auftragsarten begonnen und bearbeitet werden.
  • In dem Fall, dass der Replikationsvorgang über Cluster ausgeführt und die Kommunikation über die Cluster in der normalen Schreib/Leseanforderungsweise geführt wird, kann die Partei, die die Anforderung empfangen hat, sie nicht von der normalen E/A von dem Host unterscheiden. Dennoch wird die Host-E/A mit Vorrang bevorzugt gegenüber dem Vorgang der Kopiefunktion ausgeführt.
  • Insbesondere in dem Fall eines Paars zwischen verschiedenen Speichersteuereinheiten hat die Speichersteuereinheit 20B mit einem sekundären Volumen keine Möglichkeit, die von der primären Speichersteuereinheit 20A empfangene Schreibanforderung von der vom Host 10 empfangenen normalen Schreibanforderung zu unterscheiden. Somit verarbeitet die Speichersteuereinheit 20B alle Schreibanforderungen auf FIFO-Basis. Als Ergebnis wird die Antwortzeit der normalen Schreibanforderung verlängert und die Leistung scheint manchmal verschlechtert zu sein. Diese Schreibanforderungen werden durch die Speichersteuereinheit 20B diskriminiert und ein Plan wird für die Reihenfolge, in der sie ausgeführt werden, aufgestellt, wodurch eine hohe Leistung realisiert wird.
  • Die nachstehend beschriebene Ausführungsform betrifft den Verarbeitungsgeschwindigkeits-Vorrangsvorgang, in dem das Originalvolumen den Auftragsvorrang im Replikationsvolumen setzt.
  • Es sei angenommen, dass die von der primären Speichersteuereinheit 20A empfangene Schreibanforderung und die von dem Host 10 empfangene normale Schreibanforderung voneinander durch die Volumeneinheit diskriminiert werden. Im Fall eines Volumens in der Speichersteuereinheit 20B, von dem eine Replikation erzeugt wird, erkennt die Speichersteuereinheit 20A, ob das bestimmte Volumen sich in einem gepaarten Zustand befindet oder nicht. Die Speichersteuereinheit 20 kann somit, durch den Paarstatus, bestimmen, ob die Anforderung an das Volumen, die eine Replikation in der Speichersteuereinheit 20B erzeugt, für den Kopiervorgang bestimmt ist, um eine Replikation zu erzeugen, oder für die normale Schreib-/Lesebetätigung.
  • Dies wird unter Bezugnahme auf das Flussdiagramm der 16 erläutert. Nach Maßgabe des Auftragsvorrangseinstellprogramms 202 (2) in der Speichersteuereinheit 20A wird der Auftragsvorrang im Hinblick darauf bestimmt, ob eine Anforderung an das Volumen in der Speichersteuereinheit 20B, das mit dem Volumen in dem Speichersteuereinheit 20A gepaart ist, in derselben Weise wie die normale Schreib-/Leseanforderung zu verarbeiten ist (Schritt 16010). Die in der Speichersteuereinheit 20A bestimmte Auftragvorranginformation wird der Speichersteuereinheit 20B zugeführt (Schritt 16020). Die Speichersteuereinheit 20B trägt die Auftragvorranginformation an der Bitposition der Volumennummer in der Auftragvorranginformationsbitmap 250 (2 und 14) im Speicher 22 ein (Schritt 16030). Die Auftragvorranginformationsbitmap 250 verwaltet die Information im Hinblick darauf, ob die Daten gemäß einem Plan für jede Volumennummer wie die normale Schreib/Leseanforderung zu verarbeiten sind.
  • In dem Fall, in dem es gewünscht ist, den Vorgang schnell auszuführen, und ein Plan ohne Diskriminierung von der normalen Schreib-/Leseanforderung aufgestellt wird, wird das Bit auf „1" gesetzt, während das Bit auf „0" gesetzt wird, wenn die normale Schreib-/Leseanforderung bevorzugt mit Vorrang verarbeitet wird. Alternativ wird der Auftragsvorrang der normalen Schreib-/Leseanforderung auf 5 gesetzt und die anderen Anfragen können in der Vorrangsreihenfolge von 4 bis 1 verwaltet werden. In dem Vorgang werden mehrere Bits, aber nicht ein Bit, für jedes Volumen vorbereitet.
  • Während der Erzeugung einer Replikation sei angenommen, dass eine Schreib-/Leseanforderung in Schritt 8110 durch die Speichersteuereinheit 20A an die Speichersteuereinheit 20B ausgegeben wird (Schritt 16040). Die Speichersteuereinheit 20B empfängt die Anforderung und nimmt Zugriff auf die Auftragvorranginformation des Volumens für die Anforderung (Schritt 16050). Sofern die Auf tragvorranginformation so angepasst ist, dass sie wie die normale Schreib-/Leseanforderung geplant wird (Schritt 16060), wird sie in der normalen Schreib-/Leseverarbeitungs-Warteschlange 261 (2) platziert (Schritt 16070), und wenn die Anforderung aus der Warteschlange ausgewählt wird, wird der Cache-Speicherbereich in Schritt 8120 gesichert und die Schritte 8130 bis 8150 werden ausgeführt (Schritt 16080). In dem Fall, dass die Auftragvorranginformation in Schritt 16060 von niedrigerem Vorrang als die normale Schreib-/Leseanforderung ist, werden die Daten in eine andere Warteschlange 262 mit niedrigem Auftragsvorrang (2) als die normale Schreib-/Leseverarbeitungs-Warteschlange 261 platziert (Schritt 160990), und wenn die Daten ausgewählt werden, wird der Vorgang des Schritts 16080 ausgeführt. Die Vorrangsreihenfolge der Auftragvorranginformation des Volumens kann durch einen Wartungsarbeiter von beispielsweise der Benutzereingabe/ausgabevorrichtung 80, wie etwa einem SVP (SerVice-Prozessor) eingegeben werden.
  • Die normale Schreib-/Leseverarbeitungs-Warteschlange 261 und die Warteschlange 262 mit niedrigem Auftragsvorrang sind die Steuerungsinformation mit einer Warteschlangenstruktur, die in der Reihenfolge der Ausgabezeit gemäß der Anordnung oder der Listenstruktur verwaltet wird.
  • Das reale sekundäre Volumen 312, das dem virtualisierten Volumen 313 (7) entspricht, ist für den Host 10 transparent, und daher wird von dem Host 10 an das Volumen 312 keine Anforderung ausgegeben. Die Anfrage an das Volumen 312 trifft nur durch die Speichersteuereinheit 20A ein. Somit kann die Speichersteuereinheit 20A bestimmen, ob die Anforderung des Volumens 312 lautet, sofort verarbeitet zu werden oder nicht.
  • Die Planung für die Warteschlange 262 mit niedrigem Auftragsvorrang wird unter Bezugnahme auf das Flussdiagramm der 17 erläutert. Die Warteschlange 262 ist von niedrigerer Verarbeitungsfrequenz als die normale Schreib-/Leseverarbeitungs-Warteschlange 261. Die Verarbeitungsfrequenz α kann durch die Einstellbetätigung des Benutzers geändert werden.
  • Es sei angenommen, dass die Verarbeitungsfrequenz α ist. Es wird bestimmt, ob die normale Schreib-/Lese-Warteschlange 261 eine unverarbeitete Anforderung hat oder nicht (Schritt 17010). Wenn es eine unverarbeitete Anforderung gibt, wird der Zähler c auf 0 gesetzt (Schritt 17020). In dem Fall, dass α > c (Schritt 17030), wird der Vorgang der normalen Schreib-/Leseverarbeitungs-Warteschlange 261 ausgeführt (Schritt 17040), und der Zähler c wird inkrementiert (Schritt 17050). Es wird bestimmt, ob die normale Schreib-/Leseverarbeitungs-Warteschlange 261 eine noch zu verarbeitende Anforderung aufweist (Schritt 17060). Bei Vorhandensein einer solchen Anforderung geht der Vorgang zu Schritt 17030 weiter. Bei Abwesenheit einer solchen Anforderung geht der Vorgang dagegen zu Schritt 17100 weiter. Sobald in Schritt 17030 die Beziehung α ≤ c erreicht ist, wird bestimmt, ob die Anzahl unverarbeiteter Anforderungen der Warteschlange 262 mit niedrigem Auftragsvorrang nicht kleiner als n ist oder ob die alte unverarbeitete Anfrage der Warteschlange 262 mit niedrigem Auftragsvorrang die Zeit m überschritten hat (Schritt 17070), wobei m und n vorgegebene Zahlenwerte sind. Sobald die Bedingung von Schritt 17070 erfüllt ist, wird der Vorgang der Warteschlange 262 mit niedrigem Auftragsvorrang ausgeführt (Schritt 17080). Der Zähler c wird auf 0 gesetzt und der Vorgang geht zu Schritt 17060 weiter (Schritt 17090). Wenn die Bedingung nicht in Schritt 17070 erfüllt ist, geht der Vorgang andererseits zu Schritt 17090 weiter.
  • In dem Fall, dass in Schritt 17010 bestimmt wird, dass noch keine zu verarbeitende Anforderung vorhanden ist, wird der Vorgang der Warteschlange 262 mit niedrigem Auftragsvorrang ausgeführt und der Vorgang geht zu Schritt 17010 weiter (Schritt 17110).
  • In dem Fall, dass in Schritt 16020 eine Schreib-/Leseanforderung von der Speichersteuereinheit 20A an die Speichersteuereinheit 20B ausgegeben wird, gibt die Speichersteuereinheit 20A die Anforderung aus, ohne sich des Zustands der Speichersteuereinheit 20B bewusst zu sein. Die Menge der verfälschten Daten im Cache-Speicher der Speichersteuereinheit 20B kann durch den normalen Schreib-/Lesevorgang oder den Replikationsvorgang in der Speichersteuereinheit 20B erhöht werden. Die Erhöhung der schmutzigen Datenmenge über einen vorgegebenen Bezugswert hinaus gibt eine kleinere verfügbare Kapazität des Cache-Speichers an. Durch Aussetzen des Replikationsvorgangs oder Ausführen des Vorgangs zum Sichern der Daten von dem Cache-Speicher zur Platteneinheit mit Vorrang ist es daher erforderlich, dass der freie Bereich des Cache-Speichers vergrößert wird. Die Speichersteuereinheit 20B greift auf die Auftragsvorrangsreihenfolge des Volumens für die Anforderung in Schritt 16050 zu, während sie zur selben Zeit auf die verfälschte Daten-Menge zugreift. In dem Fall, dass die verfälschte Daten-Menge über einen vorgegebenen (voreingestellten) Bezugswert erhöht wird, wird der Vorgang der Schritte 8120 bis 8150 zum Sichern des Cache-Speicherbereichs und Verzögern des Vorgangs zum Datenempfang ausgeführt, um dadurch die Menge der Anforderungen, die von der Speichersteuereinheit 20A zu empfangen sind, anzupassen. Die Speichersteuereinheit stoppt die Ausgabe einer Anforderung, bevor sie eine Abschlussbenachrichtigung von der Speichersteuereinheit 20B empfängt.
  • Als Nächstes wird eine Modifizierung des Verarbeitungsgeschwindigkeits-Vorrangsvorgangs zum Zuführen von Information von dem primären Cluster zum sekundären Cluster im Hinblick darauf erläutert, ob das Replikationsvolumen ohne Beeinträchtigen der normalen Schreib-/Leseanforderung (normale E/A) oder gleichwertig zur normalen Schreib-/Leseanforderung (normale E/A) verarbeitet wird. Anders als in der vorstehend beschriebenen Ausführungsform stellt die nachstehend beschriebene Modifizierung einen Fall des Verarbeitungsgeschwindigkeits-Vorrangsvorgangs dar, in dem das Replikationsvolumen bestimmt, ob ein Vorgang mit Vorrang oder Nichtvorrang auszuführen ist.
  • In dem Fall, in dem die von dem primären Cluster zu dem sekundären Cluster übertragene Anforderung eine Kopierverarbeitungsanforderung ist (Anforderung, eine Replikation zu erzeugen), überträgt der primäre Cluster (Originalvolumen) die Anforderung an den sekundären Cluster zusammen mit einer Anforderungsart, welche angibt, dass die bestimmte Anforderung eine Kopieverarbeitungsanforderung ist (Anforderung zur Erzeugung einer Replikation). Der sekundäre Cluster (Replikationsvolumen), der die Anforderung empfangen hat, erkennt, dass die Anforderung mit dem daran angehängten Anforderungstyp von niedrigem Vorrang ist, und platziert die Anforderung in der Warteschlange 262 mit niedrigem Auftragsvorrang (2). Auf diese Weise kann der sekundäre Cluster den Auftragsvorrang auf der Grundlage des von dem primären Cluster empfangenen Anforderungstyps bestimmen. Im betrachteten Fall überträgt der primäre Cluster eine Anforderung zur Erzeugung einer Replikation, welche angibt, dass die bestimmte Anforderung zur Erzeugung einer Replikation gedacht ist. Dennoch ist es stets der sekundäre Cluster, welcher bestimmt, ob die Anforderung von niedrigem Vorrang ist oder nicht. Somit kann der sekundäre Cluster bestimmen, ob die Anforderung zur Erzeugung einer Replikation als mit niedrigem Vorrang zu verarbeiten ist.
  • In einem anderen Verfahren führt der primäre Cluster (Originalvolumen) der Anweisungsallgemeininformation, welche angibt, ob einer Anforderung Vorrang gegeben werden soll oder nicht, den Vorrang n der Anforderung zu, aber keinen spezifischen Anforderungstyp, welcher eine Kopieanforderung angibt. Bei Empfang dieser Anweisung erkennt der sekundäre Cluster (Replikationsvolumen) die so zugeführte Vorrangsinformation und erstellt einen Plan der Verarbeitungsreihenfolge unter Berücksichtigung des besonderen Vorrangs. Als Ergebnis kann der sekundäre Cluster den Auftragsvorrang auf der Grundlage der Vorrangsreihenfolge n oder der Vorrangs-/Nichtvorrangs-Information der von dem primären Cluster empfangenen Anforderung bestimmen. Auch in diesem Fall ist es der sekundäre Cluster, welcher bestimmt, ob eine Anforderung zur Erzeugung einer Replikation als mit niedrigem Vorrang zu verarbeiten ist. In diesem Fall jedoch basiert die Bestimmung des sekundären Clusters auf der Vorrangsreihenfolge n oder der in der Anforderung eingeschlossenen gewöhnlichen Vorrangs-/Nichtvorrangs-Information. Somit kann der sekundäre Cluster bestimmen, ob eine Anforderung zur Erzeugung einer Replikation mit Vorrang durch die normale Anforderungsverarbeitung zu verarbeiten ist.
  • Der primäre Cluster gibt dem sekundären Cluster Information im Hinblick darauf, ob das Replikationsvolumen verarbeitet wird, ohne die normale E/A zu beeinträchtigen, oder gleichwertig zur normalen E/A. Im ersteren Fall der sekundäre Cluster unter Bezugnahme auf diese Information. Im letzteren Fall dagegen wird ein Plan erstellt, um die Anforderungen in chronologischer Reihenfolge zu verarbeiten.
  • Der vorstehend beschriebene Verarbeitungsgeschwindigkeits-Vorrangsvorgang ermöglicht eine Replikation ohne Störung der normalen Geschäfts-E/A.
  • Vorstehend wurde ein Clusterkonfigurations-Speichersystem gemäß einer Ausführungsform der Erfindung erläutert. Unter Bezugnahme auf 18 erfolgt eine Erläuterung der Betätigung durch den Benutzer zur Realisierung eines Paars in demselben Cluster von einem Paar zwischen verschiedenen Clustern durch die Virtualisierungstechnik des vorstehend beschriebenen Clusterkonfigurations-Speichersystems.
  • Zuerst wählt der Benutzer ein Replikationsvolumen aus. Freie Volumina 321, 322, 323, 324. die Anwärter für ein Replikationsvolumen gegenüber dem Originalvolumen 311 bilden, werden dem Benutzer als Sekundärvolumenpool präsentiert. Der Sekundärvolumenpool beinhaltet ein Volumen eines Clusters, der von dem Originalvolumen verschieden ist.
  • Der Benutzer wählt ein sekundäres Volumen aus, indem er beispielsweise das freie Volumen 322 aus der Benutzereingabe-/-ausgabevorrichtung 80 eingibt. In dem in 18 gezeigten Fall ist das ausgewählte Volumen 322 mit einem Cluster (Speichersteuereinheit 20B) verknüpft, die sich von dem Cluster (Speichersteuereinheit 20A) des Originalvolumens 311 unterscheidet.
  • Das Replikationsvolumen ist mit einem anderen Cluster verknüpft und daher wird ein sekundäres zu virtualisierendes Volumen aus den freien Volumina des Original-Clusters ausgewählt. Im betrachteten Fall wird das Volumen 312 als virtuelles sekundäres Volumen ausgewählt. Dieses Volumen ist kein reales Volumen und erfordert daher keine physikalische Ressource, wie zum Beispiel HDD. Vor richtungsnummern, die exklusiv zur Virtualisierung verwendet werden, können vorbereitet werden und eine geeignete von ihnen kann ausgewählt werden.
  • In diesem Fall ist der Sekundärvolumenanwärter in demselben Cluster wie das Originalvolumen existent, und daher kann das bestimmte Volumen dem Benutzer von dem System präsentiert werden, so dass es dem Benutzer gestattet werden kann, dasselbe Volumen unter den Anwärtern auszuwählen. Als weitere Alternative werden dem Benutzer Volumenanwärter präsentiert und ein Volumen wird durch Eingabe von der Benutzereingabe-/-ausgabevorrichtung 80 von dem Sekundärvolumenpool und/oder von virtualisierten Volumina ausgewählt, oder es wird ein Host-Befehl verwendet oder ein Anwärter wird seitens einer Speichersteuereinheit automatisch ausgewählt.
  • Das Replikationserzeugungsprogramm 201 (2), wie es vorstehend beschrieben ist, trägt die Information in die Volumenpaarinformationstabelle 220 auf der Grundlage der Information von der Benutzereingabe-/-ausgabevorrichtung oder dem Host-Befehl von dem Host ein. Als weitere Alternative trägt das Replikationserzeugungsprogramm 201 die Information automatisch in die Volumenpaarinformationstabelle 220 ein.
  • Die durch die vorliegende Erfinderin entwickelte Erfindung ist vorstehend unter Bezugnahme auf Ausführungsformen spezifisch beschrieben. Diese Erfindung ist jedoch nicht auf die vorstehend beschriebenen Ausführungsformen beschränkt, sondern verschiedentlich modifizierbar.

Claims (20)

  1. Speichersystem (70), umfassend: – mehrere Steuereinheiten (20A, 20B), die jeweils mit mehreren Platteneinheiten (311, 313; 312, 314, 315) verbunden sind, wobei jede der mehreren Steuereinheiten (20A, 20B) umfasst: – mehrere Replikationserzeugungseinheiten, die jeweils den mehreren Steuereinheiten (20A, 20B) entsprechen, wobei jede der Replikationserzeugungseinheiten so angepasst ist, dass sie eine Replikation der Volumendaten in der mit der entsprechenden Steuereinheit (20A, 20B) verbundenen Platteneinheit (311, 313; 312, 314, 315) erzeugt; und – mehrere Volumenpaarinformationen (220), die jeweils den mehreren Steuereinheiten (20A, 20B) entsprechen, wobei jede der Volumenpaarinformationen (220) ein Originalvolumen und ein Replikationsvolumen bezeichnet, dadurch gekennzeichnet, dass die Replikationserzeugungseinheit einer ersten Steuereinheit (20A, 20B) derart arbeitet, dass – in dem Fall, in dem eine Replikation im Volumen in der mit einer ersten Steuereinheit (20A, 20B) verbundenen Platteneinheit (311, 313; 312, 314, 315) erzeugt wird, die Volumeninformation des Originalvolumens und die Volumeninformation des Replikationsvolumens in der Volumenpaarinformation (220) eingetragen werden und eine Replikation im Volumen in der mit der ersten Steuereinheit (20A, 20B) verbundenen Platteneinheit (311, 313; 312, 314, 315) auf der Grundlage der Volumenpaarinformation (220) erzeugt wird und – in dem Fall, in dem eine Replikation im Volumen in der mit einer zweiten Steuereinheit (20A, 20B) verbundenen Platteneinheit (311, 313; 312, 314, 315) erzeugt wird, die Volumeninformation des Originalvolumens, die Volumeninformation des Replikationsvolumens und die Information der zweiten Steuereinheit (20A, 20B) in der Volumenpaarinformation (220) eingetragen werden, – eine Anforderung zur Erzeugung einer Replikation von der ersten Steuereinheit (20A, 20B) an die zweite Steuereinheit (20A, 20B) auf der Grundlage der Volumenpaarinformation (220) übertragen wird, – in Ansprechung auf eine solche Anforderung eine Kopie der Daten des Originalvolumens erzeugt wird und die Kopie an die zweite Steuereinheit (20A, 20B) übertragen wird, und – die Kopie der Daten des Originalvolumens von der ersten Steuereinheit (20A, 20B) empfangen wird und die Kopie der Daten des Originalvolumens in einem Replikationsvolumen der zweiten Steuereinheit (20A, 20B) in Übereinstimmung mit der Volumenpaarinformation (220) gespeichert wird.
  2. Speichersystem (70) nach Anspruch 1, wobei jede der Steuereinheiten (20A, 20B) einen Cache-Speicher (23) zur temporären Speicherung der Daten aufweist; und wobei die Replikationserzeugungseinheit der ersten Steuereinheit (20A, 20B) beim Erzeugen einer Replikation im Volumen der mit der zweiten Steuereinheit (20A, 20B) verbundenen Platteneinheit (311, 313; 312, 314, 315) die Daten des Originalvolumens als Daten für das Replikationsvolumen in den Cache-Speicher (23) der ersten Steuereinheit (20A, 20B) kopiert und die Kopiedaten im Cache-Speicher (23) an die zweite Steuereinheit (20A, 20B) überträgt.
  3. Speichersystem (70) nach Anspruch 2, wobei die zweite Steuereinheit (20A, 20B) die Daten, die von der ersten Steuereinheit empfangen werden, im Cache-Speicher (23) der zweiten Steuereinheit (20A, 20B) speichert, wonach die Daten im Volumen in der mit der zweiten Steuereinheit (20A, 20B) verbundenen Platteneinheit (311, 313; 312, 314, 315) gespeichert werden.
  4. Speichersystem (70) nach einem der Ansprüche 1 bis 3, wobei die Volumeninformation des Replikationsvolumens der ersten Steuereinheit (20A, 20B), die von der ersten Steuereinheit (20A, 20B) in der Volumenpaarinformation (220) eingetragen wird, in dem Fall, in dem eine Replikation im Volumen der mit der zweiten Steuereinheit (20A, 20B) verbundenen Platteneinheit (311, 313; 312, 314, 315) erzeugt wird, eine virtuelle ID-Information zum Identifizieren des Volumens der mit der zweiten Steuereinheit (20A, 20B) verbundenen Platteneinheit (311, 313; 312, 314, 315) in der ersten Steuereinheit (20A, 20B) ist; und wobei die Information der zweiten Steuereinheit (20A, 20B), die von der ersten Steuereinheit (20A, 20B) in der Volumenpaarinformation (220) eingetragen wird, in dem Fall, in dem eine Replikation im Volumen der mit der zweiten Steuereinheit (20A, 20B) verbundenen Platteneinheit (311, 313; 312, 314, 315) erzeugt wird, eine ID-Information zum Identifizieren der zweiten Steuereinheit (20A, 20B) und des Replikationsvolumens der mit der zweiten Steuereinheit (20A, 20B) verbundenen Platteneinheit (311, 313; 312, 314, 315) in der zweiten Steuereinheit (20A, 20B) ist.
  5. Speichersystem (70) nach einem der Ansprüche 1 bis 4, wobei die Volumenpaarinformation (220) einen Bezeichner aufweist, der dem Volumenpaar des Originalvolumens und des Replikationsvolumens zugeordnet ist, und wobei ein oder mehrere Bezeichner dem einen Originalvolumen zugeordnet sind.
  6. Speichersystem (70) nach einem der Ansprüche 1 bis 5, wobei die Replikationserzeugungseinheit Informationen in der Volumenpaarinformation (220) auf der Grundlage einer ausgewählten Informationseingabe von einer Benutzereingabe/-ausgabevorrichtung und einem von einem Host (10) erhaltenen Host-Befehl einträgt.
  7. Speichersystem (70) nach einem der Ansprüche 1 bis 6, wobei jede der Steuereinheiten (20A, 20B) weiter umfasst: mehrere normale Schreib-/Lese-Verarbeitungswarteschlangen, die jeweils den mehreren Steuereinheiten (20, 20B) entsprechen, wobei jede der Warteschlangen so angepasst ist, dass sie einen Plan für eine normale Schreib-/Lese-Anforderung erstellt, und mehrere Warteschlangen mit niedrigem Auftragsvorrang, die jeweils den mehreren Steuereinheiten (20A, 20B) entsprechen, wobei jede der Warteschlangen mit niedrigem Auftragsvorrang so angepasst ist, dass sie einen Plan für eine Anforderung mit niedrigem Auftragsvorrang im Vergleich zur normalen Schreib-/Lese-Anforderung erstellt; wobei in dem Fall, in dem eine Anforderung zum Erzeugen einer Replikation gleichwertig zur normalen Schreib-/Lese-Anforderung verarbeitet wird, die Steuereinheit (20A, 20B) eine Anforderung zur Erzeugung einer Replikation in der normalen Schreib-/Lese-Verarbeitungswarteschlange platziert, während in dem Fall, in dem eine Anforderung zur Erzeugung einer Replikation in der Vorrangsreihenfolge verarbeitet wird, die niedriger als die normale Schreib-/Lese-Anforderung ist, die Steuereinheit (20A, 20B) die Replikationserzeugungsanforderung in der Warteschlange mit niedrigem Auftragsvorrang platziert.
  8. Speichersystem (70) nach einem der Ansprüche 1 bis 7, wobei jede der Steuereinheiten (20A, 20B) weiter umfasst: mehrere Auftragsvorrang-Einstelleinheiten, die jeweils den mehreren Steuereinheiten (20A, 20B) entsprechen, wobei jede der Auftragsvorrang-Einstelleinheiten die Auftragsvorranginformation im Hinblick darauf bestimmt, ob eine Anforderung zur Erzeugung einer Replikation gleichwertig zur normalen Schreib/Lese-Anforderung verarbeitet werden soll, wobei die Auftragsvorrang-Einstelleinheit die Auftragsvorrang-Reihenfolgeninformation an die andere Steuereinheit (20A, 20B) meldet, und wobei die andere Steuereinheit (20A, 20B), die die Meldung der Auftragsvorranginformation von der Steuereinheit (20A, 20B) empfangen hat, einen Plan zur sequenziellen Verarbeitung der Anforderungen auf der Grundlage der so empfangenen Auftragsvorranginformation erstellt.
  9. Speichersystem (70) nach einem der Ansprüche 1 bis 8, wobei in dem Fall, in dem die erste Steuereinheit (20A, 20B) eine Anforderung zur Erzeugung einer Replikation an die zweite Steuereinheit (20A, 20B) überträgt, die Information, die ein Replikationserzeugungsverfahren anzeigt, der Steueranweisung zur Übertragung der Replikationserzeugungsanforderung hinzugefügt wird, und wobei die zweite Steuereinheit (20A, 20B), die die Steueranweisung empfangen hat, bestimmt, ob die Anforderung mit Vorrang verarbeitet werden soll, und zwar auf der Grundlage der Information, die ein Replikationserzeugungsverfahren anzeigt, und einen Plan zur sequenziellen Verarbeitung der Anforderungen erstellt.
  10. Speichersystem (70) nach einem der Ansprüche 1 bis 9, wobei in dem Fall, in dem die erste Steuereinheit (20A, 20B) eine Anforderung zur Erzeugung einer Replikation an die zweite Steuereinheit (20A, 20B) überträgt, die Information, die die Vorrangreihenfolge anzeigt, der Replikationserzeugungsanforderung zugeführt wird, und wobei die zweite Steuereinheit (20A, 20B) bestimmt, ob eine Replikationserzeugungsanforderung mit Vorrang verarbeitet wird, und zwar auf der Grundlage der erhaltenen Information, die die Vorrang anzeigt, und einen Plan zur sequenziellen Verarbeitung der Replikationserzeugungsanforderungen erstellt.
  11. Verfahren zur Erzeugung einer Replikation in einem Speichersystem (70), umfassend mehrere Steuereinheiten (20A, 20B), die jeweils mit mehreren Platteneinheiten (311, 313; 312, 314, 315) verbunden sind, gekennzeichnet durch die Schritte: – Eintragen der Originalvolumeninformation und der Replikationsvolumeninformation als Volumenpaarinformation (220) in einer ersten Steuereinheit (20A, 20B) und Erzeugen, in der ersten Steuereinheit (20A, 20B), einer Replikation des Volumens in der mit der ersten Steuereinheit (20A, 20B) verbundenen Platteneinheit (311, 313; 312, 314, 315) auf der Grundlage der Volumenpaarinformation (220) in dem Fall, in dem eine Replikation der Volumendaten in der mit der ersten Steuereinheit (20A; 20B) verbundenen Platteneinheit (311, 313; 312, 314, 315) in der ersten Steuereinheit (20A, 20B) erzeugt wird; – Eintragen, in der ersten Steuereinheit (20A, 20B), der Originalvolumeninformation, der Replikationsvolumeninformation in der ersten Steuereinheit (20A, 20B) und der Information der zweiten Steuereinheit (20A, 20B) als Volumenpaarinformation der ersten Steuereinheit (20A, 20B); – Senden einer Replikationserzeugungsanforderung von der ersten Steuereinheit (20A, 20B) an die zweite Steuereinheit (20A, 20B) auf der Grundlage der Volumenpaarinformation (220), – Erzeugen einer Kopie der Daten des Originalvolumens in Ansprechung auf eine solche Anforderung und Übertragen der Kopie an die zweite Steuereinheit (20A, 20B); und – Empfangen einer Kopie der Daten eines Originalvolumens von der ersten Steuereinheit (20A, 20B) und Speichern der Kopie der Daten des Originalvolumens in einem Replikationsvolumen der zweiten Steuereinheit (20A, 20B) in Übereinstimmung mit der Volumenpaarinformation (220) in dem Fall, in dem eine Replikation der Volumendaten in der mit der ersten Steuereinheit (20A, 20B) verbundenen Platteneinheit (311, 313; 312, 314, 315) in dem Volumen der mit der zweiten Steuereinheit (20A, 20B) verbundenen Platteneinheit (311, 313; 312, 314, 315) erzeugt wird.
  12. Replikationserzeugungsverfahren nach Anspruch 11, wobei jede der Steuereinheiten (20A, 20B) einen Cache-Speicher (23) zur temporären Speicherung der Daten aufweist, wobei das Verfahren weiter die Schritte des Kopierens, in der ersten Steuereinheit (20A, 20B), der Daten des Originalvolu mens in den Cache-Speicher (23) der ersten Steuereinheit (20A, 20B) und des Sendens der Daten, die im Cache-Speicher (23) gespeichert sind, von der ersten Steuereinheit (20A, 20B) an die zweite Steuereinheit (20A, 20B) umfasst.
  13. Replikationserzeugungsverfahren nach Anspruch 12, weiter umfassend die Schritte: Speichern, in der zweiten Steuereinheit (20A, 20B), der von der ersten Steuereinheit (20A; 20B) empfangenen Daten in den Cache-Speicher (23) der zweiten Steuereinheit (20A, 20B), und Speichern, in der zweiten Steuereinheit (20A, 20B), der Daten im Cache-Speicher (23) der zweiten Steuereinheit (20A, 20B) in das Volumen in der mit der zweiten Steuereinheit (20A, 20B) verbundenen Platteneinheit (311, 313; 312, 314, 315).
  14. Replikationserzeugungsverfahren nach einem der Ansprüche 11 bis 13, wobei in dem Fall, in dem eine Replikation im Volumen der mit der zweiten Steuereinheit (20A, 20B) verbundenen Platteneinheit (311, 313; 312, 314, 315) erzeugt wird, die Volumeninformation des Replikationsvolumens in der ersten Steuereinheit (20A, 20B), die von der ersten Steuereinheit (20A, 20B) in der Volumenpaarinformation (220) eingetragen werden soll, die virtuelle ID-Information zum Identifizieren des Volumens der mit der zweiten Steuereinheit (20A, 20B) verbundenen Platteneinheit (311, 313; 312, 314, 315) in der ersten Steuereinheit (20A, 20B) ist, und wobei in dem Fall, in dem eine Replikation im Volumen der mit der zweiten Steuereinheit (20A, 20B) verbundenen Platteneinheit (311, 313; 312, 314, 315) erzeugt wird, die Information der zweiten Steuereinheit (20A, 20B), die von der ers ten Steuereinheit (20A, 20B) als Volumenpaarinformation eingetragen werden soll, die Information (220) zum Identifizieren der zweiten Steuereinheit (20A, 20B) und in der zweiten Steuereinheit (20A, 20B) die Information zum Identifizieren des Replikationsvolumens in der mit der zweiten Steuereinheit (20A, 20B) verbundenen Platteneinheit (311, 313; 312, 314, 315) ist.
  15. Replikationserzeugungsverfahren nach einem der Ansprüche 11 bis 14, wobei die Volumenpaarinformation (220) einen Bezeichner aufweist, der dem Paar des Originalvolumens und des Replikationsvolumens zugeordnet ist, und wobei jedem Originalvolumen ein oder mehrere Bezeichner zugeordnet sind.
  16. Replikationserzeugungsverfahren nach einem der Ansprüche 11 bis 15, wobei die erste Steuereinheit (20A, 20B) die Information in der Volumenpaarinformation (220) auf der Grundlage einer ausgewählten Informationseingabe von einer Benutzereingabe-/-ausgabevorrichtung und eines vom Host (10) empfangenen Host-Befehls einträgt.
  17. Replikationserzeugungsverfahren nach einem der Ansprüche 11 bis 16, wobei ein Speichersystem (70), umfassend mehrere Steuereinheiten (20A, 20B), die jeweils eine normale Schreib-/Lese-Verarbeitungswarteschlange zur Planung der normalen Schreib/Lese-Anforderung und eine Warteschlange mit niedrigem Auftragsvorrang zur Planung der Anforderung mit niedrige rem Vorrang als die normale Schreib-/Lese-Anforderung aufweisen, und wobei in dem Fall, in dem eine Replikationserzeugungsanforderung gleichwertig zur normalen Schreib-/Lese-Anforderung verarbeitet wird, die Steuereinheit (20A, 20B) die Replikationserzeugungsanforderung in der normalen Schreib-/Lese-Verarbeitungsschlange platziert, während in dem Fall, in dem eine Replikationserzeugungsanforderung mit einem niedrigeren Vorrang als die normale Schreib-/Lese- Anforderung verarbeitet wird, die Replikationserzeugungsanforderung in der Warteschlange mit dem niedrigen Auftragsvorrang platziert wird.
  18. Replikationserzeugungsverfahren nach einem der Ansprüche 11 bis 17, wobei das Speichersystem (70) eine Auftragsvorrang-Einstelleinheit für jede der Steuereinheiten hat, wobei die Auftragsvorrang-Einstelleinheit der ersten Steuereinheit (20A, 20B) den Auftragsvorrang im Hinblick darauf einstellt, ob eine Replikationserzeugungsanforderung gleichwertig zu einer normalen Schreib-/Lese-Anforderung verarbeitet werden soll, und die Auftragsvorranginformation an die zweite Steuereinheit (20A, 20B) meldet, und wobei die zweite Steuereinheit (20A, 20B) einen Plan zum sequenziellen Verarbeiten der Replikationserzeugungsanforderungen auf der Grundlage der so empfangenen Auftragsvorranginformation erstellt.
  19. Replikationserzeugungsverfahren nach einem der Ansprüche 11 bis 18, wobei die erste Steuereinheit (20A, 208) eine Replikationserzeugungsanforderung an die zweite Steuereinheit (20A; 20B) überträgt, wobei die Information ein Replikationserzeugungsverfahren anzeigt, und wobei die zweite Steuereinheit (20A, 20B) bestimmt, ob die empfangene Replikationserzeugungsanforderung mit Vorrang verarbeitet werden soll oder nicht, und zwar auf der Grundlage der Information, die ein Replikationserzeugungsverfahren anzeigt, und einen Plan für das sequenzielle Verarbeiten der Replikationserzeugungsanforderungen erstellt.
  20. Replikationserzeugungsverfahren nach einem der Ansprüche 11 bis 19, wobei die erste Steuereinheit (20A, 20B) eine Replikationserzeugungsanforderung an die zweite Steuereinheit (20A, 20B) überträgt, wobei die Information die Vorrangreihenfolge anzeigt, und wobei die zweite Steuereinheit (20A, 20B) bestimmt, ob die Replikationserzeugungsanforderung mit Vorrang zu verarbeiten ist oder nicht, und zwar auf der Grundlage der Information, die die Vorrangreihenfolge anzeigt, und einen Plan für das sequenzielle Verarbeiten der Replikationserzeugungsanforderungen erstellt.
DE602004002445T 2003-12-03 2004-12-03 Speichersystem und dessen Verfahren zur Replikationsgenerierung Expired - Lifetime DE602004002445T2 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2003403868 2003-12-03
JP2003403868A JP4703959B2 (ja) 2003-12-03 2003-12-03 記憶装置システムおよびそのレプリケーション作成方法

Publications (2)

Publication Number Publication Date
DE602004002445D1 DE602004002445D1 (de) 2006-11-02
DE602004002445T2 true DE602004002445T2 (de) 2007-12-06

Family

ID=34463966

Family Applications (2)

Application Number Title Priority Date Filing Date
DE602004002445T Expired - Lifetime DE602004002445T2 (de) 2003-12-03 2004-12-03 Speichersystem und dessen Verfahren zur Replikationsgenerierung
DE602004014993T Expired - Lifetime DE602004014993D1 (de) 2003-12-03 2004-12-03 Speichersystem und dessen Verfahren zur Replikationsgenerierung

Family Applications After (1)

Application Number Title Priority Date Filing Date
DE602004014993T Expired - Lifetime DE602004014993D1 (de) 2003-12-03 2004-12-03 Speichersystem und dessen Verfahren zur Replikationsgenerierung

Country Status (4)

Country Link
US (3) US7219202B2 (de)
EP (2) EP1734450B1 (de)
JP (1) JP4703959B2 (de)
DE (2) DE602004002445T2 (de)

Families Citing this family (54)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6961804B2 (en) * 2001-07-20 2005-11-01 International Business Machines Corporation Flexible techniques for associating cache memories with processors and main memory
JP4703959B2 (ja) 2003-12-03 2011-06-15 株式会社日立製作所 記憶装置システムおよびそのレプリケーション作成方法
JP4646526B2 (ja) * 2004-02-18 2011-03-09 株式会社日立製作所 記憶制御システム及び同システムの制御方法
US7480764B2 (en) * 2004-03-18 2009-01-20 Lg Electronics, Inc. Recording medium with overlapping segment information thereon and apparatus and methods for forming, recording, and reproducing the recording medium
TWI386923B (zh) * 2004-03-18 2013-02-21 Lg Electronics Inc 其上具有區塊資訊之記錄媒體和用以形成、記錄及重製記錄媒體之設備和方法
HUE028370T2 (en) * 2004-03-18 2016-12-28 Lg Electronics Inc Apparatus and method for recording data on a recording medium and / or retrieving data from a recording medium
US7970988B2 (en) * 2004-03-19 2011-06-28 Lg Electronics Inc. Recording medium with status information thereon which changes upon reformatting and apparatus and methods for forming, recording, and reproducing the recording medium
JP4611376B2 (ja) * 2004-03-19 2011-01-12 エルジー エレクトロニクス インコーポレイティド 物理的アクセス制御を備えた記録媒体、記録媒体を形成、記録および再生する装置並びに方法
JP2005301590A (ja) * 2004-04-09 2005-10-27 Hitachi Ltd ストレージシステム及びデータ複製方法
JP4528551B2 (ja) 2004-04-14 2010-08-18 株式会社日立製作所 ストレージシステム
JP4887618B2 (ja) * 2004-11-19 2012-02-29 日本電気株式会社 ストレージシステムとそのレプリケーション方法並びにプログラム
WO2006057059A1 (ja) * 2004-11-29 2006-06-01 Fujitsu Limited 仮想ボリューム移築プログラムおよび仮想ボリューム移築方法
US7657578B1 (en) 2004-12-20 2010-02-02 Symantec Operating Corporation System and method for volume replication in a storage environment employing distributed block virtualization
US7467265B1 (en) 2005-06-30 2008-12-16 Symantec Operating Corporation System and method for block conflict resolution within consistency interval marker based replication
US8401997B1 (en) 2005-06-30 2013-03-19 Symantec Operating Corporation System and method for replication using consistency interval markers in a distributed storage environment
US8085766B2 (en) * 2005-07-06 2011-12-27 Broadcom Corporation S-flow in a network device
US7702851B2 (en) * 2005-09-20 2010-04-20 Hitachi, Ltd. Logical volume transfer method and storage network system
JP4634268B2 (ja) * 2005-10-03 2011-02-16 株式会社日立製作所 ストレージシステムの省電力化方法及びストレージシステム
JP2007140887A (ja) * 2005-11-18 2007-06-07 Hitachi Ltd ストレージシステム、ディスクアレイ装置、ボリューム提示方法及びデータ一致性確認方法
JP4436316B2 (ja) * 2005-12-27 2010-03-24 富士通株式会社 ビットマップ処理方式
JP4927408B2 (ja) 2006-01-25 2012-05-09 株式会社日立製作所 記憶システム及びそのデータ復元方法
JP4863765B2 (ja) 2006-05-15 2012-01-25 株式会社日立製作所 バックアップ及び/又はリストアを行う記憶制御方法及びシステム
JP4942418B2 (ja) 2006-08-04 2012-05-30 株式会社日立製作所 計算機システム及びそのスナップショット作成方法
US7992036B2 (en) * 2007-01-22 2011-08-02 International Business Machines Corporation Apparatus, system, and method for volume-level restoration of cluster server data
US20080282245A1 (en) * 2007-05-08 2008-11-13 International Business Machines Corporation Media Operational Queue Management in Storage Systems
US7975109B2 (en) 2007-05-30 2011-07-05 Schooner Information Technology, Inc. System including a fine-grained memory and a less-fine-grained memory
JP4990066B2 (ja) * 2007-08-21 2012-08-01 株式会社日立製作所 論理ボリュームのペアを利用したデータ保存の方式を変更する機能を備えたストレージシステム
US7979662B2 (en) * 2007-12-28 2011-07-12 Sandisk Il Ltd. Storage device with transaction indexing capability
US7913030B2 (en) * 2007-12-28 2011-03-22 Sandisk Il Ltd. Storage device with transaction logging capability
US8732386B2 (en) 2008-03-20 2014-05-20 Sandisk Enterprise IP LLC. Sharing data fabric for coherent-distributed caching of multi-node shared-distributed flash memory
US8229945B2 (en) 2008-03-20 2012-07-24 Schooner Information Technology, Inc. Scalable database management software on a cluster of nodes using a shared-distributed flash memory
US7840720B2 (en) * 2008-03-31 2010-11-23 International Business Machines Corporation Using priority to determine whether to queue an input/output (I/O) request directed to storage
US7856419B2 (en) * 2008-04-04 2010-12-21 Vmware, Inc Method and system for storage replication
US8161002B2 (en) * 2008-05-28 2012-04-17 International Business Machines Corporation System, method, and computer readable media for replicating virtual universe objects
US8069322B2 (en) * 2008-08-15 2011-11-29 International Business Machines Corporation Active-active remote configuration of a storage system
JP5293213B2 (ja) * 2009-01-16 2013-09-18 日本電気株式会社 複製ボリュームの動的生成システム、および動的ペア設定方法
JP4685175B2 (ja) * 2009-03-16 2011-05-18 富士通株式会社 ストレージ管理装置、ストレージシステム、ストレージ管理方法
US9164554B2 (en) 2010-04-12 2015-10-20 Sandisk Enterprise Ip Llc Non-volatile solid-state storage system supporting high bandwidth and random access
US9047351B2 (en) 2010-04-12 2015-06-02 Sandisk Enterprise Ip Llc Cluster of processing nodes with distributed global flash memory using commodity server technology
US8725951B2 (en) 2010-04-12 2014-05-13 Sandisk Enterprise Ip Llc Efficient flash memory-based object store
US8856593B2 (en) 2010-04-12 2014-10-07 Sandisk Enterprise Ip Llc Failure recovery using consensus replication in a distributed flash memory system
US8868487B2 (en) 2010-04-12 2014-10-21 Sandisk Enterprise Ip Llc Event processing in a flash memory-based object store
US8954385B2 (en) 2010-06-28 2015-02-10 Sandisk Enterprise Ip Llc Efficient recovery of transactional data stores
WO2012046278A1 (en) * 2010-10-07 2012-04-12 Hitachi, Ltd. Storage control apparatus and storage control apparatus control method
US8694733B2 (en) 2011-01-03 2014-04-08 Sandisk Enterprise Ip Llc Slave consistency in a synchronous replication environment
US8874515B2 (en) 2011-04-11 2014-10-28 Sandisk Enterprise Ip Llc Low level object version tracking using non-volatile memory write generations
JP5740196B2 (ja) * 2011-04-18 2015-06-24 株式会社東芝 データベース装置およびデータベース再編成方法
US9135064B2 (en) 2012-03-07 2015-09-15 Sandisk Enterprise Ip Llc Fine grained adaptive throttling of background processes
US9229829B2 (en) * 2012-07-25 2016-01-05 GlobalFoundries, Inc. Synchronous mode replication to multiple clusters
US9781201B2 (en) * 2014-10-15 2017-10-03 Netapp Inc. Multicast transport
US10303782B1 (en) 2014-12-29 2019-05-28 Veritas Technologies Llc Method to allow multi-read access for exclusive access of virtual disks by using a virtualized copy of the disk
US10353780B1 (en) * 2015-03-31 2019-07-16 EMC IP Holding Company LLC Incremental backup in a distributed block storage environment
US9998537B1 (en) 2015-03-31 2018-06-12 EMC IP Holding Company LLC Host-side tracking of data block changes for incremental backup
CN108388524A (zh) * 2016-12-21 2018-08-10 伊姆西Ip控股有限责任公司 用于缓存数据的方法和设备

Family Cites Families (45)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4785415A (en) * 1986-08-29 1988-11-15 Hewlett-Packard Company Digital data buffer and variable shift register
US5210866A (en) * 1990-09-12 1993-05-11 Storage Technology Corporation Incremental disk backup system for a dynamically mapped data storage subsystem
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
US5403639A (en) * 1992-09-02 1995-04-04 Storage Technology Corporation File server having snapshot application data groups
JP3431972B2 (ja) * 1993-11-29 2003-07-28 株式会社日立製作所 仮想ディスクシステム
JPH07210439A (ja) 1993-12-03 1995-08-11 Hitachi Ltd 記憶装置
DE69420363T2 (de) 1993-12-03 2000-05-11 Hitachi, Ltd. Speichervorrichtung
US6073218A (en) * 1996-12-23 2000-06-06 Lsi Logic Corp. Methods and apparatus for coordinating shared multiple raid controller access to common storage devices
US6073209A (en) * 1997-03-31 2000-06-06 Ark Research Corporation Data storage controller providing multiple hosts with access to multiple storage subsystems
US6131148A (en) * 1998-01-26 2000-10-10 International Business Machines Corporation Snapshot copy of a secondary volume of a PPRC pair
JPH11212932A (ja) 1998-01-28 1999-08-06 Oki Electric Ind Co Ltd ネットワーク資源管理システム
US6567774B1 (en) * 1998-01-30 2003-05-20 Compaq Computer Corporation Method and system for configuring and updating networked client stations using a virtual disk and a snapshot disk
JPH11242566A (ja) 1998-02-26 1999-09-07 Hitachi Ltd 多重化データ記憶システム
JP4689137B2 (ja) * 2001-08-08 2011-05-25 株式会社日立製作所 リモートコピー制御方法、及びストレージシステム
US6449607B1 (en) * 1998-09-11 2002-09-10 Hitachi, Ltd. Disk storage with modifiable data management function
US6691208B2 (en) * 1999-03-12 2004-02-10 Diva Systems Corp. Queuing architecture including a plurality of queues and associated method for controlling admission for disk access requests for video content
US6643667B1 (en) 1999-03-19 2003-11-04 Hitachi, Ltd. System and method for replicating data
JP2000339104A (ja) 1999-03-19 2000-12-08 Hitachi Ltd ディスクサブシステム及びデータ複写方法。
JP2001014112A (ja) 1999-06-29 2001-01-19 Hitachi Ltd ディスクサブシステム及びリモートコピー方法
US6341341B1 (en) * 1999-12-16 2002-01-22 Adaptec, Inc. System and method for disk control with snapshot feature including read-write snapshot half
US6647514B1 (en) * 2000-03-23 2003-11-11 Hewlett-Packard Development Company, L.P. Host I/O performance and availability of a storage array during rebuild by prioritizing I/O request
JP2001318833A (ja) 2000-05-09 2001-11-16 Hitachi Ltd ボリューム複製機能を有する記憶装置サブシステム、および、それを用いたコンピュータシステム
JP2002007304A (ja) 2000-06-23 2002-01-11 Hitachi Ltd ストレージエリアネットワークを用いた計算機システム及びそのデータ取り扱い方法
US20020013865A1 (en) * 2000-07-26 2002-01-31 Seagate Technology Llc System and method of a minimized representation of a sector variable-bits-per-inch table
US6618794B1 (en) 2000-10-31 2003-09-09 Hewlett-Packard Development Company, L.P. System for generating a point-in-time copy of data in a data storage system
JP2002189570A (ja) 2000-12-20 2002-07-05 Hitachi Ltd 記憶システムの二重化方法および記憶システム
KR100388498B1 (ko) * 2000-12-30 2003-06-25 한국전자통신연구원 복수 개의 레이드를 구비한 계층적 레이드 시스템
US6606690B2 (en) * 2001-02-20 2003-08-12 Hewlett-Packard Development Company, L.P. System and method for accessing a storage area network as network attached storage
US6510500B2 (en) 2001-03-09 2003-01-21 International Business Machines Corporation System and method for minimizing message transactions for fault-tolerant snapshots in a dual-controller environment
JP3987295B2 (ja) * 2001-03-19 2007-10-03 株式会社東芝 処理最適化方法、コンピュータ、及び記憶装置
JP3714184B2 (ja) 2001-03-29 2005-11-09 富士通株式会社 記憶装置のデータ領域間複写処理方法、及び記憶システム
US6728849B2 (en) * 2001-12-14 2004-04-27 Hitachi, Ltd. Remote storage system and method
JP2003131818A (ja) 2001-10-25 2003-05-09 Hitachi Ltd クラスタ構成ストレージにおけるクラスタ間raid構成
JP3730907B2 (ja) 2001-12-04 2006-01-05 日本電気株式会社 ディスクアレイ装置間の遠隔データコピー方式
JP2003202964A (ja) * 2002-01-09 2003-07-18 Hitachi Ltd 計算機システムの制御方法、計算機システム、記憶装置の制御方法及び記憶装置
JP4154893B2 (ja) 2002-01-23 2008-09-24 株式会社日立製作所 ネットワークストレージ仮想化方法
JP4170056B2 (ja) 2002-03-29 2008-10-22 株式会社日立製作所 複製ボリューム間でのバックアップ・リストア管理方法およびこの方法に用いる記憶制御装置
US6820180B2 (en) * 2002-04-04 2004-11-16 International Business Machines Corporation Apparatus and method of cascading backup logical volume mirrors
JP2003316616A (ja) * 2002-04-24 2003-11-07 Hitachi Ltd 計算機システム
US6977654B2 (en) * 2002-10-30 2005-12-20 Iviz, Inc. Data visualization with animated speedometer dial charts
US7124128B2 (en) 2003-06-17 2006-10-17 International Business Machines Corporation Method, system, and program for managing requests to tracks subject to a relationship
DK1683524T3 (da) * 2003-11-14 2011-03-14 Ajinomoto Kk Dispergering på fast form eller medicinsk præparat på fast form af phenyalaninderivat
JP2005157867A (ja) 2003-11-27 2005-06-16 Hitachi Ltd 記憶システム、記憶制御装置及び記憶制御装置を用いたデータ中継方法
JP4703959B2 (ja) 2003-12-03 2011-06-15 株式会社日立製作所 記憶装置システムおよびそのレプリケーション作成方法

Also Published As

Publication number Publication date
JP4703959B2 (ja) 2011-06-15
EP1734450B1 (de) 2008-07-09
EP1734450A2 (de) 2006-12-20
US20050125609A1 (en) 2005-06-09
EP1734450A3 (de) 2006-12-27
DE602004002445D1 (de) 2006-11-02
EP1538528A1 (de) 2005-06-08
US7219202B2 (en) 2007-05-15
JP2005165694A (ja) 2005-06-23
US20090070530A1 (en) 2009-03-12
US7721058B2 (en) 2010-05-18
EP1538528B1 (de) 2006-09-20
US20070180191A1 (en) 2007-08-02
DE602004014993D1 (de) 2008-08-21
US7461225B2 (en) 2008-12-02

Similar Documents

Publication Publication Date Title
DE602004002445T2 (de) Speichersystem und dessen Verfahren zur Replikationsgenerierung
DE69801824T2 (de) Speicher für informationsteurung eines mehrhostrechnerspeichers
DE69724846T2 (de) Mehrweg-Ein/Ausgabespeichersysteme mit Mehrweg-Ein/Ausgabeanforderungsmechanismus
DE69312781T2 (de) Verfahren und System zum Seitendatei Statusabrufen in einem Nullzeittyp Sicherungskopieprozess
DE112010004947B4 (de) Wiederherstellung einer vollständigen Systemsicherung und inkrementeller Sicherungen unter Verwendung von mehreren gleichzeitigen Datenströmen von Einheiten
DE60220263T2 (de) Server-duplexverfahren und geduplextes serversystem
DE112011104419B4 (de) Bereichsmigration für gepaarte Speicherung
DE60038364T2 (de) Computersystem und Speicherauszugsdatenverwaltungsverfahren
DE69311952T2 (de) Verfahren und System zur inkrementalen Datensicherung
DE3853452T2 (de) Mehrfachverarbeitung mit hoher Verfügbarkeit.
DE69410671T2 (de) Datensicherung in einer Datenverarbeitungsanlage
DE69636330T2 (de) Verfahren für On-line- und Echzeit-Datenmigration
DE69714344T2 (de) Vorrichtung und Verfahren für die Verfügbarkeit und Wiedergewinnung von Dateien unter Verwendung von Sammlungen von Kopierspeicher
DE102004028808B4 (de) Speichersystem, das mit einem externen Speichersystem verbunden ist und Verfahren zum Verbinden derartiger Systeme
DE69823078T2 (de) System und Verfahren zur Verwaltung von Arbeitsgruppendruckern
DE60212922T2 (de) Umkehr eines Kommunikationspfades zwischen Speichergeräten
DE112010004931T5 (de) Mehrphasige Wiederherstellung von Dateisystemen mit SelektiverBedarfsweiser Verfügbarkeit von Daten(
DE112018003084T5 (de) Asynchrones lokales und entfernt angeordnetes erzeugen von konsistenten zeitpunkt-momentkopien in konsistenzgruppen
DE10062063B4 (de) Verfahren, System, Computerprogramm-Produkt und Speichervorrichtung zur Steuerung einer Warteschlange von Anforderungen unterschiedlicher Priorität
DE60313468T2 (de) Speicherdienste und -systeme
DE102004056216A1 (de) Fernkopiersystem und Speichersystem
DE102013215009A1 (de) Verfahren und System zur Optimierung der Datenübertragung
DE19607515A1 (de) Ein Computerbetriebsverwaltungssystem für ein Computerbetriebssystem, das dazu in der Lage ist gleichzeitig eine Mehrzahl von Anwendungsprogrammen auszuführen
DE102008015185A1 (de) Hierarchisches Speichersystem mit vorausschauender Datenübertragung
EP1519262A1 (de) Verfahren, Gerätesystem und Computerprogramm zum Speichern und Abrufen von Druckdaten in einem Netzwerk

Legal Events

Date Code Title Description
8381 Inventor (new situation)

Inventor name: EGUCHI, YOSHIAKI, CHIYODA-KU TOKYO 100-8220, JP

Inventor name: SATOYAMA, AI, CHIYODA-KU TOKYO 100-8220, JP

Inventor name: MORISHITA, NOBORU, CHIYODA-KU TOKYO 100-8220, JP

Inventor name: YAMAMOTO, YASUTOMO, CHIYODA-KU TOKYO 100-8220, JP

8332 No legal effect for de
8370 Indication related to discontinuation of the patent is to be deleted
8364 No opposition during term of opposition