DE69831944T2 - Vorrichtung und verfahren zur sicherung eines plattenspeichersystem - Google Patents

Vorrichtung und verfahren zur sicherung eines plattenspeichersystem Download PDF

Info

Publication number
DE69831944T2
DE69831944T2 DE69831944T DE69831944T DE69831944T2 DE 69831944 T2 DE69831944 T2 DE 69831944T2 DE 69831944 T DE69831944 T DE 69831944T DE 69831944 T DE69831944 T DE 69831944T DE 69831944 T2 DE69831944 T2 DE 69831944T2
Authority
DE
Germany
Prior art keywords
data
backup
disk
block
blocks
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
DE69831944T
Other languages
English (en)
Other versions
DE69831944D1 (de
Inventor
J. Richard CLIFTON
Sanjoy Chatterjee
P. John LARSON
R. Joseph RICHART
E. Cyril SAGAN
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.)
EMC Corp
Original Assignee
EMC Corp
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 EMC Corp filed Critical EMC Corp
Publication of DE69831944D1 publication Critical patent/DE69831944D1/de
Application granted granted Critical
Publication of DE69831944T2 publication Critical patent/DE69831944T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1458Management of the backup or restore process
    • G06F11/1466Management of the backup or restore process to make the backup process non-disruptive

Description

  • HINTERGRUND DER ERFINDUNG
  • Bereich der Erfindung
  • Die vorliegende Erfindung betrifft im Allgemeinen Datensicherungssysteme zur Verwendung mit Computern und im Besonderen eine Vorrichtung und ein Verfahren zum Sichern eines Speichersystems auf Band, während das Speichersystem in Gebrauch ist.
  • Beschreibung des Stands der Technik
  • Datenverarbeitungssysteme verwenden gewöhnlich wenigstens ein Plattenlaufwerk zum Speichern von Daten und Programmen. Der Hostrechner ruft vom Plattensystem die betreffenden Informationen ab, die gerade benötigt werden, und sendet neue oder aktualisierte Informationen oder Daten oder Programme, die der Hostrechner eventuell in Zukunft benötigen wird, aber zu diesem Zeitpunkt nicht im internen Hauptspeicher braucht, zur Speicherung an das Plattensystem.
  • Viele Organisationen wie große Unternehmen und staatliche Körperschaften haben extrem große Datenbanken für Informationen, die für sie leicht für schnellen Zugriff und rasches Modifizieren verfügbar sein müssen. Diese Datenbanken können unter einigen Umständen einem Terabyte von Daten entsprechen oder ein Terabyte von Daten überschreiten und erfordern große Datenspeichersysteme, die mehrere Plattenlaufwerke oder Plattenlaufwerkverbünde enthalten, die als ein einziges großes logisches Speichersystem organisiert sind. Oft gibt es einen Hostrechner oder Server, der ausschließlich und hauptsächlich der Abwicklung von Datenbanktransaktionen gewidmet ist. Die diversen Benutzer der Datenbank senden ihre Datenbankanforderungen an den Datenbankserver und erhalten die angeforderten Daten aus dem Datenbankserver über ein Netzwerk.
  • Organisationen, die derart große Datenbanken benutzen, müssen meist von Zeit zu Zeit aus geschäftlichen, rechtlichen oder archivierungstechnischen Gründen Sicherungskopien ihrer Datenbanken erstellen. Auch kann es sein, dass, obwohl moderne Plattensysteme im Allgemeinen hoch zuverlässige Vorrichtungen sind, einige Organisationen es wünschen, ihre Datenbanken als Schutz gegen die Möglichkeit eines Speichersystemausfalls sichern zu lassen.
  • Es ist daher allgemein üblich, regelmäßig eine teilweise oder vollständige Sicherung aller Daten im Plattensystem durchzuführen. Dies wird meist durch Kopieren der Daten, die gesichert werden sollen, auf Magnetbänder durchgeführt. Die Bänder werden dann für eine vom Systembenutzer bestimmte Zeitspanne aufbewahrt und können nötigenfalls zum Wiederherstellen eines bekannten Zustands des Systems verwendet werden.
  • Eine Anzahl von kommerziellen Dienstprogrammen sind zum Durchführen von Sicherungsvorgängen erhältlich. Im typischen Fall sind diese Dienstprogramme zum Ablaufen auf dem Datenbankserver vorgesehen. In einigen Fällen kann das Dienstprogramm auf einem anderen Rechnersystem laufen, das über das Lokalnetz (LAN) mit dem Datenbankserver kommuniziert. Das hat insofern Nachteile, als das Sichern einer Terabyte-Datenbank über ein Lokalnetz sehr langsam wäre und, ob das Sicherungsdienstprogramm nun auf dem Sicherungsserver läuft oder auf einem anderen Rechner am Lokalnetz, die Beteilung des Datenbankservers während des Sicherungsprozesses erforderlich ist. Die Einbeziehung des Datenbankservers leitet Verarbeitungsenergie von den Hauptaufgaben des Servers weg und kann die Reaktionszeit gegenüber Systembenutzern verschlechtern oder die zum Vervollständigen der Sicherung erforderliche Zeit verlängern.
  • Ein weiteres Problem bei dem Stand der Technik ist, dass Organisationen allgemein einen „Snapshot" (Momentaufnahme) ihrer Datenbank wünschen, wie sie zu einem bestimmten Zeitpunkt besteht. Eine Methode zum Gewährleisten der Datenkonsistenz während des Sicherns ist, den Zugriff auf die Daten während des Sicherungsvorgangs für Benutzer zu beschränken. Da die Sicherung extrem großer Datenbanken manchmal Stunden dauern kann, ist es für die Organisationen oft unakzeptabel, dass ihre Datenbanken während der Dauer der Sicherung für ihre Benutzer nicht verfügbar sind.
  • Systeme vom Stand der Technik wurden in der Bemühung entwickelt, dieses Problem zu lösen und es Benutzern weiterhin zu erlauben, in die Datenbank zu schreiben, während die Sicherung läuft. Beispielsweise offenbart US-Patent 5 535 381 ein System, bei dem eine Copy-on-Write-Methode zum verzögerten Kopieren (COW) verwendet wird, um „Original"-Daten vor dem Ausführen eines Schreibbefehls in separate Pufferspeicher zu sichern. Die COW-Daten werden auf dem Sicherungsband in separaten Banddatensätzen gespeichert, sodass das auf dem Band gespeicherte Bild kein Duplikat des Originalbildes ist und reintegriert werden muss, um das Originaldatenbild wieder zu erstellen.
  • US-Patent 5 487 160 offenbart eine weitere COW-Methode, bei der Originaldaten auf einem Reserveplattenlaufwerk gespeichert werden, bis die Sicherung abgeschlossen ist, und dann der Inhalt des Reservelaufwerks in Bausch und Bogen auf das Sicherungsband übertragen wird. Auch hier ist das Bild auf dem Sicherungsband fragmentiert und erfordert einen Reintegrationsprozess zum Wiederzusammensetzen des Originalbildes.
  • EP-Patent 0566967 offenbart ein Verfahren zum Erstellen eines Snapshot-Bildes eines gewünschten Abschnitts der Daten auf einer Plattenperipherie in einem Datenverarbeitungssystem. Es erstellt eine Bitmap für eine Datensicherung von der Plattenperipherie auf eine Bandperipherie. Wenn ein verzögerter Kopierprozess in der Spurumlaufspeichereinheit ausgeführt wird, werden die relevanten Daten als Nebendateien in einen Speicher geschrieben. Es wird eine separate Bitmap von Daten geführt, die aktualisiert wurden und in Nebendateien gespeichert werden. Ein Problem bei diesem Verfahren ist, dass die die Speicherstelle von Blöcken betreffenden Daten wieder in die primäre Bitmap zurück geschrieben werden müssen und die Größe der Bitmapdatei je nach der Menge der als Nebendateien in den Speicher geschriebenen Daten groß sein kann.
  • Die vorliegende Erfindung löst diese Probleme und Nachteile, indem sie Benutzern während des Sicherungsprozesses uneingeschränkten Zugang zum System erlaubt, während sie ein Snapshot-Sicherungsbild auf Band erstellt, das nicht rekonstruiert werden muss.
  • ZUSAMMENFASSUNG DER ERFINDUNG
  • Die vorliegende Erfindung, wie sie von den angehängten unabhängigen Ansprüche definiert wird, betrifft ein Verfahren und eine Vorrichtung zum Sichern einer Datenbank oder eines Speichersystems auf einem Bandsicherungssystem unter Verwendung von im Handel erhältlichen Software-Dienstprogrammen.
  • Es ist eine Aufgabe der Erfindung, ein Sicherungsband zu erstellen, das einen Snapshot der Datenbank enthält.
  • Es ist eine weitere Aufgabe der Erfindung, schnelles konsistentes Sichern der Datenbank zu erlauben, während Benutzer weiterhin Zugriff haben.
  • Es ist ein Merkmal der Erfindung, dass ein separates Sicherungsgerät zum Abwickeln der Übertragung der Datenbank von dem Plattensystem auf das Bandsystem verwendet wird.
  • Es ist ein weiteres Merkmal der Erfindung, dass Blöcke der Original-Datenbankdaten vor der Übertragung auf das Sicherungsbandsystem vorübergehend gespeichert und wieder in das Datenbankbild integriert werden, bevor die Übertragung auf das Sicherungsbandsystem stattfindet.
  • Es ist ein Vorteil der Erfindung, dass standardmäßige im Handel erhältliches Sicherungs-Dienstprogramme eingesetzt werden können.
  • Es ist ein weiterer Vorteil der Erfindung, dass der Hostprozessor nicht an der Sicherung teilnehmen muss.
  • Es ist ein weiterer Vorteil der Erfindung, dass das Sicherungsbild auf Band keine spätere Reintegration oder Rekonstruktion erfordert.
  • Andere Merkmale und Vorteile der vorliegenden Erfindung sind für normal fachkundige Personen nach Bezugnahme auf die ausführliche Beschreibung der bevorzugten Ausgestaltung und Zeichnungen hierin verständlich.
  • KURZE BESCHREIBUNG DER ZEICHNUNGEN
  • 1 ist ein Blockdiagramm eines erfindungsgemäßen Datenverarbeitungssystems zum Durchführen einer Sicherung.
  • 2 zeigt die funktionelle Organisation des Datenverarbeitungssystems von 1.
  • 3 zeigt den Fluss von COW 231.
  • 4 zeigt den Fluss von ODCU (Originaldaten-Cache-Dienstprogramm) 243.
  • 5 zeigt den Fluss von SRU (spezielles Lesedienstprogramm) 242.
  • 6 zeigt die Organisation von MM (modifizierte Map) 245.
  • BESCHREIBUNG DER BEVORZUGTEN AUSGESTALTUNG
  • Die bevorzugte Ausgestaltung und das bevorzugte Verfahren werden bezüglich dem Sichern einer in einem Plattenspeichersystem befindlichen großen Datenbank auf eine Bandperipherie besprochen. Normal fachkundige Personen werden verstehen, dass die hierin beschriebene(n) Vorrichtung und Methoden nicht auf Datenbanksicherungen begrenzt sind, sondern auch leicht zum Durchführen einer Sicherung eines beliebigen ausgewählten Abschnitts der Informationen in einem Speichersystem oder zum Durchführen einer vollständigen Sicherung aller Informationen in Speicher 130 angepasst werden könnten.
  • In 1 sind mehrere Benutzer 101 über Lokalnetz 110 mit Server 120 verbunden. Speicher 130 kommuniziert über Bus 162, entweder SCSI oder Fibre-Channel, mit Server 120. In einer bevorzugten Ausgestaltung eines Systems, bei dem Datenbank 131 in der Größenordnung von einem Terabyte Daten ist, könnte Server 120 beispielsweise ein Data General AViiON Modell 6600 Rechner sein, auf dem das Microsoft NT Betriebssystem läuft, und Speicher 130 könnte ein oder mehrere intelligente RAID-Festplattenverbünde sein, z.B. Data General CLARiiON Plattenverbünde, die als ein einzelner logischer Plattenspeicher organisiert sind. Speicher 130 enthält einen oder mehrere interne Prozessoren, die in 1 kollektiv als Speicherprozessor (SP) 132 abgebildet sind. SP 132 kann Programme ausführen und auf Befehle von Server 120 reagieren. SP 132 bietet die Fähigkeit von Speicher 130 zum Durchführen von Tasks wie dem unten beschriebenen verzögerten Kopieren (COW) ohne die Beteiligung von Server 120. Speicher 130 speichert verschiedene Daten und Programme, darunter Datenbank 131, die von Server 120 verwendet wird. Datenbank 131 könnte von einem von mehreren kommerziellen Datenbankanbietern bereitgestellt sein, z.B. Oracle, Microsoft oder Informix.
  • Sicherungsgerät (BA) 140 ist mit Speicher 130, Sicherungsspeichereinheit (BSU) 150 und Lokalnetz (LAN) 110 verbunden. BA 140 kann ein beliebiger Rechner nach Wahl der Benutzer sein, der mit Speicher 130, BSU 150 und Lokalnetz 110 verbunden werden und arbeiten kann und ausreichend Verarbeitungskapazität zum Ausführen des Sicherungs-Dienstprogramms und zum Handhaben der Sicherungsdaten hat. BA 140 kann typisch ein kleinerer Rechner als Server 120 sein, beispielsweise ein Data General AViiON Modell 3600. BA 140 ist über eine Standardnetzverbindung 164 mit LAN 110 und über SCSI- oder Fibre-Channel-Busse 163 und 165 mit Speicher 130 und BSU 150 verbunden. BA 140 kann – muss aber nicht – die gleiche Betriebssystemsoftware wie Server 120 ausführen. BA 140 weist Prozessor 142 und Speichersystem 141 auf, das aus RAM-Speicher 144 und Plattenlaufwerk 143 besteht. Wie unten noch ausführlich besprochen wird, speichert Speichersystem 141 vorübergehend Originaldatenblöcke aus Speicher 130 und verwandte Informationen. BSU 150 könnte jedes beliebige Bandsystem großer Kapazität sein, beispielsweise ein Data General DLT Array-System.
  • In der Ausgestaltung von 1 kommuniziert BU (Sicherungsdienstprogramm) 141 mit Server 120 über LAN 110, um die Vorbereitung auf den Sicherungsprozess und das Einleiten des Sicherungsprozesses zu koordinieren. Unmittelbar vor dem Einleiten der Sicherung muss die Datenbank von Server 120 in einen Wartezustand versetzt werden. Dies erfordert im typischen Fall das vorübergehende Ausschließen neuer Datenbanktransaktionen, bis alle ausstehenden Transaktionen abgeschlossen worden sind und alle notwendigen Datenbankinformationen von Server 120 in Speicher 130 geschrieben worden sind. Dies gewährleistet, dass die Datenbank in einem stabilen konsistenten Zustand ist. Die Unterbrechung der normalen Datenbankverarbeitungsabläufe wird meist schnell und mit minimaler Störung für die Benutzer erreicht. Sobald das System in dem Wartezustand ist, kann die Sicherung gestartet werden und Benutzer können das System weiter normal benutzen, während die Sicherung stattfindet.
  • In 2 wird die funktionelle Organisation einer bevorzugten Ausgestaltung eines erfindungsgemäßen Sicherungssystems abgebildet. Speicher 130 enthält Copy-on-Write-Programm (COW-Programm) 231 zur Ausführung durch SP 132 während des Sicherungsvorgangs. COW 231 kontrolliert auf Schreibbefehle an Speicher 130 von Server 120 und suspendiert, wenn ein Schreibbefehl erfasst wird, die Ausführung des Schreibvorgangs, bis eine Kopie der aktuell an dieser Speicheradresse in Speicher 130 befindlichen Daten hergestellt wurde. In der hierin beschriebenen Ausgestaltung von Speicher 130 werden Daten im Speicher 130 addressiert, kopiert und in Blöcken von 512 Bytes verschoben.
  • Die modifizierte Map (MM) 245 und der Originaldaten-Cache (ODC) 246 repräsentieren Bereiche des Speichersystems 141. In einer bevorzugten Ausgestaltung sind MM 245 und ODC 246 in Plattenlaufwerk 143 befindliche Dateien und MM 245 ist in den Speicher eingeblendet (memory-mapped), um die Zugriffsgeschwindigkeit zu erhöhen. Wie unten noch ausführlicher besprochen wird, ist die Aufgabe des ODC 246, aus Speicher 130 kopierte Blöcke von „Originaldaten" vorübergehend aufzunehmen, bis sie zum Konstruieren des in BSU 150 zu speichernden Snapshot-Datenbankbildes benötigt werden.
  • MM 245 enthält einen Eintrag für jeden während der Sicherung in ODC 246 gespeicherten Block. Die Übertragung des assoziierten Blocks von ODC 246 zu BSU 150 oder das Überschreiben des Blocks in ODC 246 verursacht kein Entfernen des Eintrags Eintrag in MM 245. Der Inhalt und die Organisation der MM 245 ist in 6 abgebildet und wird unten besprochen.
  • BU 241, spezielles Lesedienstprogramm (SRU) 242 und Originaldaten-Cache- Dienstprogramm (ODCU) 243 sind in Prozessor 142 laufende Programme. BU 241 ist ein im Handel erhältliches Sicherungsdienstprogramm nach Wahl des Systembenutzers, beispielsweise Legato Networker oder Cheyenne ARCserver. Der Betrieb von SRU 242 und ODCU 243 ist für BU 241 transparent und BU 241 braucht zur Verwendung in dem offenbarten System nicht modifiziert zu werden. BU 241 glaubt, dass es direkt mit Speichers 130 kommuniziert und dass es die volle Kontrolle über die Sicherung hat.
  • SRU 242 und ODCU 243 kommunizieren mit und steuern MM 245 und ODC 246. SRU 242 führt die folgenden Aufgaben durch: (1) Weiterleiten von Datenleseanforderungen von BU 241 an Speicher 130, (2) Zurückerhalten der angeforderten Daten vom Speicher 130, (3) Ablegen der erhaltenen Daten in einem RAM-144-Pufferspeicher, während die Speicher-130-adressen der erhaltenen Blöcke mit MM 245 verglichen werden, um zu ermitteln, ob irgendwelche früher aus diesen Adressen gelesenen Datenblöcke sich bereits in ODC 246 befinden, (4) falls sich einer oder mehrere derartige bereits gelesene Blöcke in ODC 246 befinden, Ersetzen der aktuell im Pufferspeicher befindlichen Blöcken aus den gleichen Adressen durch jene Blöcke aus ODC 246, (5) Modifizieren von MM 245, um anzuzeigen, dass jene Blöcke zu BU 241 übertragen wurden, und (6) Weiterleiten des Inhalts des wieder abgeglichenen Pufferspeichers an BU 241.
  • In einer bevorzugten Ausgestaltung filtert SRU 242 auch die Schreibbefehle aus BU 241. Schreibbefehle an Subsysteme von BA 140 werden zugelassen, aber Versuche von BU 241, während des Sicherungsprozesses in Speicher 130 zu schreiben, falls sie vorkommen, werden nicht erlaubt.
  • ODCU 243 führt die folgenden Aufgaben durch: (1) Überwachen von COW-Datenübertragungen aus Speicher 130, (2) Ermitteln, ob die aus Speicher 130 erhaltenen COW-Blöcke Teil des Bereichs von Speicher 130 sind, der gesichert wird, (3) wenn ja, Vergleichen der Adresse von jedem der erhaltenen COW-Blöcke mit dem Inhalt von MM 245, um zu ermitteln, ob bereits ein Eintrag für einen der erhaltenen Sicherungsblöcke existiert, (4) Erstellen eines Eintrags in MM 245 für jeden erhaltenen Original-COW-Block und (5) Speichern von Original-COW-Blöcken in ODC 246.
  • In 6 ist die funktionelle Organisation von MM 245 abgebildet. Beim Einleiten der Sicherung ist MM 245 leer. Wenn die Sicherung gestartet wurde, veranlasst jeder Schreibbefehl von Server 120 zu einem Datenblock in Speicher 130, dass COW 231 zuerst die existierenden Daten aus dieser Adresse kopiert und sie als einen COW-Block an ODCU 243 sendet. Wenn ODCU 243 einen COW-Block aus Datenbank 131 erhält und die Originaldaten aus diesem Block nicht bereits im ODC 246 sind, erstellt ODCU 243 einen Eintrag in MM 245 für diesen Block. Im Verlauf der Sicherung sammelt MM 245 eine Mehrzahl von Einträgen 1-N, wobei jeder Eintrag einen während der Sicherung von Speicher 130 nach ODC 246 kopierten Originaldatenblock repräsentiert. Nur der erste von einer Adresse erhaltene COW-Block wird in ODC 246 gespeichert. Spätere COW-Blöcke mit der gleichen Adresse werden von ODCU 243 ignoriert.
  • Jeder Eintrag 1-N in MM 245 umfasst vier Informationsfelder. In der hierin beschriebenen Ausgestaltung besteht die Speicheradresse jedes Blocks in Speicher 130 aus einem eindeutigen Identifikator der spezifischen physikalischen oder logischen Komponente in Speicher 130, in der sich dieser betreffende Datenblock befindet, und einem Offset zu dem spezifischen 512-Byte-Block in der Komponente. Diese zwei Adresskomponenten werden in den Feldern 610 und 620 von MM 245 gespeichert und stellen einen eindeutigen Identifikator für jeden Datenblock in Speicher 130 bereit. Feld 630 enthält den Zustand des assoziierten Datenblocks. Jeder Block in ODC 246 befindet sich in einem von zwei Zuständen: von BU 141 gelesen oder von BU 141 noch nicht gelesen. Und schließlich enthält Feld 640 den Offset in den ODC 246, wo sich der assoziierte Datenblock befindet.
  • Wenn Datenbank 131 in einen Wartezustand versetzt worden ist, wird die Sicherungsoperation eingeleitet. 3 illustriert den Betrieb von COW 231. In Schritt 310 überwacht COW 231 alle Befehle von Server 120 an Speicher 130, um Schreibbefehle zu erfassen. Wenn in Schritt 320 ein Schreibbefehl an Speicher 130 erfasst wird, wird der Befehl in Schritt 330 suspendiert und die relevanten Daten werden in Schritt 340 kopiert. Ein Schreibbefehl von Server 120 könnte einen einzelnen Datenblock oder eine Anzahl von Datenblöcken adressieren. Alle von dem Schreibbefehl adressierten Blöcke werden in Schritt 340 kopiert. Der kopierte Datenblock bzw. die kopierten Datenblöcke wird/werden in Schritt 350 an BA 140 gesendet. Nach dem Kopieren des Blocks oder der Blöcke kann der Schreibbefehl von Server 120 durchgeführt werden.
  • Wie fachkundige Personen gut verstehen, kann COW 231, falls erwünscht, mit zusätzlicher Funktionalität ausgebildet sein, je nach der verfügbaren Verarbeitungskapazität und Speicherkapazität von SP 132. In der hierin beschriebenen Ausgestaltung wird eine relativ unkomplizierte COW-231-Methode besprochen. COW 231 macht eine Kopie aller Schreibvorgänge nach Speicher 130 und suspendiert den gesamten Schreibvorgang, bis alle Blöcke kopiert worden sind. In einer alternativen Ausgestaltung könnte COW 231 eine relativ große Schreibanforderung, d.h. eine Schreibanforderung, die eine relativ große Anzahl von Blöcken betrifft, in eine Anzahl kleinerer inkrementeller Schreibvorgänge unterteilen. COW 231 könnte dann jeden inkrementellen Schreibvorgang suspendieren, bis der Abschnitt der von diesem inkrementellen Schreibvorgang adressierten Blöcke kopiert worden ist. In einer weiteren Ausgestaltung könnte COW 231 eine Map der spezifischen zu sichernden Adressen führen und nur dann eine Kopie herstellen, wenn Schreibvorgänge für diese spezifischen Speicherbereiche vorgesehen sind. In noch einer weiteren alternativen Ausgestaltung könnte COW 231 eine Tabelle der Adressen von Blöcken in Speicher 130 führen, die bereits kopiert wurden, und verzögertes Kopieren (Copy-on-Write) nur für jene Blöcke durchführen, die während der Sicherung nicht schon einmal kopiert wurden.
  • 4 illustriert die Art und Weise, wie ODCU 243 die in Schritt 350 zu BA 140 gesendeten COW-Blöcke handhabt. Beim Einleiten des Sicherns leitet ODCU 243 Schritt 410 ein, die Überwachung auf COW-Blöcke von Speicher 130. Wenn ein Block oder mehrere Blöcke in Schritt 420 aus Speicher 130 erhalten werden, werden die Adressen der erhaltenen Blöcke in Schritt 430 überprüft, um zu ermitteln, ob die erhaltenen Daten Teil des Abschnitts von Speicher 130 sind, der gesichert wird. Wenn die erhaltenen Daten nicht Teil des Bereichs von Speicher 130 sind, der gesichert wird, werden die Blöcke in Schritt 440 ignoriert und ODCU 243 setzt sein Überwachen fort. Wenn die erhaltenen Daten Teil des Bereichs von Speicher 130 sind, der gesichert wird, wird MM 245 überprüft, um zu ermitteln, ob ein Eintrag für den eindeutigen Identifikator von einem der erhaltenen Blöcke bereits in MM 245 vorliegt, was bedeutet, dass die Originaldaten von diesem Block bereits in ODC 246 gespeichert wurden. Wenn in MM 245 bereits ein Eintrag für eine Blockadresse existiert, dann repräsentieren die gerade erhaltenen Daten einen nachfolgenden Schreibvorgang zu demselben Block während der Sicherung. In diesem Fall wird der erhaltene Block ignoriert und die Überwachung in Schritt 410 fortgesetzt.
  • Wenn die Adresse eines erhaltenen Blocks in Schritt 460 in MM 245 nicht gefunden wird, dann wird in Schritt 470 für diesen Block ein neuer Eintrag in MM 245 erstellt. Zum Durchführen einer Sicherung einer einzelnen Datenbank ist es unnötig, Datenblöcke nach ihrer Sicherung in ODC 246 zu behalten. ODCU 243 kann daher den ODC-Offset eines Blocks wiederverwenden, der bereits zu BSU 150 verschoben wurde, wie von Zustand 630 angezeigt wird, wenn kein derartiger Offset verfügbar ist. Wenn kein zuvor benutzter ODC- Offset verfügbar ist, weist ODCU 243 einen neuen ODC-Offset zu. Als eine alternative Ausgestaltung kann die Wiederverwendung von ODC-Offsets verboten werden, wodurch sichergestellt wird, dass jedem Eintrag in MM 245 während der Sicherung ein eindeutiger ODC-Offset zugewiesen wird und alle ODC-Datenblöcke in ODC 246 behalten werden. Schließlich wird der erhaltene Block in Schritt 480 in ODC 246 gespeichert.
  • 5 illustriert den Betrieb von SRU 242. Wie oben angedeutet, aus der Sicht von BU 241, gibt BU 241 Lesebefehle an Speicher 130 aus und erhält die angeforderten Daten zurück, die es dann wiederum an BSU 150 sendet. Tatsächlich ist SRU 242 zwischen BU 241 und Speicher 130 angeordnet. In Schritt 510 überwacht SRU 242 auf Lesebefehle von BU 241 an Speicher 130. Lesebefehle werden in Schritt 540 an Speicher 130 weitergeleitet. Wenn der Lesebefehl nicht an Speicher 130 gerichtet ist, wird der Lesebefehl zur Durchführung in Schritt 530 an sein Ziel weitergeleitet. Speicher 130 ruft die angeforderten Daten in Schritt 540 ab und sendet sie zum Sicherungsgerät zurück.
  • Allgemein bestimmt und wählt das als BU 241 eingesetzte im Handel erhältliche Dienstprogramm die spezifische Datenmenge, die es mit jeder Leseanforderung von Speicher 130 anfordern wird. Wie oben besprochen verwendet Speicher 130 in einer bevorzugten Ausgestaltung einen 512-Byte-Datenblock als seine Standarddateneinheit für Manipulieren und Adressieren. Meist ist die von BU 241 gelesene Datenmenge beträchtlich größer als 512 Bytes. Beispielsweise könnte es sein, dass BU 241 mit jedem Lesebefehl 64 Kbyte anfordert. SRU 242 leitet die Leseanforderung an Speicher 130 weiter und legt, wenn der Speicher die angeforderten Daten zurücksendet, die zurückgesendete Datenmenge in einen Pufferspeicher in RAM 144. An diesem Punkt können einige der Datenblöcke in dem Pufferspeicher Blöcke sein, die nach dem Einleiten der Sicherung modifiziert wurden. Um sicherzustellen, dass die Sicherung einen echten Snapshot erstellt, müssen alle derartigen modifizierten Datenblöcke in dem Pufferspeicher durch die entsprechenden Originaldatenblöcke aus ODC 246 ersetzt werden, bevor die angeforderten Daten an BU 241 geliefert werden.
  • Daher wird in Schritt 560 die in Speicher 130 befindliche eindeutige Adresse jedes Blocks in dem Pufferspeicher mit den in MM 245 gespeicherten Adressen verglichen, um zu ermitteln, ob Originaldaten für diese Adresse in ODC 246 verfügbar sind. In Schritt 570 wird jeder Block in dem Pufferspeicher, der eine Adresse hat, die mit einer in MM 245 gespeicherten Adresse übereinstimmt, verworfen und durch den Originaldatenblock aus ODC 246 ersetzt. In Schritt 580 wird das Zustandsfeld von MM 245 jedes Originaldatenblocks, der in den Pufferspeicher gelegt wurde, aktualisiert, sodass es reflektiert, dass der Block in Vorbereitung auf seine Sicherung in BSU 150 aus ODC 246 gelesen wurde. Die Änderung des Blockzustands in Schritt 580 dient ODCU 243 als Anzeige dafür, dass der von diesem Block in ODC 246 eingenommene Bereich überschrieben und zum Speichern eines anderen Blocks verwendet werden kann. In Schritt 590 wird der Inhalt des Pufferspeichers, der jetzt nur aus Originaldaten besteht, zur Übertragung an BSU 150 an BU 241 weitergeleitet.
  • Die oben beschriebene bevorzugte Ausgestaltung stellt ein Mittel zum Herstellen einer Snapshot-Sicherung von Datenbank 131 mithilfe eines separaten Sicherungsgeräts bereit, das nicht erfordert, dass Server 120 am Sicherungsprozess beteiligt ist, und von Speicher 130 nur COW-Fähigkeit erfordert. Es versteht sich, dass die Funktionen von MM 245 und ODC 246 so implementiert werden könnten, dass sie in Speicher 130 liegen, und die Dienstprogramme SRU 242 und ODCU 243 könnten so implementiert sein, dass sie in SP 132 anstelle von Prozessor 142 ausgeführt werden. In dieser alternativen Implementierung würden die Speicherung von COW-Datenblöcken und der Abgleich von COW-Daten und Datenlesevorgängen in Reaktion auf Leseanforderungen von BU 142 gänzlich innerhalb Speicher 130 erfolgen. Diese Implementierung würde den vom Prozessor 142 geforderten Verarbeitungsaufwand verringern, die Notwendigkeit für das Vorhandensein der Platte 142 verringern oder beseitigen und den Verkehr auf Bus 163 verringern, sie würde aber bewirken, dass die Arbeitslast von SP 132 erhöht würde und Speicher 130 die Speicherung von MM 245 und ODC 246 übernehmen müsste.
  • Die besondere Ausgestaltung oben ist in jeder Hinsicht als veranschaulichend und nicht einschränkend zu betrachten. Der Umfang der Erfindung wird von den angehängten Ansprüchen und nicht der vorhergehenden Beschreibung angezeigt.

