PatentDe  


Dokumentenidentifikation DE102005012358B4 21.12.2006
Titel Datenschutz unter Verwendung von Daten, die in Schnappschüsse verteilt sind
Anmelder Hewlett-Packard Development Co., L.P., Houston, Tex., US
Erfinder Patterson, Brian, Boise, Id., US;
Nelson, Lee, Boise, Id., US
Vertreter Schoppe, Zimmermann, Stöckeler & Zinkler, 82049 Pullach
DE-Anmeldedatum 17.03.2005
DE-Aktenzeichen 102005012358
Offenlegungstag 17.11.2005
Veröffentlichungstag der Patenterteilung 21.12.2006
Veröffentlichungstag im Patentblatt 21.12.2006
IPC-Hauptklasse G06F 12/16(2006.01)A, F, I, 20051017, B, H, DE

Beschreibung[de]

Datenspeicherungsadministratoren verwenden seit langem Systemsicherungen bzw. Systembackups, um einen Schutz von wertvollen Daten sicherzustellen. Backups wurden herkömmlicherweise während der Abschaltung bzw. einem Herunterfahren anderer Anwendungen durchgeführt, ein Prozess, der häufig nachts oder außerhalb der Geschäftszeiten durchgeführt wird. Der höchst erwünschte Nutzen von kontinuierlich verfügbaren Speicherungssystemen ist für derartige herkömmliche Backup-Operationen nicht verfügbar.

Schnappschusstechniken wurden entwickelt, um Backup-Operationen zu ermöglichen, die eine Unterbrechung anderer Operationen vermeiden. Ein Schnappschussbild kann als eine Quelle des Backups verwendet werden. Ein Schnappschuss wird allgemein durch ein Stilllegen von Anwendungen und Durchführen einer Kopie genommen, die beinahe sofort erzeugt wird, sodass ein Benutzer im Wesentlichen keine Verzögerung bemerkt.

Ein häufiger Grund, um Informationen wiederherzustellen bzw. zurückzuspeichern, ist ein Benutzerfehler, wie beispielsweise eine versehentliche Löschung oder Modifikationen an einer Datei, die der Benutzer nachfolgend umkehren möchte. Schnappschusstechniken ermöglichen die Fähigkeit, eine gespeicherte Kopie der Daten in sofortiger Verfügbarkeit für eine schnelle und effiziente Datenlokalisierung und -wiederherstellung zu halten.

Die US 2003/0079102 A1 bezieht sich auf ein System und ein Verfahren zum Erzeugen einer Point-in-time-Speicherkopie. Ein Speichersystem ermöglicht eine virtuelle Speicherung von Benutzerdaten durch Implementieren einer Abbildungsstruktur einer logischen Platte, die einen Zugriff auf Benutzerdaten, die auf physikalischen Speichermedien gespeichert sind, wobei ferner Verfahren zum Erzeugen von Pointin-time-Kopien oder Schnappschüssen von logischen Platten dargestellt sind. Eine Schnappschuß-Logikplatte wird als eine Vorgänger-Logikplatte bezeichnet, während die originale Logikplatte als eine Nachfolger-Logikplatte bezeichnet wird. Das Erzeugen eines Schnappschusses beinhaltet das Erzeugen von Abbildungsdatenstrukturen der Vorgänger-Logikplatte und das Bevölkern der Datenstrukturen mit Metadaten, die die Vorgänger-Logikplatte auf die Benutzerdaten, die auf physikalischen Medien gespeichert sind, abbilden. Logische Platte umfassen Metadaten, die angeben, ob Benutzerinformationen zwischen logischen Platten gemeinsam verwendet werden.

Es ist eine Aufgabe der vorliegenden Erfindung, ein Verfahren zum Schützen von Daten, ein Speicherungssystem und ein Computersystem mit verbesserten Charakteristika zu schaffen.

Diese Aufgabe wird durch ein Verfahren gemäß Anspruch 1, ein Speicherungssystem gemäß Anspruch 7 und ein Computersystem gemäß Anspruch 13 gelöst.

Gemäß einem Ausführungsbeispiel eines Datenspeicherungssystems umfasst ein Verfahren zum Schützen von Daten ein Verteilen von Daten über eine Mehrzahl von Schnappschüssen einer Stamm-Logikeinheit (LUN = logical unit), wenn Daten der Stamm-LUN von den Schnappschüssen divergieren.

Ausführungsbeispiele der Erfindung, die sich sowohl auf eine Struktur als auch ein Betriebsverfahren beziehen, werden am besten durch Bezugnahme auf die folgende Beschreibung und die zugehörigen Zeichnungen ersichtlich.

Bevorzugte Ausführungsbeispiele der vorliegenden Erfindung werden nachfolgend Bezug nehmend auf die beiliegenden Zeichnungen näher erläutert. Es zeigen:

1A und 1B schematische Blockdiagramme, die Datenstrukturen darstellen, die bei einem Speicherungssystem zum Implementieren einer Schnappschussfunktionalität verwendet werden, bei der eine Granularität von Abbildungen eines Arrays die gleiche wie die Granularität ist, mit der die Divergenz zwischen der Schnappschusskopie und den ursprünglichen Daten innerhalb des Arrays aufgezeichnet ist

2A und 2B schematische Blockdiagramme, die Datenstrukturen darstellen, die bei einem Speicherungssystem zum Implementieren einer Schnappschussfunktionalität verwendet werden, bei der eine Granularität von Abbildungen eines Arrays nicht die gleiche wie die Granularität ist, mit der die Divergenz zwischen der Schnappschusskopie und den ursprünglichen Daten innerhalb des Arrays aufgezeichnet ist;

3A und 3B schematische Blockdiagramme, die Datenstrukturen zeigen, die bei einem Ausführungsbeispiel eines Speicherungssystems verwendet werden, das eine Schnappschussfunktionalität implementiert, bei der Daten über eine Mehrzahl von Schnappschüssen verteilt sind;

