DE60031064T2 - Kopierverfahren zwischen logischen Speicherplatten, Speicherplattensystem und Programm dafür - Google Patents

Kopierverfahren zwischen logischen Speicherplatten, Speicherplattensystem und Programm dafür Download PDF

Info

Publication number
DE60031064T2
DE60031064T2 DE60031064T DE60031064T DE60031064T2 DE 60031064 T2 DE60031064 T2 DE 60031064T2 DE 60031064 T DE60031064 T DE 60031064T DE 60031064 T DE60031064 T DE 60031064T DE 60031064 T2 DE60031064 T2 DE 60031064T2
Authority
DE
Germany
Prior art keywords
copy
area
logical disk
destination
access
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
DE60031064T
Other languages
English (en)
Other versions
DE60031064D1 (de
Inventor
c/o Fujitsu Aichi Eng.Limited Norikazu Kaiya
c/o Fujitsu Aichi Eng. Limited Yasuhiro Onda
c/o Fujitsu Limited Tadaomi Kawasaki-shi Kanagawa Kato
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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Application granted granted Critical
Publication of DE60031064D1 publication Critical patent/DE60031064D1/de
Publication of DE60031064T2 publication Critical patent/DE60031064T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1458Management of the backup or restore process
    • G06F11/1466Management of the backup or restore process to make the backup process non-disruptive
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • G06F3/0619Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/065Replication mechanisms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • G06F3/0689Disk arrays, e.g. RAID, JBOD
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F2003/0697Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers device management, e.g. handlers, drivers, I/O schedulers

Landscapes

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

Description

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

Claims (10)

  1. Kopierverfahren zum Kopieren von Daten von einer logischen Platte (1) einer Kopiequelle zu einer logischen Platte (2) eines Kopiezielorts gemäß einer Kopieanweisung, mit: einem Schritt eines Kopierens, in Einheiten jedes, in der logischen Platte der Kopiequelle geteilten Bereichs, von der logischen Platte der Kopiequelle zu der logischen Platte des Kopiezielorts; und einem Schritt eines Unterbrechens des Kopierprozesses als Antwort auf eine Zugriffsanforderung; einem Schritt eines Zugreifens auf die logische Platte der Kopiequelle oder die logische Platte des Kopiezielorts gemäß der Zugriffsanforderung während des Kopierens, wobei der Zugriffsschritt umfasst: einen Schritt eines Aktualisierens eines Ziel-Zugriffsbereichs der logischen Platte der Kopiequelle, nachdem der Ziel-Zugriffsbereich zur logischen Platte des Kopiezielorts kopiert wurde, wenn die Zugriffsanforderung eine Anforderung zum Aktualisieren nicht kopierter Bereiche der logischen Platte der Kopiequelle ist; einen Schritt eines Verweisens auf den Ziel-Zugriffsbereich der logischen Platte der Kopiequelle, wenn die Zugriffsanforderung eine Anforderung zum Verweisen auf nicht kopierte Bereiche der logischen Platte des Kopiezielorts ist; und einen Schritt eines Aktualisierens des Ziel-Zugriffsbereichs der logischen Platte des Kopiezielorts und Verbietens eines Kopierens des Ziel-Zugriffsbereichs, wenn die Zugriffsanforderung eine Anforderung zum Aktualisieren nicht kopierter Bereiche der logischen Platte des Kopiezielorts ist, und wobei der Kopierschritt umfasst: einen Schritt eines Verweisens auf eine Steuerungsinformation, die einen Kopierzustand der Bereiche angibt, und Einstellens eines neuen Kopiebereichs; und einen Schritt eines Aktualisierens der Steuerungsinformation des Kopiebereichs, nachdem ein Kopieren des Kopiebereichs geendet hat; und wobei der Zugriffsschritt einen Schritt umfasst, bei dem auf die Steuerungsinformation verwiesen und bestimmt wird, ob der Ziel-Zugriffsbereich ein kopierter Bereich oder ein nicht kopierter Bereich ist.
  2. Kopierverfahren nach Anspruch 1, wobei der Zugriffsschritt ferner einschließt: einen Schritt eines Verweisens auf den Ziel-Zugriffsbereich der logischen Platte der Kopiequelle, wenn ein Verweiszugriff der logischen Platte der Kopiequelle durchgeführt wird; und einen Schritt eines Verweisens oder Aktualisierens des Ziel-Zugriffsbereichs der logischen Platte des Kopiezielorts, wenn auf kopierte Bereiche der logischen Platte des Kopiezielorts zugegriffen wird.
  3. Kopierverfahren nach Anspruch 1 oder 2, wobei der Schritt eines Verweisens auf einen nicht kopierten Bereich der logischen Platte des Kopiezielorts umfasst: einen Schritt eines Kopierens des Ziel-Zugriffsbereichs der logischen Platte der Kopiequelle, worauf verwiesen wurde, zur logischen Platte des Kopiezielorts, nachdem auf den Ziel-Zugriffsbereich der logischen Platte der Kopiequelle verwiesen wurde.
  4. Kopierverfahren nach einem der Ansprüche 1 bis 3, wobei der Zugriffsschritt ferner einen Schritt umfasst, bei dem die Steuerungsinformation des Ziel-Zugriffsbereichs aktualisiert wird, nachdem der Ziel-Zugriffsbereich der logischen Platte der Kopiequelle zur logischen Platte des Kopiezielorts kopiert wurde.
  5. Kopierverfahren nach einem der Ansprüche 1 bis 4, wobei der Kopierschritt umfasst: einen Schritt eines Verweisens auf die Steuerungsinformation, die den Kopierzustand von jedem der Bereiche der logischen Platte der Kopiequelle angibt, und Einstellens des nächsten Kopiebereichs, einen Schritt eines Lesens des Zielbereichs der logischen Platte der Kopiequelle in einen Speicher, einen Schritt eines Aktualisierens der Steuerungsinformation, nachdem der Zielbereich gelesen wurde, und einen Schritt eines Schreibens des Zielbereichs des Speichers auf die logische Platte des Kopiezielorts.
  6. Kopierverfahren nach einem der Ansprüche 1 bis 5, wobei der Kopierschritt umfasst: einen Schritt eines Verweisens auf eine Bitmap, angegeben durch ein Flag, das den Kopierzustand von jedem Bereich angibt, und Einstellens des nächsten Kopiebereichs, und einen Schritt eines Aktualisierens des Kopiebereichs-Flag der Bitmap.
  7. Kopierverfahren nach einem der vorhergehenden Ansprüche, wobei der Kopierschritt ferner einen Schritt umfasst, bei dem ein Abschluss einer Kopie gemäß der Kopieanweisung gemeldet wird.
  8. Plattenspeichersystem, mit: zumindest einer physikalischen Platte für eine logische Platte (1) und eine andere logische Platte (2), und einem Platten-Controller (6), um auf Daten einer spezifizierten logischen Platte gemäß einer Zugriffsinformation zuzugreifen und in Einheiten jedes, in einer logischen Platte einer Kopiequelle geteilten Bereichs Daten der logischen Platte der Kopiequelle gemäß einer Kopieanweisung zu einer logischen Platte eines Kopiezielorts zu kopieren; wobei der Platten-Controller den Kopieprozess unterbricht, wenn er die Zugriffsanweisung während des Kopieprozesses empfängt, und gemäß der Zugriffsinformation auf die logische Platte zugreift, wobei der Platten-Controller einen Ziel-Zugriffsbereich der logischen Platte der Kopiequelle aktualisiert, nachdem er zur logischen Platte des Kopiezielorts kopiert wurde, wenn die Anweisung angibt, einen Zugriff eines nicht kopierten Bereichs der logischen Platte der Kopiequelle zu aktualisieren, auf den Ziel-Zugriffsbereich der logischen Platte der Kopiequelle verweist, wenn die Anweisung angibt, auf einen Zugriff eines nicht kopierten Bereichs der logischen Platte des Kopiezielorts zu verweisen, und den Ziel-Zugriffsbereich der logischen Platte des Kopiezielorts aktualisiert und ein Kopieren des Ziel-Zugriffsbereichs verbietet, wenn die Anweisung angibt, einen Zugriff eines nicht kopierten Bereichs der logischen Platte des Kopiezielorts zu aktualisieren, und der Platten-Controller umfasst: einen Speicher (5), um die Steuerungsinformation zu speichern, die den Kopierzustand der Bereiche der logischen Platte der Kopiequelle angibt, und eine Steuerungsschaltung, um auf die im Speicher gespeicherte Steuerungsinformation zu verweisen und zu bestimmen, ob der Ziel-Zugriffsbereich ein kopierter Bereich oder ein nicht kopierter Bereich ist, wobei der Platten-Controller einen nächsten Kopiebereich einstellt; und die Steuerungsinformation des Kopiebereichs aktualisiert, nachdem ein Kopieren des Kopiebereichs geendet hat.
  9. Programm zum Ausführen der Schritte des Verfahrens nach Anspruch 1.
  10. Speichermedium, auf dem das Programm nach Anspruch 9 gespeichert ist.
DE60031064T 1999-09-30 2000-06-21 Kopierverfahren zwischen logischen Speicherplatten, Speicherplattensystem und Programm dafür Expired - Lifetime DE60031064T2 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP27967899 1999-09-30
JP27967899 1999-09-30

Publications (2)

Publication Number Publication Date
DE60031064D1 DE60031064D1 (de) 2006-11-16
DE60031064T2 true DE60031064T2 (de) 2007-02-15

Family

ID=17614354

Family Applications (1)

Application Number Title Priority Date Filing Date
DE60031064T Expired - Lifetime DE60031064T2 (de) 1999-09-30 2000-06-21 Kopierverfahren zwischen logischen Speicherplatten, Speicherplattensystem und Programm dafür

Country Status (3)

Country Link
US (2) US6757797B1 (de)
EP (1) EP1091283B1 (de)
DE (1) DE60031064T2 (de)

Families Citing this family (76)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6976139B2 (en) * 2001-11-14 2005-12-13 Emc Corporation Reversing a communication path between storage devices
JP2003162378A (ja) * 2001-11-26 2003-06-06 Hitachi Ltd データ複写方法
KR100359423B1 (en) * 2002-01-04 2002-11-07 Ncerti Co Ltd Very high speed high capacity backup system and backup method thereof
JP3993773B2 (ja) * 2002-02-20 2007-10-17 株式会社日立製作所 ストレージサブシステム、記憶制御装置及びデータコピー方法
US6785789B1 (en) 2002-05-10 2004-08-31 Veritas Operating Corporation Method and apparatus for creating a virtual data copy
US7039659B2 (en) * 2002-06-25 2006-05-02 Emc Corporation Method and apparatus for making differential independent data copies in a data processing system
US7620666B1 (en) 2002-07-29 2009-11-17 Symantec Operating Company Maintaining persistent data change maps for fast data synchronization and restoration
US7096330B1 (en) 2002-07-29 2006-08-22 Veritas Operating Corporation Symmetrical data change tracking
US7103796B1 (en) * 2002-09-03 2006-09-05 Veritas Operating Corporation Parallel data change tracking for maintaining mirrored data consistency
US6938135B1 (en) 2002-10-04 2005-08-30 Veritas Operating Corporation Incremental backup of a data volume
US6880053B2 (en) 2002-12-19 2005-04-12 Veritas Operating Corporation Instant refresh of a data volume copy
US6907507B1 (en) 2002-12-19 2005-06-14 Veritas Operating Corporation Tracking in-progress writes through use of multi-column bitmaps
US6978354B1 (en) 2002-12-20 2005-12-20 Veritas Operating Corporation Method for creating a virtual data copy of a volume being restored
US6996687B1 (en) 2002-12-20 2006-02-07 Veritas Operating Corporation Method of optimizing the space and improving the write performance of volumes with multiple virtual copies
US6910111B1 (en) 2002-12-20 2005-06-21 Veritas Operating Corporation Volume restoration using an accumulator map
JP4165747B2 (ja) * 2003-03-20 2008-10-15 株式会社日立製作所 記憶システム、制御装置及び制御装置のプログラム
US7281014B2 (en) 2003-04-14 2007-10-09 Novell, Inc. Method and apparatus for moving data between storage devices
US7805401B2 (en) * 2003-04-14 2010-09-28 Novell, Inc. Method and apparatus for splitting a replicated volume
US7664793B1 (en) 2003-07-01 2010-02-16 Symantec Operating Corporation Transforming unrelated data volumes into related data volumes
US7103737B1 (en) 2003-07-01 2006-09-05 Veritas Operating Corporation Flexible hierarchy of relationships and operations in data volumes
JP4537022B2 (ja) * 2003-07-09 2010-09-01 株式会社日立製作所 データ配置に制限を設けるデータ処理方法、記憶領域制御方法、および、データ処理システム。
US7395283B1 (en) * 2003-11-10 2008-07-01 Emc Corporation Method and apparatus for making independent data copies in a data processing system
US7600087B2 (en) * 2004-01-15 2009-10-06 Hitachi, Ltd. Distributed remote copy system
EP1738323A4 (de) * 2004-03-15 2009-02-04 Aol Llc Gemeinsame benutzung von informationen eines sozialen netzwerks
GB0408137D0 (en) * 2004-04-13 2004-05-19 Ibm A method and system for copying the data contents of a computer system memory during application program run time
JP4488807B2 (ja) * 2004-06-25 2010-06-23 株式会社日立製作所 ボリューム提供システム及び方法
US20060015696A1 (en) * 2004-07-15 2006-01-19 Lu Nguyen Integrated storage device
US7278000B2 (en) * 2004-08-03 2007-10-02 Hitachi, Ltd. Data migration with worm guarantee
JP2006164162A (ja) * 2004-12-10 2006-06-22 Fujitsu Ltd コピー制御装置および方法
US20060224571A1 (en) * 2005-03-30 2006-10-05 Jean-Michel Leon Methods and systems to facilitate searching a data resource
US7480780B2 (en) * 2005-04-19 2009-01-20 Hitachi, Ltd. Highly available external storage system
US20060265485A1 (en) * 2005-05-17 2006-11-23 Chai Sek M Method and apparatus for controlling data transfer in a processing system
US20070064324A1 (en) * 2005-09-19 2007-03-22 Cyberlink Corp. Discontinuous copying method and system
US7702851B2 (en) * 2005-09-20 2010-04-20 Hitachi, Ltd. Logical volume transfer method and storage network system
US20070294314A1 (en) * 2006-06-16 2007-12-20 Michael Padovano Bitmap based synchronization
US20080086608A1 (en) * 2006-10-10 2008-04-10 Hitachi, Ltd. System and method for migration of CDP journal data between storage subsystems
US8990527B1 (en) * 2007-06-29 2015-03-24 Emc Corporation Data migration with source device reuse
US8307180B2 (en) 2008-02-28 2012-11-06 Nokia Corporation Extended utilization area for a memory device
JP4615595B2 (ja) * 2008-12-22 2011-01-19 富士通株式会社 ストレージスイッチ、ストレージシステム、データコピー方法
US8990528B2 (en) * 2009-01-06 2015-03-24 International Business Machines Corporation Method for fast format of a fully allocated volume when copied from a space efficient volume
WO2010113165A1 (en) * 2009-04-01 2010-10-07 Kaminario Tehnologies Ltd. System and method for storage unit building while catering to i/o operations
US8447918B2 (en) * 2009-04-08 2013-05-21 Google Inc. Garbage collection for failure prediction and repartitioning
US20100262979A1 (en) * 2009-04-08 2010-10-14 Google Inc. Circular command queues for communication between a host and a data storage device
US20100262773A1 (en) * 2009-04-08 2010-10-14 Google Inc. Data striping in a flash memory data storage device
US8874824B2 (en) 2009-06-04 2014-10-28 Memory Technologies, LLC Apparatus and method to share host system RAM with mass storage memory RAM
JP4843075B2 (ja) * 2009-06-25 2011-12-21 富士通株式会社 複写制御方法及びストレージ制御装置
US8352681B2 (en) * 2009-07-17 2013-01-08 Hitachi, Ltd. Storage system and a control method for accelerating the speed of copy processing
US8751738B2 (en) * 2010-02-08 2014-06-10 Microsoft Corporation Background migration of virtual storage
WO2011142762A1 (en) * 2010-05-13 2011-11-17 Hewlett-Packard Development Company, L.P. File system migration
US8345489B2 (en) 2010-09-02 2013-01-01 International Business Machines Corporation Caching scheme synergy for extent migration between tiers of a storage system
US10114701B2 (en) * 2011-01-28 2018-10-30 International Business Machines Corporation Space efficient cascading point in time copying
US9417998B2 (en) 2012-01-26 2016-08-16 Memory Technologies Llc Apparatus and method to provide cache move with non-volatile mass memory system
US9311226B2 (en) 2012-04-20 2016-04-12 Memory Technologies Llc Managing operational state data of a memory module using host memory in association with state change
US9164804B2 (en) 2012-06-20 2015-10-20 Memory Technologies Llc Virtual memory module
US9304711B2 (en) * 2012-10-10 2016-04-05 Apple Inc. Latency reduction in read operations from data storage in a host device
US9678882B2 (en) * 2012-10-11 2017-06-13 Intel Corporation Systems and methods for non-blocking implementation of cache flush instructions
US9405704B2 (en) 2012-10-16 2016-08-02 International Business Machines Corporation Establishing a point-in-time copy relationship between source logical addresses and target logical addresses
US9116852B2 (en) 2012-10-16 2015-08-25 International Business Machines Corporation Processing a copy command directed to a first storage architecture for data that is stored in a second storage architecture
US9135121B2 (en) 2012-10-16 2015-09-15 International Business Machines Corporation Managing updates and copying data in a point-in-time copy relationship expressed as source logical addresses and target logical addresses
US9946604B1 (en) 2015-02-04 2018-04-17 Tintri Inc. Optimized remote cloning
US10180790B1 (en) * 2016-09-30 2019-01-15 EMC IP Holding Company LLC Efficient cloning and migration of data objects
US11310137B2 (en) 2017-02-05 2022-04-19 Veritas Technologies Llc System and method to propagate information across a connected set of entities irrespective of the specific entity type
US10909097B2 (en) 2017-02-05 2021-02-02 Veritas Technologies Llc Method and system for dependency analysis of workloads for orchestration
US10452296B1 (en) 2018-03-23 2019-10-22 Amazon Technologies, Inc. Accelerated volumes
US11023157B2 (en) 2018-04-30 2021-06-01 Amazon Technologies, Inc. Intermediary duplication to facilitate copy requests in distributed storage systems
US10459655B1 (en) 2018-04-30 2019-10-29 Amazon Technologies, Inc. Rapid volume backup generation from distributed replica
US11343314B1 (en) 2018-04-30 2022-05-24 Amazon Technologies, Inc. Stream-based logging for distributed storage systems
US10956442B1 (en) 2018-07-30 2021-03-23 Amazon Technologies, Inc. Dedicated source volume pool for accelerated creation of block data volumes from object data snapshots
US10931750B1 (en) 2018-07-30 2021-02-23 Amazon Technologies, Inc. Selection from dedicated source volume pool for accelerated creation of block data volumes
JP2020071577A (ja) * 2018-10-30 2020-05-07 ソニー株式会社 情報処理装置、および情報処理方法、並びにプログラム
US11068192B1 (en) 2019-03-26 2021-07-20 Amazon Technologies, Inc. Utilizing mutiple snapshot sources for creating new copy of volume in a networked environment wherein additional snapshot sources are reserved with lower performance levels than a primary snapshot source
US10983719B1 (en) * 2019-03-28 2021-04-20 Amazon Technologies, Inc. Replica pools to support volume replication in distributed storage systems
US11853575B1 (en) 2019-06-08 2023-12-26 Veritas Technologies Llc Method and system for data consistency across failure and recovery of infrastructure
US11531604B2 (en) 2020-02-28 2022-12-20 Veritas Technologies Llc Methods and systems for data resynchronization in a replication environment
US11429640B2 (en) 2020-02-28 2022-08-30 Veritas Technologies Llc Methods and systems for data resynchronization in a replication environment
US11928030B2 (en) 2020-03-31 2024-03-12 Veritas Technologies Llc Optimize backup from universal share

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB1065585A (en) * 1965-07-22 1967-04-19 Johnson Mfg Company Earth scraping machine with an elevating conveyor
JPS5975349A (ja) 1982-10-25 1984-04-28 Hitachi Ltd 2重書き記憶方式におけるフアイル回復方式
US5155845A (en) 1990-06-15 1992-10-13 Storage Technology Corporation Data storage system for providing redundant copies of data on different disk drives
JPH05158625A (ja) * 1991-12-06 1993-06-25 Hitachi Ltd アレイ型記憶装置の障害対策方式
US5410667A (en) 1992-04-17 1995-04-25 Storage Technology Corporation Data record copy system for a disk drive array data storage subsystem
JP3172007B2 (ja) * 1993-09-17 2001-06-04 富士通株式会社 ディスク複写処理方式
US5799147A (en) 1994-10-19 1998-08-25 Shannon; John P. Computer recovery backup method
WO1997024668A1 (en) 1995-12-28 1997-07-10 Ipl Systems, Inc. Dasd storage back up including back up synchronization across multiple dasd
US5724501A (en) 1996-03-29 1998-03-03 Emc Corporation Quick recovery of write cache in a fault tolerant I/O system
US5835954A (en) 1996-09-12 1998-11-10 International Business Machines Corporation Target DASD controlled data migration move
JPH10312646A (ja) 1997-05-13 1998-11-24 Fujitsu Ltd 磁気ディスクおよび磁気ディスク制御装置
JP3414218B2 (ja) 1997-09-12 2003-06-09 株式会社日立製作所 記憶制御装置
US6145066A (en) * 1997-11-14 2000-11-07 Amdahl Corporation Computer system with transparent data migration between storage volumes
US6269431B1 (en) * 1998-08-13 2001-07-31 Emc Corporation Virtual storage and block level direct access of secondary storage for recovery of backup data
US6058054A (en) 1999-03-31 2000-05-02 International Business Machines Corporation Method and system for providing an instant backup in a RAID data storage system
US6363385B1 (en) 1999-06-29 2002-03-26 Emc Corporation Method and apparatus for making independent data copies in a data processing system
US6564307B1 (en) 1999-08-18 2003-05-13 International Business Machines Corporation Method, system, and program for logically erasing data

Also Published As

Publication number Publication date
EP1091283A3 (de) 2002-05-08
EP1091283B1 (de) 2006-10-04
US20030028737A1 (en) 2003-02-06
US6757797B1 (en) 2004-06-29
US6732245B2 (en) 2004-05-04
DE60031064D1 (de) 2006-11-16
EP1091283A2 (de) 2001-04-11

Similar Documents

Publication Publication Date Title
DE60031064T2 (de) Kopierverfahren zwischen logischen Speicherplatten, Speicherplattensystem und Programm dafür
DE602004011181T2 (de) Speicherplattenanordnungsgerät
DE69632219T2 (de) Speicherplattenanordnungssystem
DE60038364T2 (de) Computersystem und Speicherauszugsdatenverwaltungsverfahren
DE112011100112B4 (de) Pufferspeicher-platte in blitzkopie-kaskade
DE68928546T2 (de) Dateisystem für eine vielzahl von speicherklassen
DE69938378T2 (de) Kopieren von Daten in Speichersystemen
DE69021957T2 (de) Verfahren und Anordnung zur Steuerung von Schattenspeichern.
DE69831944T2 (de) Vorrichtung und verfahren zur sicherung eines plattenspeichersystem
DE112011100534B4 (de) Mehrstufiger Sicherungsprozess
DE102004064069B4 (de) Plattenarrayvorrichtung
DE3855031T2 (de) Kopiesystem mit "Hot-standby"-Speicher
DE112012002615B4 (de) Vorabladen von Datenspuren und Paritätsdaten zur Verwendung zum Auslagern aktualisierter Spuren
DE602005000926T2 (de) Speichersystem und Speicherauszugs-Erstellungsverfahren eines Speichersystems
DE69111635T2 (de) Gerät und Verfahren zur Background-Speicherprüfung während des Systemanlaufs.
DE3932474C2 (de) Plattenzugriff-Steuerverfahren
DE112010003794B4 (de) Datenspeicherung unter Verwendung von Bitmaps
DE69833815T2 (de) Verbesserter Disk-Log mit verteiltem Schreibsystem
DE102004025922A1 (de) Die Laufwerks-Betriebszeit optimierendes Plattenarray
DE102012201154B4 (de) Transaktionsspeicher
DE112010003577T5 (de) Datenverwaltung in Halbleiterspeicher-Einheiten und mehrstufigen Speichersystemen
DE60313468T2 (de) Speicherdienste und -systeme
DE102006005876A1 (de) Flashspeicher-Steuervorrichtung, Vorrichtung zum Steuern eines Flashspeichers, Flashspeicher-System und Verfahren zum Verwalten von Abbildungsdaten eines Flashspeichers
DE10238566A1 (de) Fenster-basierendes Flashspeicher-Speichersystem und Management und Zugriffsverfahren darauf
DE102005006176A1 (de) Transaktionsverarbeitungs-Systeme und -Verfahren, die einen Nicht-Platten-Dauerspeicher verwenden

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8328 Change in the person/name/address of the agent

Representative=s name: SEEGER SEEGER LINDNER PARTNERSCHAFT PATENTANWAELTE