Claims (18)

  1. Verfahren zum Erstellen einer Snapshot-Aufnahme eines gewünschten Teils der Daten, die sich auf einer Plattenperipherie in einem Datenverarbeitungssystem befinden, das einen mit der Plattenperipherie verbundenen Hostrechner und einen mit dem Hostrechner und der Plattenperipherie verbundenen Sicherungsrechner hat, wobei der Sicherungsrechner einen Originaldaten-Cache und eine Map hat, die für jeden in dem Originaldaten-Cache gespeicherten Datenblock die entsprechende Adresse des genannten Datenblocks in der Plattenperipherie enthält, wobei das Datenverarbeitungssystem ferner eine mit dem Sicherungsrechner verbundene Bandperipherie hat, wobei das Verfahren die folgenden Schritte umfasst: a) Lesen von ein oder mehreren Blöcken der gewünschten Daten aus der Plattenperipherie; b) Ermitteln in einem ersten Ermittlungschritt durch Vergleichen der Adressen in der Map mit den Adressen der erhaltenen Blöcke, ob ein oder mehrere Datenblöcke, die zuvor aus der gleichen Plattenperipherieadresse gelesen wurden wie die ein oder mehreren in Schritt a) gelesenen Datenblöcke, in dem Originaldaten-Cache verfügbar sind; c) wenn ja, Übertragen der ein oder mehreren zuvor gelesenen Datenblöcke aus dem Originaldaten-Cache auf die Bandperipherie mithilfe der Map, um die Daten aus dem Originaldaten-Cache für die ein oder mehreren in Schritt a) gelesenen Blöcke einzusetzen; und d) wenn nicht, Übertragen der ein oder mehreren in Schritt a) aus der Plattenperipherie gelesenen Datenblöcke auf die Bandperipherie.
  2. Verfahren nach Anspruch 1 und ferner umfassend den Schritt des Wiederholens aller Schritte a) bis d) des Verfahrens nach Anspruch 1, bis der gesamte gewünschte Teil auf die Bandperipherie übertragen worden ist.
  3. Verfahren nach Anspruch 1, ferner umfassend: vor dem Schritt b) und wenn mehr als ein Datenblock aus der Plattenperipherie gelesen wurde, Ablegen wenigstens einiger dieser Datenblöcke in einem Pufferspeicher; dann Durchführen eines zweiten Ermittlungsschrittes für jeden in dem Pufferspeicher abgelegten Block: Ermitteln, ob ein zuvor aus der gleichen Plattenperipherieadresse gelesener Datenblock in dem Originaldaten-Cache verfügbar ist; und wenn ja, Ersetzen des derzeit in dem Pufferspeicher befindlichen Datenblocks durch den zuvor gelesenen Datenblock; Übertragen des Inhalts des Pufferspeichers auf die Bandperipherie; Fortfahren mit allen Verfahrensschritten nach Anspruch 1, angefangen mit Schritt b), für alle nicht in dem Pufferspeicher abgelegten Datenblöcke.
  4. Verfahren nach Anspruch 3 und ferner umfassend den Schritt des Wiederholens aller Schritte des Verfahrens nach Anspruch 3, bis der gesamte gewünschte Teil auf die Bandperipherie übertragen worden ist.
  5. Verfahren nach Anspruch 1, ferner umfassend den Schritt des Überwachens auf einen Schreibbefehl von dem Hostrechner an die Plattenperipherie; Durchführen der folgenden Schritte vor dem Schritt b), wenn ein Schreibbefehl erfasst wird: (i) Suspendieren des Schreibbefehls; (ii) Kopieren der Daten aus den Plattenperipherieadressen, an die der Schreibbefehl gerichtet ist; (iii) Speichern der in Schritt (ii) kopierten Daten in dem Originaldaten-Cache und (iv) Ausführen des Schreibvorgangs.
  6. Verfahren nach Anspruch 5, ferner umfassend den Schritt des Wiederholens aller Schritte des Verfahrens nach Anspruch 5, bis der gesamte gewünschte Teil auf die Bandperipherie übertragen worden ist.
  7. Verfahren nach Anspruch 1, bei dem die Plattenperipherie Copy-on-Write-Fähigkeit hat und das ferner das Durchführen eines Copy-on-Write-Prozesses umfasst, wobei das Verfahren die folgenden Schritte umfasst: Überwachen auf einen Schreibbefehl von dem Hostrechner an die Plattenperipherie und, falls vor Schritt b) ein Schreibbefehl erfasst wird, Durchführen der folgenden Schritte: (i) Suspendieren des Schreibbefehls; (ii) Kopieren der Daten von den Adressen, an die der Schreibbefehl gerichtet ist; (iii) Durchführen der folgenden Schritte für jeden in Schritt (ii) kopierten Datenblock: (1) Vergleichen der Adresse des Blocks mit einer Liste von Adressen von Blöcken, die zuvor in einem Originaldaten-Cache gespeichert wurden; (2) Verwerfen des Blocks, wenn sich die Adresse des Blocks auf der Liste befindet; (3) wenn die Adresse des Blocks sich nicht auf der Liste befindet, Speichern des Blocks in dem Originaldaten-Cache und Hinzufügen der Adresse des Blocks zu der Liste; und (4) Ausführen des Schreibvorgangs; und wenn vor dem ersten Ermittlungsschritt kein Schreibbefehl erfasst wird, Schritt b) und alle übrigen Schritte nach Anspruch 1.
  8. Verfahren nach Anspruch 7, bei dem der Schritt (iii) (3) den zusätzlichen Schritt des Speicherns eines Zeigers auf die Speicherstelle des Blocks in dem Sicherungsrechner umfasst.
  9. Verfahren nach Anspruch 7, bei dem der Schritt (iii) (3) den zusätzlichen Schritt des Speicherns eines Zustandanzeigers für den Block umfasst, wobei der genannte Zustandsanzeiger anzeigt, ob der Block aus dem Sicherungsrechner gelesen wurde.
  10. System zum Erstellen einer Snapshot-Aufnahme eines gewünschten Teils der Daten, die sich auf einer Plattenperipherie in einem Computersystem befinden, umfassend: einen Hostrechner (120); eine Plattenperipherie (130), die mit dem Hostrechner verbunden ist und einen internen Prozessor hat; eine Bandperipherie (150) zum Speichern einer Sicherungskopie eines gewünschten Teils der Daten, die sich auf der Plattenperipherie befinden; einen Sicherungsrechner (140), der mit dem Hostrechner und der Plattenperipherie verbunden ist, wobei der Sicherungsrechner einen Originaldaten-Cache und eine Map hat, die für jeden in dem Originaldaten-Cache gespeicherten Datenblock die entsprechende Adresse des genannten Datenblocks in der Plattenperipherie enthält; wobei der Sicherungsrechner zum Lesen von einem oder mehreren Blöcken der gewünschten Daten aus der Plattenperipherie, zum Ermitteln durch Vergleichen der Adressen in der Map mit den Adressen der erhaltenen Blöcke, ob ein oder mehrere zuvor von der gleichen Plattenperipherieadresse gelesene Datenblöcke in dem Originaldaten-Cache verfügbar sind, und zum Übertragen der ein oder mehreren zuvor gelesenen Datenblöcke aus dem Originaldaten-Cache auf die Bandperipherie mithilfe der Map, um die Daten aus dem Originaldaten-Cache für die ein oder mehreren von dem Sicherungsrechner gelesenen Blöcke einzusetzen, und ansonsten Übertragen der von dem Sicherungsrechner gelesenen Datenblöcke auf die Bandperipherie.
  11. System nach Anspruch 10, bei dem die Plattenperipherie Copy-on-Write-Fähigkeit hat, wobei der Sicherungsrechner Folgendes umfasst: ein Mittel zum Erhalten von Copy-on-Write-Daten von der Plattenperipherie, ein Mittel zum Speichern der Copy-on-Write-Daten in dem Sicherungsrechner, ein Mittel zum Anfordern von Sicherungsdaten von der Plattenperipherie, ein Mittel zum Erhalten von Sicherungsdaten von der Plattenperipherie in Antwort auf eine Anfrage, ein Mittel zum Übertragen von Daten auf die Bandperipherie und ein Mittel zum Auswählen der erhaltenen Sicherungsdaten oder der gespeicherten Copy-on-Write-Daten zum Übertragen auf die Bandperipherie.
  12. System nach Anspruch 10, bei dem der Sicherungsrechner Folgendes hat: ein Daten-Cache-Dienstprogramm mit einem Mittel zum Erhalten von Copy-on-Write-Daten (COW-Daten) von der Plattenperipherie und einem Mittel zum Speichern der COW-Daten in dem Originaldaten-Cache; ein Sicherungsdienstprogramm mit einem Mittel zum Ausgeben von Lesebefehlen an die Plattenperipherie, einem Mittel zum Erhalten von Daten von der Plattenperipherie und einem Mittel zum Senden von Daten zu der Bandperipherie; und ein Lesedienstprogramm mit einem Mittel zum Erhalten von Daten von der Plattenperipherie in Antwort auf einen Lesebefehl von dem Sicherungsdienstprogramm; ein Mittel zum Vergleichen der Plattenperipherieadresse erhaltener Daten mit Plattenperipherieadressen von COW-Daten; ein Mittel, um dem Sicherungsdienstprogramm Daten bereitzustellen; und ein Mittel zum Auswählen der dem Sicherungsdienstprogramm bereitzustellenden Daten aus den von der Plattenperipherie erhaltenen Daten oder den in dem Originaldaten-Cache gespeicherten COW-Daten.
  13. System nach Anspruch 11 oder 12, bei der der Sicherungsrechner ferner Folgendes umfasst: ein Mittel zum Speichern der Plattenperipherieadresse der COW-Daten in der Map in der Map des Originaldaten-Caches; und ein Mittel zum Zuweisen und Speichern, in der Map, eines Zeigers auf die COW-Daten in dem Originaldaten-Cachemittel zum Prüfen der Map auf gespeicherte Adressen, die mit den Adressen von Daten übereinstimmen, die von der Plattenperipherie erhalten wurden.
  14. System nach Anspruch 13, bei dem das Mittel zum Auswählen für jede von dem Sicherungsdienstprogramm angeforderte Adresse die erhaltenen Daten auswählt, wenn in der Map keine entsprechende Adresse gefunden wird, und die Originaldaten-Cache-Daten auswählt, wenn in der Map eine entsprechende Adresse gefunden wird.
  15. System nach Anspruch 13, bei dem das Daten-Cache-Dienstprogramm ferner ein Mittel hat zum Prüfen der Map vor dem Speichern von COW-Daten in dem Originaldaten-Cache und Speichern der Daten in dem Originaldaten-Cache nur dann, wenn die Map anzeigt, dass nicht bereits Daten von der gleichen Plattenperipherieadresse in dem Originaldaten-Cache gespeichert sind.
  16. System nach Anspruch 14, bei dem das Daten-Cache-Dienstprogramm ferner ein Mittel zum Speichern eines Zustandsfeldes in der Map für jeden COW-Eintrag hat, wobei das genannte Zustandsfeld anzeigt, ob die entsprechenden COW-Daten in dem Originaldaten-Cache von dem Lesedienstprogramm-Auswahlmittel ausgewählt wurden oder nicht.
  17. System nach Anspruch 16, bei dem das Lesedienstprogramm ferner ein Mittel zum Modifizieren des Inhalts des Zustandsfeldes hat, wenn das Lesedienstprogramm die mit diesem Zustandsfeld assoziierten COW-Daten aus dem Originaldaten-Cache auswählt.
  18. System nach Anspruch 13, bei dem das Mittel zum Zuweisen des Zeigers ein Mittel hat zum Neuzuweisen eines zuvor zugewiesenen Zeigers, wenn das mit dem zuvor zugewiesenen Zeiger assoziierte Zustandsfeld anzeigt, dass die mit diesem Zeiger assoziierten COW-Daten von dem Lesedienstprogramm-Auswahlmittel ausgewählt wurden.