4A, 4B und 4C bildliche Blockdiagramme sind, die ein Ausführungsbeispiel eines Speicherungssystems zeigen, das eine Schnappschussfunktionalität durch ein Verteilen von Daten über eine Mehrzahl von Schnappschüssen verwaltet; und

5 ein schematisches Blockdiagramm, das ein Ausführungsbeispiel eines Computersystems zu einer Verwendung bei einem Speicherungssystem darstellt, das eine Schnappschussfunktionalität durch ein Verteilen von Daten über eine Mehrzahl von Schnappschüssen verwaltet.

Speicherungsvorrichtungen können auf eine Weise konfiguriert sein, die eine verbesserte Leistungsfähigkeit und Zuverlässigkeit ermöglicht. Insbesondere verwenden Speicherungsvorrichtung in der Form von redundanten Arrays von Laufwerken (RAID = Redundant Arrays of Independent Disks) zwei oder mehr Speicherungslaufwerke in Kombination, um eine Fehlertoleranz und Leistungsfähigkeit zu erzielen. RAID-Speicherungsarrays können in zwei Typen gruppiert sein, einschließlich herkömmlicher und virtueller RAID-Speicherungsarraytypen. Herkömmliche Arrays sind durch eine feste Abbildung eines Adressraums von einem Hostcomputer zu physischen Medien definiert. Folglich können bei einem herkömmlichen Array, die Adresse vorausgesetzt, bei der der Hostcomputer auf ein spezielles Stück von Daten zugreift, die Daten physisch auf dem tatsächlichen Speicherungslaufwerk positioniert sein, die das RAID-Array bilden. Bei einem virtuellen Array existiert zumindest eine Ebene einer Umleitung, auch Virtualisation genannt, zwischen der Adresse, die der Hostcomputer verwendet, um auf ein spezielles Stück von Daten an dem Array zuzugreifen, und der tatsächlichen physischen Position für diese Daten auf den Speicherungslaufwerken, die das RAID-Array bilden. Bei dem virtuellen Array, bei dem die spezifische Hostadresse für das Datenstück bekannt ist, kann die tatsächliche physische Position dieser Daten auf irgendeinem der Laufwerke in dem Array sein. Die Umleitungsschicht, die bei dem virtuellen Array existiert, wird durch ein Abbilden von hostbasierten Adressen zu der physischen Position von Daten auf den Speicherungslaufwerken erzeugt.

Abbildungen ermöglichen eine virtuelle Arrayfunktionalität und können verwendet werden, um bei einer Fähigkeit zu unterstützen, Schnappschusskopien von gespeicherten Datenvolumen zu machen. Eine Schnappschusskopie sichert Informationen, wobei eine Zeitpunkt-Kopie eines ausgewählten Datensatzes ermöglicht wird. Bei einem herkömmlichen Array wird eine Schnappschusskopie durch ein Unterbinden von Schreibvorgängen zu dem Volumen, das kopiert wird, ein Bewahren des Volumenzustands zu dem Zeitpunkt, gefolgt durch ein Kopieren jedes Stücks von Daten von dem Volumen, das kopiert wird, zu dem neuen Adressraum erzielt, der die Zeitpunkt-Kopie darstellt. Erst nachdem jedes Datenstück von dem ursprünglichen Volumen kopiert ist, werden Schreibvorgänge zu dem Volumen, das kopiert wird, wieder aufgenommen. Abhängig von der Schnappschussgröße, zum Beispiel der Menge an kopierten Daten, kann der Prozess eine unannehmbare Zeitdauer benötigen.

Bei einem virtuellen Array kann der Schnappschussprozess stark vereinfacht sein. Als ein Nebenprodukt einer Virtualisierung existieren bereits Abbildungen von dem ursprünglichen Volumen von Adressen zu den zugeordneten physischen Positionen. Unter Verwendung der Virtualisierungsabbildungen kann eine Zeitpunkt-Kopie einfach durch ein Kopieren der Abbildungen zu dem neuen Adressraum erzeugt werden, der die Zeitpunkt-Kopie darstellt. Bei einer typischen Implementierung sind sowohl die ursprüngliche Hostadresse als auch die zugeordnete Schnappschusskopieadresse zu den gleichen physischen Positionen auf den Speicherungsvorrichtungen abgebildet. Somit ist ein Schnappschuss in der geringen Zeitdauer abgeschlossen, die benötigt wird, um die Abbildungen zu kopieren. Die virtuellen Arrays ermöglichen eine Schnappschussfunktionalität, die viel schneller vonstatten geht, als die Operation des herkömmlichen Arrays eines Kopierens aller Daten von einer physischen Position zu einer anderen.

Die Schnappschusstechnik eines virtuellen Arrays lässt jedoch das Problem der nachfolgenden Datenmodifikation ungelöst. Eine Modifikation der ursprünglichen Daten kann unter zwei Bedingungen auftreten. Bei einem ersten Zustand, der in den schematischen Blockdiagrammen dargestellt ist, die in 1A und 1B gezeigt sind, ist eine Granularität der Abbildungen des Arrays die gleiche wie die Granularität, mit der die Divergenz zwischen der Schnappschusskopie und den ursprünglichen Daten innerhalb des Arrays aufgezeichnet ist. Eine Granularität kann zum Beispiel als die Grüße des zusammenhängenden physischen Bereichs definiert sein, der durch einen Abbildungseintrag definiert ist. Folglich entspricht bei dem Zustand 100, der in 1A und 1B gezeigt ist, die Granularität einer Divergenz genau der Größe und Position von Abbildungseinträgen.

1A zeigt den Zustand 100 vor dem Schreiben von neuen Daten zu einem Abbildungseintrag 1 102. Der Abbildungseintrag 1 102 zeigt zu gespeicherten Daten 1 104. Ein Abbildungseintrag 2 106 zeigt zu gespeicherten Daten 2 108. ein Schnappschusseintrag 1 110 zeigt ebenfalls zu den gespeicherten Daten 1 104. Ein Schnappschusseintrag 2 112 zeigt ebenfalls zu den gespeicherten Daten 2 106.

