DE602005001041T2 - Speicherauszugssystem - Google Patents

Speicherauszugssystem Download PDF

Info

Publication number
DE602005001041T2
DE602005001041T2 DE602005001041T DE602005001041T DE602005001041T2 DE 602005001041 T2 DE602005001041 T2 DE 602005001041T2 DE 602005001041 T DE602005001041 T DE 602005001041T DE 602005001041 T DE602005001041 T DE 602005001041T DE 602005001041 T2 DE602005001041 T2 DE 602005001041T2
Authority
DE
Germany
Prior art keywords
volume
data
generation
copy
dump
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
DE602005001041T
Other languages
English (en)
Other versions
DE602005001041D1 (de
Inventor
Ai Satoyama
Yoshiaki Eguchi
Takahiro Nakano
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 DE602005001041D1 publication Critical patent/DE602005001041D1/de
Application granted granted Critical
Publication of DE602005001041T2 publication Critical patent/DE602005001041T2/de
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1435Saving, restoring, recovering or retrying at system level using file system or storage system metadata
    • 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/1456Hardware arrangements for backup
    • 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
    • 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/1469Backup restoration techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/84Using snapshots, i.e. a logical point-in-time copy of the data
    • 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

Description

  • Diese Anmeldung beansprucht Priorität aus der am 6. Oktober 2004 eingereichten japanischen Anmeldung 22004-293464 .
  • Die Erfindung betrifft ein Speichersystem zum Erhalten eines Speicherauszugs eines Datenträgerbilds (Bild eines Volumens) in einem Computersystem, das einen Speicher verwendet, genauer gesagt zum Erhalten eines Bilds eines Datenträgers entsprechend einer wahlfreien Generation.
  • In einer informationsorientierten Gesellschaft ist es eine der wichtigen Aufgaben eines Information speichernden Speichersystems, Daten zu schützen. Das üblichste Verfahren zum Schützen von Daten ist ein sogenannter Backup, bei dem Daten des Speichers auf einem Backupmedium wie einer Bandbibliothek gespeichert werden. Durch den Backupvorgang können selbst dann, wenn Daten des betriebenen Speichersystems aufgrund eines Fehlers, einer Störung, eines Bedienungsfehlers oder dergleichen verloren gehen, die Daten zum Speicherungszeitpunkt durch Wiederherstellen von Backupdaten zurück gewonnen werden, wodurch Schäden auf ein Minimum beschränkt werden können.
  • Jedoch geht ein größeres Speichervermögen eines Speichers mit einer Zunahme der für einen Backupvorgang erforderlichen Zeit einher. Außerdem nimmt bei Verwendung einer hohen Datenaktualisierungsfrequenz der Unterschied zu den Backupdaten selbst dann kurz zu, wenn die Daten auf einmal einem Backupvorgang unterzogen werden. Daher müssen Backupdaten häufig erzeugt werden, wenn andernfalls der Schaden wächst. Um einen Dateiverlust zu meistern, zu dem es durch einen Bedienungsfehler oder dergleichen kommt, oder um eine Vorbereitung für einen Vergleich von Dateiinhalten mit einem vergangenen Zustand zu treffen, besteht der Wunsch, leicht auf Daten Bezug nehmen zu können, die periodisch einem Backupvorgang unterzogen werden.
  • Die Aufmerksamkeit konzentrierte sich auf einen Speicherauszug oder einen Snapshot als Funktion, um einer derartigen Nutzung zu genügen. Ein Speicherauszug speichert ein Bild der Daten des zu einem bestimmten Zeitpunkt betrie benen Speichers. Auf das Speicherauszugsbild kann als Datenträger zugegriffen werden, der von dem des betriebenen Speichers verschieden ist.
  • US2004/093474A offenbart ein Verfahren zum effizienten Aufrechterhalten von Speicherauszugsinstanzen. Um den Zustand einer Speicherauszugsinstanz aufrecht zu erhalten, kopiert der Speicherauszug die zu schützenden Daten im freien Raum auf demselben Datenträger. Um zu erkennen, ob ein Block frei ist, wird für jeden Block auf einem Datenträger ein Speicherauszugsdatensatz erzeugt, um Schreiboperationen im Block aufzuzeichnen. Mit diesen Speicherauszugsdatensätzen kann der Zuordnungsstatus von Blöcken auf einem Datenträger schnell erkannt werden. Dann erfolgt eine Zuordnung von freiem Raum durch Zuordnen von freiem Raum über die am Dateisystem vorhandene Schnittstelle und durch Identifizieren desselben durch Speicherauszugsdatensätze. Durch diesen Mechanismus kann Speicherauszugssoftware freien Raum zuordnen, um Speicherauszugsmetadaten und "copy-to-write"-Daten dynamisch zu speichern.
  • US2003/131207A offenbart einen Server mit Verwaltungsinformation, die Entsprechungsinformation zwischen einem physikalischen Speicherbereich und einem virtuellen Speicherbereich enthält, um einen virtuellen Speicherbereich bereit zu stellen. Der Server verfügt über eine Einheit zum Verwenden der Verwaltungsinformation zum Bereitstellen eines virtuellen Speicherbereichs für einen anderen Host sowie eine Einheit zum Anweisen von Steuerungsvorgängen für die Speicherbereiche auf Grundlage des virtuellen Speicherbereichs an einen Controller für eine Speichervorrichtung zum Bereitstellen des physikalischen Speicherbereichs. Darüber hinaus verfügt der Controller über eine Einheit mit der gesamten Verwaltungsinformation oder einem Teil derselben, einschließlich der Entsprechungsinformation, um die Steuerung der Speichervorrichtung auf Grundlage des virtuellen Speicherbereichs in Reaktion auf die Anweisung auszuführen.
  • US2004/168034A offenbart eine Speicheranlage, die einen Primär- und einen Sekundärdatenträger als Paar unter Verwendung einer logischen Speicherauszugsverwaltungstabelle steuert, die angibt, in welchem Datenträger Daten, auf die zuzugreifen ist, zu registrieren sind, um dadurch einen direkten Zugriff auf ein logisches, eingefrorenes Bild zu ermöglichen.
  • Als Speicherauszugsfunktion wurde ein Generationenverwaltungsverfahren für ein Speicherauszugsbild angegeben, bei dem eine Datenregistriereinheit 1 ei nen normalen Lesevorgang ausführt, eine Datenregistriereinheit 2 ein Speicherauszugsbild der Datenregistriereinheit 1 zu einem vorgegebenen Zeitpunkt speichert, eine Datenregistriereinheit 3 Verlaufsinformation speichert, die Aktualisierungsdaten enthält, die zu einem Datenumschreibvorgang in der Datenregistriereinheit 1 nach dem Speicherungszeitpunkt für das Speicherauszugsbild in der Datenregistriereinheit 2 gehören, Information, die die zugehörige Generation anzeigt, und Information, die den zugehörigen Aktualisierungsbereich anzeigt, und eine Datenlesequelle-Auswähleinheit auf jede in der Datenregistriereinheit 1 gespeicherte Verlaufsinformation Bezug nimmt, um den Speicherort eines zu lesenden Speicherauszugsbilds entsprechend der Spezifizierung der Generation und des Bereichs des zu lesenden Speicherauszugsbilds zu erhalten, und die Datenlesequelle abhängig vom Speicherort auf die Datenregistriereinheit 2 oder die Datenregistriereinheit 3 geschaltet wird (beispielsweise JP 2002-278819 A ).
  • Die Speicherauszugsfunktion speichert Speicherauszugsinformation nur für einen Originaldatenträger. So müssen viele Speicherauszüge gespeichert werden, um viele Generationen zu speichern, wodurch die Speicherkapazität entsprechend ansteigt.
  • Andererseits können in einer Bandbibliothek Backupdaten für viele Generationen gespeichert werden. Jedoch ist eine Bandbibliothek nur dazu geeignet, Daten mit niedriger Zugriffshäufigkeit zu speichern, da die Zugriffsgeschwindigkeit im Allgemeinen sehr niedrig ist. So ist eine Bandbibliothek nicht für den geforderten Hochgeschwindigkeitszugriff oder zum Wiederherstellen von Daten vieler Generationen geeignet. Backupdaten werden vorzugsweise in einer Speichersteuereinheit gespeichert.
  • Die Erfindung, die in den beigefügten unabhängigen Ansprüchen 1, 6 und 12 detailliert angegeben ist, erfolgte unter Berücksichtigung der o.g. Probleme, und es ist ein Ziel der Erfindung, ein Speichersystem zu schaffen, das Backupdaten vieler Generationen in einem Speicher einer Speichersteuereinheit speichern kann und auf die Daten zugreifen und sie wieder herstellen kann.
  • Gemäß einer Erscheinungsform der Erfindung ist ein Speichersystem mit einer Plattenvorrichtung die Folgendes aufweist, geschaffen:
    einen Originaldatenträger zum Speichern von Daten, die durch einen Host gelesen/geschrieben werden; und
    einen Speicherauszugs-Datenträger zum Speichern von Speicherauszugsdaten mehrerer Speicherauszugs-Generationen des Originaldatenträgers; und
    eine Speichersteuereinheit, die aufweist:
    eine Verwaltungseinheit zum Verwalten der Speichersteuereinheit;
    eine Kanalschnittstelle, die an den Host angeschlossen ist; und
    eine Vorrichtungsschnittstelle, die an die Plattenvorrichtung angeschlossen ist,
    dadurch gekennzeichnet, dass
    die Plattenvorrichtung ferner einen Kopiedatenträger zum Speichern einer Kopie des Originaldatenträgers zu einer vorbestimmten Zeit aufweist,
    der Speicherauszugs-Datenträger dazu ausgelegt ist, jede der mehreren Speicherauszugs-Generationen als einen virtuellen Datenträger für den Host bereitzustellen und Daten mit identischem Inhalt in einem Speicherbereich zu speichern, und
    die Verwaltungseinheit dazu ausgelegt ist,
    Daten des Originaldatenträgers zu einer vorbestimmten Zeit in den Kopiedatenträger zu kopieren,
    die Speicherauszugsdaten in dem Speicherauszugs-Datenträger gemäß einem Schreibebefehl in den Originaldatenträger zu speichern,
    wenigstens eine Generation eines Speicherauszugs des Originaldatenträgers und wenigstens eine Generation des Kopiedatenträgers zu verwalten, und
    wenn eine Leseanfrage von dem Host empfangen wird, die auf einen Datenträger einer Generation gerichtet ist, die verschieden von der gegenwärtigen Generation des Originaldatenträgers ist, selektiv Daten von dem Speicherauszugs-Datenträger oder dem Kopiedatenträger oder von beiden gelesen werden, um Daten von einem Datenträger bereitzustellen, die der in der Leseanfrage enthaltenen Generation entsprechen.
  • Gemäß Ausführungsformen der Erfindung ist es möglich, optionale Datenträger entsprechend mehreren Generationen durch Speichern des Speicherauszugs-Datenträgers und des Kopiedatenträgers zu erhalten.
  • In den Figuren ist Folgendes dargestellt:
  • 1 ist ein Blockdiagramm, das die Konfiguration eines Speichersystems gemäß einer ersten Ausführungsform der Erfindung zeigt.
  • 2A ist ein erläuterndes Diagramm, das eine Speicherauszugs-Verwaltungstabelle einer Speicherauszugs-Bitkarte gemäß der ersten Ausführungsform der Erfindung zeigt.
  • 2B ist ein erläuterndes Diagramm, das eine Speicherauszugsblock-Verwaltungstabelle der Speicherauszugs-Bitkarte gemäß der ersten Ausführungsform der Erfindung zeigt.
  • 3 ist ein Flussdiagramm ein Schreibprozesses gemäß der ersten Ausführungsform der Erfindung.
  • 4 ist ein Flussdiagramm eines Leseprozesses gemäß der ersten Ausführungsform der Erfindung.
  • 5 ist ein Flussdiagramm eines Speicherauszugserzeugungsprozesses gemäß der ersten Ausführungsform der Erfindung.
  • 6 ist ein Flussdiagramm eines Kopiedatenträger-Erzeugungsprozesses gemäß der ersten Ausführungsform der Erfindung.
  • 7 ist ein Flussdiagramm eines Datenträgererzeugungsprozesses für eine spezifizierte Generation gemäß der ersten Ausführungsform der Erfindung.
  • 8 ist ein Flussdiagramm eines Prozesses zum Zugreifen auf einen virtuellen Datenträger für eine spezifizierte Generation gemäß der ersten Ausführungsform der Erfindung.
  • 9 ist ein Flussdiagramm eines Originaldatenträger-Wiederherstellprozesses gemäß der ersten Ausführungsform der Erfindung.
  • 10 ist ein Flussdiagramm eines Datenträgererzeugungsprozesses für eine spezifizierte Generation gemäß der ersten Ausführungsform der Erfindung.
  • 11 ist ein Flussdiagramm eines Speicherauszugsdatenträger-Kapazitätsverwaltungsprozesses gemäß der ersten Ausführungsform der Erfindung.
  • 12 ist ein Flussdiagramm eines Prozesses zum wieder Herstellen von Daten eines Originaldatenträgers gemäß der ersten Ausführungsform der Erfindung.
  • 13 ist ein Flussdiagramm eines Prozesses zum wieder Herstellen von Daten eines Originaldatenträgers gemäß der ersten Ausführungsform der Erfindung.
  • 14 ist ein Flussdiagramm eines Kopiedatenträger-Erzeugungsprozesses gemäß einer zweiten Ausführungsform der Erfindung.
  • 15 ist ein Flussdiagramm eines Datenträgererzeugungsprozesses für eine spezifizierte Generation gemäß der zweiten Ausführungsform der Erfindung.
  • 16 ist ein Flussdiagramm eines Datenträgererzeugungsprozesses für eine spezifizierte Generation gemäß der zweiten Ausführungsform der Erfindung.
  • 17 ist ein Flussdiagramm eines Datenträgererzeugungsprozesses für eine spezifizierte Generation gemäß der zweiten Ausführungsform der Erfindung.
  • Nachfolgend werden bevorzugte Ausführungsformen der Erfindung unter Bezugnahme auf die beigefügten Zeichnungen beschrieben.
  • Die 1 ist ein Blockdiagramm, das die Konfiguration eines Speichersystems zeigt.
  • Eine Speichersteuereinheit 200 stellt Dienste für gemeinsame Dateinutzung für einen Host 100 zur Verfügung, der über eine Kanalschnittstelle (Kanal I/F) 210 angeschlossen ist.
  • Die Speichersteuereinheit verfügt über eine Kanalschnittstelle 210, eine CPU 220, eine Vorrichtungsschnittstelle (Vorrichtung I/F) 230 und einen Arbeitsspeicher 240.
  • Die Kanalschnittstelle 210 ist über ein Netzwerk zum Senden/Empfangen eines vorbestimmten Signals (Befehl, Daten) mit dem Host 100 verbunden.
  • Die Vorrichtungsschnittstelle 230 sendet/empfängt ein Signal (Befehl, Daten) auf Grundlage eines Small-Computer-System-Interface (SCSI) zu einem Speicher 300.
  • Der Speicher 300 verfügt über mehrere Plattenvorrichtungen, die in drei logische Bereiche (logische Datenträger) eingeteilt sind, nämlich einen Originaldatenträger 310, einen Kopiedatenträger 320 und einen Speicherauszugs-Datenträger 330.
  • Der Originaldatenträger 310 ist ein logischer Datenträger, in den Daten auf Grundlage einer Anfrage vom Host 100 geschrieben werden bzw. aus ihm gelesen werden. Der Kopiedatenträger 320 fungiert als Backupeinrichtung zum Speichern einer vollständigen Kopie des Originaldatenträgers 310 zu einem vorgegebenen Zeitpunkt. Der Speicherauszugs-Datenträger 330 speichert einen Speicherauszug des Originaldatenträgers 310.
  • Der Arbeitsspeicher 240 speichert ein Speicherauszugs-Verwaltungsprogramm 241, ein Generationsdatenträger-Erzeugungsprogramm 242, ein Originaldatenträger-Wiederherstellprogramm 243 und ein Speicherauszugsdatenträger-Kapazitätsverwaltungsprogramm 244. Die CPU 220 lädt diese Programme und führt sie aus, um die Speichereinheit zu verwalten.
  • Der Arbeitsspeicher 240 verfügt über einen Cachespeicher 250 und einen gemeinsamen Arbeitsspeicher 260. Der Cachespeicher 250 fungiert als Cache, wenn Daten in den Speicher 300 geschrieben oder aus ihm gelesen werden. Der gemeinsame Arbeitsspeicher 260 speichert Steuerungsinformation oder dergleichen, die für verschiedene Operationen der Speichersteuereinheit 200 verwendet wird. Der gemeinsame Arbeitsspeicher 260 speichert eine Speicherauszugs-Bitkarte 261, Kopiedatenträger-Generationenverwaltungsinformation 262, Speicherauszugsinformation 263, Datenträger-Kapazitätsverwaltungsinformation 264 und dergleichen.
  • Die Speicherauszugs-Bitkarte 261 enthält eine Speicherauszugs-Verwaltungstabelle 2610 und eine Speicherauszugsblock-Verwaltungstabelle 2620 (die später beschrieben wird). Die Kopiedatenträger-Generationenverwaltungsinformation 262 registriert Information dahingehend, zu welcher Generation in den Kopiedatenträger 320 kopierte Daten gehören. Die Speicherauszugsinformation 263 registriert Information hinsichtlich des Zeitpunkts der Speicherung eines Speicherauszugs im Speicherauszugs-Datenträger 330 sowie zur zugehörigen Generation. Die Datenträger-Kapazitätsverwaltungsinformation 264 registriert Information hinsichtlich der Nutzungskapazität eines Speicherauszugs-Daten trägers jeder Generation, das Datum und die Zeit des letzten Zugriffs und die Zugriffshäufigkeit.
  • Wenn das Speicherauszugsverwaltungsprogramm 241 eine Speicherauszugserzeugungsanfrage vom Host 100 empfängt, erzeugt sie einen Speicherauszug des Originaldatenträgers 310 der Speichersteuereinheit 200. Beim Speicherauszugserzeugungsprozess verwaltet das Speicherauszugsverwaltungsprogramm 241, unter Verwendung der Speicherauszugs-Verwaltungstabelle 2610 (die später beschrieben wird), im Originaldatenträger 310 und im Speicherauszugs-Datenträger 330 gespeicherte Daten, um einen Zugriff auf die im Originaldatenträger 310 gespeicherten Daten zum Zeitpunkt des Empfangs der Speicherauszugserzeugungsanfrage zu ermöglichen. Demgemäß kann der Zugriff auf einen virtuellen Datenträger erfolgen, um den erzeugten Speicherauszug des Originaldatenträgers 310 zu liefern.
  • Der virtuelle Datenträger enthält Speicherbereiche in einer oder mehreren Plattenvorrichtungen. In der Realität enthält der virtuelle Datenträger einen Block im Originaldatenträger 310 sowie einen Block im Speicherauszugs-Datenträger 330.
  • Das Speicherauszugsverwaltungsprogramm 241 verwaltet einen Datenträger (Speicherauszugs-Datenträger 330), der Speicherauszugsdaten speichert, die zum Aufrechterhalten des Speicherauszugs erforderlich sind, zusätzlich zu einem Datenträger (Originaldatenträger 310), der ein Dateisystem speichert, und es führt einen Daten-Eingabe/Ausgabe-Prozess, einen Prozess zum Aufrechterhalten des Speicherauszugs oder einen Prozess zur Nutzbarmachung des Speicherauszugs entsprechend einer Anfrage vom Host 100 aus.
  • Genauer gesagt, empfängt das Speicherauszugsverwaltungsprogramm 241 die Speicherauszugserzeugungsanfrage. Das Speicherauszugsverwaltungsprogramm 241, das die Erzeugungsanfrage empfangen hat, registriert als Erstes Kennungsinformation für einen neuen virtuellen Datenträger in der Speicherauszugs-Verwaltungstabelle 2610 (die später beschrieben wird). Ein Block des virtuellen Datenträgers wird ein eindeutig mit einem Block des Originaldatenträgers 310, zunächst basierend auf der Speicherauszugs-Verwaltungstabelle 2610, korreliert. Wenn jedoch Daten im Originaldatenträger 310 anschließend aktualisiert werden, kopiert das Speicherauszugsverwaltungsprogramm 241 die Daten vor der Aktualisierung aus dem Originaldatenträger 310 in den Speicherauszugs-Daten träger, wie es später beschrieben wird, und es aktualisiert gespeicherte Daten des Originaldatenträgers 310 nach dem Kopieren. Dann aktualisiert das Speicherauszugsverwaltungsprogramm 241 die Speicherauszugs-Verwaltungstabelle 2610, um den Block des virtuellen Datenträgers, der dem Block mit aktualisierten Daten des Originaldatenträgers 310 entspricht, mit einem Block des Speicherauszugs-Datenträgers zu korrelieren, der die Daten speicherte, die im Originaldatenträger 310 zum Zeitpunkt des Empfangs der Speicherauszugserzeugungsanfrage gespeichert waren (d.h. Daten vor der Aktualisierung).
  • Das Speicherauszugsverwaltungsprogramm 241 empfängt vom Host 100 eine Zugriffsanfrage für den virtuellen Datenträger. Das Speicherauszugsverwaltungsprogramm 241, das die Zugriffsanfrage empfangen hat, nimmt auf die Speicherauszugs-Verwaltungstabelle 2610 Bezug, um den Host 100 dazu anzuweisen, auf den Block des Originaldatenträgers 310 oder den Block des Speicherauszugs-Datenträgers 330, der mit dem Block des virtuellen Datenträgers korreliert ist, zuzugreifen.
  • Demgemäß kann der Host 100 durch Zugriff auf den virtuellen Datenträger zum Zeitpunkt der Speicherauszugserzeugungsanfrage Information zum Originaldatenträger 310 erhalten. Demgemäß kann die Speichersteuereinheit 200 ein Speicherauszugsbild des Dateisystems liefern.
  • Die Betriebsabläufe werden später detailliert beschrieben.
  • Der Speicher 300 kann mehrere unabhängige physikalische Plattenlaufwerke verwenden, oder er kann ein Plattenlaufwerk durch logische Unterteilung physikalisch unterteilen. Alternativ kann der Speicher 300 ein logischer Datenträger sein, der über mehrere Plattenvorrichtungen verfügt und logisch als eine Platte eingetragen ist. Andernfalls kann eine Rate-Vorrichtung über mehrere physikalische Plattenlaufwerke verfügen, die einen logischen Datenträger bilden.
  • Die Bandbibliothek 400 speichert eine Kopie der Daten, die im mit der Speichersteuereinheit 200 verbundenen Speicher 300 gespeichert sind. Die Bandbibliothek 400 ist über die Kanalschnittstelle 210 mit der Speichersteuereinheit 200 verbunden.
  • Der Host 100 enthält ein Programm 110. Die Speichersteuereinheit 200 verfügt über eine Schnittstelle 270. Die Schnittstelle 270 ist über ein LAN 501 mit einem Terminal 500 verbunden. Beispielsweise ist die Schnittstelle 270 eine SCSI-Schnittstelle.
  • Ein Benutzer kann durch das Programm 110 des Hosts 100 Anweisungen an die Speichersteuereinheit 200 schicken.
  • Der Benutzer kann auch vom Terminal 500 Anweisungen an die Speichersteuereinheit 200 schicken.
  • Die 2A und 2B sind erläuternde Diagramme der Speicherauszugs-Bitkarte 261.
  • Die Speicherauszugs-Bitkarte 261 verfügt über die in der 2A dargestellte Speicherauszugs-Verwaltungstabelle 2610 und die in der 2B dargestellte Speicherauszugsblock-Verwaltungstabelle 2620.
  • Die in der 2A dargestellte Speicherauszugs-Verwaltungstabelle 2610 verfügt über eine Originaldatenträger-Blockadresse 2611, eine Generationenverwaltungsbitkarte 2612 und eine virtuelle Datenträgergenerationen-Zugriffstabelle.
  • Eine Spalte 2611 registriert Blockadressen des Originaldatenträgers 310. Einer ersten Zeile (1. Zeile) ist eine erste Blockadresse Nr. 0 des Originaldatenträgers 310 zugeordnet, einer zweiten Zeile ist eine Blockadresse Nr. 1 des Originaldatenträgers zugeordnet, danach sind Blockadressen des Originaldatenträgers 310 sequenziell zugeordnet, und einer Zeile m, die die letzte Zeile ist, ist eine Blockadresse Nr. (m-1) des Originaldatenträgers 310 zugeordnet.
  • Eine Spalte 2612 ist eine Generationenverwaltungsbitkarte, die anzeigt, ob Speicherauszugsdaten vorhanden sind oder nicht, die der Blockadresse des Originaldatenträgers entsprechen. Einzelheiten werden später beschrieben.
  • Spalten 2613 bis 2615 registrieren Datenspeicherorte, die Blockadressen virtueller Datenträger von Generationen entsprechen. Beispielsweise registriert die Spalte 2613 einen Datenspeicherort eines Speicherauszugs Nr. 1 (Generati on 1). In diesem Fall sind die Speicherauszugsnummer und die Nummer des virtuellen Datenträgers identisch, wobei die Nummer eine Generation angibt. Beispielsweise entspricht ein virtueller Datenträger 1 einem Speicherauszug Nr. 1, und die Generation des virtuellen Datenträgers 1 ist "1".
  • Eine erste Zeile in der Spalte 2613 registriert Information zum Kennzeichnen eines Speicherbereichs, in dem Daten gespeichert sind, die der Blockadresse Nr. 0 des virtuellen Datenträgers 1 der Generation 1 entsprechen. Sequenziell anschließend registriert eine zweite Zeile einen Datenspeicherort entsprechend der Blockadresse Nr. 1 des virtuellen Datenträgers 1, die dritte Zeile registriert den Datenspeicherort, der der Blockadresse Nr. 2 entspricht, und dergleichen.
  • Genauer gesagt, entspricht die Nr. 0, die als Datenspeicherort der Blockadresse Nr. 0 des virtuellen Datenträgers 1 in der ersten Zeile registriert ist, der Blockadresse Nr. 0 des Speicherauszugs-Datenträgers 330.
  • Das Speicherauszugsverwaltungsprogramm 241 empfängt eine Speicherauszugserzeugungsanfrage. Wenn Daten der Blockadresse Nr. 0 des Originaldatenträgers 310 aktualisiert werden, schreibt das Speicherauszugsverwaltungsprogramm 241, das die Erzeugungsanfrage empfangen hat, Daten vor dem Aktualisieren der an der Blockadresse Nr. 0 des Originaldatenträgers 310 gespeicherten Daten in die Blockadresse Nr. 0 des Speicherauszugs-Datenträgers 330. Anschließend werden die Daten an der Blockadresse Nr. 0 des Originaldatenträgers 310 aktualisiert. Dies, da die im Originaldatenträger 310 beim Empfangen der Speicherauszugserzeugungsanfrage gespeicherten Daten in einem der Speicherbereiche der Blockadresse gespeichert werden müssen, um für Zugriff auf den Speicherauszug zu sorgen.
  • Wie oben beschrieben, ist in der Speicherauszugs-Verwaltungstabelle 2610 die Blockadresse Nr. 0 des virtuellen Datenträgers 1 mit der Blockadresse Nr. 0 des Speicherauszugs-Datenträgers 330 korreliert. Das Speicherauszugsverwaltungsprogramm 241 kann die Daten vor dem Aktualisieren der Blockadresse Nr. 0 des Originaldatenträgers 310, d.h. den virtuellen Datenträger der Generation 1, durch Zugreifen auf die Blockadresse Nr. 0 des virtuellen Datenträgers 1 in der ersten Zeile, d.h. die Blockadresse Nr. 0 des Speicherauszugs-Datenträgers 330, erhalten.
  • Demgemäß nimmt das Speicherauszugsverwaltungsprogramm 241, nach dem Empfangen einer Zugriffsanfrage für die Blockadresse Nr. 0 des virtuellen Datenträgers 1 der Generation 1, auf die Speicherauszugs-Verwaltungstabelle 2610 Bezug, um auf die Blockadresse Nr. 0 des Speicherauszugs-Datenträgers 330 zuzugreifen. Im Ergebnis kann das Speicherauszugsverwaltungsprogramm 241 eine Umgebung für Zugriff auf den virtuellen Datenträger 1 der Generation in einem Zustand, für den Host 100, sorgen, der ähnlich dem ist, in dem die Daten vor dem Aktualisieren der Blockadresse Nr. 0 des Originaldatenträgers 310, d.h. die Daten der Generation 1, wie sie an der Blockadresse Nr. 0 des Originaldatenträgers 310 zum Zeitpunkt des Empfangens der Speicherauszugserzeugungsanfrage gespeichert werden, in die Blockadresse Nr. 0 des virtuellen Datenträgers 1 geschrieben sind.
  • In ähnlicher Weise entspricht die Nr. 1, die als Datenspeicherort für die Blockadresse des virtuellen Datenträgers 1 der Generation 1 in der zweiten Zeile gespeichert ist, der Blockadresse Nr. 1 des Speicherauszugs-Datenträgers 330. Wenn die Daten an der Blockadresse Nr. 1 des Originaldatenträgers 310 nach dem Empfangen der Speicherauszugserzeugungsanfrage aktualisiert werden, schreibt das Speicherauszugsverwaltungsprogramm 241 Daten vor dem Aktualisieren der Blockadresse Nr. 1 des Originaldatenträgers 310 in die Blockadresse Nr. 1 des Speicherauszugs-Datenträgers 330. Anschließend werden die Daten an der Blockadresse Nr. 1 des Originaldatenträgers 310 aktualisiert. So ist, in der Speicherauszugs-Verwaltungstabelle 2610, die Blockadresse Nr. 1 des virtuellen Datenträgers 1 der Generation 1 mit der Blockadresse Nr. 1 des Speicherauszugs-Datenträgers 330 korreliert. Das Speicherauszugsverwaltungsprogramm 241 kann, dem Host 100, Zugriff auf den virtuellen Datenträger 1 der Generation 1 in einem Zustand verschaffen, der ähnlich dem ist, in dem die Daten vor dem Aktualisieren der Blockadresse Nr. 1 des Originaldatenträgers 330, d.h. die Daten der Generation 1, in die Blockadresse Nr. 1 des virtuellen Datenträgers 1 geschrieben wurden.
  • In der dritten bis m-ten Zeile ist als Speicherortinformation entsprechend Daten der Blockadressen Nr. 2 bis Nr. (m-1) des virtuellen Datenträgers 1" NICHTS" registriert. "NICHTS" kennzeichnet eine dem Originaldatenträger 310 entsprechende Blockadresse. So entsprechen die Blockadressen Nr. 2 bis Nr. (m-1) des Originaldatenträgers 310 den Blockadressen Nr. 2 bis Nr. (m-1) des virtuellen Datenträgers 1. Anders gesagt, kennzeichnet "NICHTS", dass ein re levanter Block des Originaldatenträgers 310 nach dem letzten Empfang einer Speicherauszugserzeugungsanfrage nicht aktualisiert (umgeschrieben) wurde.
  • Im Ergebnis kann das Speicherauszugsverwaltungsprogramm 241 ein Speicherauszugsbild des Originaldatenträgers 310 zu einem Zeitpunkt vor dem Aktualisieren der Daten an den Blockadressen Nr. 0 und 1 des Originaldatenträgers 310, d.h. des virtuellen Datenträgers 1 der Generation 1, auf Grundlage der Daten an der Blockadresse Nr. 0 des virtuellen Datenträgers 1, der Daten an der Blockadresse Nr. 1 des virtuellen Datenträgers 1 sowie der Daten an den Blockadressen Nr. 2 bis Nr. (m-1) des Originaldatenträgers 310 bereit stellen.
  • Die Spalte 2614 registriert den Datenspeicherort eines virtuellen Datenträgers 2 einer Generation 2.
  • Jedesmal dann, wenn das Speicherauszugsverwaltungsprogramm 241 eine Speicherauszugserzeugungsanfrage empfängt, registriert es einen virtuellen Datenträger einer neuen Generation in der Speicherauszugs-Verwaltungstabelle, um einen Speicherauszug zum Zeitpunkt des Empfangens der Erzeugungsanfrage zu erhalten. Der virtuelle Datenträger 2 gilt für eine Generation, die einem Speicherauszug mit der Speicherauszugs-Nr. 2 (Generation 2) entspricht, wie durch das Speicherauszugsverwaltungsprogramm 241 dann erzeugt, wenn eine Speicherauszugserzeugungsanfrage (Speicherauszugserzeugungsanfrage der Generation 2) nach dem Erzeugen der Speicherauszug mit der Speicherauszugs-Nr. 1 (entsprechend dem virtuellen Datenträger 1 der Generation 1) erneut empfangen wird.
  • Nr. 0, wie als Datenspeicherort der Blockadresse Nr. 0 des virtuellen Datenträgers 2 in der ersten Zeile der Spalte 2614 gespeichert, entspricht der Blockadresse Nr. 0 des Speicherauszugs-Datenträgers 330.
  • Das Speicherauszugsverwaltungsprogramm 241 empfängt eine zweite Speicherauszugserzeugungsanfrage. Wenn Daten an der Blockadresse Nr. 0 des Originaldatenträgers 310 aktualisiert werden, kopiert das Speicherauszugsverwaltungsprogramm 241, das die Erzeugungsanfrage empfangen hat, die Daten vor der Aktualisierung, wie sie an der Blockadresse Nr. 0 des Originaldatenträgers 310 gespeichert sind, an der Blockadresse Nr. 0 des Speicherauszugs-Datenträgers 330 ab, wie oben beschrieben. Anschließend werden die Daten an der Blockadresse Nr. 0 des Originaldatenträgers 310 aktualisiert. Dann schreibt das Speicherauszugsverwaltungsprogramm 241 die Speicherauszugs-Verwaltungstabelle 2610 um, um den Blockadressen Nr. 0 des virtuellen Datenträgers 1 und des virtuellen Datenträgers 2 an der Blockadresse Nr. 0 des Speicherauszugs-Datenträgers 330 abzuspeichern und die Blockadressen Nr. 0 des virtuellen Datenträgers 1 und des virtuellen Datenträgers 2 mit der Blockadresse Nr. 0 des Speicherauszugs-Datenträgers 330 zu korrelieren.
  • Nr. 2, wie als Datenspeicherort der Blockadresse Nr. 1 des virtuellen Datenträgers 2 in der zweiten Zeile der Spalte 2614 gespeichert, entspricht der Blockadresse Nr. 2 des Speicherauszugs-Datenträgers 330. Dies zeigt an, dass die Daten an der Blockadresse Nr. 1 des Originaldatenträgers 310 aktualisiert werden, nachdem das Speicherauszugsverwaltungsprogramm 241 die zweite Speicherauszugserzeugungsanfrage empfangen hat. Anders gesagt, wurden die Daten vor der Aktualisierung an die Blockadresse Nr. 2 des Speicherauszugs-Datenträgers 330 kopiert, um die Daten an der Blockadresse Nr. 1 des Originaldatenträgers 310 nach dem Empfangen des zweiten (Generation 2) Speicherauszugs zu aktualisieren. Dies, da das Kopieren an die Blockadresse Nr. 1 des Speicherauszugs-Datenträgers 330 zu einer Änderung der Daten in Korrelation mit der Blockadresse Nr. 1 des virtuellen Datenträgers 1 führt, wodurch die ersten Speicherauszugsdaten zerstört werden.
  • In der dritten bis m-ten Zeile der Spalte 2614 ist als Speicherortinformation für Daten an den Blockadressen Nr. 2 bis Nr. (m-1) des virtuellen Datenträgers 2 "NICHTS" registriert. Wie oben beschrieben, zeigt "NICHTS" an, dass die Blockadresse des virtuellen Datenträgers mit einer entsprechenden nicht aktualisierten Blockadresse des Originaldatenträgers 310 korreliert ist.
  • Der virtuelle Datenträger n ist den virtuellen Datenträgern 1 und 2 ähnlich, und so wird eine zugehörige Beschreibung weggelassen.
  • Die Spalte 2612 ist eine Generationenverwaltungsbitkarte. Die zugehörige Bitzahl entspricht der Anzahl virtueller Datenträger. Im Fall der 2 verfügt eine Generationenverwaltungsbitkarte über n Bits, da die Anzahl virtueller Datenträger n ist. Das erste Bit der Generationenverwaltungsbitkarte entspricht dem virtuellen Datenträger 1 der Generation 1, das zweite Bit entspricht dem virtuellen Datenträger 2 der Generation 2, und in ähnlicher Weise entspricht danach das Bit n dem virtuellen Datenträger n der Generation n. Wenn an einer Blockadresse des virtuellen Datenträgers in der Zeile k eine Aktualisierungsregistrierung vorhanden ist, d.h., wenn die Blockadresse des Speicherauszugs-Datenträgers 330 registriert wurde, wird das Bit, das dem virtuellen Datenträger in der k-ten Zeile der Generationenverwaltungsbitkarte entspricht, auf "0" gesetzt. Andererseits wird, wenn an der Blockadresse des virtuellen Datenträgers in der Zeile k keine Aktualisierungsregistrierung vorhanden ist, d.h., wenn "NICHTS" registriert ist, das dem virtuellen Datenträger in der Zeile k der Generationenverwaltungsbitkarte entsprechende Bit auf "1" gesetzt.
  • In der in der 2A dargestellten Speicherauszugs-Verwaltungstabelle 2610 sind alle Bits in der ersten Zeile der Generationenverwaltungsbitkarte "0", da der Blockadresse Nr. 0 jedes virtuellen Datenträgers in der ersten Zeile "0" zugeordnet ist. Bits in der m-ten Zeile der Generationenverwaltungsbitkarte sind alle 1, da der Blockadresse Nr. (m-1) jedes virtuellen Datenträgers in der Zeile m "NICHTS" zugeordnet ist.
  • In der in der 2A dargestellten Speicherauszugs-Verwaltungstabelle 2610 entspricht die Größe des Originaldatenträgers 310 m Blöcken, um die Maximalanzahl von Speicherauszügen ist n. Wenn beispielsweise die Blockgröße 512 Bytes beträgt, beträgt die Größe des Originaldatenträgers 310 128 Gigabytes, und die Maximalanzahl von Speicherauszügen ist 64, die Größe m des Originaldatenträgers entspricht 250.000.000 Blöcken, und die Maximalanzahl n von Speicherauszügen ist 64. Die Blockgröße, die Größe des Originaldatenträgers 310 und die Maximalanzahl von Speicherauszügen können wahlfrei eingestellt werden, da dies keinen Einfluss auf Wirkungen der Erfindung hat.
  • In der in der 2A dargestellten Speicherauszugs-Verwaltungstabelle 2610 gibt die Spalte 2611 in der ersten Zeile (Zeile 2616) die Blockadresse Nr. 0 des Originaldatenträgers 310 an. Die Spalte 2612 zeigt an, dass die Generationenverwaltungsbitkarte 00 ... 0 ist. "0" in den Spalten 2613 bis 2615 kennzeichnet Daten der Blockadresse Nr. 0 der virtuellen Datenträger 1, 2, ... n entsprechend Speicherauszügen 1, 2, ... n, d.h., dass zum Zeitpunkt der Ausgabe einer Speicherauszugserzeugungsanfrage entsprechend jedem virtuellen Datenträger Daten, die an der Blockadresse Nr. 0 des Originaldatenträgers 310 gespeichert waren, an der Blockadresse Nr. 0 des Speicherauszugs-Datenträgers 330 abgespeichert wurden.
  • In der zweiten Zeile (Zeile 2617) gibt die Spalte 2611 die Blockadresse Nr. 1 des Originaldatenträgers 310 an. Die Spalte 2612 zeigt an, dass die Generationenverwaltungsbitkarte 00...1 ist. "1" in der Spalte 2613 zeigt an, dass Daten an der Blockadresse N. 1 des virtuellen Datenträgers 1, entsprechend der Speicherauszugs-Nr. 1, an der Blockadresse Nr. 1 des Speicherauszugs-Datenträgers 330 gespeichert wurden. "2" in der Spalte 2614 zeigt an, dass Daten an der Blockadresse Nr. 1 des virtuellen Datenträgers 2, entsprechend der Speicherauszugs-Nr. 2, an der Blockadresse Nr. 2 des Speicherauszugs-Datenträgers 330 gespeichert wurden. "NICHTS" in der Spalte 2614 zeigt an, dass Daten an der Blockadresse Nr. 1 des virtuellen Datenträgers n entsprechend dem Speicherauszug n an der Blockadresse Nr. 1 des Originaldatenträgers 310 gespeichert wurden.
  • Die Zuordnung von "NICHTS" zur Blockadresse Nr. 1 des virtuellen Datenträgers n zeigt an, dass Daten an der Blockadresse Nr. 1 des virtuellen Datenträgers n der Generation n an der Blockadresse Nr. 1 des Originaldatenträgers 310 gespeichert wurden und die Daten an der Blockadresse Nr. 1 des Originaldatenträgers 310 nach dem Empfang einer n-ten Speicherauszugserzeugungsanfrage, entsprechend dem virtuellen Datenträger n, nicht aktualisiert wurden.
  • In der dritten Zeile (Zeile 2618) zeigt die Spalte 2611 die Blockadresse Nr. 2 des Originaldatenträgers 310 an. Die Spalte 2612 zeigt an, dass die Generationenverwaltungsbitkarte 11 ...1 ist. Die Spalten 2613, 2614, ... 2615 zeigen an, dass Daten an der Blockadresse Nr. 2 der virtuellen Datenträger 1, 2, n, entsprechend den Speicherauszugs-Nr. 1, 2, ... n, an der Blockadresse Nr. 2 des Originaldatenträgers 310 gespeichert wurden (d.h., dass der Originaldatenträger 310 nicht aktualisiert wurde).
  • In der Zeile m (Zeile 2619) gibt die Spalte 2611 die Blockadresse Nr. (m-1) des Originaldatenträgers 310 an. Die Spalte 2612 gibt an, dass die Generationenverwaltungsbitkarte 11...1 ist. Die Spalten 2613, 2614, ... 2615 zeigen an, dass Daten an der Blockadresse Nr. (m-1) der virtuellen Datenträger 1, 2 n, entsprechend den Speicherauszugs-Nr. 1, 2, ... n, an der Blockadresse Nr. (m-1) des Originaldatenträgers 310 gespeichert wurden (d.h., dass der Originaldatenträger 310 nicht aktualisiert (umgeschrieben) wurde).
  • Anders gesagt, ist die in jedem Eintrag in der Spalte 2612 angegebene Generationenverwaltungsbitkarte ein Speicherbereich, der mindestens n Bits enthält, die die Maximalanzahl von Speicherauszügen angeben, wobei jedes Bit einer Speicherauszugsnummer entspricht, und es ist das Vorliegen einer Aktualisierung nach einem Start zum Aufrechterhalten eines Speicherauszugs angegeben. In den 2A und 2B bedeutet "0" ein Aktualisieren, während "1" kein Aktualisieren bedeutet.
  • Auf die Generationenverwaltungsbitkarte 2612 wird dann Bezug genommen, wenn das Speicherauszugsverwaltungsprogramm 241 Blockdaten in den Originaldatenträger 310 schreibt, und sie wird dazu verwendet, zu bestimmen, ob Daten vor dem Aktualisieren einer Adresse, an der die Daten in den Speicherauszugs-Datenträger 330 geschrieben werden, zu kopieren sind oder nicht. Die Generationenverwaltungsbitkarte beseitigt das Erfordernis, auf alle Daten in der Speicherauszugs-Verwaltungstabelle 2610 Bezug zu nehmen, um einen Speicherauszug eines virtuellen Datenträgers heraus zu finden, dessen Blockadresse bei jedem Datenschreibvorgang umgeschrieben wird, wodurch die Datenschreibgeschwindigkeit erhöht ist.
  • Die 2B zeigt die Speicherauszugsblock-Verwaltungstabelle 2620.
  • Die Speicherauszugsblock-Verwaltungstabelle 2620 zeigt die Entsprechung zwischen einer Blockadresse 2621 des Speicherauszugs-Datenträgers und einer Generationszuweisungsbitkarte 2622 für jeden im Speicherauszugs-Datenträger 330 angeordneten Block, um eine Blocknutzungssituation desselben zu verwalten.
  • Die Generationszuweisungsbitkarte 2622 jedes Datenträgers ist ein Speicherbereich, der über mindestens n Bits verfügt, die die Maximalanzahl von Speicherauszugserzeugungen anzeigen, wobei jedes Bit der Nummer (Generationsnummer) eines Speicherauszugs entspricht. Jedes Bit zeigt an, ob auf einen entsprechenden Block im Speicherauszugs-Datenträger 330 als Block Bezug genommen wird oder nicht ("1" bedeutet Bezugnahme, während "0" keine Bezugnahme bedeutet), der einen virtuellen Datenträger bildet, um auf entsprechende Speicherauszugsdaten zuzugreifen.
  • Wenn Blockdaten des Originaldatenträgers 310 in den Speicherauszugs-Datenträger 330 kopiert werden, nachdem ein Schreibvorgang im Originaldatenträger 310 auf Grundlage einer Anfrage vom Host 100 erfolgte, wird ein Bit in der Generationszuweisungsbitkarte 2622, das der Speicherauszugsnummer für Bezugnahme auf den Block entspricht, auf 1 aktualisiert. Wenn aus dem Speicherauszugs- Datenträger 330 ein freier Block erhalten wird, wird ein Block ausgewählt, in dem die Bits der Generationszuweisungsbitkarte 2622 alle 0 sind.
  • Wenn ein Speicherauszug gelöscht wird, wird für alle Blöcke, die einen dem zu löschenden Speicherauszug entsprechenden virtuellen Datenträger bilden, ein Bit in der Zuweisungsbitkarte, das dem zu löschenden Speicherauszug entspricht, auf "0" aktualisiert.
  • Nun werden Daten der in der 2B dargestellten Speicherauszugsblock-Verwaltungstabelle 2620 beschrieben. In der ersten Zeile (2623) ist "11 ... 1" als Zuweisungsbitkarte für die Blockadresse Nr. 0 des Speicherauszugs-Datenträgers 330 registriert, was anzeigt, dass der Block mit der Blockadresse Nr. 0 des Speicherauszugs-Datenträgers 330 für alle Speicherauszüge verwendet wird. Wie es in der ersten Zeile (2616) der in der 2A dargestellten Speicherauszugs-Verwaltungstabelle 2610 definiert ist, werden Daten mit der Blockadresse Nr. 0 der virtuellen Datenträger 1, 2, ... n, entsprechend Speicherauszügen 1, 2, ... n, an der Blockadresse Nr. 0 des Speicherauszugs-Datenträgers 330 gespeichert.
  • Die zweite Zeile (2624) registriert "10 ... 0" als Zuweisungsbitkarte der Blockadresse Nr. 1 des Speicherauszugs-Datenträgers 330, was anzeigt, dass der Block mit der Blockadresse Nr. 1 des Speicherauszugs-Datenträgers 330 für einen Speicherauszug Nr. 1, entsprechend dem ersten Bit der Zuweisungsbitkarte, verwendet wird, d.h. einen virtuellen Datenträger 1 bildet, jedoch nicht für die anderen Speicherauszüge verwendet wird. Wie es in der zweiten Zeile (2617) der in der 2A dargestellten Speicherauszugs-Verwaltungstabelle 2610 definiert ist, werden Daten mit der Blockadresse Nr. 1 des virtuellen Datenträgers 1, entsprechend dem Speicherauszug Nr. 1, an der Blockadresse Nr. 1 des Speicherauszugs-Datenträgers 330 gespeichert.
  • In der dritten Zeile (2625) ist "01 ...0" als Zuweisungsbitkarte der Blockadresse Nr. 2 des Speicherauszugs-Datenträgers 330 registriert, was anzeigt, dass der Block mit der Blockadresse Nr. 2 des Speicherauszugs-Datenträgers 330 für einen Speicherauszug Nr. 2, entsprechend dem zweiten Bit der Zuweisungsbitkarte, verwendet wird, d.h. einen virtuellen Datenträger 2 bildet. Wie es in der dritten Zeile (2618) der in der 2A dargestellten Speicherauszugs-Verwaltungstabelle 2610 definiert ist, sind Daten an der Blockadresse Nr. 1 des virtuellen Datenträgers 2, entsprechend dem Speicherauszug Nr. 2, an der Blockadresse Nr. 2 des Speicherauszugs-Datenträgers 330 gespeichert.
  • Danach ist die Einstellung bis zu einer (p-1)-ten Zeile (2626) ähnlich.
  • D.h., dass dann, wenn mindestens ein Bit der Zuweisungsbitkarte 2622"1" ist, ein relevanter Block des Speicherauszugs-Datenträgers 330 für einen Speicherauszug verwendet ist. Wenn alle Bits der Zuweisungsbitkarte 2622 "0" sind, ist der Block des Speicherauszugs-Datenträgers 330 nicht für einen Speicherauszug verwendet. Anders gesagt, handelt es sich um einen freien Block.
  • Als Nächstes wird der Prozess des Speicherauszugsverwaltungsprogramms 241 beschrieben.
  • Die 3 ist ein Flussdiagramm zum Veranschaulichen eines Schreibprozesses, wie er durch das Speicherauszugsverwaltungsprogramm 241 ausgeführt wird.
  • Das Speicherauszugsverwaltungsprogramm 241 nimmt als Erstes auf die Speicherauszugs-Verwaltungstabelle 2610 Bezug, um zu ermitteln, ob alle Bits der Generationenverwaltungsbitkarte 2612, die einer Blockadresse eines Schreibprozessziels entsprechen, "0" sind oder nicht (1001).
  • Wenn alle Bits "0" sind, wurden Daten des Blocks nach der Ausgabe der letzten Speicherauszugserzeugungsanfrage aktualisiert, und für den Block wurden alle virtuellen Datenträger mit dem Speicherauszugs-Datenträger 330 korreliert. Demgemäß ist es, wenn alle Bits der Generationenverwaltungsbitkarte 2612 "0" sind, nicht erforderlich, Daten zu kopieren, bevor ein Aktualisieren in den Speicherauszugs-Datenträger 330 erfolgt. Dann werden, unter Fortschreiten zu einem Schritt 1006, die Daten in einen spezifizierten Block des Originaldatenträgers 310 geschrieben.
  • Wenn andererseits mindestens ein Bit "1" ist, existiert ein Speicherauszug (virtueller Datenträger), der auf die Daten des Originaldatenträgers 330 für Aktualisierung durch den Schreibprozess Bezug nimmt, und so geht der Prozess zu einem Schritt 1002 weiter.
  • Im Schritt 1002 erfolgt eine Bezugnahme auf die in der 2B dargestellte Speicherauszugsblock-Verwaltungstabelle 2620, um die Daten vor der Aktuali sierung, wie sie sich im zu aktualisierenden Originaldatenträger 310 befinden, durch den Schreibprozess in einen freien Block des Speicherauszugs-Datenträgers 330 zu kopieren.
  • Dann wird der Wert der Generationenverwaltungsbitkarte, auf die im Schritt 1001 Bezug genommen wird, in der Generationszuweisungsbitkarte 2622 der Speicherauszugsblock-Verwaltungstabelle 2620 entsprechend der Adresse des freien Blocks im Speicherauszugs-Datenträger 330, wie als Sekundärseite des Datenkopiervorgangs im Schritt 1002 eingestellt, abgespeichert (1003).
  • Anschließend wird, unter den virtuellen Datenträgern, wie sie in der Speicherauszugs-Verwaltungstabelle 2610 gespeichert sind, ein virtueller Datenträger, der einem Bit mit dem Wert "1" der Generationenverwaltungsbitkarte, worauf im Schritt 1001 Bezug genommen wurde, entspricht, spezifiziert. Dann wird die Speicherauszugs-Verwaltungstabelle 2610 so aktualisiert, dass der Block, der einem Schreibzielblock des spezifizierten virtuellen Datenträgers entspricht, dem Speicherauszugs-Datenträger 330 entsprechen kann, das im Schritt 1002 als sekundäre Datenkopierseite eingestellt wurde (1004). Anders gesagt, wird die Adresse des Blocks des Speicherauszugs-Datenträgers 330, der im Schritt 1002 als sekundäre Datenkopierseite eingestellt wurde, in der Zeile registriert, die der Blockadresse des Schreibziels entspricht, und zwar in der Spalte der Speicherauszugs-Verwaltungstabelle 2610, die dem spezifizierten virtuellen Datenträger entspricht.
  • Als Nächstes werden die Werte aller Bits der Generationenverwaltungsbitkarte, auf die im Schritt 1001 Bezug genommen wurde, auf "0" aktualisiert (1005).
  • Als Nächstes werden spezifizierte Daten in den durch die spezifizierte Blockadresse gekennzeichneten Block des Originaldatenträgers 310 geschrieben (1006). Dann gelangt der Prozess zum Ende.
  • Die 4 ist ein Flussdiagramm zum Veranschaulichen eines Leseprozesses, wie er durch das Speicherauszugsverwaltungsprogramm 241 ausgeführt wird.
  • Das Speicherauszugsverwaltungsprogramm 241 bestimmt als Erstes, ob ein durch den Host 100 spezifizierter Leseziel-Datenträger der Originaldatenträger 330 oder ein virtueller Datenträger mit einem Speicherauszug ist. Auf Grundlage des Ermittlungsergebnisses erfolgt eine Ermittlung dahingehend, ob der Lesevorgang aus einem Speicherauszug erfolgt oder nicht (1101).
  • Wenn das Ergebnis zeigt, dass eine vom Host 100 empfangene Leseanfrage dem Originaldatenträger 310 entspricht, wird ermittelt, dass die Anfrage keinen Lesevorgang aus dem Speicherauszug betrifft, und die Daten werden von einer spezifizierten Blockadresse des Originaldatenträgers 310 gelesen (1103).
  • Wenn andererseits die vom Host 100 empfangene Leseanfrage ein Lesen aus dem virtuellen Datenträger betrifft, geht der Prozess zu einem Schritt 1103 weiter, um zu bestimmen, dass die Anfrage dem Lesen aus dem Speicherauszug entspricht. Dann erfolgt eine Bezugnahme auf die in der 2A dargestellte Speicherauszugs-Verwaltungstabelle 2610, um den Wert entsprechend der Blockadresse des durch den Host 100 spezifizierten virtuellen Datenträgers, der das Leseziel bildet, zu erhalten, und es erfolgt eine Ermittlung dahingehend, ob der Wert "NICHTS" ist oder nicht (1102).
  • Wenn das Ermittlungsergebnis zeigt, dass der der Blockadresse des virtuellen Datenträgers entsprechende Wert "NICHTS" ist, sind Daten des Lesezielblocks des virtuellen Datenträgers, die dem das Leseziel bildenden Speicherauszug entsprechen, nicht im Speicherauszugs-Datenträger 330 gespeichert. Demgemäß werden die Daten aus der spezifizierten Blockadresse des Originaldatenträgers 310 gelesen (1103).
  • Wenn andererseits der Wert der Blockadresse, auf die im Schritt 1102 Bezug genommen wird, nicht "NICHTS" sondern eine vorgegebene Zahl ist, wird die Blockadresse des virtuellen Datenträgers, der das Leseziel bildet, mit der Blockadresse im Speicherauszugs-Datenträger 330 korreliert. Anders gesagt, sind Daten an der Blockadresse des virtuellen Datenträgers, der das Leseziel bildet, im Speicherauszugs-Datenträger 330 gespeichert. Demgemäß werden die Daten aus der Blockadresse des Speicherauszugs-Datenträger 330 gelesen, auf die im Schritt 1102 ein Bezug erfolgte (1104).
  • Anschließend werden die Daten des gelesenen Blocks an den Host 100 zurück geliefert, um den Leseprozess abzuschließen.
  • Die 5 ist ein Flussdiagramm zum Veranschaulichen eines Speicherauszugserzeugungsprozesses des Speicherauszugsverwaltungsprogramms 241.
  • Nachdem das Speicherauszugsverwaltungsprogramm 241 eine Speicherauszugserzeugungsanfrage vom Host 100 oder der CPU 220 empfangen hat, registriert es virtuelle Datenträger neuer Generationen in der in der 2A dargestellten Speicherauszugs-Verwaltungstabelle 2610. Dann werden in der in der Speicherauszugs-Verwaltungstabelle 2610 registrierten Generationenverwaltungsbitkarte 2612 Bits, die den neu registrierten virtuellen Datenträgern, entsprechend neu zu erzeugenden Speicherauszügen entsprechen, alle auf "1" gesetzt. Die Blockadressen der virtuellen Datenträger, die den neu zu erzeugenden Speicherauszügen entsprechen, werden alle auf "NICHTS" gesetzt (1201).
  • Als Nächstes werden Daten, die aus einem Bereich des Originaldatenträgers 310 gelesen wurden, der als Ziel zur Speicherauszugserzeugung spezifiziert ist, in den Speicherauszugs-Datenträger 330 geschrieben. Dann werden die im spezifizierten Bereich gespeicherten Daten aus dem Originaldatenträger 310 in den Speicherauszugs-Datenträger 330 kopiert (1202).
  • Anschließend gelangt der Speicherauszugserzeugungsprozess zum Ende.
  • Übrigens werden im Schritt 1201 in der in der Speicherauszugs-Verwaltungstabelle 2610 registrierten Generationenverwaltungsbitkarte 2612 die Werte aller Bits, die den neu erzeugten virtuellen Datenträgern entsprechen, auf "1" gesetzt. Wenn sich jedoch im Originaldatenträger 330 ein unbenutzter Block befindet, wird auch ein diesem unbenutzten Block entsprechender Block im virtuellen Datenträger ein unbenutzter Block. Dabei kann ein Aufbau verwendet werden, bei dem im unbenutzten Block, wie er im neu erzeugten virtuellen Datenträger vorhanden ist, das dem neu erzeugten virtuellen Datenträger entsprechende Bit in der Generationenverwaltungsbitkarte, das dem neu erzeugten virtuellen Datenträger entspricht, nur in einem solchen Block auf "1" gesetzt wird, der nicht der ungenutzte Block ist. Der ungenutzte Block ist ein Block, der nicht der Speicherung von Daten (Datei, Verzeichnis oder dergleichen) zugeordnet ist, sondern der dazu vorbereitet ist, Daten dann zu speichern, wenn eine Datei oder ein Verzeichnis neu erzeugt wird oder eine Größe nachfolgend erhöht wird.
  • Selbst dann wenn eine Schreibanfrage betreffend den unbenutzten Block ausgegeben wird und in diesem gespeicherte Daten aktualisiert werden, erfolgt keine Bezugnahme auf die Daten des ungenutzten Blocks für den Speicherauszug des Dateisystems, und so hat die Datenaktualisierung keinen Einfluss auf den Speicherauszug des Dateisystems. Demgemäß werden, wenn der ungenutzte Abschnitt nach der Speicherauszugserzeugung aktualisiert wird, Daten vor der Aktualisierung nicht in den Speicherauszugs-Datenträger 330 kopiert, wenn die Generationenverwaltungsbitkarte für den ungenutzten Block während der Speicherauszugserzeugung "0" ist, und die Datenaktualisierung im ungenutzten Block spiegelt sich im Speicherauszug wieder, was demgemäß eine Änderung der Daten zum Zeitpunkt der Speicherauszugserzeugung zur Folge hat. Jedoch ergibt sich bei einem Dateisystem unter Verwendung eines Speicherauszugs kein Einfluss auf Daten der darin enthaltenen Datei oder des darin enthaltenen Verzeichnisses. Demgemäß ist es durch Setzen der Generationenverwaltungsbitkarte auf "0" für einen ungenutzten Block, wenn ein Speicherauszug erzeugt wird, möglich, den Umfang erzeugter Unterschiede zu verringern.
  • Als Nächstes wird ein Erzeugungsprozess für den Kopiedatenträger 320 beschrieben.
  • Die 6 ist ein Flussdiagramm zum Veranschaulichen eines Erzeugungsprozesses für den Kopiedatenträger durch das Speicherauszugsverwaltungsprogramm 241.
  • Gemäß dieser Ausführungsform wird eine vollständige Kopie des Originaldatenträgers 310 zu einem vorgegebenen Zeitpunkt als Kopiedatenträger 320 im Speicher abgespeichert.
  • Als Erstes spezifiziert der Host 100 eine im Kopiedatenträger 320 einzutragenden Generation, und er schickt eine Anfrage zum Kopieren des Originaldatenträgers (2001). Zur Generationsspezifizierung kann beispielsweise eine wahlfreie Generation (erste Generation, zweite Generation, oder dergleichen) oder eine Generation unmittelbar vor der Generation betreffend eine Speicherauszugserzeugungsanfrage spezifiziert werden.
  • Nachdem das Speicherauszugsverwaltungsprogramm 241 die Anfrage empfangen hat, kopiert es alle Daten des Originaldatenträgers 310 zum aktuellen Zeitpunkt in den Kopiedatenträger 320 (2002). Genauer gesagt, werden zunächst der Originaldatenträger 310 und der Kopiedatenträger 320 miteinander synchronisiert. Dann werden alle Blöcke des Originaldatenträgers 310 in den Kopiedatenträger 320 kopiert. Demgemäß wird eine Replikation des Originaldatenträgers 310 erzeugt.
  • Nach Abschluss des Kopierens des Originaldatenträgers 310 in den Kopiedatenträger 320 schickt der Host eine Speicherauszugserzeugungsanfrage (2003). Das Speicherauszugsverwaltungsprogramm 241, das diese Speicherauszugserzeugungsanfrage empfangen hat, trennt als Erstes den Originaldatenträger 310 vom Kopiedatenträger 320 (2004). So können sowohl der Originaldatenträger 310 als auch der Kopiedatenträger 320 Zugriffe empfangen. Der Host 100 kann die Trennung des Originaldatenträgers 310 vom Kopiedatenträger 320 anweisen.
  • Als Nächstes wird, unter Bezugnahme auf die Speicherauszugs-Bitkarte 261, Information eines Speicherauszugs-Datenträgers für eine Generation initialisiert (2005). Dann wird Information einer im Kopiedatenträger 320 eingetragenen Generation in die Generationenverwaltungsinformation 262 für den Kopiedatenträger eingetragen (2006).
  • Als Nächstes erfolgt eine Ermittlung dahingehend, ob vom Host 100 eine Schreibanfrage oder eine nächste Speicherauszugserzeugungsanfrage erfolgte oder nicht (2007).
  • Wenn eine Schreibanfrage vom Host vorliegt, geht der Prozess zu einem Schritt 2008 weiter, um den in der 3 dargestellten Schreibprozess auszuführen. Anders gesagt, erfolgt eine Bezugnahme auf die Generationenverwaltungsbitkarte 2612 der Speicherauszugs-Bitkarte 261, und die Daten des Blocks wurden aktualisiert, wenn alle Bits "0" sind. Dann werden Daten in den spezifizierten Block des Originaldatenträgers 310 geschrieben.
  • Wenn andererseits mindestens ein Bit "1" ist, werden Daten des Blocks vor dem Schreibvorgang in den Speicherauszugs-Datenträger kopiert, und sie werden in einen spezifizierten Block des Originaldatenträgers 310 geschrieben.
  • Im Schritt 2007 geht der Prozess zu einem Schritt 2009 weiter, wenn vom Host 100 eine nächste Speicherauszugserzeugungsanfrage eintrifft, d.h. eine Speicherauszugserzeugungsanfrage, die eine Generation spezifiziert, die verschieden von der bei der im Schritt 2003 erfolgten Speicherauszugserzeugungsanfrage ist. Wenn keine derartige Anfragen vorliegen, bleibt der Prozess in Bereitschaft.
  • Im Schritt 2009 erfolgt eine Ermittlung dahingehend, ob das Prozessende angewiesen wurde oder nicht. Wenn kein Prozessende angewiesen wurde, geht der Prozess zu einem Schritt 2010 weiter, und es wird ermittelt, ob die durch die Speicherauszugserzeugungsanfrage des Hosts 100 spezifizierte Generation von einer im Kopiedatenträger 320 eingetragenen Generation verschieden ist oder nicht.
  • Wenn die aktuelle Generation des Kopiedatenträgers 320 der spezifizierten Generation ähnlich ist, geht der Prozess zu einem Schritt 2014 weiter.
  • Wenn dagegen die aktuelle Generation des Kopiedatenträgers 320 von der spezifizierten Generation verschieden ist, geht der Prozess zu einem Schritt 2011 weiter, und es wird ermittelt, ob nach der vorigen Speicherauszugserzeugungsanfrage irgendwelche Schreibanfragen erfolgten oder nicht.
  • Wenn keine Schreibanfrage erfolgte, geht der Prozess zum Schritt 2014 weiter. Wenn eine Schreibanfrage erfolgte, geht der Prozess zu einem Schritt 2012 weiter, es erfolgt eine Neusynchronisation des Originaldatenträgers 310 mit dem Kopiedatenträger 320, und es werden alle Daten des Originaldatenträgers 310 in den Kopiedatenträger 320 kopiert. Nach Abschluss des Kopiervorgangs wird der Originaldatenträger 310 vom Kopiedatenträger 320 getrennt (2013).
  • Wenn im Prozess vom Schritt 2010 zum Schritt 2013, beispielsweise im Schritt 2001, eine Generation des Kopiedatenträgers 320 als solche spezifiziert wird, die um eine Generation vor der der Speicherauszugserzeugungsanfrage liegt, sorgt eine neue Schreibanfrage nach der Speicherauszugserzeugungsanfrage dafür, dass die Generation des Kopiedatenträgers 320 zwei Generationen früher liegt. Demgemäß wird eine Neusynchronisation mit dem Kopiedatenträger 320 ausgeführt, um eine Kopie der um eins früheren spezifizierten Generation zu erhalten.
  • Im Schritt 2014 wird Information eines Speicherauszugs-Datenträgers einer Generation aus der Speicherauszugs-Bitkarte 261 initialisiert. Dann wird Information des Kopiedatenträgers 320 in der Generationsverwaltungsinformation 262 des Kopiedatenträgers registriert.
  • Durch diesen Prozess wird der Kopiedatenträger 320 der spezifizierten Generation erzeugt.
  • Die 7 ist ein Flussdiagramm eines Prozesses zum Erzeugen eines Datenträgers (virtuellen Datenträgers) für eine spezifizierte Generation durch das Datenträgererzeugungsprogramm 242 für eine Generation.
  • Der Host 100 schickt eine Zugriffsanfrage für einen virtuellen Datenträger einer spezifizierten Generation N. Das Datenträgererzeugungsprogramm 242 für eine Generation, das die Zugriffsanfrage empfangen hat, bestimmt, ob die spezifizierte Generation N der aktuellen Generation des Kopiedatenträgers 320 ähnlich ist oder nicht (2201). Da die Information der Generation des Kopiedatenträgers 320 in der Generationsverwaltungsinformation 262 für den Kopiedatenträger gespeichert ist, kann die aktuelle Generation des Kopiedatenträgers unter Bezugnahme auf diese Information erhalten werden.
  • Wenn ermittelt wird, dass die spezifizierte Generation N derjenigen des Kopiedatenträgers 320 ähnlich ist, sind Daten, für die ein Zugriff angefordert wurde, denen des Kopiedatenträgers 320 ähnlich. Demgemäß wird der Host 100 dazu angewiesen, auf den Kopiedatenträger 320 zuzugreifen (2209), und der Prozess wird abgeschlossen. Durch diesen Prozess kann der Host 100 auf den virtuellen Datenträger der spezifizierten Generation N zugreifen.
  • Wenn ermittelt wird, dass die spezifizierte Generation N von der des Kopiedatenträgers 320 verschieden ist, erfolgt als Erstes eine Ermittlung dahingehend, ob die spezifizierte Generation N die Jüngste ist oder nicht (2202). Hinsichtlich der Generationsinformation zum Kopiedatenträger 320 erfolgt eine Bezugnahme auf die Generationsverwaltungsinformation 262 für den Kopiedatenträger.
  • Wenn ermittelt wird, dass die spezifizierte Generation N nicht die Jüngste ist, geht der Prozess zu einem Schritt 2208 weiter, aus dem Kopiedatenträger 320 und dem Speicherauszugs-Datenträger 330 wird ein virtueller Datenträger einer spezifizierten Generation spezifiziert, und der Prozess wird beendet. Genauer gesagt, erfolgt eine Bezugnahme auf die Speicherauszugs-Bitkarte 261, um den virtuellen Datenträger der spezifizierten Generation zu erhalten. In diesem Fall sind die Blockadressen des Originaldatenträgers 310 und des Kopiedatenträger 320 einander ähnlich. Demgemäß wird für einen der Blöcke der spezifizierten Generation, für den Bezugnahme auf den Originaldatenträger 310 besteht, eine Bezugnahme auf den Block des Kopiedatenträgers 320 unter Verwendung der Blockadresse desjenigen Blocks angewiesen, der durch die Blockadresse 2611 des Originaldatenträgers gekennzeichnet ist. Durch diesen Prozess kann der Host 100 auf den virtuellen Datenträger der spezifizierten Generation N zugreifen.
  • Im Schritt 2202 erfolgt, wenn ermittelt wird, dass die spezifizierte Generation N die Jüngste ist, nachdem eine Anfrage betreffend den Speicherauszug der jüngsten Generation erfolgte, eine Ermittlung dahingehend ausgeführt, ob im Originaldatenträger 310 ein Schreibvorgang ausgeführt wurde oder nicht (2203).
  • Wenn ermittelt wird, dass im Originaldatenträger 310 ein Schreibvorgang ausgeführt wurde, wird dieser erneut mit dem Kopiedatenträger 320 synchronisiert, um im Letzteren Daten zu erzeugen, die denen im Ersteren ähnlich sind (2204). Dann wird der Originaldatenträger 310 vom Kopiedatenträger 320 abgetrennt (2205). Zu diesem Zeitpunkt sind die Daten im Kopiedatenträger 320 denen im Originaldatenträger 310 ähnlich, d.h., sie befinden sich im jüngsten Zustand. Als Nächstes wird Information des Kopiedatenträgers 320 in der Generationsverwaltungsinformation 262 des Kopiedatenträgers registriert (2206). Dann wird Zugriff auf den Kopiedatenträger 320 angewiesen (2207), um den Prozess zu beenden. Durch diesen Prozess kann der Host 100 auf den virtuellen Datenträger der spezifizierten Generation N zugreifen.
  • Wenn im Schritt 2203 kein Schreibvorgang ermittelt wird, sind Daten, für die ein Zugriff angefragt wurde, denen des Kopiedatenträgers 320 ähnlich. Demgemäß wird der Host 100 dazu angewiesen, auf den Kopiedatenträger 320 zuzugreifen (2207), um den Prozess zu beenden. Durch diesen Prozess kann der Host 100 auf den virtuellen Datenträger der spezifizierten Generation N zugreifen.
  • Die 8 ist ein Flussdiagramm zum Veranschaulichen eines Prozesses zum Erzeugen eines Datenträgers (virtuellen Datenträgers) einer spezifizierten Generation durch das Datenträgererzeugungsprogramm 242 für eine Generation. Gemäß diesem Prozess werden, wenn im Kopiedatenträger 320 eine Störung oder dergleichen auftritt, Daten desselben in einem neuen Laufwerk (logischen Datenträger) erzeugt, um den Kopiedatenträger 320 wieder herzustellen.
  • Der Host 100 erfasst das Auftreten einer Störung oder dergleichen im Kopiedatenträger 320, und er schickt eine Anfrage zum Erzeugen einer Generation N des Kopiedatenträgers 320 als neuen Datenträger. Das Datenträgererzeugungsprogramm 242 für eine Generation, das die Anfrage empfangen hat, ermittelt als Erstes, ob die spezifizierte Generation N die jüngste Generation ist oder nicht (2401). Wenn ermittelt wird, dass die spezifizierte Generation N die Jüngste ist, werden, da die Daten des Originaldatenträgers 310 denen des Kopiedatenträgers 320 ähnlich sind, die Daten des Originaldatenträgers 310 in den der Wiederherstellung dienenden logischen Zieldatenträger kopiert. Dabei werden, unter Verwendung von Information des logischen Datenträgers als Information des Kopiedatenträgers 320, Abbildungsinformation der Speicherauszugs-Bitkarte 261, die Generationsverwaltungsinformation 262 des Kopiedatenträgers oder dergleichen verändert, um den Prozess zu beenden (2402).
  • Wenn andererseits ermittelt wird, dass die spezifizierte Generation N nicht die Jüngste ist, wird ein Datenträger einer Generation vor dem Zeitpunkt der letzten Speicherauszugserzeugungsanfrage in einem neuen logischen Datenträger vom Originaldatenträger 310 und Speicherauszugs-Datenträger 330 erzeugt (2403). Genauer gesagt, wird ein virtueller Datenträger einer Generation zum Zeitpunkt der letzten Speicherauszugserzeugungsanfrage aus dem aktuellen Originaldatenträger 310 und dem aktuellen Speicherauszugs-Datenträger 330 in einen neuen logischen Datenträger kopiert.
  • Als Nächstes wird ein virtueller Datenträger der spezifizierten Generation auf Grundlage von Daten der logischen Datenträger erzeugt, d.h. Daten des Originaldatenträgers 310 und des Speicherauszugs-Datenträgers 330 der Generation zum Zeitpunkt des letzten Speicherauszugs, und es erfolgt ein Kopieren in den der Wiederherstellung dienenden logischen Zieldatenträger des Kopiedatenträgers 320 (2404).
  • Genauer gesagt, wird der virtuelle Datenträger der spezifizierten Generation unter Bezugnahme auf die Speichenauszugs-Bitkarte 261 erhalten. In diesem Fall sind Blockadressen der Daten des logischen Datenträgers der Generation zum Zeitpunkt des letzten Speicherauszugs und des Originaldatenträgers 310 einander ähnlich. Demgemäß erfolgt für einen der Blöcke der spezifizierten Generation, der auf den Originaldatenträger 310 bezogen ist, eine Bezugnahme auf einen Block des logischen Datenträgers unter Verwendung der Blockadresse des Blocks, der durch eine Blockadresse 2611 des Originaldatenträgers gekennzeichnet ist.
  • Durch diesen Prozess wird, da der virtuelle Datenträger der spezifizierten Generation erhalten werden kann, der virtuelle Datenträger in den der Wiederherstellung dienenden logischen Zieldatenträger des Kopiedatenträgers 320 kopiert.
  • Durch den Prozess zum Erzeugen eines virtuellen Datenträgers ist es möglich, wenn im Kopiedatenträger eine Störung auftritt, den Kopiedatenträger aus dem Originaldatenträger 310 und dem Speicherauszugs-Datenträger 330 in einem neuen logischen Datenträger wieder herzustellen.
  • Die 9 ist ein Flussdiagramm zum Veranschaulichen eines Prozesses zum wieder Herstellen des Originaldatenträgers 310 durch das Programm 243 zum wieder Herstellen des Originaldatenträgers.
  • Aufgrund einer Störung oder dergleichen im Originaldatenträger 310 schickt der Host 100 eine Anfrage zum Erzeugen des Originaldatenträgers 310 als neuen Datenträger einer spezifizierten Generation N. Das Programm 243 zum wieder Herstellen des Originaldatenträgers, das die Anfrage empfangen hat, ermittelt als Erstes, ob die spezifizierte Generation N eine Generation des Kopiedatenträgers 320 ist oder nicht (2601). Wenn die spezifizierte Generation N derjenigen des Kopiedatenträgers 320 ähnlich ist, können Daten des Kopiedatenträgers 320 direkt als solche des Originaldatenträgers 310 verwendet werden. Demgemäß wird der Kopiedatenträger 320 auf Information des Originaldatenträgers 310 geändert, und die Abbildungsinformation der Speicherauszugs-Bitkarte 261, die Generationsverwaltungsinformation 262 des Kopiedatenträgers, oder dergleichen wird geändert, um den Prozess zu beenden (2606).
  • Wenn andererseits die Generation des Kopiedatenträgers 320 von der spezifizierten Generation N verschieden ist, werden als Erstes, unter Bezugnahme auf die Speicherauszugs-Bitkarte 261, für eine Blockadresse der spezifizierten Generation, die den Speicherauszugs-Datenträger 330 kennzeichnet, Daten an der Blockadresse im Kopiedatenträger 320 überschrieben (2602).
  • Als Nächstes wird eine Generationsnummer des aktuellen Originaldatenträgers 310 abgespeichert (2603).
  • Als Nächstes werden Daten der Generationen (Generation N + 1 und danach), die neuer als die spezifizierte Generation N des Kopiedatenträgers 320 und des Speicherauszugs-Datenträgers 330 sind, verworfen. Ferner werden Daten der Speicherauszugs-Bitkarte 261 verworfen (2604).
  • Als Nächstes wird Information der Speicherauszugs-Bitkarte 261 in eine Arbeitsspeicher des aktuellen Kopiedatenträgers 320 aktualisiert. Die Blockadressen des Originaldatenträgers 310 und des Kopiedatenträgers 320 sind ähnlich, mit dem Ergebnis, dass die Adresse zu einer Blockadresse eines neu wieder hergestellten Originaldatenträgers wird (2605).
  • Dann wird Abbildungsinformation des Kopiedatenträgers 320 auf Information des Originaldatenträgers 310 geändert. Genauer gesagt, wird der Kopiedatenträger 320 auf den Originaldatenträger 310 geändert, dass die Abbildungsinformation der Speicherauszugs-Bitkarte 261, die Generationsverwaltungsinformation 262 des Kopiedatenträgers oder dergleichen geändert werden. Dann wird der Prozess beendet (2606).
  • Durch den obigen Prozess ist es möglich, wenn im Originaldatenträger 310 eine Störung auftritt, dasselbe aus dem Kopiedatenträger 320 und dem Speicherauszugs-Datenträger 330 in einen neuen logischen Datenträger wieder herzustellen.
  • Die 10 ist ein Flussdiagramm zum Veranschaulichen eines Prozesses zum Erzeugen eines Datenträgers (virtuellen Datenträgers) für eine spezifizierte Generation durch das Datenträgererzeugungsprogramm 242 für eine Generation. Gemäß diesem Prozess erfolgt, wenn im Speicherauszugs-Datenträger 330 oder dergleichen eine Störung auftritt, ein Zugriff auf den virtuellen Datenträger der spezifizierten Generation, ohne dass irgendwelche Speicherauszugs-Datenträger verwendet werden.
  • Der Host 100 sendet eine Zugriffsanfrage für einen virtuellen Datenträger einer spezifizierten Generation N. Das Datenträgererzeugungsprogramm 242 für eine Generation, das die Anfrage empfangen hat, ermittelt, ob die spezifizierte Generation N die Jüngste Generation ist oder nicht (2701). Es sei darauf hingewiesen, dass Generationsinformation für den Kopiedatenträger 320 un ter Bezugnahme auf die Generationsverwaltungsinformation 262 des Kopiedatenträgers erhalten wird.
  • Wenn im Schritt 2701 ermittelt wird, dass die spezifizierte Generation N die Jüngste ist, erfolgt, nachdem eine Anfrage für einen Speicherauszug der jüngsten Generation erfolgte, eine Ermittlung dahingehend, ob im Originaldatenträger 310 ein Schreibvorgang ausgeführt wurde oder nicht (2702).
  • Wenn ermittelt wird, dass im Originaldatenträger 310 ein Schreibvorgang ausgeführt wurde, wird der Originaldatenträger 310 neu mit dem Kopiedatenträger 320 synchronisiert, um Daten des Letzteren zu erzeugen, die zu denen des Ersteren ähnlich sind (2703). Dann wird der Originaldatenträger 310 vom Kopiedatenträger 320 abgetrennt (2704). Zu diesem Zeitpunkt sind die Daten des Kopiedatenträgers 320 denen des Originaldatenträgers 310 ähnlich, d.h., sie befinden sich im jüngsten Zustand.
  • Als Nächstes wird Information des Kopiedatenträgers 320 in der Generationsverwaltungsinformation 262 für den Kopiedatenträger registriert (2705).
  • Dann wird ein Zugriff auf den Kopiedatenträger 320 angewiesen (2706), um den Prozess zu beenden. Durch diesen Prozess kann der Host 100 auf den virtuellen Datenträger der spezifizierten Generation N zugreifen.
  • Wenn im Schritt 2702 kein Schreibvorgang ermittelt wird, sind Daten, für die ein Zugriff angefragt wurde, denen des Kopiedatenträgers 320 ähnlich. Demgemäß wird der Host 100 dazu angewiesen, auf den Kopiedatenträger 320 zuzugreifen (2703), um den Prozess zu beenden. Durch diesen Prozess kann der Host 100 auf den virtuellen Datenträger der spezifizierten Generation N zugreifen.
  • Wenn im Schritt 2701 ermittelt wird, dass die spezifizierte Generation N nicht die Jüngste ist, geht der Prozess zu einem Schritt 2707 weiter, und es wird ermittelt, ob die spezifizierte Generation N derjenigen des aktuellen Kopiedatenträgers 320 ähnlich ist oder nicht.
  • Wenn die spezifizierte Generation N derjenigen des aktuellen Kopiedatenträgers 320 ähnlich ist, wird Information des Kopiedatenträgers 320 in der Generationsverwaltungsinformation 262 des Kopiedatenträgers registriert (2705).
  • Als Nächstes wird ein Zugriff auf den Kopiedatenträger 320 angewiesen (2706), um den Prozess zu beenden. Durch diesen Prozess kann der Host 100 auf den virtuellen Datenträger der spezifizierten Generation N zugreifen.
  • Wenn andererseits im Schritt 2707 ermittelt wird, dass die spezifizierte Generation N nicht der des aktuellen Kopiedatenträgers 320 ähnlich ist, befindet sich die Generation N an einer im Speicherauszugs-Datenträger 330 gespeicherten Blockadresse. Jedoch ist ein Schreibvorgang im Speicherauszugs-Datenträger 330 aufgrund der Störung nicht möglich. So sendet das Datenträgererzeugungsprogramm 242 für eine Generation an den Host 100, der den Zugriff ausführt, eine Meldung, dass kein virtueller Datenträger der Generation N erzeugt werden kann (2708), und es beendet den Prozess.
  • Die 11 ist ein Flussdiagramm zum Veranschaulichen eines Kapazitätsverwaltungsprozesses für den Speicherauszugs-Datenträger 330 durch das Speicherauszugsdatenträger-Kapazitätsverwaltungsprogramm 244.
  • Das Speicherauszugsdatenträger-Kapazitätsverwaltungsprogramm 244 wird dann gestartet, wenn im Speicherauszugs-Datenträger 330 eine Schreibanfrage (Aktualisierung) empfangen wird. Das Programm 244 überwacht den Gesamtnutzungsumfang des Speicherauszugs-Datenträgers 330, damit ein vorbestimmter Schwellenwert nicht überschritten wird. Falls ein Überschreiten vorliegt, wird ein Prozess wie ein Backupvorgang in die Bandbibliothek 400 ausgeführt.
  • Das Speicherauszugsdatenträger-Kapazitätsverwaltungsprogramm 244 ermittelt als Erstes, ob im Speicherauszugs-Datenträger 330 ein Schreibvorgang ausgeführt wurde oder nicht (2901). Wenn kein Schreibvorgang ausgeführt wurde, steht der Prozess in Bereitschaft, bis ein Schreibvorgang ausgeführt wird.
  • Wenn ermittelt, dass ein Schreibvorgang ausgeführt wurde, erfolgt eine Ermittlung dahingehend, ob der Gesamtnutzungsumfang des Speicherauszugs-Datenträgers 330 der vorbestimmten Schwelle gleich oder höher wird, oder ob dies nicht der Fall ist (2902). Der Nutzungsumfang des Speicherauszugs-Datenträgers 330 wurde in der Kapazitätsverwaltungsinformation 264 gespeichert, die beim Zugriff auf den Speicherauszugs-Datenträger 330 registriert wurde. Wenn der Gesamtnutzungsumfang des Speicherauszugs-Datenträgers kleiner als die vorbestimmte Schwelle ist, kehrt der Prozess zum Schritt 2901 zurück. Wenn der Gesamtnutzungsumfang des Speicherauszugs-Datenträgers der vorbestimmten Schwelle gleich ist oder höher ist, wird in den Daten des Speicherauszugs-Datenträgers 330 nach einer Generation niedriger Priorität (Generation M) gesucht.
  • Zur Prioritätsermittlung werden eine Generation, die Daten enthält, auf die seit dem letzten Zugriff eine vorbestimmte Zeit nicht zugegriffen wurde, eine Generation mit Daten geringer Zugriffshäufigkeit sowie eine Generation mit dem größten Datenvolumen als von niedriger Priorität beurteilt.
  • Als Nächstes wird ein Datenträger für die gesuchte Generation M niedriger Priorität erzeugt (2904). In diesem Fall kann ein Zugriff als virtueller Datenträger akzeptiert werden, oder der Datenträger kann in einen neuen logischen Datenträger kopiert werden. Dann erfolgt für den Datenträger der Generation M ein Backupvorgang in der Bandbibliothek 400 (2905).
  • Als Nächstes wird Information der Generation M gelöscht (2906). Genauer gesagt, werden Daten, auf die nur die Generation M Bezug nimmt, dadurch spezifiziert, dass auf die Speicherauszugsblock-Verwaltungstabelle 2620 Bezug genommen wird. Dann werden die spezifizierten Daten, auf die nur die Generation M Bezug nimmt, aus dem Speicherauszugs-Datenträger 330 gelöscht. Anschließend wird die Information der Generation M aus der Speicherauszugs-Bitkarte 261 gelöscht.
  • Durch diesen Prozess kann der Nutzungsumfang des Speicherauszugs-Datenträgers 330 auf einen Datenträger eingestellt werden, der die vorbestimmte Schwelle nicht überschreitet.
  • Die Kapazität des Speicherauszugs-Datenträgers 330 kann durch Spezifizierung durch den Benutzer dynamisch verwaltet werden. Wenn beispielsweise der Benutzer die Anzahl der Generationen spezifiziert werden, wenn die Kapazität des Speicherauszugs-Datenträgers 330 bei einer Anzahl von Generationen, die kleiner als die spezifizierte Anzahl von Generationen ist, die Obergrenze erreicht, Daten der alten Generationen einem Backupvorgang für Speicherung in der Bandbibliothek 400 unterzogen. Wenn der Benutzer die Kapazität des Speicherauszugs-Datenträgers 330 spezifiziert, werden Daten der alten Generationen durch einen Backupvorgang in der Bandbibliothek 400 gespeichert, bis die spezifizierte Kapazität gewährleistet werden kann. Anstelle eines Backupvorgangs für Speicherung in der Bandbibliothek 400 können die Daten der Genera tionen gelöscht werden. Der Benutzer kann einen Backupvorgang für Speicherung in der Bandbibliothek 400 anweisen. Der Benutzer kann das Löschen der Daten der Generationen anweisen.
  • Als Nächstes wird ein Betriebsbeispiel beschrieben, bei dem das Speichersystem angewandt ist.
  • Die 12 zeigt ein Beispiel zum wieder Herstellen von Daten des Originaldatenträgers 310 auf solche vor einem illegalen Schreibvorgang, wenn in der Speichersteuereinheit 200 ein illegaler Schreibvorgang in der Vergangenheit erkannt wird.
  • Wenn der Benutzer einen illegalen Schreibvorgang entdeckt, wird der folgende Prozess ausgeführt.
  • Als Erstes nimmt der Benutzer auf die Speicherauszugsinformation 263 im gemeinsamen Arbeitsspeicher der Speichersteuereinheit 200 durch den Host 100 Bezug. In der Speicherauszugsinformation 263 sind die Zeit und die Generationsnummer eines Speicherauszugs gespeichert. So erhält der Benutzer die Generationsnummer (Generation L), die zum Zeitpunkt vor dem Zeitpunkt illegalen Schreibens registriert wurde (3001).
  • Als Nächstes schickt der Benutzer eine Anfrage zum Zurückstellen des Originaldatenträgers 310 auf die Generation L an die Speichersteuereinheit 200 (3002).
  • In der Speichersteuereinheit 200, die die Anfrage empfangen hat, stellt das Wiederherstellprogramm 243 für den Originaldatenträger den Originaldatenträger mit der spezifizierten Generation L wieder her. Genauer gesagt, werden als Erstes virtuelle Datenträger der Generation L unter Bezugnahme auf die Speicherauszugs-Bitkarte 261 erhalten. Für einen virtuellen Datenträger unter denen der Generation L, der eine Blockadresse des Speicherauszugs-Datenträgers 330 angibt, wird die zugehörige Blockadresse in den Originaldatenträger 310 kopiert. Demgemäß wird der Originaldatenträger 310 der spezifizierten Generation L erzeugt (3003).
  • Nachdem der Originaldatenträger 310 zur Generation L wurde, wird Information zu Generationen, die neuer als die Generation L sind, gelöscht (3004).
  • Dann wird der Originaldatenträger 10 neu mit dem Kopiedatenträger 320 synchronisiert, um Daten des Letzteren zu erzeugen, die denen des Ersteren ähnlich sind (3005). Anschließend wird der Originaldatenträger 310 vom Kopiedatenträger 320 getrennt (3006). So werden die Daten des Kopiedatenträgers 320 denen des Originaldatenträgers 310 ähnlich.
  • Durch diesen Prozess kann der Originaldatenträger 310 durch Spezifizierung durch den Benutzer auf eine optionale Generation in der Vergangenheit wieder hergestellt werden. Es sei darauf hingewiesen, dass anstelle einer wieder Herstellung des Originaldatenträgers 310 auf die spezifizierte Generation der Kopiedatenträger 320 auf die spezifizierte Generation L gesetzt werden kann und dann Abbildungsinformation geändert werden kann, um den Kopiedatenträger der Generation L auf den Originaldatenträger 310 zu ändern.
  • Die 10 zeigt ein anderes Betriebsbeispiel, bei dem das Speichersystem angewandt ist.
  • Der Benutzer sendet vom Host 100 den Zeitpunkt eines illegalen Schreibvorgangs sowie eine Wiederherstellungsanfrage für den Originaldatenträger an die Speichersteuereinheit 200. Nachdem die Speichersteuereinheit 200 die Wiederherstellungsanfrage empfangen hat, stellt sie automatisch die Daten des Originaldatenträgers 310 auf diejenigen vor dem Zeitpunkt des illegalen Schreibvorgangs wieder her.
  • Wenn der Benutzer einen illegalen Schreibvorgang entdeckt, wird der folgende Prozess ausgeführt.
  • Als Erstes sendet der Benutzer den Zeitpunkt des illegalen Schreibens und eine Anfrage zum wieder Herstellen des Originaldatenträgers auf den einer Generation unmittelbar vor diesem Zeitpunkt (3101).
  • In der Speichersteuereinheit 200, die die Anfrage empfangen hat, erhält das Wiederherstellprogramm 243 für den Originaldatenträger den spezifizierten Zeitpunkt, und es sucht nach einer Generation unmittelbar vor diesem (3102). Genauer gesagt, wird nach einer Generation K gesucht, die die folgende Formel erfüllt, in der "T3" der spezifizierte Zeitpunkt ist und TK der Speicherauszugszeitpunkt der Generation K ist: TK < T3 < TK + 1
  • Durch diese Formel wird die Generation K erhalten, für die der Zeitpunkt des Speicherauszugsvorgangs für die Generation K vor dem spezifizierten Zeitpunkt T3 liegt, und der Zeitpunkt eines Speicherauszugsvorgangs für eine Generation K + 1 als auf die Generation K folgende Generation liegt nach dem spezifizierten Zeitpunkt T3. Alternativ wird nach einer Generation K gesucht, die die folgende Formel erfüllt: TK = T3
  • Durch diese Formel wird die Generation K erhalten, für die der Zeitpunkt des Speicherauszugsvorgangs für die Generation K dem spezifizierten Zeitpunkt T3 ähnlich ist.
  • So wird die Generation K unmittelbar vor dem spezifizierten Zeitpunkt T3 erhalten.
  • Als Nächstes wird der Originaldatenträger 310 auf die erhaltene Generation K wieder hergestellt.
  • Genauer gesagt, werden virtuelle Datenträger der Generation K durch Bezugnahme auf die Speicherauszugs-Bitkarte 261 erhalten. Für einen der virtuellen Datenträger der Generation K, der eine Blockadresse des Speicherauszugs-Datenträgers 330 angibt, wird die Blockadresse in den Kopiedatenträger 310 kopiert. Demgemäß wird der Originaldatenträger 310 der spezifizierten Generation K erzeugt (3103).
  • Nachdem der Originaldatenträger 310 zur Generation K wurde, wird Information zu Generationen, die neuer als die Generation K sind, gelöscht (3104).
  • Dann wird der Originaldatenträger 310 wieder mit dem Kopiedatenträger 320 synchronisiert, um Daten des Letzteren zu erzeugen, die denen des Ersteren ähnlich sind (3105). Anschließend wird der Originaldatenträger 310 vom Kopiedatenträger 320 getrennt (3106). Demgemäß werden die Daten des Kopiedatenträgers denen des Originaldatenträgers 310 ähnlich.
  • Durch diesen Prozess, kann, durch Spezifizieren der Zeit durch den Benutzer, der Originaldatenträger 310 auf eine wahlfreie Generation in der Vergangen heit wieder hergestellt werden. Es sei darauf hingewiesen, dass anstelle einer Wiederherstellung des Originaldatenträgers 310 auf die spezifizierte Generation der Kopiedatenträger 320 auf die spezifizierte Generation K gesetzt werden kann und dann Abbildungsinformation geändert werden kann, um den Kopiedatenträger der Generation K auf den Originaldatenträger 310 zu ändern.
  • Wie oben beschrieben, kann beim Speichersystem gemäß der ersten Ausführungsform der Erfindung der Datenträger der spezifizierten Generation erhalten werden, da der Speicher 300 den Originaldatenträger 310, den Kopiedatenträger 320 zum Speichern einer vollständigen Kopie des Originaldatenträgers 310 zu einem vorgegebenen Zeitpunkt sowie den Speicherauszugs-Datenträger 330 zum wieder Herstellen des Speicherauszugs der in den Originaldatenträger 310 geschriebenen Daten enthält. So ist es möglich, die Backupdaten für die spezifizierte Generation im Speichersystem zu speichern und auf die Daten der spezifizierten Generation zuzugreifen und einen Backupvorgang für sie auszuführen, ohne eine Bandbibliothek oder andere derartige Vorrichtungen mit niedriger Kommunikationsgeschwindigkeit zu verwenden, während die Speicherkapazität niedrig gehalten wird.
  • Als Nächstes wird eine zweite Ausführungsform der Erfindung beschrieben.
  • Gemäß der zweiten Ausführungsform der Erfindung führt ein Kopiedatenträger 320 einen Backupvorgang für Daten in Echtzeit zum Zeitpunkt eines Zugriffs auf einen Originaldatenträger aus, anstatt dass eine Kopie von Daten einer spezifizierten Generation erhalten wird. Komponenten, die denen bei der ersten Ausführungsform ähnlich sind, sind durch ähnliche Bezugszahlen gekennzeichnet, und eine zugehörige Beschreibung wird weggelassen.
  • Die 14 ist ein Flussdiagramm zum Veranschaulichen eines Erzeugungsprozesses für einen Kopiedatenträger in einem Speicherauszugsverwaltungsprogramm 241 gemäß der zweiten Ausführungsform der Erfindung. Die 14 ist der 6 ähnlich, jedoch werden Daten des Kopiedatenträgers 320 immer aktualisiert, wenn von einem Host 100 eine Schreibanfrage eintrifft.
  • Nach dem Start des Prozesses kopiert das Speicherauszugsverwaltungsprogramm 241 alle Daten des Originaldatenträgers 310 zum aktuellen Zeitpunkt in den Kopiedatenträger 320 (2101). Genauer gesagt, werden der Originaldatenträger 310 und der Kopiedatenträger 320 miteinander synchronisiert. Dann werden alle Blöcke des Originaldatenträgers 310 in den Kopiedatenträger 320 kopiert. Demgemäß wird eine Kopie des Originaldatenträgers 310 erzeugt.
  • Nach Abschluss des Kopierens des Originaldatenträgers 310 in den Kopiedatenträger 320 schickt der Host 100 eine Speicherauszugserzeugungsanfrage (2102). Das Speicherauszugsverwaltungsprogramm 241, das die Speicherauszugserzeugungsanfrage empfangen hat, trennt als Erstes den Originaldatenträger vom Kopiedatenträger. Dann wird, unter Bezugnahme auf eine Speicherauszugs-Bitkarte 261, Information eines Speicherauszugs-Datenträgers einer Generation initialisiert (2103).
  • Als Nächstes erfolgt eine Ermittlung dahingehend, ob eine Schreibanfrage oder eine nächste Speicherauszugserzeugungsanfrage vom Host 100 erfolgte oder nicht (2104).
  • Wenn eine Schreibanfrage vom Host vorliegt, geht der Prozess zu einem Schritt 2105 weiter, um den in der 3 dargestellten Schreibvorgang auszuführen. Anders gesagt, erfolgt eine Bezugnahme auf eine Generationenverwaltungsbitkarte 2612 in der Speicherauszugs-Bitkarte 261, wobei die Daten des Blocks aktualisiert wurden, wenn alle Bits "0" sind. Dann werden Daten in den spezifizierten Block des Originaldatenträgers 310 geschrieben.
  • Wenn andererseits mindestens ein Bit "1" ist, werden Daten des Blocks vor dem Schreibvorgang in den Speicherauszugs-Datenträger kopiert, und sie werden in einen spezifizierten Block des Originaldatenträgers 310 geschrieben.
  • Nach Abschluss des Schreibprozesses werden in den Originaldatenträger 310 geschriebene Daten (aktualisierter Block) auch in den Kopiedatenträger 320 geschrieben (2106).
  • Wenn im Schritt 2104 eine nächste Speicherauszugserzeugungsanfrage vom Host 100 eintrifft, d.h. eine Speicherauszugserzeugungsanfrage, die eine Generation spezifiziert, die verschieden von der der im Schritt 2102 erfolgten Speicherauszugserzeugungsanfrage ist, geht der Prozess zu einem Schritt 2107 weiter. Wenn keine derartige Anfragen vorliegen, wird der Prozess wiederholt, und er wartet auf eine Anfrage.
  • Im Schritt 2107 wird ermittelt, ob der Prozess zu beenden ist oder nicht. Wenn der Prozess nicht beendet wird, kehrt er zum Schritt 2104 zurück, und es erfolgt eine Vorbereitung für eine Schreibanfrage vom Host 100.
  • Durch diesen Prozess wird, wenn vom Host 100 eine Anfrage zum Schreiben in den Block des Originaldatenträgers 310 eintrifft, ein Schreibvorgang in einen ähnlichen Block des Kopiedatenträgers 320 ausgeführt, und es wird immer eine Kopie gespeichert, die dem Zustand des Originaldatenträgers 310 ähnlich ist.
  • Die 15 ist ein Flussdiagramm zum Veranschaulichen eines Prozesses zum Erzeugen eines spezifizierten Generations-Datenträgers (virtuellen Datenträgers) durch ein Datenträgererzeugungsprogramm 242 für eine Generation gemäß der zweiten Ausführungsform der Erfindung. Die 15 ist der 7 ähnlich, jedoch enthält der Kopiedatenträger 320 immer eine Kopie von Daten des Originaldatenträgers 310.
  • Der Host 100 schickt eine Zugriffsanfrage für einen virtuellen Datenträger einer spezifizierten Generation N. Das Datenträgererzeugungsprogramm 242 für eine Generation, das die Anfrage empfangen hat, trennt den Originaldatenträger 310 vom Kopiedatenträger 320 (2301).
  • Als Nächstes wird die Generationsinformation des aktuellen Kopiedatenträgers 320 in einer Generationsverwaltungsinformation 262 des Kopiedatenträgers registriert (2302). Dann werden Daten der Speicherauszugs-Bitkarte 261 aktualisiert.
  • Als Nächstes erfolgt eine Ermittlung dahingehend, ob die durch den Host 100 spezifizierte Generation N die Jüngste ist oder nicht (2302). Wenn die spezifizierte Generation N als die Jüngste ermittelt wird, sind Daten, für die ein Zugriff angefragt wurde, denen des Kopiedatenträgers 320 ähnlich. Demgemäß wird der Host 100 dazu angewiesen, auf den Kopiedatenträger 320 zuzugreifen (2304), um den Prozess zu beenden. Durch diesen Prozess kann der Host 100 auf einen virtuellen Datenträger der spezifizierten Generation N zugreifen.
  • Wenn andererseits ermittelt wird, dass die spezifizierte Generation N nicht die Jüngste ist, geht der Prozess zu einem Schritt 2208 weiter, es wird ein virtueller Datenträger einer spezifizierten Generation aus dem Kopiedatenträger 320 und dem Speicherauszugs-Datenträger 330 spezifiziert, und der Prozess wird beendet (2305). Genauer gesagt, erfolgt eine Bezugnahme auf die Speicherauszugs-Bitkarte 261, um den virtuellen Datenträger der spezifizierten Generation zu erhalten. In diesem Fall sind Blockadressen des Originaldatenträgers 310 und des Kopiedatenträgers 320 einander ähnlich. Demgemäß erfolgt für einen der Blöcke der spezifizierten Generation, der auf den Originaldatenträger 320 Bezug nimmt, unter Verwendung der Blockadresse des Blocks, der durch die Blockadresse 2611 des Originaldatenträgers gekennzeichnet ist, eine Bezugnahme auf den Block des Kopiedatenträgers 320. Durch diesen Prozess kann der Host 100 auf den virtuellen Datenträger der spezifizierten Generation N zugreifen.
  • Durch diesen Prozess kann selbst bei einem Aufbau, bei dem die Daten des Originaldatenträgers 310 und des Kopiedatenträgers 320 immer miteinander synchronisiert sind, ein Zugriff vom Host auf den spezifizierten Generations-Datenträger erfolgen.
  • Die 16 ist ein Flussdiagramm zum Veranschaulichen eines Prozesses zum Erzeugen eines Datenträgers (virtuellen Datenträgers) für eine spezifizierte Generation durch ein Datenträgererzeugungsprogramm 242 für eine Generation gemäß der zweiten Ausführungsform der Erfindung. Gemäß diesem Prozess werden, wenn im Kopiedatenträger 320 eine Störung oder dergleichen auftritt, Daten des Kopiedatenträgers 320 in einem neuen Laufwerk (logischer Datenträger) erzeugt, um den Kopiedatenträger 320 wieder herzustellen. Die 16 ist der 8 ähnlich, jedoch enthält der Kopiedatenträger 320 immer eine Kopie von Daten des Originaldatenträgers 310.
  • Der Host 100 erkennt das Auftreten einer Störung oder dergleichen im Kopiedatenträger 320, und er sendet eine Anfrage zum Erzeugen einer Generation N des Kopiedatenträgers 320 als neuen Datenträger. Das Datenträgererzeugungsprogramm 242 für eine Generation, das die Anfrage empfangen hat, ermittelt als Erstes, ob die spezifizierte Generation N die jüngste Generation ist oder nicht (2501). Wenn ermittelt wird, dass die spezifizierte Generation N die Jüngste ist, werden, da Daten des Originaldatenträgers 310 denen des Kopiedatenträgers 320 ähnlich sind, die Daten des Originaldatenträgers 310 in den das Wiederherstellziel bildenden logischen Datenträger kopiert.
  • Zu diesem Zeitpunkt wird, unter Verwendung von Information des logischen Datenträgers als Information des Kopiedatenträgers 320, Abbildungsinformation der Speicherauszugs-Bitkarte 261, die Generationsverwaltungsinformation 262 für den Kopiedatenträger oder dergleichen geändert, um den Prozess zu beenden (2502).
  • Wenn andererseits ermittelt wird, dass die spezifizierte Generation N nicht die Jüngste ist, wird aus dem Originaldatenträger 310 und dem Speicherauszugs-Datenträger 330 ein Datenträger der spezifizierten Generation N in einem neuen logischen Datenträger erzeugt (2503).
  • Anders gesagt, wird aus Daten des Originaldatenträgers 310 sowie Daten des Speicherauszugs-Datenträgers 330 ein virtueller Datenträger der spezifizierten Generation erzeugt und in einen das Wiederherstellziel bildenden logischen Datenträger des Kopiedatenträgers 320 kopiert. Genauer gesagt, wird der virtuelle Datenträger der spezifizierten Generation unter Bezugnahme auf die Speicherauszugs-Bitkarte 261 erhalten.
  • Durch diesen Prozess wird, da der virtuelle Datenträger der spezifizierten Generation erhalten werden kann, der virtuelle Datenträger in den das Wiederherstellziel bildenden logischen Datenträger des Kopiedatenträgers 320 kopiert.
  • Durch den Datenträgererzeugungsprozess ist es möglich, wenn im Kopiedatenträger eine Störung auftritt, denselben aus dem Originaldatenträger 310 und dem Speicherauszugs-Datenträger 330 als neuen logischen Datenträger wieder herzustellen.
  • Die 17 ist ein Flussdiagramm zum Veranschaulichen eines Prozesses zum Erzeugen eines spezifizierten Generations-Datenträgers (virtuellen Datenträgers) durch das Datenträgererzeugungsprogramm 242 für eine Generation gemäß der zweiten Ausführungsform der Erfindung. Gemäß diesem Prozess erfolgt, wenn im Speicherauszugs-Datenträger 330 eine Störung oder dergleichen auftritt, ein Zugriff auf den virtuellen Datenträger der spezifizierten Generation, ohne dass irgendwelche Speicherauszugs-Datenträger verwendet würden. Die 17 ist der 10 ähnlich, jedoch enthält der Kopiedatenträger 320 immer eine Kopie von Daten des Originaldatenträgers 310.
  • Der Host 100 sendet eine Anfrage für Zugriff auf einen virtuellen Datenträger einer spezifizierten Generation N. Das Datenträgererzeugungsprogramm 242 für eine Generation, das die Anfrage empfangen hat, ermittelt, ob die spezifizierte Generation N die jüngste Generation ist oder nicht (2801). Es sei darauf hingewiesen, dass Generationsinformation für den Kopiedatenträger 320 durch Bezugnahme auf die Generationsverwaltungsinformation 262 für den Kopiedatenträger erhalten wird.
  • Wenn im Schritt 2801 ermittelt wird, dass die spezifizierte Generation N die Jüngste ist, wird Information des Kopiedatenträgers 320 in der Generationsverwaltungsinformation 262 des Kopiedatenträgers registriert (2802). Als Nächstes wird ein Zugriff auf den Kopiedatenträger angewiesen (2803), um den Prozess zu beenden. Durch diesen Prozess kann der Host 100 auf den virtuellen Datenträger der spezifizierten Generation N zugreifen.
  • Wenn im Schritt 2801 ermittelt wird, dass die spezifizierte Generation N nicht die Jüngste ist, ist die Generation N an einer im Speicherauszugs-Datenträger 330 gespeicherten Blockadresse vorhanden. Jedoch ist ein Lesevorgang im Speicherauszugs-Datenträger 330 aufgrund der Störung unmöglich. So schickt das Datenträgererzeugungsprogramm 242 für eine Generation eine Meldung, dass auf die Generation N nicht zugegriffen werden kann, an den den Zugriff ausführenden Host 100 (2804), um den Prozess zu beenden.
  • Wie oben beschrieben, kann, beim Speichersystem gemäß der zweiten Ausführungsform der Erfindung, da der Speicher 300 den Originaldatenträger 310, den Kopiedatenträger 320 zum dauernden Speichern einer vollständigen Kopie des Originaldatenträgers 310 und den Speicherauszugs-Datenträger 330 zum Speichern eines Speicherauszugs von in den Originaldatenträger 310 gespeicherten Daten enthält, der Datenträger der spezifizierten Generation wie bei der ersten Ausführungsform erhalten werden. So ist es möglich, die Backupdaten der spezifizierten Generation im Speichersystem zu speichern und auf die Daten der spezifizierten Generation zuzugreifen und einen Backupvorgang für sie auszuführen, ohne dass eine Bandbibliothek geringer Kommunikationsgeschwindigkeit verwendet wird, während die Speicherkapazität niedrig gehalten wird. Insbesondere werden, da für ein Datenbackup des Originaldatenträgers in Echtzeit gesorgt wird, Daten selbst dann schnell wieder hergestellt, wenn in den Plattenvorrichtungen eine Störung auftritt.

Claims (14)

  1. Speichersystem mit: einer Plattenvorrichtung (300), die aufweist: einen Originaldatenträger (310) zum Speichern von Daten, die durch einen Host (100) gelesen/geschrieben werden; und einen Speicherauszugs-Datenträger (330) zum Speichern von Speicherauszugsdaten mehrerer Speicherauszugs-Generationen des Originaldatenträgers; und einer Speichersteuereinheit (200), die aufweist: eine Verwaltungseinheit (220) zum Verwalten der Speichersteuereinheit; eine Kanalschnittstelle (210), die an den Host (100) angeschlossen ist; und eine Vorrichtungsschnittstelle (230), die an die Plattenvorrichtung (300) angeschlossen ist, dadurch gekennzeichnet, dass die Plattenvorrichtung (300) ferner einen Kopiedatenträger (320) zum Speichern einer Kopie des Originaldatenträgers zu einer vorbestimmten Zeit aufweist, der Speicherauszugs-Datenträger (330) dazu ausgelegt ist, jede der mehreren Speicherauszugs-Generationen als einen virtuellen Datenträger für den Host bereitzustellen und Daten mit identischem Inhalt in einem Speicherbereich zu speichern, und die Verwaltungseinheit (220) dazu ausgelegt ist, Daten des Originaldatenträgers (310) zu einer vorbestimmten Zeit in den Kopiedatenträger (320) zu kopieren, die Speicherauszugsdaten in dem Speicherauszugs-Datenträger (330) gemäß einem Schreibebefehl in den Originaldatenträger (310) zu speichern, wenigstens eine Generation eines Speicherauszugs des Originaldatenträgers und wenigstens eine Generation des Kopiedatenträgers zu verwalten, und wenn eine Leseanfrage von dem Host (100) empfangen wird, die auf einen Datenträger einer Generation gerichtet ist, die verschieden von der gegenwärtigen Generation des Originaldatenträgers ist, selektiv Daten von dem Speicherauszugs-Datenträger (330) oder dem Kopiedatenträger (320) oder von beiden gelesen werden, um Daten von einem Datenträger bereitzustellen, die der in der Leseanfrage enthaltenen Generation entsprechen.
  2. Speichersystem nach Anspruch 1, wobei nach Empfang einer Zugriffsanfrage auf den Datenträger der Generation, die von der des Originaldatenträgers verschieden ist, die Verwaltungseinheit (220) dazu ausgelegt ist, einen Zugriff auf den Kopiedatenträger (320) zu befehlen, wenn die bezeichnete Generation die gleiche ist wie die des Kopiedatenträgers, eine Blockadresse zum Speichern von Daten der bezeichneten Generation in dem Speicherauszugs-Datenträger (330) und dem Kopiedatenträger (320) zu bezeichnen, wenn die bezeichnete Generation von der des Kopiedatenträgers (320) verschieden ist, und auf den bezeichneten Generations-Datenträger zuzugreifen.
  3. Speichersystem nach Anspruch 2, wobei, wenn die bezeichnete Generation die gleiche ist wie die des Originaldatenträgers (310) und eine Schreibeanfrage auf den Originaldatenträger (310) nach einer Speicherauszugsanfrage empfangen wird, die Verwaltungseinheit (220) dazu ausgelegt ist, Daten des Originaldatenträgers (310) mit solchen des Kopiedatenträgers (320) zu synchronisieren, die Synchronisation der Daten nach vollendeter Synchronisation aufzuteilen, die Blockadresse zum Speichern der Daten der bezeichneten Generation in dem Speicherauszugs-Datenträger (330) und dem Kopiedatenträger (320) zu bezeichnen, und auf den bezeichneten Generations-Datenträger zuzugreifen.
  4. Speichersystem nach einem der Ansprüche 1 bis 3, wobei die Verwaltungseinheit (220) dazu ausgelegt ist, eine Kopie der Daten, die vor der Speicherauszugsanfrage in dem Originaldatenträger (310) gespeichert war, in dem Kopiedatenträger (320) zu speichern.
  5. Speichersystem nach einem der Ansprüche 1 bis 4, wobei die Verwaltungseinheit dazu ausgelegt ist, bei Empfang einer Schreibeanfrage auf den Originaldatenträger (310) die Schreibedaten in den Kopiedatenträger (320) zu speichern.
  6. Verfahren zum Verwalten von Datenträgern in einem Speichersystem, wobei das Speichersystem aufweist: eine Plattenvorrichtung (300), die einen Originaldatenträger (310) zum Speichern von Daten, die durch einen Host (100) gelesen/geschrieben werden, und einen Speicherauszugs-Datenträger (330) zum Speichern von Speicherauszugsdaten mehrerer Speicherauszugs-Generationen des Originaldatenträgers aufweist; und eine Speichersteuereinheit (200), die eine Verwaltungseinheit (220) zum Verwalten der Speichersteuereinheit, eine Kanalschnittstelle (210), die an den Host (100) angeschlossen ist, und eine Vorrichtungsschnittstelle (230), die an die Plattenvorrichtung (300) angeschlossen ist, aufweist, dadurch gekennzeichnet, dass die Plattenvorrichtung (300) ferner einen Kopiedatenträger (320) zum Speichern einer Kopie des Originaldatenträgers zu einer vorbestimmten Zeit aufweist, der Speicherauszugs-Datenträger (330) dazu ausgelegt ist, jede der mehreren Speicherauszugs-Generationen als einen virtuellen Datenträger für den Host bereitzustellen und Daten mit identischem Inhalt in einem Speicherbereich zu speichern, und in dem Verfahren, das durch die Verwaltungseinheit (220) durchgeführt wird, Daten des Originaldatenträgers (310) zu einer vorbestimmten Zeit in den Kopiedatenträger (320) kopiert werden, die Speicherauszugsdaten in dem Speicherauszugs-Datenträger (330) gemäß einem Schreibebefehl in den Originaldatenträger (310) gespeichert werden, verwaltet wird, welcher Speicherbereich in dem Speicherauszugs-Datenträger (330) oder dem Kopiedatenträger (320) Daten speichert, die jedem der virtuellen Datenträger entsprechen, die mehreren gespeicherten Speicherauszugs-Generationen entsprechen, und wenn eine Leseanfrage von dem Host (100) empfangen wird, die auf einen Datenträger einer Generation gerichtet ist, die verschieden von der gegenwärtigen Generation des Originaldatenträgers ist, selektiv Daten von dem Speicherauszugs-Datenträger (330) oder dem Kopiedatenträger (320) oder von beiden gelesen werden, um Daten von einem Datenträger bereitzustellen, die der in der Leseanfrage enthaltenen Generation entsprechen.
  7. Verfahren zum Verwalten von Datenträgern gemäß Anspruch 6, wobei in dem Verwaltungsvorgang ferner der geforderte Generationsdatenträger erzeugt wird; und der virtuelle Datenträger des Speicherauszugs verwaltet wird.
  8. Verfahren zum Verwalten von Datenträgern gemäß Anspruch 7, wobei ferner nach Empfang einer Zugriffsanfrage auf den Datenträger der Generation, die von der des Originaldatenträgers (310) verschieden ist, ein Zugriff auf den Kopiedatenträger (320) befohlen wird, wenn die bezeichnete Generation die gleiche ist wie die des Kopiedatenträgers (320), eine Blockadresse zum Speichern von Daten der bezeichneten Generation in dem Speicherauszugs-Datenträger (330) und dem Kopiedatenträger (320) bezeichnet wird, wenn die bezeichnete Generation von der des Kopiedatenträgers (320) verschieden ist, auf den bezeichneten Generations-Datenträger zugegriffen wird, und der virtuelle Datenträger des Speicherauszugs verwaltet wird.
  9. Verfahren zum Verwalten von Datenträgern gemäß Anspruch 8, wobei ferner wenn die bezeichnete Generation die gleiche ist wie die des Originaldatenträgers (310) und eine Schreibeanfrage auf den Originaldatenträger nach einer Speicherauszugsanfrage empfangen wird, Daten des Originaldatenträgers (310) mit solchen des Kopiedatenträgers (320) synchronisiert werden, die Synchronisation der Daten nach vollendeter Synchronisation aufgeteilt wird, die Blockadresse zum Speichern der Daten der bezeichneten Generation in dem Speicherauszugs-Datenträger (330) und dem Kopiedatenträger (320) bezeichnet wird, auf den bezeichneten Generations-Datenträger zugegriffen wird, und der virtuelle Datenträger des Speicherauszugs verwaltet wird.
  10. Verfahren zum Verwalten von Datenträgern gemäß einem der Ansprüche 6 bis 9, wobei ferner eine Wiederherstellungsanfrage des bezeichneten Generationsoriginaldatenträgers von dem Host (100) empfangen wird, ein Block des Speicherauszugs-Datenträgers (330) zum Speichern von Daten der bezeichneten Generation in den Kopiedatenträger (320) kopiert wird, und der kopierte Kopiedatenträger (320) in den Originaldatenträger (310) geändert wird.
  11. Verfahren zum Verwalten von Datenträgern gemäß einem der Ansprüche 6 bis 10, wobei ferner eine Gesamtnutzungskapazität des Speicherauszugs-Datenträgers (330) erhalten wird, wenn der Speicherauszugs-Datenträger Daten schreibt, eine Generation niedrigster Priorität unter den in dem Speicherauszugs-Datenträger (330) gespeicherten Daten gesucht wird, wenn die erhaltene Gesamtnutzungskapazität einen vorbestimmten Schwellenwert überschreitet, Daten der gesuchten Generation in eine Datensicherungsvorrichtung (400) kopiert werden, und die Information der kopierten Generation gelöscht wird.
  12. Programm zum Verwalten von Datenträgern, das in einem Speichersystem verwendet wird, wobei das Speichersystem aufweist: eine Plattenvorrichtung (300), die einen Originaldatenträger (310) zum Speichern von Daten, die durch einen Host (100) gelesen/geschrieben werden, und einen Speicherauszugs-Datenträger (330) zum Speichern von Speicherauszugsdaten mehrerer Speicherauszugs-Generationen des Originaldatenträgers aufweist; und eine Speichersteuereinheit (200), die eine Verwaltungseinheit (220) zum Verwalten der Speichersteuereinheit, eine Kanalschnittstelle (210), die an den Host (100) angeschlossen ist, und eine Vorrichtungsschnittstelle (230), die an die Plattenvorrichtung (300) angeschlossen ist, aufweist, dadurch gekennzeichnet, dass die Plattenvorrichtung (300) ferner einen Kopiedatenträger (320) zum Speichern einer Kopie des Originaldatenträgers zu einer vorbestimmten Zeit aufweist, der Speicherauszugs-Datenträger (330) dazu ausgelegt ist, jede der mehreren Speicherauszugs-Generationen als einen virtuellen Datenträger für den Host bereitzustellen und Daten mit identischem Inhalt in einem Speicherbereich zu speichern, und das Programm bei seiner Ausführung die Verwaltungseinheit (220) ansteuert, um Vorgänge durchzuführen, so dass Daten des Originaldatenträgers (310) zu einer vorbestimmten Zeit in den Kopiedatenträger (320) kopiert werden, die Speicherauszugsdaten in dem Speicherauszugs-Datenträger (330) gemäß einem Schreibebefehl in den Originaldatenträger (310) gespeichert werden, verwaltet wird, welcher Speicherbereich in dem Speicherauszugs-Datenträger (330) oder dem Kopiedatenträger (320) Daten speichert, die jedem der virtuellen Datenträger entsprechen, die mehreren gespeicherten Speicherauszuqgs-Generationen entsprechen, und wenn eine Leseanfrage von dem Host (100) empfangen wird, die auf einen Datenträger einer Generation gerichtet ist, die verschieden von der gegenwärtigen Generation des Originaldatenträgers ist, selektiv Daten von dem Speicherauszugs-Datenträger (330) oder dem Kopiedatenträger (320) oder von beiden gelesen werden, um Daten von einem Datenträger bereitzustellen, die der in der Leseanfrage enthaltenen Generation entsprechen.
  13. Programm nach Anspruch 12, wobei ferner die Verwaltungseinheit (220) angesteuert wird, um Vorgänge durchzuführen, so dass nach Empfang einer Zugriffsanfrage auf den Datenträger der Generation, die von der des Originaldatenträgers (310) verschieden ist, ein Zugriff auf den Kopiedatenträger (320) befohlen wird, wenn die bezeichnete Generation die gleiche ist wie die des Kopiedatenträgers (320), und eine Blockadresse zum Speichern von Daten der bezeichneten Generation in dem Speicherauszugs-Datenträger (330) und dem Kopiedatenträger (320) bezeichnet wird, wenn die bezeichnete Generation von der des Kopiedatenträgers (320) verschieden ist.
  14. Programm nach Anspruch 13, wobei ferner die Verwaltungseinheit (220) angesteuert wird, um Vorgänge durchzuführen, so dass, wenn die bezeichnete Generation die gleiche ist wie die des Originaldatenträgers (310) und eine Schreibeanfrage auf den Originaldatenträger nach einer Speicherauszugsanfrage empfangen wird, Daten des Originaldatenträgers (310) mit solchen des Kopiedatenträgers (320) synchronisiert werden, die Synchronisation der Daten nach vollendeter Synchronisation aufgeteilt wird, und die Blockadresse zum Speichern der Daten der bezeichneten Generation in dem Speicherauszugs-Datenträger (330) und dem Kopiedatenträger (320) bezeichnet wird.
DE602005001041T 2004-10-06 2005-09-26 Speicherauszugssystem Active DE602005001041T2 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2004293464 2004-10-06
JP2004293464A JP4550541B2 (ja) 2004-10-06 2004-10-06 ストレージシステム

Publications (2)

Publication Number Publication Date
DE602005001041D1 DE602005001041D1 (de) 2007-06-14
DE602005001041T2 true DE602005001041T2 (de) 2008-01-10

Family

ID=35519979

Family Applications (4)

Application Number Title Priority Date Filing Date
DE602005018974T Active DE602005018974D1 (de) 2004-10-06 2005-09-26 Schnappschuss-System und Verfahren
DE602005027138T Active DE602005027138D1 (de) 2004-10-06 2005-09-26 Schnappschuss-System und Verfahren
DE602005007052T Active DE602005007052D1 (de) 2004-10-06 2005-09-26 Schnappschuss-System
DE602005001041T Active DE602005001041T2 (de) 2004-10-06 2005-09-26 Speicherauszugssystem

Family Applications Before (3)

Application Number Title Priority Date Filing Date
DE602005018974T Active DE602005018974D1 (de) 2004-10-06 2005-09-26 Schnappschuss-System und Verfahren
DE602005027138T Active DE602005027138D1 (de) 2004-10-06 2005-09-26 Schnappschuss-System und Verfahren
DE602005007052T Active DE602005007052D1 (de) 2004-10-06 2005-09-26 Schnappschuss-System

Country Status (4)

Country Link
US (4) US7356658B2 (de)
EP (4) EP2163988B1 (de)
JP (1) JP4550541B2 (de)
DE (4) DE602005018974D1 (de)

Families Citing this family (81)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4550541B2 (ja) * 2004-10-06 2010-09-22 株式会社日立製作所 ストレージシステム
JP2006209636A (ja) * 2005-01-31 2006-08-10 Hitachi Ltd スナップショット維持方法
JP4799936B2 (ja) * 2005-07-11 2011-10-26 株式会社日立製作所 条件別スナップショット取得方法及びシステム
US7325111B1 (en) * 2005-11-01 2008-01-29 Network Appliance, Inc. Method and system for single pass volume scanning for multiple destination mirroring
JP2007219609A (ja) * 2006-02-14 2007-08-30 Hitachi Ltd スナップショット管理装置及び方法
US8321377B2 (en) * 2006-04-17 2012-11-27 Microsoft Corporation Creating host-level application-consistent backups of virtual machines
JP4842703B2 (ja) 2006-05-18 2011-12-21 株式会社日立製作所 ストレージシステム及びそのリカバリボリューム作成方法
JP2007334709A (ja) 2006-06-16 2007-12-27 Fujitsu Ltd ストレージ制御装置、ストレージ制御プログラム、ストレージ制御方法
JP2008009485A (ja) 2006-06-27 2008-01-17 Fujitsu Ltd 仮想ストレージ制御装置及び仮想ストレージ制御プログラム
JP5222469B2 (ja) 2006-10-11 2013-06-26 株式会社日立製作所 記憶システム及びデータ管理方法
JP5031341B2 (ja) * 2006-11-30 2012-09-19 株式会社日立製作所 記憶システム及びデータ管理方法
JP4845724B2 (ja) * 2006-12-28 2011-12-28 株式会社日立製作所 バックアップ機能を備えたストレージシステム
CN100456255C (zh) * 2007-04-29 2009-01-28 华为技术有限公司 一种取快照数据的装置及方法
JP4900816B2 (ja) * 2007-05-11 2012-03-21 株式会社日立製作所 記憶制御装置、記憶制御装置の制御方法
JP4972457B2 (ja) * 2007-05-11 2012-07-11 株式会社日立製作所 記憶制御装置、記憶制御装置の制御方法及び情報処理システム
US8818936B1 (en) * 2007-06-29 2014-08-26 Emc Corporation Methods, systems, and computer program products for processing read requests received during a protected restore operation
JP5142629B2 (ja) * 2007-08-22 2013-02-13 株式会社日立製作所 仮想ボリュームのバックアップを行うストレージシステム及び方法
JP4898609B2 (ja) * 2007-09-11 2012-03-21 株式会社日立製作所 ストレージ装置、データ回復方法及び計算機システム
JP5228466B2 (ja) 2007-12-14 2013-07-03 富士通株式会社 バックアップ装置、バックアップ方法およびバックアッププログラム
US8284198B1 (en) * 2008-03-03 2012-10-09 Network Appliance, Inc. Method for visualizing space utilization in storage containers
CN100570575C (zh) * 2008-04-18 2009-12-16 成都市华为赛门铁克科技有限公司 一种数据备份的方法和装置
US7831682B2 (en) * 2008-08-08 2010-11-09 Amazon Technologies, Inc. Providing a reliable backing store for block data storage
US7979735B2 (en) 2008-08-15 2011-07-12 International Business Machines Corporation Data storage with snapshot-to-snapshot recovery
JP4893716B2 (ja) 2008-08-28 2012-03-07 富士通株式会社 バックアップ装置、バックアップ方法およびバックアッププログラム
US8099572B1 (en) * 2008-09-30 2012-01-17 Emc Corporation Efficient backup and restore of storage objects in a version set
JP2010092177A (ja) * 2008-10-06 2010-04-22 Hitachi Ltd 情報処理装置、及びストレージシステムの運用方法
US8230185B2 (en) * 2008-10-08 2012-07-24 International Business Machines Corporation Method for optimizing cleaning of maps in FlashCopy cascades containing incremental maps
JP4750169B2 (ja) * 2008-10-14 2011-08-17 富士通株式会社 ストレージ制御装置、ストレージ制御プログラム、ストレージ制御方法
US8732417B1 (en) * 2008-10-15 2014-05-20 Symantec Corporation Techniques for creating snapshots of a target system
KR101522443B1 (ko) 2008-10-30 2015-05-21 인터내셔널 비지네스 머신즈 코포레이션 플래시카피 처리방법 및 시스템
KR101033523B1 (ko) * 2008-11-10 2011-05-09 고려대학교 산학협력단 선형 태양광 집광기 및 이의 응용장치
JP4833273B2 (ja) 2008-12-09 2011-12-07 富士通株式会社 ストレージ装置、リストア方法およびリストアプログラム
US8539179B1 (en) * 2009-03-31 2013-09-17 Symantec Corporation Methods and systems for creating full backups
US8823323B2 (en) 2009-04-16 2014-09-02 Valence Technology, Inc. Batteries, battery systems, battery submodules, battery operational methods, battery system operational methods, battery charging methods, and battery system charging methods
US8370302B2 (en) * 2009-06-02 2013-02-05 Hitachi, Ltd. Method and apparatus for block based volume backup
US9256598B1 (en) 2009-08-19 2016-02-09 Emc Corporation Systems, methods, and computer readable media for copy-on-demand optimization for large writes
WO2011036015A1 (en) 2009-09-24 2011-03-31 International Business Machines Corporation Data storage using bitmaps
CN102511036B (zh) 2009-09-25 2015-09-30 国际商业机器公司 数据存储
US8417907B2 (en) * 2009-10-29 2013-04-09 Symantec Corporation Synchronizing snapshot volumes across hosts
US8341370B2 (en) * 2009-11-16 2012-12-25 Symantec Corporation Restricting access to object based storage
US9176853B2 (en) * 2010-01-29 2015-11-03 Symantec Corporation Managing copy-on-writes to snapshots
US8745002B2 (en) * 2010-02-04 2014-06-03 Symantec Corporation Mounting applications on a partially replicated snapshot volume
US8533411B2 (en) 2010-03-11 2013-09-10 International Business Machines Corporation Multiple backup processes
JP2011210056A (ja) * 2010-03-30 2011-10-20 Sanyo Electric Co Ltd バックアップデータ管理装置
JP5581776B2 (ja) 2010-03-31 2014-09-03 富士通株式会社 バックアップ装置,バックアップ方法およびバックアッププログラム
US8315991B2 (en) * 2010-04-20 2012-11-20 International Business Machines Corporation Detecting inadvertent or malicious data corruption in storage subsystems and recovering data
US8788770B2 (en) * 2010-05-25 2014-07-22 International Business Machines Corporation Multiple cascaded backup process
US9146822B2 (en) 2010-06-30 2015-09-29 Symantec Corporation Cluster configuration systems and methods
US8341364B2 (en) * 2010-08-12 2012-12-25 International Business Machines Corporation Maintaining asynchronous mirroring
US8306950B2 (en) * 2010-08-26 2012-11-06 International Business Machines Corporation Managing data access requests after persistent snapshots
WO2012120667A1 (ja) * 2011-03-09 2012-09-13 株式会社日立製作所 計算機システム、データ複製スケジューリング方法及び計算機読み取り可能な非一時的記憶媒体
US8782354B2 (en) * 2011-06-07 2014-07-15 Hitachi, Ltd. Storage apparatus and method of controlling storage apparatus
US8862546B1 (en) * 2011-06-30 2014-10-14 Emc Corporation Virtual access roll
WO2013038442A1 (en) * 2011-09-13 2013-03-21 Hitachi, Ltd. Storage system comprising flash memory, and storage control method
US8868860B2 (en) 2011-09-23 2014-10-21 International Business Machines Corporation Restore in cascaded copy environment
US8719523B2 (en) 2011-10-03 2014-05-06 International Business Machines Corporation Maintaining multiple target copies
US8832396B2 (en) 2011-11-25 2014-09-09 Hitachi, Ltd. Storage apparatus and its control method
US9026753B2 (en) * 2012-02-16 2015-05-05 Hitachi, Ltd. Snapshot volume generational management for snapshot copy operations using differential data
US8972350B2 (en) 2012-06-05 2015-03-03 International Business Machines Corporation Preserving a state using snapshots with selective tuple versioning
US9031911B2 (en) 2012-06-05 2015-05-12 International Business Machines Corporation Preserving past states of file system nodes
US9311014B2 (en) 2012-11-29 2016-04-12 Infinidat Ltd. Storage system and methods of mapping addresses of snapshot families
US9098461B2 (en) * 2012-12-05 2015-08-04 Red Hat Israel, Ltd. Live snapshots of multiple virtual disks
GB2509057A (en) * 2012-12-18 2014-06-25 Ibm Predictive point-in-time copy for storage systems
WO2014112062A1 (ja) * 2013-01-17 2014-07-24 株式会社 日立製作所 ストレージ装置及びデータ移行方法
JP6064608B2 (ja) * 2013-01-17 2017-01-25 富士通株式会社 ストレージ装置、バックアッププログラム、およびバックアップ方法
US9152338B2 (en) * 2013-02-21 2015-10-06 International Business Machines Corporation Snapshot management in hierarchical storage infrastructure
US9740701B1 (en) * 2013-09-13 2017-08-22 EMC IP Holding Company Snapshot cauterization
US9619473B1 (en) * 2013-11-18 2017-04-11 EMC IP Holding Company LLC Backup configuration using snapshot map
US9600203B2 (en) * 2014-03-11 2017-03-21 Amazon Technologies, Inc. Reducing data volume durability state for block-based storage
JP6291977B2 (ja) * 2014-03-31 2018-03-14 日本電気株式会社 分散ファイルシステム、バックアップファイル取得方法、制御装置及び管理装置
US20170220275A1 (en) * 2014-12-26 2017-08-03 Hitachi, Ltd. Computer system and management program
US10546144B2 (en) * 2016-05-05 2020-01-28 International Business Machines Corporation Dynamically excluding sensitive information from system snapshot
CN106407040B (zh) 2016-09-05 2019-05-24 华为技术有限公司 一种远程数据复制方法及系统
US11068500B1 (en) * 2016-09-29 2021-07-20 EMC IP Holding Company LLC Remote snapshot access in a replication setup
CN108874583A (zh) * 2017-05-15 2018-11-23 中兴通讯股份有限公司 一种数据保护方法、装置及计算机可读存储介质
CN109032507B (zh) * 2018-06-28 2021-11-19 郑州云海信息技术有限公司 一种生成源卷存储快照的方法、系统及相关组件
US20210224161A1 (en) * 2020-01-21 2021-07-22 Nebulon, Inc. Efficient io processing in a storage system with instant snapshot, xcopy, and unmap capabilities
JP7103671B2 (ja) * 2020-03-17 2022-07-20 Necプラットフォームズ株式会社 情報処理装置
US11816129B2 (en) 2021-06-22 2023-11-14 Pure Storage, Inc. Generating datasets using approximate baselines
US11656949B2 (en) * 2021-09-13 2023-05-23 Rubrik, Inc. Snapshot range filters
US11886226B2 (en) 2021-11-29 2024-01-30 Rubrik, Inc. Consolidating snapshots using partitioned patch files

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5403639A (en) 1992-09-02 1995-04-04 Storage Technology Corporation File server having snapshot application data groups
US5649152A (en) 1994-10-13 1997-07-15 Vinca Corporation Method and system for providing a static snapshot of data stored on a mass storage system
JP3868708B2 (ja) 2000-04-19 2007-01-17 株式会社日立製作所 スナップショット管理方法及び計算機システム
JP4078039B2 (ja) * 2001-03-21 2008-04-23 株式会社東芝 スナップショットイメージの世代管理方法及び世代管理装置
JP2003202964A (ja) 2002-01-09 2003-07-18 Hitachi Ltd 計算機システムの制御方法、計算機システム、記憶装置の制御方法及び記憶装置
JP4170056B2 (ja) * 2002-03-29 2008-10-22 株式会社日立製作所 複製ボリューム間でのバックアップ・リストア管理方法およびこの方法に用いる記憶制御装置
JP2003316522A (ja) * 2002-04-26 2003-11-07 Hitachi Ltd 計算機システムおよび計算機システムの制御方法
US7055010B2 (en) 2002-11-06 2006-05-30 Synology Inc. Snapshot facility allowing preservation of chronological views on block drives
JP2004164318A (ja) * 2002-11-13 2004-06-10 Hitachi Ltd バックアップデータの世代管理方法およびこの方法に用いる記憶制御装置
JP2004258944A (ja) 2003-02-26 2004-09-16 Hitachi Ltd ストレージ装置およびその管理方法
US7567991B2 (en) * 2003-06-25 2009-07-28 Emc Corporation Replication of snapshot using a file system copy differential
JP4454342B2 (ja) * 2004-03-02 2010-04-21 株式会社日立製作所 ストレージシステム及びストレージシステムの制御方法
JP4439960B2 (ja) * 2004-03-22 2010-03-24 株式会社日立製作所 ストレージ装置
JP4456909B2 (ja) * 2004-03-29 2010-04-28 株式会社日立製作所 バックアップ方法、ストレージシステム及びそのプログラム
JP4681247B2 (ja) * 2004-04-08 2011-05-11 株式会社日立製作所 ディスクアレイ装置及びディスクアレイ装置の制御方法
JP2006048300A (ja) * 2004-08-03 2006-02-16 Hitachi Ltd ディスクアレイ装置群およびそのコピー処理方法
JP4545529B2 (ja) * 2004-08-27 2010-09-15 株式会社日立製作所 スナップショットの作成方法及びプログラム並びにストレージシステム
JP4550541B2 (ja) * 2004-10-06 2010-09-22 株式会社日立製作所 ストレージシステム
JP2006113927A (ja) * 2004-10-18 2006-04-27 Hitachi Ltd ストレージ装置、ストレージシステム、スナップショット維持方法、およびコマンド
US7325111B1 (en) * 2005-11-01 2008-01-29 Network Appliance, Inc. Method and system for single pass volume scanning for multiple destination mirroring

Also Published As

Publication number Publication date
EP1645960A1 (de) 2006-04-12
EP2163988A1 (de) 2010-03-17
DE602005001041D1 (de) 2007-06-14
EP1942414B1 (de) 2010-01-13
US20060075200A1 (en) 2006-04-06
EP1804165A3 (de) 2007-07-18
DE602005007052D1 (de) 2008-07-03
JP4550541B2 (ja) 2010-09-22
US8103843B2 (en) 2012-01-24
US7890720B2 (en) 2011-02-15
EP1804165B1 (de) 2008-05-21
EP1645960B1 (de) 2007-05-02
US20100030959A1 (en) 2010-02-04
EP2163988B1 (de) 2011-03-23
JP2006107162A (ja) 2006-04-20
US20110119459A1 (en) 2011-05-19
US7606990B2 (en) 2009-10-20
DE602005027138D1 (de) 2011-05-05
EP1942414A1 (de) 2008-07-09
EP1804165A2 (de) 2007-07-04
US20080183995A1 (en) 2008-07-31
DE602005018974D1 (de) 2010-03-04
US7356658B2 (en) 2008-04-08

Similar Documents

Publication Publication Date Title
DE602005001041T2 (de) Speicherauszugssystem
DE60038364T2 (de) Computersystem und Speicherauszugsdatenverwaltungsverfahren
DE102013215535B4 (de) Sicherung oder wiederherstellung von daten mit hilfe eines hauptspeichers und nichtflüchtiger speichermedien
DE112010004947B4 (de) Wiederherstellung einer vollständigen Systemsicherung und inkrementeller Sicherungen unter Verwendung von mehreren gleichzeitigen Datenströmen von Einheiten
DE602004006404T2 (de) Flashback-datenbank
DE60213867T2 (de) Vorrichtung zur verwaltung von datenreplikation
DE69722962T2 (de) Strukturiertes datenspeichersystem mit global adressierbarem speicher
DE60025749T2 (de) Dateisystemabbildübertragung zwischen ungleichen dateisystemen
DE69636330T2 (de) Verfahren für On-line- und Echzeit-Datenmigration
DE69938378T2 (de) Kopieren von Daten in Speichersystemen
DE112011100534B4 (de) Mehrstufiger Sicherungsprozess
DE102012216022B4 (de) Verwaltung einer Zeitpunktkopie-Beziehung für platzsparende Datenträger
DE112011100112B4 (de) Pufferspeicher-platte in blitzkopie-kaskade
DE112010004931B4 (de) Mehrphasige Wiederherstellung von Dateisystemen mit Selektiver Bedarfsweiser Verfügbarkeit von Daten
DE112017005868T5 (de) Verwaltung von e/a-abläufen für datenobjekte in einem speichersystem
DE602004008808T2 (de) Verfahren und vorrichtung zur durchführung von operationen an gewählten daten in einem speicherbereich
DE602005002024T2 (de) Fernkopiersystem und Fernkopierverfahren
DE60111039T2 (de) Speichersystem das aus mehreren speichergeräten besteht, mit verschiedenen fehlertoleranten verfahren
DE602005004166T2 (de) Vorrichtung, system und verfahren zur reinitialisierung einer serialisierung von dateisystemen
DE602005000819T2 (de) Aufrechterhaltung der konsistenz einer fernkopie unter verwendung von virtualisierung
DE102006005876A1 (de) Flashspeicher-Steuervorrichtung, Vorrichtung zum Steuern eines Flashspeichers, Flashspeicher-System und Verfahren zum Verwalten von Abbildungsdaten eines Flashspeichers
DE60313468T2 (de) Speicherdienste und -systeme
DE602004007925T2 (de) Verwalten einer beziehung zwischen einem zielvolumen und einem quellenvolumen
DE602004002674T2 (de) Speichersystem und Verfahren zur Erfassung und Verwendung von Schnappschüssen
DE102009031923A1 (de) Verfahren zum Verwalten von Datenobjekten

Legal Events

Date Code Title Description
8364 No opposition during term of opposition