DE69831944T 1997-05-19 1998-05-14 Vorrichtung und verfahren zur sicherung eines plattenspeichersystem Expired - Lifetime DE69831944T2 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US858231 1997-05-19
US08/858,231 US6081875A (en) 1997-05-19 1997-05-19 Apparatus and method for backup of a disk storage system
PCT/US1998/009887 WO1998053400A1 (en) 1997-05-19 1998-05-14 Apparatus and method for backup of a disk storage system

Publications (2)

Publication Number Publication Date
DE69831944D1 DE69831944D1 (de) 2005-11-24
DE69831944T2 true DE69831944T2 (de) 2006-07-06

Family

ID=25327810

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69831944T Expired - Lifetime DE69831944T2 (de) 1997-05-19 1998-05-14 Vorrichtung und verfahren zur sicherung eines plattenspeichersystem

Country Status (7)

Country Link
US (1) US6081875A (de)
EP (1) EP0983548B1 (de)
JP (1) JP3792258B2 (de)
AU (1) AU7572698A (de)
CA (1) CA2286356A1 (de)
DE (1) DE69831944T2 (de)
WO (1) WO1998053400A1 (de)

Families Citing this family (160)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6631477B1 (en) * 1998-03-13 2003-10-07 Emc Corporation Host system for mass storage business continuance volumes
WO1999063441A1 (en) * 1998-06-05 1999-12-09 Mylex Corporation Snapshot backup strategy
US6353878B1 (en) 1998-08-13 2002-03-05 Emc Corporation Remote control of backup media in a secondary storage subsystem through access to a primary storage subsystem
US6269431B1 (en) 1998-08-13 2001-07-31 Emc Corporation Virtual storage and block level direct access of secondary storage for recovery of backup data
US6345346B1 (en) * 1999-02-26 2002-02-05 Voom Technologies Substantially instantaneous storage restoration for non-computer forensics applications
JP4282030B2 (ja) * 1999-06-03 2009-06-17 株式会社日立製作所 データ二重化制御方法および二重化した記憶サブシステム
JP3693226B2 (ja) * 1999-06-30 2005-09-07 矢崎総業株式会社 マイコンのバックアップ装置及び自動車用パワーウインドウ制御装置
US6594780B1 (en) 1999-10-19 2003-07-15 Inasoft, Inc. Operating system and data protection
US7337360B2 (en) * 1999-10-19 2008-02-26 Idocrase Investments Llc Stored memory recovery system
US6810396B1 (en) 2000-03-09 2004-10-26 Emc Corporation Managed access of a backup storage system coupled to a network
US6938039B1 (en) 2000-06-30 2005-08-30 Emc Corporation Concurrent file across at a target file server during migration of file systems between file servers using a network file system access protocol
US6457109B1 (en) * 2000-08-18 2002-09-24 Storage Technology Corporation Method and apparatus for copying data from one storage system to another storage system
US6701456B1 (en) 2000-08-29 2004-03-02 Voom Technologies, Inc. Computer system and method for maintaining an audit record for data restoration
US6640217B1 (en) * 2000-09-19 2003-10-28 Bocada, Inc, Method for extracting and storing records of data backup activity from a plurality of backup devices
US6823336B1 (en) 2000-09-26 2004-11-23 Emc Corporation Data storage system and method for uninterrupted read-only access to a consistent dataset by one host processor concurrent with read-write access by another host processor
US6609126B1 (en) * 2000-11-15 2003-08-19 Appfluent Technology, Inc. System and method for routing database requests to a database and a cache
US6594744B1 (en) * 2000-12-11 2003-07-15 Lsi Logic Corporation Managing a snapshot volume or one or more checkpoint volumes with multiple point-in-time images in a single repository
EP1415425B1 (de) 2001-07-06 2019-06-26 CA, Inc. Verfahren und systeme zur informationssicherheit
US6640291B2 (en) * 2001-08-10 2003-10-28 Hitachi, Ltd. Apparatus and method for online data migration with remote copy
US6880101B2 (en) * 2001-10-12 2005-04-12 Dell Products L.P. System and method for providing automatic data restoration after a storage device failure
US6799189B2 (en) * 2001-11-15 2004-09-28 Bmc Software, Inc. System and method for creating a series of online snapshots for recovery purposes
US6886021B1 (en) 2001-11-27 2005-04-26 Unisys Corporation Method for tracking audit files spanning multiple tape volumes
US7296125B2 (en) * 2001-11-29 2007-11-13 Emc Corporation Preserving a snapshot of selected data of a mass storage system
US6751715B2 (en) * 2001-12-13 2004-06-15 Lsi Logic Corporation System and method for disabling and recreating a snapshot volume
US6948039B2 (en) * 2001-12-14 2005-09-20 Voom Technologies, Inc. Data backup and restoration using dynamic virtual storage
US6993539B2 (en) 2002-03-19 2006-01-31 Network Appliance, Inc. System and method for determining changes in two snapshots and for transmitting changes to destination snapshot
US7185031B2 (en) * 2002-03-25 2007-02-27 Quantum Corporation Creating a backup volume using a data profile of a host volume
US7185169B2 (en) * 2002-04-26 2007-02-27 Voom Technologies, Inc. Virtual physical drives
US7546364B2 (en) * 2002-05-16 2009-06-09 Emc Corporation Replication of remote copy data for internet protocol (IP) transmission
US6988165B2 (en) * 2002-05-20 2006-01-17 Pervasive Software, Inc. System and method for intelligent write management of disk pages in cache checkpoint operations
US7389313B1 (en) 2002-08-07 2008-06-17 Symantec Operating Corporation System and method for creating a snapshot copy of a database
US7284016B2 (en) * 2002-12-03 2007-10-16 Emc Corporation Client-server protocol for directory access of snapshot file systems in a storage system
JP3974538B2 (ja) 2003-02-20 2007-09-12 株式会社日立製作所 情報処理システム
JP4165747B2 (ja) * 2003-03-20 2008-10-15 株式会社日立製作所 記憶システム、制御装置及び制御装置のプログラム
US7457982B2 (en) * 2003-04-11 2008-11-25 Network Appliance, Inc. Writable virtual disk of read-only snapshot file objects
US7085909B2 (en) * 2003-04-29 2006-08-01 International Business Machines Corporation Method, system and computer program product for implementing copy-on-write of a file
US7111136B2 (en) * 2003-06-26 2006-09-19 Hitachi, Ltd. Method and apparatus for backup and recovery system using storage based journaling
US20050015416A1 (en) 2003-07-16 2005-01-20 Hitachi, Ltd. Method and apparatus for data recovery using storage based journaling
US20050022213A1 (en) 2003-07-25 2005-01-27 Hitachi, Ltd. Method and apparatus for synchronizing applications for data recovery using storage based journaling
US7398422B2 (en) * 2003-06-26 2008-07-08 Hitachi, Ltd. Method and apparatus for data recovery system using storage based journaling
JP4124348B2 (ja) 2003-06-27 2008-07-23 株式会社日立製作所 記憶システム
US7165145B2 (en) * 2003-07-02 2007-01-16 Falconstor Software, Inc. System and method to protect data stored in a storage system
US8856927B1 (en) 2003-07-22 2014-10-07 Acronis International Gmbh System and method for using snapshots for rootkit detection
US8074035B1 (en) * 2003-07-22 2011-12-06 Acronis, Inc. System and method for using multivolume snapshots for online data backup
US7467266B2 (en) * 2003-08-05 2008-12-16 International Business Machines Corporation Snapshot management method apparatus and system
US7725760B2 (en) 2003-09-23 2010-05-25 Symantec Operating Corporation Data storage system
US7904428B2 (en) 2003-09-23 2011-03-08 Symantec Corporation Methods and apparatus for recording write requests directed to a data store
US7991748B2 (en) 2003-09-23 2011-08-02 Symantec Corporation Virtual data store creation and use
US7827362B2 (en) 2004-08-24 2010-11-02 Symantec Corporation Systems, apparatus, and methods for processing I/O requests
US7287133B2 (en) 2004-08-24 2007-10-23 Symantec Operating Corporation Systems and methods for providing a modification history for a location within a data store
US7577806B2 (en) 2003-09-23 2009-08-18 Symantec Operating Corporation Systems and methods for time dependent data storage and recovery
US7730222B2 (en) 2004-08-24 2010-06-01 Symantec Operating System Processing storage-related I/O requests using binary tree data structures
US20050071380A1 (en) * 2003-09-29 2005-03-31 Micka William F. Apparatus and method to coordinate multiple data storage and retrieval systems
US7222117B1 (en) 2003-11-14 2007-05-22 Advent Software, Inc. Segmented global area database
US7409497B1 (en) 2003-12-02 2008-08-05 Network Appliance, Inc. System and method for efficiently guaranteeing data consistency to clients of a storage system cluster
US7478101B1 (en) 2003-12-23 2009-01-13 Networks Appliance, Inc. System-independent data format in a mirrored storage system environment and method for using the same
JP2005346610A (ja) 2004-06-07 2005-12-15 Hitachi Ltd スナップショットの取得および利用のための記憶システムおよび方法
JP4421385B2 (ja) 2004-06-09 2010-02-24 株式会社日立製作所 計算機システム
JP2006011811A (ja) * 2004-06-25 2006-01-12 Hitachi Ltd 記憶制御システム及び記憶制御方法
US20060015696A1 (en) * 2004-07-15 2006-01-19 Lu Nguyen Integrated storage device
US7225371B2 (en) * 2004-08-03 2007-05-29 International Business Machines Corporation Method and apparatus for storing and retrieving multiple point-in-time consistent data sets
US20080140959A1 (en) * 2004-10-12 2008-06-12 Oqo, Inc. One-touch backup system
US7730277B1 (en) 2004-10-25 2010-06-01 Netapp, Inc. System and method for using pvbn placeholders in a flexible volume of a storage system
US9165003B1 (en) 2004-11-29 2015-10-20 Netapp, Inc. Technique for permitting multiple virtual file systems having the same identifier to be served by a single storage system
US20060123211A1 (en) * 2004-12-08 2006-06-08 International Business Machines Corporation Method for optimizing a snapshot operation on a file basis
US20060143412A1 (en) * 2004-12-28 2006-06-29 Philippe Armangau Snapshot copy facility maintaining read performance and write performance
US7757056B1 (en) 2005-03-16 2010-07-13 Netapp, Inc. System and method for efficiently calculating storage required to split a clone volume
US7617370B2 (en) * 2005-04-29 2009-11-10 Netapp, Inc. Data allocation within a storage system architecture
US7325111B1 (en) 2005-11-01 2008-01-29 Network Appliance, Inc. Method and system for single pass volume scanning for multiple destination mirroring
US8347373B2 (en) 2007-05-08 2013-01-01 Fortinet, Inc. Content filtering of remote file-system access protocols
JP2007199756A (ja) * 2006-01-23 2007-08-09 Hitachi Ltd 計算機システム及びデータ複製方法
US8095751B2 (en) 2006-02-28 2012-01-10 International Business Machines Corporation Managing set of target storage volumes for snapshot and tape backups
CN100394393C (zh) * 2006-03-10 2008-06-11 四川大学 信息系统数据一致性检测方法
CN100353331C (zh) * 2006-03-10 2007-12-05 四川大学 网络信息系统数据异地快速恢复方法
US7769723B2 (en) * 2006-04-28 2010-08-03 Netapp, Inc. System and method for providing continuous data protection
US8165221B2 (en) 2006-04-28 2012-04-24 Netapp, Inc. System and method for sampling based elimination of duplicate data
TWI316188B (en) * 2006-05-17 2009-10-21 Ind Tech Res Inst Mechanism and method to snapshot data
US9026495B1 (en) 2006-05-26 2015-05-05 Netapp, Inc. System and method for creating and accessing a host-accessible storage entity
US7921077B2 (en) * 2006-06-29 2011-04-05 Netapp, Inc. System and method for managing data deduplication of storage systems utilizing persistent consistency point images
US8412682B2 (en) * 2006-06-29 2013-04-02 Netapp, Inc. System and method for retrieving and using block fingerprints for data deduplication
US8010509B1 (en) 2006-06-30 2011-08-30 Netapp, Inc. System and method for verifying and correcting the consistency of mirrored data sets
US7987167B1 (en) 2006-08-04 2011-07-26 Netapp, Inc. Enabling a clustered namespace with redirection
US7747584B1 (en) 2006-08-22 2010-06-29 Netapp, Inc. System and method for enabling de-duplication in a storage system architecture
US7865741B1 (en) 2006-08-23 2011-01-04 Netapp, Inc. System and method for securely replicating a configuration database of a security appliance
US8116455B1 (en) 2006-09-29 2012-02-14 Netapp, Inc. System and method for securely initializing and booting a security appliance
US7739546B1 (en) 2006-10-20 2010-06-15 Netapp, Inc. System and method for storing and retrieving file system log information in a clustered computer system
US7685178B2 (en) * 2006-10-31 2010-03-23 Netapp, Inc. System and method for examining client generated content stored on a data container exported by a storage system
US8996487B1 (en) 2006-10-31 2015-03-31 Netapp, Inc. System and method for improving the relevance of search results using data container access patterns
US7720889B1 (en) 2006-10-31 2010-05-18 Netapp, Inc. System and method for nearly in-band search indexing
US8423731B1 (en) 2006-10-31 2013-04-16 Netapp, Inc. System and method for automatic scheduling and policy provisioning for information lifecycle management
JP2008134685A (ja) * 2006-11-27 2008-06-12 Konica Minolta Business Technologies Inc 不揮発メモリシステム及び不揮発メモリ制御方法
US7613947B1 (en) 2006-11-30 2009-11-03 Netapp, Inc. System and method for storage takeover
US7711683B1 (en) 2006-11-30 2010-05-04 Netapp, Inc. Method and system for maintaining disk location via homeness
US8301673B2 (en) * 2006-12-29 2012-10-30 Netapp, Inc. System and method for performing distributed consistency verification of a clustered file system
US7853750B2 (en) * 2007-01-30 2010-12-14 Netapp, Inc. Method and an apparatus to store data patterns
US7631158B2 (en) * 2007-01-31 2009-12-08 Inventec Corporation Disk snapshot method using a copy-on-write table in a user space
US8868495B2 (en) * 2007-02-21 2014-10-21 Netapp, Inc. System and method for indexing user data on storage systems
US7870356B1 (en) 2007-02-22 2011-01-11 Emc Corporation Creation of snapshot copies using a sparse file for keeping a record of changed blocks
US7809908B2 (en) * 2007-02-23 2010-10-05 Inventec Corporation Disk snapshot acquisition method
US8219821B2 (en) 2007-03-27 2012-07-10 Netapp, Inc. System and method for signature based data container recognition
US7653612B1 (en) 2007-03-28 2010-01-26 Emc Corporation Data protection services offload using shallow files
US8510524B1 (en) 2007-03-29 2013-08-13 Netapp, Inc. File system capable of generating snapshots and providing fast sequential read access
US8533410B1 (en) 2007-03-29 2013-09-10 Netapp, Inc. Maintaining snapshot and active file system metadata in an on-disk structure of a file system
US7849057B1 (en) 2007-03-30 2010-12-07 Netapp, Inc. Identifying snapshot membership for blocks based on snapid
US7827350B1 (en) 2007-04-27 2010-11-02 Netapp, Inc. Method and system for promoting a snapshot in a distributed file system
US7882304B2 (en) * 2007-04-27 2011-02-01 Netapp, Inc. System and method for efficient updates of sequential block storage
US8219749B2 (en) * 2007-04-27 2012-07-10 Netapp, Inc. System and method for efficient updates of sequential block storage
US8762345B2 (en) * 2007-05-31 2014-06-24 Netapp, Inc. System and method for accelerating anchor point detection
US8301791B2 (en) * 2007-07-26 2012-10-30 Netapp, Inc. System and method for non-disruptive check of a mirror
US7941406B2 (en) * 2007-08-20 2011-05-10 Novell, Inc. Techniques for snapshotting
US8793226B1 (en) 2007-08-28 2014-07-29 Netapp, Inc. System and method for estimating duplicate data
JP5028196B2 (ja) * 2007-09-12 2012-09-19 株式会社リコー バックアップ/リストア装置、バックアップ/リストアシステム及びバックアップ/リストア方法
US7996636B1 (en) 2007-11-06 2011-08-09 Netapp, Inc. Uniquely identifying block context signatures in a storage volume hierarchy
US8380674B1 (en) 2008-01-09 2013-02-19 Netapp, Inc. System and method for migrating lun data between data containers
US8725986B1 (en) 2008-04-18 2014-05-13 Netapp, Inc. System and method for volume block number to disk block number mapping
US8219564B1 (en) 2008-04-29 2012-07-10 Netapp, Inc. Two-dimensional indexes for quick multiple attribute search in a catalog system
US8250043B2 (en) * 2008-08-19 2012-08-21 Netapp, Inc. System and method for compression of partially ordered data sets
US20100228906A1 (en) * 2009-03-06 2010-09-09 Arunprasad Ramiya Mothilal Managing Data in a Non-Volatile Memory System
TWI371686B (en) * 2009-04-02 2012-09-01 Lsi Corp System and method to reduce drive overhead using a mirrored cache volume in a storage array
US8683088B2 (en) * 2009-08-06 2014-03-25 Imation Corp. Peripheral device data integrity
US8745365B2 (en) * 2009-08-06 2014-06-03 Imation Corp. Method and system for secure booting a computer by booting a first operating system from a secure peripheral device and launching a second operating system stored a secure area in the secure peripheral device on the first operating system
US8458217B1 (en) 2009-08-24 2013-06-04 Advent Software, Inc. Instantly built information space (IBIS)
JP5464003B2 (ja) * 2010-03-26 2014-04-09 富士通株式会社 データベース管理装置およびデータベース管理プログラム
US8639658B1 (en) * 2010-04-21 2014-01-28 Symantec Corporation Cache management for file systems supporting shared blocks
US8566640B2 (en) 2010-07-19 2013-10-22 Veeam Software Ag Systems, methods, and computer program products for instant recovery of image level backups
US8849750B2 (en) 2010-10-13 2014-09-30 International Business Machines Corporation Synchronization for initialization of a remote mirror storage facility
US8402004B2 (en) 2010-11-16 2013-03-19 Actifio, Inc. System and method for creating deduplicated copies of data by tracking temporal relationships among copies and by ingesting difference data
US8843489B2 (en) 2010-11-16 2014-09-23 Actifio, Inc. System and method for managing deduplicated copies of data using temporal relationships among copies
US9858155B2 (en) 2010-11-16 2018-01-02 Actifio, Inc. System and method for managing data with service level agreements that may specify non-uniform copying of data
US8904126B2 (en) 2010-11-16 2014-12-02 Actifio, Inc. System and method for performing a plurality of prescribed data management functions in a manner that reduces redundant access operations to primary storage
US8417674B2 (en) 2010-11-16 2013-04-09 Actifio, Inc. System and method for creating deduplicated copies of data by sending difference data between near-neighbor temporal states
US9244967B2 (en) 2011-08-01 2016-01-26 Actifio, Inc. Incremental copy performance between data stores
US8769350B1 (en) 2011-09-20 2014-07-01 Advent Software, Inc. Multi-writer in-memory non-copying database (MIND) system and method
US8332349B1 (en) 2012-01-06 2012-12-11 Advent Software, Inc. Asynchronous acid event-driven data processing using audit trail tools for transaction systems
US9519549B2 (en) * 2012-01-11 2016-12-13 International Business Machines Corporation Data storage backup with lessened cache pollution
US9495435B2 (en) 2012-06-18 2016-11-15 Actifio, Inc. System and method for intelligent database backup
US9569310B2 (en) * 2013-02-27 2017-02-14 Netapp, Inc. System and method for a scalable crash-consistent snapshot operation
CA2912394A1 (en) 2013-05-14 2014-11-20 Actifio, Inc. Efficient data replication and garbage collection predictions
CN103649901A (zh) 2013-07-26 2014-03-19 华为技术有限公司 数据发送方法、数据接收方法和存储设备
US8886671B1 (en) 2013-08-14 2014-11-11 Advent Software, Inc. Multi-tenant in-memory database (MUTED) system and method
US9904603B2 (en) 2013-11-18 2018-02-27 Actifio, Inc. Successive data fingerprinting for copy accuracy assurance
US9009355B1 (en) * 2013-12-17 2015-04-14 Emc Corporation Processing requests to a data store during back up
US9720778B2 (en) 2014-02-14 2017-08-01 Actifio, Inc. Local area network free data movement
US9792187B2 (en) 2014-05-06 2017-10-17 Actifio, Inc. Facilitating test failover using a thin provisioned virtual machine created from a snapshot
WO2015195834A1 (en) 2014-06-17 2015-12-23 Rangasamy Govind Resiliency director
US10042710B2 (en) 2014-09-16 2018-08-07 Actifio, Inc. System and method for multi-hop data backup
US10379963B2 (en) 2014-09-16 2019-08-13 Actifio, Inc. Methods and apparatus for managing a large-scale environment of copy data management appliances
US10445187B2 (en) 2014-12-12 2019-10-15 Actifio, Inc. Searching and indexing of backup data sets
US10055300B2 (en) 2015-01-12 2018-08-21 Actifio, Inc. Disk group based backup
US10282201B2 (en) 2015-04-30 2019-05-07 Actifo, Inc. Data provisioning techniques
US10691659B2 (en) 2015-07-01 2020-06-23 Actifio, Inc. Integrating copy data tokens with source code repositories
US10613938B2 (en) 2015-07-01 2020-04-07 Actifio, Inc. Data virtualization using copy data tokens
US10445298B2 (en) 2016-05-18 2019-10-15 Actifio, Inc. Vault to object store
US10476955B2 (en) 2016-06-02 2019-11-12 Actifio, Inc. Streaming and sequential data replication
US11334443B1 (en) * 2017-01-12 2022-05-17 Acronis International Gmbh Trusted data restoration and authentication
US10855554B2 (en) 2017-04-28 2020-12-01 Actifio, Inc. Systems and methods for determining service level agreement compliance
US11403178B2 (en) 2017-09-29 2022-08-02 Google Llc Incremental vault to object store
US11176001B2 (en) 2018-06-08 2021-11-16 Google Llc Automated backup and restore of a disk group
US10740187B1 (en) 2019-01-31 2020-08-11 EMC IP Holding Company LLC Systems and methods of managing and creating snapshots in a cache-based storage system
CN111324620A (zh) * 2020-02-18 2020-06-23 中国联合网络通信集团有限公司 数据处理方法、装置及存储介质

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0743676B2 (ja) * 1988-03-11 1995-05-15 株式会社日立製作所 バツクアツプデータダンプ制御方法及び装置
CA2071346A1 (en) * 1991-10-18 1993-04-19 Claus William Mikkelsen Method and means for time zero backup copy of data
US5448718A (en) * 1992-04-20 1995-09-05 International Business Machines Corporation Method and system for time zero backup session security
US5241668A (en) * 1992-04-20 1993-08-31 International Business Machines Corporation Method and system for automated termination and resumption in a time zero backup copy process
US5379412A (en) * 1992-04-20 1995-01-03 International Business Machines Corporation Method and system for dynamic allocation of buffer storage space during backup copying
US5263154A (en) * 1992-04-20 1993-11-16 International Business Machines Corporation Method and system for incremental time zero backup copying of data
US5241669A (en) * 1992-04-20 1993-08-31 International Business Machines Corporation Method and system for sidefile status polling in a time zero backup copy process
US5241670A (en) * 1992-04-20 1993-08-31 International Business Machines Corporation Method and system for automated backup copy ordering in a time zero backup copy session
US5487160A (en) * 1992-12-04 1996-01-23 At&T Global Information Solutions Company Concurrent image backup for disk storage system
US5535381A (en) * 1993-07-22 1996-07-09 Data General Corporation Apparatus and method for copying and restoring disk files
US5604862A (en) * 1995-03-14 1997-02-18 Network Integrity, Inc. Continuously-snapshotted protection of computer files
US5852715A (en) * 1996-03-19 1998-12-22 Emc Corporation System for currently updating database by one host and reading the database by different host for the purpose of implementing decision support functions