1B zeigt den Zustand 120, nachdem neue Daten zu dem Abbildungseintrag 1 102 geschrieben werden. Bei dem virtuellen Array wird der Schnappschuss durch ein Schreiben der modifizierten ursprünglichen Daten zu einer neuen Position genommen, die bei dem darstellenden Beispiel als gespeicherte Daten 3 122 etikettiert ist. Die Schnappschusskopie, die als der Schnappschusseintrag 1 110 gezeigt ist, zeigt weiter zu den ursprünglichen physischen Daten bei der ursprünglichen Position, die als die gespeicherten Daten 1 104 gezeigt ist. Die ursprünglichen Daten, die mit Abbildungseintrag 1 102 etikettiert sind, werden verändert, um zu der neuen physischen Position 122 zu zeigen. Somit wird die Divergenz der Schnappschusskopie und der ursprünglichen Daten durch ein Schreiben der neuen Daten in eine neue Position erzielt.

Die Technik ist funktionsfähig, wenn die Granularität der Abbildungen des Arrays die gleiche wie die Granularität einer Divergenz ist. Bei einem alternativen Zustand, der in 2A und 2B gezeigt ist, ist eine Schnappschussdivergenz bei dem Zustand 200 gezeigt, wenn eine Divergenzgranularität und eine Abbildungsgranularität unterschiedlich sind. 2A zeigt den Zustand 200 vor dem Schreiben neuer Daten zu dem Abbildungseintrag 1 202. Der Abbildungseintrag 1 202 zeigt zu gespeicherten Daten 1 204. Ein Abbildungseintrag 2 206 zeigt zu gespeicherten Daten 2 208 . Ein Schnappschusseintrag 1 210 zeigt zu Schnappschusszieldaten 214 und ein Schnappschusseintrag 2 212 zeigt zu Schnappschusszieldaten 216.

2B stellt den Zustand 220 dar, nachdem neue Daten zu dem Abbildungseintrag 1 202 geschrieben werden. Bevor die Speicherungspositionen, die die ursprünglichen Daten halten, die als gespeicherte Daten 1 204 etikettiert sind, geschrieben werden können, wobei modifizierte gespeicherte Daten 1 222 gebildet werden, werden die ursprünglichen Daten von der ursprünglichen Position in den gespeicherten Daten 1 204 zu einer anderen physischen Position kopiert, die als ursprüngliche gespeicherte Daten 1 224 dargestellt ist, um eine geeignete Zeitpunkt-Kopie beizubehalten. Die Schnappschusseinträge 1 210 und 2 212 zeigen zu der neuen physischen Position, die nun die Schnappschusszieldaten 214 bzw. die Schnappschusszieldaten 216 enthält. Nicht nur die ursprünglichen Daten, die gespeicherten Daten 1 204, sondern alle ursprünglichen Daten, die dem Schnappschuss zugeordnet sind, werden zu der neuen physischen Position kopiert, sodass der Schnappschusseintrag 1 210 und der Schnappschusseintrag 2 212 weiterhin zu einer vollständigen Zeitpunkt-Kopie zeigen. Bei dem darstellenden Beispiel, das in 2B gezeigt ist, werden die gespeicherten Daten 2 208 zu der neuen physischen Position 226 kopiert. Um die ursprünglichen Daten beizubehalten, wird ein Inhalt der physischen Speicherungspositionen nicht modifiziert, bis die ursprünglichen Daten kopiert sind. Eine Schwierigkeit der Schnappschussoperation besteht darin, dass eine Modifikation eines Datenstücks das Kopieren von viel mehr Daten bewirken kann, wobei möglicherweise eine dramatische Erhöhung der für eine Datenmodifikation benötigten Zeit bewirkt wird, verglichen mit einem System, das keine Schnappschüsse verwendet.

Ein Beispiel einer Datenmodifikation, die eine dramatische Wirkung auf eine Leistungsfähigkeit aufweisen kann, ist eine Löschung der ursprünglichen Daten, wobei möglicherweise bewirkt wird, dass zahlreiche Datenstücke in einer sehr kurzen Zeitperiode kopiert werden. Das Problem verschlimmert sich, falls mehrere Schnappschüsse von den gleichen Daten genommen werden. Bei einem herkömmlichen System werden Daten, wenn eine Stamm-Logikeinheit (Stamm-LUN; LUN = logical unit) gelöscht wird, zu dem ersten Schnappschuss geschrieben und alle anderen Schnappschüsse zeigen zu dem ersten. Falls der erste Schnappschuss dann gelöscht wird, werden die Daten alle zu dem nächsten, beispielsweise zweiten Schnappschuss umgeschrieben und alle verbleibenden Schnappschüsse werden dann zu dem zweiten Schnappschuss zeigen. Falls der zweite Schnappschuss nachfolgend gelöscht wird, dann wird die gleiche Operation erneut durchgeführt, wobei alle Daten erneut zu nachfolgenden Schnappschüssen umgeschrieben werden. Auf diese Weise können alle Daten in einem gegebenen Schnappschuss zahlreiche Male kopiert werden, abhängig davon, wann spezielle Schnappschüsse gelöscht werden, wodurch Zeit und Ressourcen bei einem unproduktiven Kopieren verschwendet werden.

Gemäß vielen Ausführungsbeispielen eines verbesserten Speicherungssystems und verbesserter Speicherungssystem-Handhabungstechniken wird, wenn eine Divergenz auftritt, anstelle eines Kopierens aller Daten zu einem Schnappschuss ein Abschnitt der Daten über mehrere Schnappschüsse verteilt. Eine Datendivergenz kann zum Beispiel auftreten, wenn eine Stamm-Logikeinheit (Stamm-LUN) gelöscht wird. Unter Bezugnahme auf 3A und 3B zeigen perspektivische Blockdiagramme eine Speicherungskonfiguration 300, die einem Ausführungsbeispiel eines Verfahrens zum Schützen von Daten zugeordnet ist. Das Verfahren betrifft ein Verteilen von Daten 302 über eine Mehrzahl von Schnappschüssen 304A, B, C und D einer Stamm-Logikeinheit (Stamm-LUN) 306, wenn Daten der Stamm-LUN von den Schnappschüssen divergieren.

