DE69831944T2 - Vorrichtung und verfahren zur sicherung eines plattenspeichersystem - Google Patents
Vorrichtung und verfahren zur sicherung eines plattenspeichersystem Download PDFInfo
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1458—Management of the backup or restore process
- G06F11/1466—Management of the backup or restore process to make the backup process non-disruptive
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
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 von1 . -
3 zeigt den Fluss von COW231 . -
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 Benutzer101 über Lokalnetz110 mit Server120 verbunden. Speicher130 kommuniziert über Bus162 , entweder SCSI oder Fibre-Channel, mit Server120 . In einer bevorzugten Ausgestaltung eines Systems, bei dem Datenbank131 in der Größenordnung von einem Terabyte Daten ist, könnte Server120 beispielsweise ein Data General AViiON Modell6600 Rechner sein, auf dem das Microsoft NT Betriebssystem läuft, und Speicher130 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. Speicher130 enthält einen oder mehrere interne Prozessoren, die in1 kollektiv als Speicherprozessor (SP)132 abgebildet sind. SP132 kann Programme ausführen und auf Befehle von Server120 reagieren. SP132 bietet die Fähigkeit von Speicher130 zum Durchführen von Tasks wie dem unten beschriebenen verzögerten Kopieren (COW) ohne die Beteiligung von Server120 . Speicher130 speichert verschiedene Daten und Programme, darunter Datenbank131 , die von Server120 verwendet wird. Datenbank131 könnte von einem von mehreren kommerziellen Datenbankanbietern bereitgestellt sein, z.B. Oracle, Microsoft oder Informix. - Sicherungsgerät (BA)
140 ist mit Speicher130 , Sicherungsspeichereinheit (BSU)150 und Lokalnetz (LAN)110 verbunden. BA140 kann ein beliebiger Rechner nach Wahl der Benutzer sein, der mit Speicher130 , BSU150 und Lokalnetz110 verbunden werden und arbeiten kann und ausreichend Verarbeitungskapazität zum Ausführen des Sicherungs-Dienstprogramms und zum Handhaben der Sicherungsdaten hat. BA140 kann typisch ein kleinerer Rechner als Server120 sein, beispielsweise ein Data General AViiON Modell3600 . BA140 ist über eine Standardnetzverbindung164 mit LAN110 und über SCSI- oder Fibre-Channel-Busse163 und165 mit Speicher130 und BSU150 verbunden. BA140 kann – muss aber nicht – die gleiche Betriebssystemsoftware wie Server120 ausführen. BA140 weist Prozessor142 und Speichersystem141 auf, das aus RAM-Speicher144 und Plattenlaufwerk143 besteht. Wie unten noch ausführlich besprochen wird, speichert Speichersystem141 vorübergehend Originaldatenblöcke aus Speicher130 und verwandte Informationen. BSU150 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 Server120 über LAN110 , um die Vorbereitung auf den Sicherungsprozess und das Einleiten des Sicherungsprozesses zu koordinieren. Unmittelbar vor dem Einleiten der Sicherung muss die Datenbank von Server120 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 Server120 in Speicher130 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. Speicher130 enthält Copy-on-Write-Programm (COW-Programm)231 zur Ausführung durch SP132 während des Sicherungsvorgangs. COW231 kontrolliert auf Schreibbefehle an Speicher130 von Server120 und suspendiert, wenn ein Schreibbefehl erfasst wird, die Ausführung des Schreibvorgangs, bis eine Kopie der aktuell an dieser Speicheradresse in Speicher130 befindlichen Daten hergestellt wurde. In der hierin beschriebenen Ausgestaltung von Speicher130 werden Daten im Speicher130 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 Speichersystems141 . In einer bevorzugten Ausgestaltung sind MM245 und ODC246 in Plattenlaufwerk143 befindliche Dateien und MM245 ist in den Speicher eingeblendet (memory-mapped), um die Zugriffsgeschwindigkeit zu erhöhen. Wie unten noch ausführlicher besprochen wird, ist die Aufgabe des ODC246 , aus Speicher130 kopierte Blöcke von „Originaldaten" vorübergehend aufzunehmen, bis sie zum Konstruieren des in BSU150 zu speichernden Snapshot-Datenbankbildes benötigt werden. - MM
245 enthält einen Eintrag für jeden während der Sicherung in ODC246 gespeicherten Block. Die Übertragung des assoziierten Blocks von ODC246 zu BSU150 oder das Überschreiben des Blocks in ODC246 verursacht kein Entfernen des Eintrags Eintrag in MM245 . Der Inhalt und die Organisation der MM245 ist in6 abgebildet und wird unten besprochen. - BU
241 , spezielles Lesedienstprogramm (SRU)242 und Originaldaten-Cache- Dienstprogramm (ODCU)243 sind in Prozessor142 laufende Programme. BU241 ist ein im Handel erhältliches Sicherungsdienstprogramm nach Wahl des Systembenutzers, beispielsweise Legato Networker oder Cheyenne ARCserver. Der Betrieb von SRU242 und ODCU243 ist für BU241 transparent und BU241 braucht zur Verwendung in dem offenbarten System nicht modifiziert zu werden. BU241 glaubt, dass es direkt mit Speichers130 kommuniziert und dass es die volle Kontrolle über die Sicherung hat. - SRU
242 und ODCU243 kommunizieren mit und steuern MM245 und ODC246 . SRU242 führt die folgenden Aufgaben durch: (1) Weiterleiten von Datenleseanforderungen von BU241 an Speicher130 , (2) Zurückerhalten der angeforderten Daten vom Speicher130 , (3) Ablegen der erhaltenen Daten in einem RAM-144-Pufferspeicher, während die Speicher-130-adressen der erhaltenen Blöcke mit MM245 verglichen werden, um zu ermitteln, ob irgendwelche früher aus diesen Adressen gelesenen Datenblöcke sich bereits in ODC246 befinden, (4) falls sich einer oder mehrere derartige bereits gelesene Blöcke in ODC246 befinden, Ersetzen der aktuell im Pufferspeicher befindlichen Blöcken aus den gleichen Adressen durch jene Blöcke aus ODC246 , (5) Modifizieren von MM245 , um anzuzeigen, dass jene Blöcke zu BU241 übertragen wurden, und (6) Weiterleiten des Inhalts des wieder abgeglichenen Pufferspeichers an BU241 . - In einer bevorzugten Ausgestaltung filtert SRU
242 auch die Schreibbefehle aus BU241 . Schreibbefehle an Subsysteme von BA140 werden zugelassen, aber Versuche von BU241 , während des Sicherungsprozesses in Speicher130 zu schreiben, falls sie vorkommen, werden nicht erlaubt. - ODCU
243 führt die folgenden Aufgaben durch: (1) Überwachen von COW-Datenübertragungen aus Speicher130 , (2) Ermitteln, ob die aus Speicher130 erhaltenen COW-Blöcke Teil des Bereichs von Speicher130 sind, der gesichert wird, (3) wenn ja, Vergleichen der Adresse von jedem der erhaltenen COW-Blöcke mit dem Inhalt von MM245 , um zu ermitteln, ob bereits ein Eintrag für einen der erhaltenen Sicherungsblöcke existiert, (4) Erstellen eines Eintrags in MM245 für jeden erhaltenen Original-COW-Block und (5) Speichern von Original-COW-Blöcken in ODC246 . - In
6 ist die funktionelle Organisation von MM245 abgebildet. Beim Einleiten der Sicherung ist MM245 leer. Wenn die Sicherung gestartet wurde, veranlasst jeder Schreibbefehl von Server120 zu einem Datenblock in Speicher130 , dass COW231 zuerst die existierenden Daten aus dieser Adresse kopiert und sie als einen COW-Block an ODCU243 sendet. Wenn ODCU243 einen COW-Block aus Datenbank131 erhält und die Originaldaten aus diesem Block nicht bereits im ODC246 sind, erstellt ODCU243 einen Eintrag in MM245 für diesen Block. Im Verlauf der Sicherung sammelt MM245 eine Mehrzahl von Einträgen 1-N, wobei jeder Eintrag einen während der Sicherung von Speicher130 nach ODC246 kopierten Originaldatenblock repräsentiert. Nur der erste von einer Adresse erhaltene COW-Block wird in ODC246 gespeichert. Spätere COW-Blöcke mit der gleichen Adresse werden von ODCU243 ignoriert. - Jeder Eintrag 1-N in MM
245 umfasst vier Informationsfelder. In der hierin beschriebenen Ausgestaltung besteht die Speicheradresse jedes Blocks in Speicher130 aus einem eindeutigen Identifikator der spezifischen physikalischen oder logischen Komponente in Speicher130 , 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 Feldern610 und620 von MM245 gespeichert und stellen einen eindeutigen Identifikator für jeden Datenblock in Speicher130 bereit. Feld630 enthält den Zustand des assoziierten Datenblocks. Jeder Block in ODC246 befindet sich in einem von zwei Zuständen: von BU141 gelesen oder von BU141 noch nicht gelesen. Und schließlich enthält Feld640 den Offset in den ODC246 , wo sich der assoziierte Datenblock befindet. - Wenn Datenbank
131 in einen Wartezustand versetzt worden ist, wird die Sicherungsoperation eingeleitet.3 illustriert den Betrieb von COW231 . In Schritt310 überwacht COW231 alle Befehle von Server120 an Speicher130 , um Schreibbefehle zu erfassen. Wenn in Schritt320 ein Schreibbefehl an Speicher130 erfasst wird, wird der Befehl in Schritt330 suspendiert und die relevanten Daten werden in Schritt340 kopiert. Ein Schreibbefehl von Server120 könnte einen einzelnen Datenblock oder eine Anzahl von Datenblöcken adressieren. Alle von dem Schreibbefehl adressierten Blöcke werden in Schritt340 kopiert. Der kopierte Datenblock bzw. die kopierten Datenblöcke wird/werden in Schritt350 an BA140 gesendet. Nach dem Kopieren des Blocks oder der Blöcke kann der Schreibbefehl von Server120 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 SP132 . In der hierin beschriebenen Ausgestaltung wird eine relativ unkomplizierte COW-231-Methode besprochen. COW231 macht eine Kopie aller Schreibvorgänge nach Speicher130 und suspendiert den gesamten Schreibvorgang, bis alle Blöcke kopiert worden sind. In einer alternativen Ausgestaltung könnte COW231 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. COW231 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 COW231 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 COW231 eine Tabelle der Adressen von Blöcken in Speicher130 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 ODCU243 die in Schritt350 zu BA140 gesendeten COW-Blöcke handhabt. Beim Einleiten des Sicherns leitet ODCU243 Schritt410 ein, die Überwachung auf COW-Blöcke von Speicher130 . Wenn ein Block oder mehrere Blöcke in Schritt420 aus Speicher130 erhalten werden, werden die Adressen der erhaltenen Blöcke in Schritt430 überprüft, um zu ermitteln, ob die erhaltenen Daten Teil des Abschnitts von Speicher130 sind, der gesichert wird. Wenn die erhaltenen Daten nicht Teil des Bereichs von Speicher130 sind, der gesichert wird, werden die Blöcke in Schritt440 ignoriert und ODCU243 setzt sein Überwachen fort. Wenn die erhaltenen Daten Teil des Bereichs von Speicher130 sind, der gesichert wird, wird MM245 überprüft, um zu ermitteln, ob ein Eintrag für den eindeutigen Identifikator von einem der erhaltenen Blöcke bereits in MM245 vorliegt, was bedeutet, dass die Originaldaten von diesem Block bereits in ODC246 gespeichert wurden. Wenn in MM245 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 Schritt410 fortgesetzt. - Wenn die Adresse eines erhaltenen Blocks in Schritt
460 in MM245 nicht gefunden wird, dann wird in Schritt470 für diesen Block ein neuer Eintrag in MM245 erstellt. Zum Durchführen einer Sicherung einer einzelnen Datenbank ist es unnötig, Datenblöcke nach ihrer Sicherung in ODC246 zu behalten. ODCU243 kann daher den ODC-Offset eines Blocks wiederverwenden, der bereits zu BSU150 verschoben wurde, wie von Zustand630 angezeigt wird, wenn kein derartiger Offset verfügbar ist. Wenn kein zuvor benutzter ODC- Offset verfügbar ist, weist ODCU243 einen neuen ODC-Offset zu. Als eine alternative Ausgestaltung kann die Wiederverwendung von ODC-Offsets verboten werden, wodurch sichergestellt wird, dass jedem Eintrag in MM245 während der Sicherung ein eindeutiger ODC-Offset zugewiesen wird und alle ODC-Datenblöcke in ODC246 behalten werden. Schließlich wird der erhaltene Block in Schritt480 in ODC246 gespeichert. -
5 illustriert den Betrieb von SRU242 . Wie oben angedeutet, aus der Sicht von BU241 , gibt BU241 Lesebefehle an Speicher130 aus und erhält die angeforderten Daten zurück, die es dann wiederum an BSU150 sendet. Tatsächlich ist SRU242 zwischen BU241 und Speicher130 angeordnet. In Schritt510 überwacht SRU242 auf Lesebefehle von BU241 an Speicher130 . Lesebefehle werden in Schritt540 an Speicher130 weitergeleitet. Wenn der Lesebefehl nicht an Speicher130 gerichtet ist, wird der Lesebefehl zur Durchführung in Schritt530 an sein Ziel weitergeleitet. Speicher130 ruft die angeforderten Daten in Schritt540 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 Speicher130 anfordern wird. Wie oben besprochen verwendet Speicher130 in einer bevorzugten Ausgestaltung einen 512-Byte-Datenblock als seine Standarddateneinheit für Manipulieren und Adressieren. Meist ist die von BU241 gelesene Datenmenge beträchtlich größer als 512 Bytes. Beispielsweise könnte es sein, dass BU241 mit jedem Lesebefehl 64 Kbyte anfordert. SRU242 leitet die Leseanforderung an Speicher130 weiter und legt, wenn der Speicher die angeforderten Daten zurücksendet, die zurückgesendete Datenmenge in einen Pufferspeicher in RAM144 . 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 ODC246 ersetzt werden, bevor die angeforderten Daten an BU241 geliefert werden. - Daher wird in Schritt
560 die in Speicher130 befindliche eindeutige Adresse jedes Blocks in dem Pufferspeicher mit den in MM245 gespeicherten Adressen verglichen, um zu ermitteln, ob Originaldaten für diese Adresse in ODC246 verfügbar sind. In Schritt570 wird jeder Block in dem Pufferspeicher, der eine Adresse hat, die mit einer in MM245 gespeicherten Adresse übereinstimmt, verworfen und durch den Originaldatenblock aus ODC246 ersetzt. In Schritt580 wird das Zustandsfeld von MM245 jedes Originaldatenblocks, der in den Pufferspeicher gelegt wurde, aktualisiert, sodass es reflektiert, dass der Block in Vorbereitung auf seine Sicherung in BSU150 aus ODC246 gelesen wurde. Die Änderung des Blockzustands in Schritt580 dient ODCU243 als Anzeige dafür, dass der von diesem Block in ODC246 eingenommene Bereich überschrieben und zum Speichern eines anderen Blocks verwendet werden kann. In Schritt590 wird der Inhalt des Pufferspeichers, der jetzt nur aus Originaldaten besteht, zur Übertragung an BSU150 an BU241 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 Server120 am Sicherungsprozess beteiligt ist, und von Speicher130 nur COW-Fähigkeit erfordert. Es versteht sich, dass die Funktionen von MM245 und ODC246 so implementiert werden könnten, dass sie in Speicher130 liegen, und die Dienstprogramme SRU242 und ODCU243 könnten so implementiert sein, dass sie in SP132 anstelle von Prozessor142 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 BU142 gänzlich innerhalb Speicher130 erfolgen. Diese Implementierung würde den vom Prozessor142 geforderten Verarbeitungsaufwand verringern, die Notwendigkeit für das Vorhandensein der Platte142 verringern oder beseitigen und den Verkehr auf Bus163 verringern, sie würde aber bewirken, dass die Arbeitslast von SP132 erhöht würde und Speicher130 die Speicherung von MM245 und ODC246 ü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)
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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. - 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
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)
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 |
US6182198B1 (en) * | 1998-06-05 | 2001-01-30 | International Business Machines Corporation | Method and apparatus for providing a disc drive snapshot backup while allowing normal drive read, write, and buffering operations |
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 |
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 |
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 | 矢崎総業株式会社 | マイコンのバックアップ装置及び自動車用パワーウインドウ制御装置 |
US7337360B2 (en) * | 1999-10-19 | 2008-02-26 | Idocrase Investments Llc | Stored memory recovery system |
US6594780B1 (en) * | 1999-10-19 | 2003-07-15 | Inasoft, Inc. | Operating system and data protection |
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 |
US20050022213A1 (en) | 2003-07-25 | 2005-01-27 | Hitachi, Ltd. | Method and apparatus for synchronizing applications for data recovery using storage based journaling |
US20050015416A1 (en) | 2003-07-16 | 2005-01-20 | Hitachi, Ltd. | Method and apparatus 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 |
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 |
US7991748B2 (en) | 2003-09-23 | 2011-08-02 | Symantec Corporation | Virtual data store creation and use |
US7730222B2 (en) | 2004-08-24 | 2010-06-01 | Symantec Operating System | Processing storage-related I/O requests using binary tree data structures |
US7725760B2 (en) | 2003-09-23 | 2010-05-25 | Symantec Operating Corporation | Data storage system |
US7827362B2 (en) | 2004-08-24 | 2010-11-02 | Symantec Corporation | Systems, apparatus, and methods for processing I/O requests |
US7904428B2 (en) | 2003-09-23 | 2011-03-08 | Symantec Corporation | Methods and apparatus for recording write requests directed to a data store |
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 |
CN100353331C (zh) * | 2006-03-10 | 2007-12-05 | 四川大学 | 网络信息系统数据异地快速恢复方法 |
CN100394393C (zh) * | 2006-03-10 | 2008-06-11 | 四川大学 | 信息系统数据一致性检测方法 |
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 |
US8412682B2 (en) * | 2006-06-29 | 2013-04-02 | Netapp, Inc. | System and method for retrieving and using block fingerprints for data deduplication |
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 |
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 |
US8423731B1 (en) | 2006-10-31 | 2013-04-16 | Netapp, Inc. | System and method for automatic scheduling and policy provisioning for information lifecycle management |
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 |
US7720889B1 (en) | 2006-10-31 | 2010-05-18 | Netapp, Inc. | System and method for nearly in-band search indexing |
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 |
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 |
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 |
US8510524B1 (en) | 2007-03-29 | 2013-08-13 | Netapp, Inc. | File system capable of generating snapshots and providing fast sequential read access |
US7849057B1 (en) | 2007-03-30 | 2010-12-07 | Netapp, Inc. | Identifying snapshot membership for blocks based on snapid |
US7882304B2 (en) * | 2007-04-27 | 2011-02-01 | Netapp, Inc. | System and method for efficient updates of sequential block storage |
US7827350B1 (en) | 2007-04-27 | 2010-11-02 | Netapp, Inc. | Method and system for promoting a snapshot in a distributed file system |
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 |
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 |
US8683088B2 (en) * | 2009-08-06 | 2014-03-25 | Imation Corp. | Peripheral device data integrity |
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 |
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 |
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 |
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 |
KR20150021117A (ko) | 2012-06-18 | 2015-02-27 | 액티피오 인크. | 강화형 데이터 관리 가상화 시스템 |
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 |
WO2015010327A1 (zh) | 2013-07-26 | 2015-01-29 | 华为技术有限公司 | 数据发送方法、数据接收方法和存储设备 |
US8886671B1 (en) | 2013-08-14 | 2014-11-11 | Advent Software, Inc. | Multi-tenant in-memory database (MUTED) system and method |
US20150142748A1 (en) | 2013-11-18 | 2015-05-21 | Actifio, Inc. | Computerized methods and apparatus for data cloning |
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 |
US10379963B2 (en) | 2014-09-16 | 2019-08-13 | Actifio, Inc. | Methods and apparatus for managing a large-scale environment of copy data management appliances |
US10089185B2 (en) | 2014-09-16 | 2018-10-02 | Actifio, Inc. | Multi-threaded smart copy |
WO2016094819A1 (en) | 2014-12-12 | 2016-06-16 | Actifio, Inc. | Searching and indexing of backup data sets |
WO2016115135A1 (en) | 2015-01-12 | 2016-07-21 | Xiangdong Zhang | Disk group based backup |
US10282201B2 (en) | 2015-04-30 | 2019-05-07 | Actifo, Inc. | Data provisioning techniques |
US10613938B2 (en) | 2015-07-01 | 2020-04-07 | Actifio, Inc. | Data virtualization using copy data tokens |
US10691659B2 (en) | 2015-07-01 | 2020-06-23 | Actifio, Inc. | Integrating copy data tokens with source code repositories |
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)
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 |
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 |
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 |
US5448718A (en) * | 1992-04-20 | 1995-09-05 | International Business Machines Corporation | Method and system for time zero backup session security |
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 |
US5263154A (en) * | 1992-04-20 | 1993-11-16 | International Business Machines Corporation | Method and system for incremental time zero backup copying of data |
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 |
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 |
-
1997
- 1997-05-19 US US08/858,231 patent/US6081875A/en not_active Expired - Lifetime
-
1998
- 1998-05-14 AU AU75726/98A patent/AU7572698A/en not_active Abandoned
- 1998-05-14 EP EP98923431A patent/EP0983548B1/de not_active Expired - Lifetime
- 1998-05-14 DE DE69831944T patent/DE69831944T2/de not_active Expired - Lifetime
- 1998-05-14 WO PCT/US1998/009887 patent/WO1998053400A1/en active IP Right Grant
- 1998-05-14 CA CA002286356A patent/CA2286356A1/en not_active Abandoned
- 1998-05-14 JP JP55044398A patent/JP3792258B2/ja not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
JP3792258B2 (ja) | 2006-07-05 |
WO1998053400A1 (en) | 1998-11-26 |
EP0983548B1 (de) | 2005-10-19 |
AU7572698A (en) | 1998-12-11 |
DE69831944D1 (de) | 2005-11-24 |
CA2286356A1 (en) | 1998-11-26 |
JP2001520779A (ja) | 2001-10-30 |
US6081875A (en) | 2000-06-27 |
EP0983548A1 (de) | 2000-03-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE69831944T2 (de) | Vorrichtung und verfahren zur sicherung eines plattenspeichersystem | |
DE60038364T2 (de) | Computersystem und Speicherauszugsdatenverwaltungsverfahren | |
DE69802294T2 (de) | Systemen zur datensicherung und -rückgewinnung | |
DE60213867T2 (de) | Vorrichtung zur verwaltung von datenreplikation | |
DE69311952T2 (de) | Verfahren und System zur inkrementalen Datensicherung | |
DE69403192T2 (de) | Vorrichtung und verfahren zur datensicherung von speichereinheiten in einem rechnernetzwerk | |
DE69636330T2 (de) | Verfahren für On-line- und Echzeit-Datenmigration | |
DE69621841T2 (de) | Rechnersicherungssystem mit offenen Dateien | |
DE69604734T2 (de) | Client-Server-Computersystem und Verfahren zum Verwenden eines lokalen Plattenlaufwerks als Daten-Cache | |
DE69030024T2 (de) | Verfahren zur Herstellung einer Duplikation von einer Datenbank | |
DE69710578T2 (de) | Verfahren zum unabhängigen und gleichzeitigen zugriff auf eine gemeinsame datensammlung | |
DE69938378T2 (de) | Kopieren von Daten in Speichersystemen | |
DE69714344T2 (de) | Vorrichtung und Verfahren für die Verfügbarkeit und Wiedergewinnung von Dateien unter Verwendung von Sammlungen von Kopierspeicher | |
DE69803924T2 (de) | Mappedvirtuelsystem(mvs)-vorrichtungssicherung für einen datenprozessor unter verwendung einer datenspeicherungsuntersystemschnappschussmöglichkeit | |
DE69920713T2 (de) | Datei-system bild-übertragung | |
DE69327679T2 (de) | Nachrichtenübertragung zwischen Prozessoren und einer Koppeleinrichtung | |
DE68927172T2 (de) | Multiprozessorsystem mit cache-speichern | |
DE112011100112B4 (de) | Pufferspeicher-platte in blitzkopie-kaskade | |
DE60312746T2 (de) | Wiederherstellung nach fehlern in datenverarbeitungsanlagen | |
DE69418482T2 (de) | Inkrementales datensicherungssystem | |
DE69730449T2 (de) | Erzeugung einer spiegeldatenkopie (bild) unter verwendung von referenzetiketten | |
DE60001460T2 (de) | Datenfernkopieren unter verwendung von potentiellen aufhebungsbefehlen | |
DE60113586T2 (de) | Übertragen von miteinander verbundenen Datenobjekten in einer verteilten Datenspeicherumgebung | |
DE60313468T2 (de) | Speicherdienste und -systeme | |
DE69801655T2 (de) | System mit schreibbenachrichtigung während eines datensatzkopiervorgang |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8364 | No opposition during term of opposition |