Also Published As

Publication number Publication date
AU7572698A (en) 1998-12-11
EP0983548B1 (de) 2005-10-19
JP2001520779A (ja) 2001-10-30
DE69831944D1 (de) 2005-11-24
WO1998053400A1 (en) 1998-11-26
JP3792258B2 (ja) 2006-07-05
EP0983548A1 (de) 2000-03-08
CA2286356A1 (en) 1998-11-26
US6081875A (en) 2000-06-27

Similar Documents

Publication Publication Date Title
DE69831944T2 (de) Vorrichtung und verfahren zur sicherung eines plattenspeichersystem
DE60038364T2 (de) Computersystem und Speicherauszugsdatenverwaltungsverfahren
DE60213867T2 (de) Vorrichtung zur verwaltung von datenreplikation
DE69636330T2 (de) Verfahren für On-line- und Echzeit-Datenmigration
DE69724846T2 (de) Mehrweg-Ein/Ausgabespeichersysteme mit Mehrweg-Ein/Ausgabeanforderungsmechanismus
DE602004011181T2 (de) Speicherplattenanordnungsgerät
DE69938378T2 (de) Kopieren von Daten in Speichersystemen
DE69629444T2 (de) Datenverarbeitungsgerät und Verfahren zur Ersetzung von ausgefallenen Speichereinheiten
DE112011100112B4 (de) Pufferspeicher-platte in blitzkopie-kaskade
DE60312746T2 (de) Wiederherstellung nach fehlern in datenverarbeitungsanlagen
DE69730449T2 (de) Erzeugung einer spiegeldatenkopie (bild) unter verwendung von referenzetiketten
DE60025749T2 (de) Dateisystemabbildübertragung zwischen ungleichen dateisystemen
DE60318687T2 (de) Herstellen einer gespiegelten kopie unter verwendung inkrementeller divergenz
DE69937768T2 (de) Externe Speichervorrichtung und Verfahren zur Datensicherung
DE4220198C2 (de) Transaktionsverarbeitungsverfahren für einen digitalen Computer und Transaktionsverarbeitungssystem
DE602005001041T2 (de) Speicherauszugssystem
DE60031064T2 (de) Kopierverfahren zwischen logischen Speicherplatten, Speicherplattensystem und Programm dafür
DE60113586T2 (de) Übertragen von miteinander verbundenen Datenobjekten in einer verteilten Datenspeicherumgebung
DE69733076T2 (de) Hochleistungsdatenweg mit sofortigem xor
DE60035151T2 (de) Hardware-Anordnung zur Verwaltung von Cachespeicherstrukturen in einem Datenspeichersystem
DE60216602T2 (de) Verfahren und vorrichtung zum zugang zu magnetbandeinrichtungen in einem rechnersystem
DE60313468T2 (de) Speicherdienste und -systeme
DE112013006655T5 (de) Speichervorrichtung und Verfahren zum Steuern der Speichervorrichtung
DE102005006176A1 (de) Transaktionsverarbeitungs-Systeme und -Verfahren, die einen Nicht-Platten-Dauerspeicher verwenden
DE60310960T2 (de) Halten von informationen in einem oder mehreren virtuellen volumenaggregaten mit mehreren virtuellen volumen

Legal Events

Date Code Title Description
8364 No opposition during term of opposition