Verschiedene Typen von Stamm-LUN-Datendivergenzzuständen können für eine Erfassung ausgewählt sein, einschließlich einer Löschung einer Stamm-LUN, Datenschreiboperationen zu der Stamm-LUN und eines Ausfalls der Stamm-LUN. Nach einer Erfassung der Divergenz der Stamm-LUN-Daten können die divergierten Daten in eine Mehrzahl von Abschnitten verteilt werden und die verteilten Datenabschnitte zu der Mehrzahl von Schnappschüssen geschrieben werden. Bei einigen Ausführungsbeispielen können die Daten über die Mehrzahl von Schnappschüssen in im Wesentlichen gleichen Anteilen verteilt werden.

Die Anzahl von Schnappschüssen kann mit der Zeit variieren. Auf eine Modifikation der Anzahl von Schnappschüssen hin können die Daten im Wesentlichen gleichmäßig über die Mehrzahl von Schnappschüssen verteilt werden. Daten werden nicht nur für Zustände einer mathematisch genauen Zuteilung von Daten im Wesentlichen oder näherungsweise gleichmäßig über den Schnappschüssen verteilt, sondern umfassen auch Situationen, bei denen eine exakte Genauigkeit nicht möglich oder erwünscht ist. Zum Beispiel sind die Daten eventuell nicht gleichmäßig in eine spezielle Anzahl von Schnappschüssen bei einer speziellen Granularität von Daten teilbar. Folglich können die Daten zu zugeteilten Schnappschüssen in den Daten in einer grob gleichmäßigen Verteilung verteilt werden.

Die Schnappschussdaten können auf irgendwelchen geeigneten Medien gespeichert sein, einschließlich zum Beispiel Magnetplatten, optischen Platten, Compact Disks (CD), CD-R, CD-RW, Disketten, Bändern, Bandkassetten und dergleichen.

Durch ein Ansprechen auf eine Datendivergenz und ein Kopieren eines Abschnitts der Daten zu jedem Schnappschuss variiert der spezielle Schnappschuss, der irgendeinen speziellen Teil der Daten „besitzt", und falls ein einzelner Schnappschuss gelöscht wird, muss lediglich ein Abschnitt der Daten umkopiert werden. Vorteile der Technik erhöhen sich, wenn sich die Anzahl von Schnappschüssen erhöht. Zum Beispiel weist ein System, das mit einem einzigen Schnappschuss konfiguriert ist, keinen Vorteil auf, aber wenn sich die Anzahl von Schnappschüssen auf zwei oder mehr erhöht, ist eine Leistungsfähigkeit verbessert.

Die Zustände, die in 3A und 3B dargestellt sind, zeigen eine Stamm-LUN, die vier Schnappschüsse 304A, B, C und D aufweist. Bei einer herkömmlichen Praxis eines Speicherungssystems mit einer Schnappschussfähigkeit werden dann, wenn eine Stamm-LUN gelöscht wird, alle Daten zu dem nächsten Schnappschuss kopiert und die verbleibenden drei Schnappschüsse zeigen zu dem ersten Schnappschuss. Falls der erste Schnappschuss nachfolgend gelöscht wird, dann werden alle Daten zu dem zweiten Schnappschuss kopiert und der verbleibende dritte und vierte Schnappschuss zeigen wiederum zu dem zweiten Schnappschuss. In dem schlimmstmöglichen Fall werden Daten viermal kopiert.

Im Gegensatz dazu reduziert die in 3A und 3B dargestellte Technik ein Kopieren wesentlich als ein Ergebnis einer Datendivergenz. Wenn eine Divergenz auftritt, zum Beispiel eine Löschung einer Stamm-LUN, kann zum Beispiel anstelle eines Kopierens aller Daten zu dem ersten Schnappschuss 304A ein Viertel der Daten zu jedem der Schnappschüsse 304A, B, C und D kopiert werden. Falls ein Schnappschuss gelöscht wird, werden Daten korrekt durch ein Umkopieren lediglich eines Viertels der Daten verwaltet und die umkopierten Daten werden über den drei verbleibenden Schnappschüssen verteilt. Falls ein anderer Schnappschuss gelöscht werden soll, wird lediglich ein Drittel der Daten umkopiert und die umkopierten Daten werden gleichmäßig über die zwei verbleibenden Schnappschüsse verteilt. Falls schließlich einer der verbleibenden Schnappschüsse gelöscht wird, wird lediglich die Hälfte der Daten zu dem letzten verbleibenden Schnappschuss umkopiert. Nach der Löschung der ersten Stamm-LUN und der nachfolgenden Datenkopie wird folglich schlimmstenfalls lediglich R + 1/3 + S der Daten bei nachfolgenden Schnappschusslöschungen kopiert. Im Gegensatz dazu würde die herkömmliche Technik nach der anfänglichen Löschung der Stamm-LUN möglicherweise alle Daten dreimal kopieren.

Obwohl das darstellende Beispiel ein Divergenzereignis als eine Löschung einer Stamm-LUN beschreibt, ist die Technik gleichermaßen auf irgendeinen Umstand anwendbar, der bewirkt, dass die Stamm-LUN und der Schnappschuss divergieren. Divergenzereignisse umfassen ferner divergierende Schreibvorgänge zu der Stamm-LUN sowie andere Ereignisse. Folglich kann die Technik bei einem anderen Beispiel verwendet werden, um Daten zu verteilen, wenn divergierende Schreibvorgänge zu der Stamm-LUN gesendet werden. Somit kann ein divergierender Schreibvorgang verwendet werden, um ursprüngliche Daten zu einem Schnappschuss zu kopieren, und ein nächster divergierender Schreibvorgang kann die kopierten Daten zu dem nächsten Schnappschuss kopieren, usw., sodass einzelne Schnappschüsse im Wesentlichen gleiche Abschnitte der divergierenden Daten „besitzen".

Zu einer jeglichen gegebenen Zeit sind Daten im Wesentlichen gleichmäßig über lediglich den existierenden Schnappschüssen verteilt, wodurch die Kopierlast des Schnappschussverwaltungssystems reduziert ist. Bei einem Beispiel, bei dem eine Stamm-LUN bereits zwei existierende Schnappschüsse aufweist, verwenden mit der Zeit die zwei Schnappschüsse alle divergierten Daten von der Stamm-LUN gleichmäßig. Wenn ein dritter Schnappschuss des Stamms genommen wird, muss der neue Schnappschuss nicht „bevorzugt" werden, um schließlich so viele divergierte Daten wie die ursprünglichen zwei Schnappschüsse zu empfangen, weil der dritte Schnappschuss keine divergierten Daten gemeinschaftlich verwendet, die vorhergehend durch die zwei ursprünglichen Schnappschüsse empfangen wurden. Somit werden zu der Zeit, zu der der dritte Schnappschuss entsteht, die divergierenden Schreibvorgänge erst dann gleichmäßig über den drei Schnappschüssen verteilt. Ereignisse, die vor der Erzeugung des dritten Schnappschusses auftreten, sind für die aktuelle Verteilung irrelevant. Die Verteilungszuteilung ist lediglich durch die Anzahl von Schnappschüssen bestimmt, die gegenwärtig existieren.

Das Konzept eines Verteilens von Daten im Wesentlichen gleichmäßig über mehrere Schnappschüsse einer Stamm-LUN, wenn Daten der Stamm-LUN von den Schnappschüssen divergieren, ist zu einer Verallgemeinerung irgendeines Grunds, Umstands oder einer Bedingung in der Lage, der oder die in einer Divergenz zwischen der Stamm-LUN und dem Schnappschuss resultiert. Die Technik kann ferner für irgendein geeignetes Speicherungsverfahren verallgemeinert werden, das eine Schnappschussfunktionalität unterstützt, möglicherweise einschließlich verschiedener Typen eines redundanten Arrays von Laufwerken (RAID), einschließlich eines oder mehrerer von RAID0, RAID1, RAID2, RAID3, RAID4, RAID5, RAID6, RAID7, RAID10, und dergleichen. Gleichermaßen kann die Technik für irgendwelche geeigneten Speicherungsmedien verwendet werden, die eine Schnappschussfunktionalität unterstützen, vielleicht einschließlich verschiedener Magnetplatten, optischer Platten, Compact Disks (CD), CD-R, CD-RW, Disketten, Bändern, Bandkassetten und dergleichen. Ebenfalls kann die Technik ferner für irgendeinen geeigneten Divergenzursprung, einen Zustand, ein Speicherungsverfahren oder Medien verallgemeinert werden, die eine Schnappschussfunktionalität bei zukünftigen Entwicklungen unterstützen.

Mit Bezug auf 4A, 4B und 4C stellen bildhafte Blockdiagramme ein Ausführungsbeispiel eines Speicherungssystems 400 dar, das einen physischen Speicher 402 mit einem Basisvolumen 404 und zumindest einen physischen Block 406A, B, C und D und einen logischen Speicher 408 umfasst, der ein Schnappschussvolumen 410 und einen Schnappschussindex 412 umfasst. Das Speicherungssystem 400 umfasst ferner ein Schnappschuss-Teilsystem (ST-System) 414, das zum Unterstützen von Zeigern von dem Schnappschussvolumen zu ausgewählten der physischen Blöcke zu einem Zeitpunkt in der Lage ist. Das Schnappschuss-Teilsystem 414 definiert eine Stamm-Logikeinheit (Stamm-LUN; LUN = logical unit) und verteilt Daten über eine Mehrzahl von Schnappschüssen der Stamm-LUN, wenn Daten der Stamm-LUN von den Schnappschüssen divergieren.

Bei verschiedenen Ausführungsbeispielen können der physische Speicher 402 und der logische Speicher 408 Schnappschussdaten auf einem Medium speichern, das aus Magnetplatten, optischen Platten, Compact Disks (CD), CD-R, CD-RW, Disketten, Bänder, Bandkassetten und dergleichen ausgewählt ist.

Das Speicherungssystem 400 kann ferner einen oder mehrere Abbildungszeiger 416 in dem Schnappschussvolumen 410, der zu Daten in dem physischen Speicher 402 zeigt, und mehrere Schnappschusszeiger 418 umfassen, die zum Zeigen zu Daten in dem Schnappschussindex 412 in der Lage sind. Das Schnappschuss-Teilsystem 414 verteilt divergierte Daten in eine Mehrzahl von Schnappschussabschnitten in dem Schnappschussindex 412 und schreibt die verteilten Datenabschnitte zu der Mehrzahl von Schnappschüssen.

Bei einigen Ausführungsbeispielen oder Zuständen verteilt das Schnappschuss-Teilsystem Daten über die Mehrzahl von Schnappschüssen in im Wesentlichen gleichen Anteilen. Das Schnappschuss-Teilsystem 414 kann ferner konfiguriert sein, um Stamm-LUN-Datendivergenzzustände zu erfassen, die aus denselben ausgewählt sind, die eine Löschung der Stamm-LUN, Datenschreiboperationen zu der Stamm-LUN, eine Auswahl der Stamm-LUN und dergleichen umfassen.

Das Schnappschuss-Teilsystem 414 kann ferner konfiguriert sein, um die Anzahl von Schnappschüssen mit der Zeit zu modifizieren und Daten im Wesentlichen gleichmäßig über die Mehrzahl von Schnappschüssen beginnend bei jeder Modifikation zu verteilen.

Das Schnappschuss-Teilsystem 414 ermöglicht eine schnelle und effiziente Fähigkeit, um eine Zeitpunkt-Kopie von Speicherungsbehälterdaten zu erzeugen. Der Schnappschuss friert eine Abbildung der Daten des Behälters ein, die von anderen Schnappschüssen isoliert werden kann und für ein Backup, ein Archivieren, einen Datenschutz, ein Testen und eine andere Manipulation verwendet werden kann, ohne die ursprünglichen Daten zu beeinträchtigen. Nachdem ein Schnappschuss genommen ist, können die ursprünglichen Daten weiter aktualisiert und verwendet werden, während die Schnappschusskopie den ausgewählten Zeitpunkt beibehält.

Wenn eine Duplikatkopie eines speziellen Zeitpunkts erwünscht ist, weist das Schnappschuss-Teilsystem 414 eine Gewinnung eines Datenschnappschusses zu dem ausgewählten Zeitpunkt an. Typischerweise kann ein Schnappschuss-Teilsystem 414 mehrere Schnappschüsse gewinnen, was wiederholte Gewinnungen ermöglicht. Die Schnappschussfähigkeit vermeidet etwas des Mehraufwands, der einem Datenspiegeln und -klonen zugeordnet ist.

Mit Bezug auf 5 stellt ein schematisches Blockdiagramm ein Ausführungsbeispiel eines Computersystems 500 zu einer Verwendung bei einem Speicherungssystem 502 mit einem physischen Speicher 504, der ein Basisvolumen 506 und zumindest einen physischen Block 508 umfasst, und einem logischen Speicher 510 dar, der ein Schnappschussvolumen 512 und einen Schnappschussindex 514 umfasst. Das Computersystem umfasst ferner ein Schnappschuss-Teilsystem, das in einem Prozessor 516 ausführbar ist und das Daten über eine Mehrzahl von Schnappschüssen einer Stamm-LUN 518 verteilt, wenn Daten der Stamm-LUN 518 von den Schnappschüssen divergieren.

Der Prozessor 516 kann eine Abbildungslogik implementieren, die das Basisvolumen 506 definiert und die physischen Blöcke 508 dem Basisvolumen 506 zuteilt, und Zeiger von dem Schnappschussvolumen 512 zu ausgewählten physischen Blöcken 508 und zu dem Schnappschussindex 514 erzeugt.

Ein Prozessor 516, der eine Schnappschussverwaltungsfunktionalität ausführt, kann in irgendeiner geeigneten Vorrichtung in einem Netzwerk positioniert sein. Wie es dargestellt ist, kann der Prozessor 516 innerhalb einer Speicherungssteuerung enthalten sein. Bei anderen Ausführungsbeispielen kann ein Prozessor, der zum Ausführen einer Schnappschussfunktionalität in der Lage ist, in einem Host, einer geeigneten Steuervorrichtung innerhalb eines Speicherungsarraynetzwerks (SAN – storage array network), einem Netzwerkgerät, das an einem Netzwerk angeschlossen ist, einer Array-Firmware oder einer anderen Ausführungsebene sein, die eine Zeitpunkt-Kopie durchführen kann.

Der Prozess einer Datenverteilung zu einer Mehrzahl von Schnappschüssen kann in verschiedenen Operationen implementiert sein, wie beispielsweise programmierbaren Operationen, einschließlich Kopierer-vor-Schreiben-Operationen, Kopieren-während-Schreiben-Operationen, und dergleichen.

Der Prozessor 516 kann ferner eine Abbildungslogik ausführen, die einen oder mehrere Abbildungszeiger in dem Schnappschussvolumen 512, der zu Daten in dem physischen Speicher 504 zeigt, und einen oder mehrere Schnappschusszeiger erzeugt, die zum Zeigen zu Daten in dem Schnappschussindex 514 in der Lage sind. Der Prozessor 516 kann ferner eine Schnappschusslogik ausführen, die divergierte Daten in eine Mehrzahl von Schnappschussabschnitten in dem Schnappschussindex 514 verteilt und die verteilten Datenabschnitte zu den mehreren Schnappschüssen schreibt. Daten können am effizientesten über die mehreren Schnappschüsse in gleichen oder näherungsweise gleichen Anteilen verteilt werden.

Der Prozessor 516 kann eine oder mehrere Stamm-LUN-Datendivergenzzustände erfassen, einschließlich einer Löschung einer Stamm-LUN, Datenschreiboperationen zu einer Stamm-LUN, eines Ausfalls einer Stamm-LUN und dergleichen.

Der Prozessor 516 kann eine Schnappschusshandhabungseinrichtung ausführen, die die Mehrzahl von Schnappschüssen mit der Zeit modifiziert und Daten im Wesentlichen gleichmäßig unter der Mehrzahl von Schnappschüssen beginnend bei jeder Modifikation verteilt. Typischerweise teilt das System eine spezielle maximale Anzahl von Schnappschüssen zu und beginnt auf ausgewählte Ereignisse hin Schnappschüsse zu erzeugen, wie beispielsweise Zeitsteuerungsintervalle, Aktivierungssignale, überwachte Zustände und dergleichen. Die Anzahl von Schnappschüssen ist typischerweise auf eine ausgewählte Anzahl begrenzt, obwohl einige Implementierungen praktisch unbegrenzte Schnappschüsse unterstützen können.

Der physische Speicher 504 kann jegliche Speicherungsvorrichtungen umfassen, die für eine Schnappschussfunktionalität geeignet sind, und kann verschiedene Medien umfassen, wie beispielsweise Magnetplatten, optische Platten, Compact Disks (CD), CD-R, CD-RW, Disketten, Bänder und Bandkassetten.

Die verschiedenen Funktionen, Prozesse, Verfahren und Operationen, die durch das System durchgeführt oder ausgeführt werden, können als Programme implementiert sein, die auf verschiedenen Logiktypen, Prozessoren, Steuerungen, zentrale Verarbeitungseinheiten, Mikroprozessoren, Digitalsignalprozessoren, Zustandsmaschinen, programmierbaren Logikarrays und dergleichen ausführbar sind. Die Programme können auf irgendeinem computerlesbaren Medium für eine Verwendung durch oder in Verbindung mit irgendeinem computerbezogenen System oder Verfahren gespeichert sein. Ein computerlesbares Medium ist eine elektronische, magnetische, optische oder andere physische Vorrichtung oder Einrichtung, die ein Computerprogramm für eine Verwendung durch oder in Verbindung mit einem computerverwandten System, Verfahren, Prozess oder einer Prozedur enthalten oder speichern kann. Programme können in einem computerlesbaren Medium für eine Verwendung durch oder in Verbindung mit einem Anweisungsausführungssystem, einer Vorrichtung, einer Komponente, einem Element oder einem Gerät ausgeführt sein, wie beispielsweise einem System, das auf einem Computer oder Prozessor basiert, oder einem anderen System, das Anweisungen von einem Anweisungsspeicher oder einer Speicherung irgendeines geeigneten Typs abrufen kann. Ein computerlesbares Medium kann irgendeine Struktur, Vorrichtung, Komponente, ein Produkt oder eine andere Einrichtung sein, die das Programm für eine Verwendung durch oder in Verbindung mit dem Anweisungsausführungssystem, dem Gerät oder der Vorrichtung speichern, kommunizieren, ausbreiten oder transportieren kann.

Die darstellenden Blockdiagramme und Datenstrukturdiagramme zeigen Prozessschritte oder -blöcke, die Module, Segmente oder Abschnitte eines Codes darstellen können, die einen oder mehrere ausführbare Anweisungen zum Implementieren spezifischer logischer Funktionen oder Schritte in dem Prozess umfassen. Obwohl die speziellen Beispiele spezifische Prozessschritte oder Handlungen darstellen, sind viele alternative Implementierungen möglich und allgemein durch eine einfache Entwurfswahl vorzunehmen. Handlungen und Schritte können in einer unterschiedlichen Reihenfolge von der spezifischen Beschreibung hierin ausgeführt werden, basierend auf Erwägungen einer Funktion, eines Zwecks, einer Konformität gegenüber einem Standard, einer Ursprungsstruktur und dergleichen.

Während die vorliegende Erfindung verschiedene Ausführungsbeispiele beschreibt, ist klar, dass diese Ausführungsbeispiele darstellend sind und den Anspruchsschutzbereich nicht begrenzen. Viele Variationen, Modifikationen, Hinzufügungen und Verbesserungen der verschiedenen Ausführungsbeispiele sind möglich. Zum Beispiel werden Durchschnittsfachleute auf dem Gebiet ohne weiteres die notwendigen Schritte implementieren, um die Strukturen und Verfahren, die hierin offenbart sind, bereitzustellen und es ist denselben ersichtlich, dass die Prozessparameter, -materialien und -abmessungen lediglich beispielsweise gegeben sind. Die Parameter, Materialien und Abmessungen können verändert werden, um die erwünschte Struktur sowie Modifikationen zu erreichen, die innerhalb des Schutzbereichs der Ansprüche liegen. Variationen und Modifikationen der hierin offenbarten Ausführungsbeispiele können ebenfalls vorgenommen werden, während dieselben innerhalb des Schutzbereichs der folgenden Ansprüche bleiben. Die darstellenden Schnappschusstechniken zum Beispiel können in irgendwelchen Typen von Speicherungssystemen implementiert werden, die für derartige Techniken geeignet sind, einschließlich irgendwelcher geeigneter Medien. Gleichermaßen können die darstellenden Techniken in irgendeiner geeigneten Speicherungssystemarchitektur implementiert sein.


Anspruch[de]
Verfahren zum Sichern von Daten, das folgenden Schritt aufweist:

Verteilen von Daten über eine Mehrzahl von Schnappschüssen einer Stamm-Logikeinheit (Stamm-LUN; LUN = logical unit), wenn Daten der Stamm-LUN von den Schnappschüssen divergieren.
Verfahren gemäß Anspruch 1, das ferner folgende Schritte aufweist:

Erfassen einer Divergenz der Stamm-LUN-Daten;

Verteilen der divergierten Daten in eine Mehrzahl von Abschnitten; und

Schreiben der verteilten Datenabschnitte zu der Mehrzahl von Schnappschüssen.
Verfahren gemäß Anspruch 1 oder 2, das ferner folgenden Schritt aufweist:

Verteilen von Daten über die Mehrzahl von Schnappschüssen in im Wesentlichen gleichen Anteilen.
Verfahren gemäß einem der Ansprüche 1 bis 3, bei dem:

Stamm-LUN-Datendivergenzzustände eine Löschung der Stamm-LUN, Datenschreiboperationen zu der Stamm-LUN und einen Ausfall der Stamm-LUN umfassen.
Verfahren gemäß einem der Ansprüche 1 bis 4, das ferner folgende Schritte aufweist:

Modifizieren der Anzahl von Schnappschüssen mit der Zeit; und

Verteilen von Daten im Wesentlichen gleichmäßig unter der Mehrzahl von Schnappschüssen beginnend bei jeder Modifikation.
Verfahren gemäß einem der Ansprüche 1 bis 5, das ferner folgenden Schritt aufweist:

Speichern von Schnappschussdaten auf einem Medium, das aus Magnetplatten, optischen Platten, Compact Disks (CD), CD-R, CD-RW, Disketten, Bändern und Bandkassetten ausgewählt ist.
Speicherungssystem (400), das folgende Merkmale aufweist:

einen physischen Speicher (402), der ein Basisvolumen (404) und zumindest einen physischen Block (406A, B, C und D) aufweist;

einen logischen Speicher (408), der ein Schnappschussvolumen (410) und einen Schnappschussindex (412) aufweist; und

ein Schnappschuss-Teilsystem (414), das zum Unterstützen von Zeigern von dem Schnappschussvolumen (410) zu ausgewählten der physischen Blöcke (406A, B, C und D) zu einem Zeitpunkt, einem Definieren einer Stamm-Logikeinheit (Stamm-LUN) und einem Verteilen von Daten über eine Mehrzahl von Schnappschüssen der Stamm-LUN, wenn Daten der Stamm-LUN von den Schnappschüssen divergieren, in der Lage ist.
Speicherungssystem (400) gemäß Anspruch 7, das ferner folgende Merkmale aufweist:

zumindest einen Abbildungszeiger in dem Schnappschussvolumen (410), der zu Daten in dem physischen Speicher (402) zeigt;

eine Mehrzahl von Schnappschusszeigern (418), die zum Zeigen zu Daten in dem Schnappschussindex (412) in der Lage sind; und

das Schnappschuss-Teilsystem (414), das divergierte Daten in eine Mehrzahl von Schnappschussabschnitten in dem Schnappschussindex (412) verteilt und die verteilten Datenabschnitte zu der Mehrzahl von Schnappschüssen schreibt.
Speicherungssystem (400) gemäß Anspruch 8, bei dem:

das Schnappschuss-Teilsystem (414) Daten über die Mehrzahl von Schnappschüssen in im Wesentlichen gleichen Anteilen verteilt.
Speicherungssystem (400) gemäß einem der Ansprüche 7 bis 9, bei dem:

das Schnappschuss-Teilsystem (414) zum Erfassen von Stamm-LUN-Datendivergenzzuständen in der Lage ist, einschließlich einer Löschung der Stamm-LUN, Datenschreiboperationen zu der Stamm-LUN und eines Ausfalls der Stamm-LUN.
Speicherungssystem (400) gemäß einem der Ansprüche 7 bis 10, bei dem:

das Schnappschuss-Teilsystem (414) zum Modifizieren der Anzahl von Schnappschüssen mit der Zeit und zum Verteilen von Daten im Wesentlichen gleichmäßig unter der Mehrzahl von Schnappschüssen beginnend bei jeder Modifikation in der Lage ist.
Speicherungssystem (400) gemäß einem der Ansprüche 7 bis 11, das ferner folgendes aufweist:

Speichern von Schnappschussdaten auf einem Medium, das aus Magnetplatten, optischen Platten, Compact Disks (CD), CD-R, CD-RW, Disketten, Bändern und Bandkassetten ausgewählt ist.
Computersystem (500) zu einer Verwendung bei einem Speicherungssystem (502) mit einem physischen Speicher (504), der ein Basisvolumen (506) und zumindest einen physischen Block (508) umfasst, und einem logischen Speicher (510), der ein Schnappschussvolumen (512) und einen Schnappschussindex (514) umfasst, wobei das Computersystem (500) folgendes Merkmal aufweist:

ein Schnappschuss-Teilsystem, das Daten über eine Mehrzahl von Schnappschüssen einer Stamm-LUN (518) verteilt, wenn Daten der Stamm-LUN (518) von den Schnappschüssen divergieren.
Computersystem (500) gemäß Anspruch 13, das ferner folgendes Merkmal aufweist:

eine Abbildungslogik, die ein Basisvolumen (506) definiert und den zumindest einen physischen Block (508) dem Basisvolumen (506) zuteilt und Zeiger von dem Schnappschussvolumen (512) zu ausgewählten der physischen Blöcke (508) und zu dem Schnappschussindex (514) erzeugt.
Computersystem (500) gemäß Anspruch 13 oder 14, das ferner folgende Merkmale aufweist:

eine Abbildungslogik, die zumindest einen Abbildungszeiger in dem Schnappschussvolumen (512), der zu Daten in dem physischen Speicher (504) zeigt, und eine Mehrzahl von Schnappschusszeigern erzeugt, die zum Zeigen zu Daten in dem Schnappschussindex (514) in der Lage sind; und

eine Schnappschusslogik, die divergierte Daten in eine Mehrzahl von Schnappschussabschnitten in dem Schnappschussindex (514) verteilt und die verteilten Datenabschnitte zu der Mehrzahl von Schnappschüssen schreibt.
Computersystem (500) gemäß Anspruch 15, das ferner folgendes Merkmal aufweist:

eine Logik, die der Schnappschusslogik zugeordnet ist und Daten über die Mehrzahl von Schnappschüssen in im Wesentlichen gleichen Anteilen verteilt.
Computersystem (500) gemäß einem der Ansprüche 13 bis 16, das ferner folgendes Merkmal aufweist:

eine Logik, die der Schnappschusslogik zugeordnet ist und Stamm-LUN-Datendivergenzzustände umfasst, einschließlich einer Löschung der Stamm-LUN, Datenschreiboperationen zu der Stamm-LUN und eines Ausfalls der Stamm-LUN.
Computersystem (500) gemäß einem der Ansprüche 14 bis 17, das ferner folgendes Merkmal aufweist:

eine Logik, die der Schnappschusslogik zugeordnet ist und die Anzahl von Schnappschüssen mit der Zeit modifiziert und Daten im Wesentlichen gleichmäßig unter der Mehrzahl von Schnappschüssen beginnend bei jeder Modifikation verteilt.
Computersystem (500) gemäß einem der Ansprüche 13 bis 18, das ferner folgendes Merkmal aufweist:

zumindest eine Speicherungsvorrichtung, die zum Speichern von Schnappschussdaten auf einem Medium in der Lage ist, das aus Magnetplatten, optischen Platten, Compact Disks (CD), CD-R, CD-RW, Disketten, Bändern und Bandkassetten ausgewählt ist.
Computersystem (500) gemäß einem der Ansprüche 13 bis 19, das ferner folgendes Merkmal aufweist:

Speicherungsvorrichtungen der zumindest einen Speicherungsvorrichtung, die eine Struktur aufweisen, die aus RAID0, RAID1, RAID2, RAID3, RAID4, RAID5, RAID6, RAID7, RAID10 ausgewählt ist.






IPC
A Täglicher Lebensbedarf
B Arbeitsverfahren; Transportieren
C Chemie; Hüttenwesen
D Textilien; Papier
E Bauwesen; Erdbohren; Bergbau
F Maschinenbau; Beleuchtung; Heizung; Waffen; Sprengen
G Physik
H Elektrotechnik

Anmelder
Datum

Patentrecherche

Patent Zeichnungen (PDF)

Copyright © 2008 Patent-De Alle Rechte vorbehalten. eMail: info@patent-de.com