DE112012002796T5 - Übertragen von in virtuellen Datenträgern organisierten deduplizierten Daten in einen Zielsatz von physischen Medien - Google Patents

Übertragen von in virtuellen Datenträgern organisierten deduplizierten Daten in einen Zielsatz von physischen Medien Download PDF

Info

Publication number
DE112012002796T5
DE112012002796T5 DE112012002796.5T DE112012002796T DE112012002796T5 DE 112012002796 T5 DE112012002796 T5 DE 112012002796T5 DE 112012002796 T DE112012002796 T DE 112012002796T DE 112012002796 T5 DE112012002796 T5 DE 112012002796T5
Authority
DE
Germany
Prior art keywords
physical
volume
virtual
blocks
revised
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.)
Pending
Application number
DE112012002796.5T
Other languages
English (en)
Inventor
John Thomas Olson
Erik Bartholomy
John Jason Auvenshine
Andrew Gary Hourselt
Harley Dale Puckett III
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of DE112012002796T5 publication Critical patent/DE112012002796T5/de
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0608Saving storage space on storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2228Indexing structures
    • G06F16/2237Vectors, bitmaps or matrices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/80Information retrieval; Database structures therefor; File system structures therefor of semi-structured data, e.g. markup language structured data such as SGML, XML or HTML
    • G06F16/84Mapping; Conversion
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/064Management of blocks
    • G06F3/0641De-duplication techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/067Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • G06F3/0631Configuration or reconfiguration of storage systems by allocating resources to storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/0647Migration mechanisms

Abstract

Ein Verfahren beinhaltet Erstellen einer ersten Bitmap aus den deduplizierten Daten auf virtuellen Datenträgern, Sortieren von einzelnen Blöcken entsprechend der Häufigkeit des Auftretens, um eine überarbeitete Bitmap zu erstellen, die zuerst eine Vielzahl von am häufigsten vorkommenden einzelnen Blöcken enthält, Erzeugen eines Belegungsplans des physischen Datenträgers aus der überarbeiteten Bitmap, Überprüfen eines ersten virtuellen Datenträgers der auf einem entsprechenden ursprünglichen physischen Datenträger enthaltenen virtuellen Datenträger ausgehend vom Belegungsplan des physischen Datenträgers, um festzustellen, ob ein Verschieben des ersten virtuellen Datenträgers in einen anderen physischen Datenträger die Gesamtanzahl von Datenblöcken im Belegungsplan des physischen Datenträgers verringert, Löschen des ersten virtuellen Datenträgers aus seinem entsprechenden ursprünglichen physischen Datenträger und Hinzufügen des ersten virtuellen Datenträgers zu dem anderen ursprünglichen physischen Datenträger, um einen überarbeiteten Belegungsplan des physischen Datenträgers zu erzeugen, der überarbeitete physische Datenträger enthält, und Schreiben der überarbeiteten physischen Datenträger in den Zielsatz von physischen Medien unter Verwendung des überarbeiteten Belegungsplans des physischen Datenträgers.

Description

  • HINTERGRUND DER ERFINDUNG
  • Gebiet der Erfindung
  • Die vorliegende Erfindung betrifft allgemein deduplizierte Daten und Verfahren zum Übertragen von in virtuellen Datenträgern organisierten deduplizierten Daten in einen Zielsatz von physischen Medien.
  • Beschreibung des Standes der Technik
  • Bei der Datendeduplizierung handelt es sich um ein Datenspeicherverfahren zum Entfernen oder Verringern von redundanten Daten. Insbesondere ermöglicht die Datendeduplizierung, dass anstelle von mehreren Exemplaren der gleichen Daten ein einziges Exemplar der Daten in Speichermedien aufbewahrt wird, indem die mehreren Exemplare der gleichen Daten durch einen Zeiger auf ein einziges Exemplar ersetzt werden. In diesem Zusammenhang werden Daten, die in ein Deduplizierungssystem gespeichert werden, analysiert und in ”Blöcke” zerlegt. Doppelte Blöcke werden ausfindig gemacht, wobei jeder eindeutige Block eine digitale Signatur erhält, um zu zeigen, dass es sich bei den beiden Blöcken mit derselben Signatur um die gleichen Daten handelt, und die doppelten Blöcke werden entfernt. Da das Deduplizierungssystem Daten, die größere Objekte enthalten, in die einzelnen Blöcke zerlegt, protokolliert das System normalerweise die einzelnen Blöcke, so dass das entsprechende größere Objekt auf Wunsch abgerufen werden kann. Beispielsweise wird zum Protokollieren der Blöcke ein Index oder eine Datenbank bereitgestellt.
  • Das Deduplizierungssystem kann in einem Speicherverwaltungssystem enthalten sein, das mehrere Speicherdatenträger und Speicherpools umfasst. Beispielsweise können Daten von Speicherverwaltungs-Clients oder Datenschutzagenten zum Speichern an den Speicherverwaltungs-Server übertragen werden. In diesem Zusammenhang speichert ein Speicherverwaltungssystem normalerweise Kopien von Objekten auf gesonderten Medien, so dass ein Datensatz, der aufgrund seiner Größe nicht auf einen einzigen Datenträger passt, gespeichert werden kann. Alternativ können Daten aus einer Speicherposition in eine andere verschoben werden, entweder innerhalb desselben Speicherpools oder zwischen Speicherpools oder zwischen verschiedenen Medien, beispielsweise zwischen einer Festplatte und einem Band, die unterschiedliche Datenmengen speichern.
  • KURZDARSTELLUNG DER ERFINDUNG
  • Viele virtuelle Datenträger werden in einem großen homogenen Speicherpool gespeichert. Normalerweise beruht der Speicher auf einer Festplatte, und die virtuellen Datenträger werden nicht einzeln, sondern als Teil eines Eintrags in den Speicherpool dedupliziert. Wenn eine Notwendigkeit besteht, diese virtuellen Datenträger auf physische Medien zu schreiben, treten möglicherweise Schwierigkeiten auf, wenn jedes Element eines physischen Mediums einen kleinen Bruchteil der Größe des ursprünglichen Speicherpools aufweist. Folglich ist es wünschenswert, über ein Verfahren und System zum Übertragen von in virtuellen Datenträgern organisierten deduplizierten Daten in einen Zielsatz von physischen Medien zu verfügen.
  • In einem verbesserten Verfahren beinhalten die Schritte: Erstellen einer ersten Bitmap aus den deduplizierten Daten auf virtuellen Datenträgern, wobei die deduplizierten Daten auf virtuellen Datenträgern eine Gesamtanzahl von einzelnen Blöcken aufweisen, Sortieren der einzelnen Blöcke entsprechend der Häufigkeit des Auftretens, um eine überarbeitete Bitmap zu erstellen, die zuerst eine Vielzahl von am häufigsten vorkommenden einzelnen Blöcken enthält, Erzeugen eines Belegungsplans des physischen Datenträgers (physical volume map) aus der überarbeiteten Bitmap, wobei der Belegungsplan des physischen Datenträgers jeden einzelnen Block der deduplizierten Datenblöcke auf einem virtuellen Datenträger einem ursprünglichen physischen Datenträger zuordnet und einen Gesamtsatz von ursprünglichen virtuellen Datenträgern und eine Gesamtanzahl von Datenblöcken enthält, Überprüfen eines ersten virtuellen Datenträgers der auf einem entsprechenden ursprünglichen physischen Datenträger enthaltenen virtuellen Datenträger ausgehend vom Belegungsplan des physischen Datenträgers, um festzustellen, ob ein Verschieben des ersten virtuellen Datenträgers aus seinem entsprechenden ursprünglichen physischen Datenträger in einen anderen physischen Datenträger im Gesamtsatz von ursprünglichen physischen Datenträgern die Gesamtanzahl von Datenblöcken im Belegungsplan des physischen Datenträgers verringert, ohne eine zulässige Gesamtanzahl von Datenblöcken auf dem anderen physischen Datenträger zu überschreiten, Löschen des ersten virtuellen Datenträgers aus seinem entsprechenden ursprünglichen physischen Datenträger und Hinzufügen des ersten virtuellen Datenträgers zu dem anderen ursprünglichen physischen Datenträger, um einen überarbeiteten Belegungsplan des physischen Datenträgers zu erzeugen, der überarbeitete physische Datenträger enthält, und Schreiben der überarbeiteten physischen Datenträger in den Zielsatz von physischen Medien unter Verwendung des überarbeiteten Belegungsplans des physischen Datenträgers.
  • In einer anderen Ausführungsform beinhaltet ein physisches Computerspeichermedium lediglich beispielhaft ein Computerprogrammproduktverfahren zum Übertragen von in virtuellen Datenträgern organisierten deduplizierten Daten in einen Zielsatz von physischen Medien. Das physische Computerspeichermedium enthält einen Computercode zum Erstellen einer ersten Bitmap aus den deduplizierten Daten auf virtuellen Datenträgern, wobei die deduplizierten Daten auf virtuellen Datenträgern eine Gesamtanzahl von einzelnen Blöcken aufweisen, einen Computercode zum Sortieren der einzelnen Blöcke entsprechend der Häufigkeit des Auftretens, um eine überarbeitete Bitmap zu erstellen, um zuerst eine Vielzahl von am häufigsten vorkommenden einzelnen Blöcken einzuschließen, einen Computercode zum Erzeugen eines Belegungsplans des physischen Datenträgers aus der überarbeiteten Bitmap, wobei der Belegungsplan des physischen Datenträgers jedem einzelnen Block der deduplizierten Daten auf einem virtuellen Datenträger einen ursprünglichen physischen Datenträger zuordnet und einen Gesamtsatz von ursprünglichen virtuellen Datenträgern und eine Gesamtanzahl von Datenblöcken enthält, einen Computercode zum Überprüfen eines ersten virtuellen Datenträgers der auf einem entsprechenden ursprünglichen physischen Datenträger enthaltenen virtuellen Datenträger ausgehend vom Belegungsplan des physischen Datenträgers, um zu ermitteln, ob ein Verschieben des ersten virtuellen Datenträgers aus seinem entsprechenden ursprünglichen physischen Datenträger in einen anderen physischen Datenträger im Gesamtsatz von ursprünglichen physischen Datenträgern die Gesamtanzahl von Datenblöcken im Belegungsplan des physischen Datenträgers verringert, ohne eine zulässige Gesamtanzahl von Datenblöcken auf dem anderen physischen Datenträger zu überschreiten, einen Computercode zum Löschen des ersten virtuellen Datenträgers aus seinem entsprechenden ursprünglichen physischen Datenträger und zum Hinzufügen des ersten virtuellen Datenträgers zu dem anderen ursprünglichen physischen Datenträger, um einen überarbeiteten Belegungsplan des physischen Datenträgers zu erzeugen, der überarbeitete physische Datenträger enthält, und einen Computercode zum Schreiben der überarbeiteten physischen Datenträger in den Zielsatz von physischen Medien unter Verwendung des überarbeiteten Belegungsplans des physischen Datenträgers.
  • Kurzbeschreibung der Zeichnungen
  • Zum problemlosen Verständnis der Vorteile der Erfindung wird eine ausführlichere Beschreibung der oben kurz dargestellten Erfindung unter Bezugnahme auf spezifische Ausführungsformen bereitgestellt, die in den beigefügten Zeichnungen veranschaulicht werden. Unter der Voraussetzung, dass diese Zeichnungen lediglich typische Ausführungsformen der Erfindung zeigen und daher nicht als deren Schutzumfang einschränkend angesehen werden sollen, wird die Erfindung mit zusätzlicher Spezifität und Ausführlichkeit unter Verwendung der beigefügten Zeichnungen beschrieben und erläutert, in denen:
  • 1 ein Blockschaubild eines Datenspeichersystems gemäß einer Ausführungsform ist; und
  • 2A ein Schaubild einer mit Datenspeichermedien Daten austauschenden Speichersteuereinheit gemäß einer Ausführungsform ist;
  • 2B ein Schaubild eines Datenspeicher- und Abrufsystems gemäß einer Ausführungsform ist; und
  • 3 ein Ablaufplan eines Verfahrens zum Übertragen von in virtuellen Datenträgern organisierten deduplizierten Daten in einen Zielsatz von physischen Medien gemäß einer Ausführungsform ist.
  • Ausführliche Beschreibung der Zeichnungen
  • Die weiter unten veranschaulichten Ausführungsformen stellen ein verbessertes Verfahren zum Übertragen von in virtuellen Datenträgern organisierten deduplizierten Daten in einen Zielsatz von physischen Medien bereit. Das Verfahren beinhaltet Erstellen einer ersten Bitmap aus den deduplizierten Daten auf virtuellen Datenträgern, wobei die deduplizierten Daten auf virtuellen Datenträgern eine Gesamtanzahl von einzelnen Blöcken aufweisen, Sortieren der einzelnen Blöcke entsprechend der Häufigkeit des Auftretens, um eine überarbeitete Bitmap zu erstellen, die zuerst eine Vielzahl von am häufigsten vorkommenden einzelnen Blöcken enthält, das Erzeugen eines Belegungsplans des physischen Datenträgers aus der überarbeiteten Bitmap, wobei der Belegungsplan des physischen Datenträgers jedem einzelnen Block der deduplizierten Datenblöcke auf einem virtuellen Datenträger einen ursprünglichen physischen Datenträger zuordnet und einen Gesamtsatz von ursprünglichen virtuellen Datenträgern und eine Gesamtanzahl von Datenblöcken enthält, Überprüfen eines ersten virtuellen Datenträgers der auf einem entsprechenden ursprünglichen physischen Datenträger enthaltenen virtuellen Datenträger ausgehend vom Belegungsplan des physischen Datenträgers, um zu ermitteln, ob ein Verschieben des ersten virtuellen Datenträgers aus seinem entsprechenden ursprünglichen physischen Datenträger in einen anderen physischen Datenträger im Gesamtsatz von ursprünglichen physischen Datenträgern die Gesamtanzahl von Datenblöcken im Belegungsplan des physischen Datenträgers verringert, ohne eine zulässige Gesamtzahl von Datenblöcken auf dem anderen physischen Datenträger zu überschreiten, Löschen des ersten virtuellen Datenträgers aus seinem entsprechenden ursprünglichen physischen Datenträger und Hinzufügen des ersten virtuellen Datenträgers zu dem anderen ursprünglichen physischen Datenträger, um einen überarbeiteten Belegungsplan des physischen Datenträgers zu erzeugen, der überarbeitete physische Datenträger enthält, und Schreiben der überarbeiteten physischen Datenträger in den Zielsatz von physischen Medien unter Verwendung des überarbeiteten Belegungsplans des physischen Datenträgers.
  • 1 ist ein Blockschaubild eines Datenspeichersystems gemäß einer Ausführungsform. Ein Datenverarbeitungssystem 100 weist eine Speichersteuereinheit 120 und Datenspeichermedien 130, 140, 150 und 160 auf. In der dargestellten Ausführungsform von 1 tauscht die Speichersteuereinheit 120 über E/A-Protokolle 132, 142, 152 bzw. 162 Daten mit Datenspeichermedien 130, 140, 150 bzw. 160 aus. Die E/A-Protokolle 132, 142, 152 und 162 können einen beliebigen Typ von E/A-Protokoll aufweisen, unter anderem, ohne darauf beschränkt zu sein, eine Fibre-Channel-Schleife (fibre channel loop), SCSI (Small Computer System Interface), iSCSI (Internet-SCSI), SAS (Serial Attach SCSI), Fibre Channel, SCSI über Fibre Channel, Ethernet, Fibre Channel über Ethernet, InfiniBand und SATA (Serial ATA).
  • Wie hierin verwendet, wird der Begriff „Datenspeichermedium” als ein Datenspeichermedium in Verbindung mit der Hardware, Firmware und/oder Software definiert, die zum Schreiben von Daten in dieses und zum Lesen von Daten aus diesem Datenspeichermedium benötigt wird. In bestimmten Ausführungsformen weist das Datenspeichermedium ein magnetisches Datenspeichermedium auf, beispielsweise und ohne darauf beschränkt zu sein, eine Magnetplatte, ein Magnetband und dergleichen. In anderen Ausführungsformen weist das Datenspeichermedium ein optisches Datenspeichermedium auf, beispielsweise und ohne darauf beschränkt zu sein, eine CD, DVD (Digital Versatile Disk), HD-DVD (High Definition DVD), BD (Blue-Ray Disk) und dergleichen. In noch weiteren Ausführungsformen weist das Datenspeichermedium ein elektronisches Datenspeichermedium auf, beispielsweis und ohne darauf beschränkt zu sein, einen PROM, EPROM, EEPROM, Flash PROM, CompactFlash, Smartmedia und dergleichen. In noch weiteren Ausführungsformen weist das Datenspeichermedium ein holografisches Datenspeichermedium auf.
  • Die Speichersteuereinheit 120 tauscht Daten mit den Host-Computern 102, 104 und 106 aus. Im Allgemeinen weisen die Host-Computer 102, 104 und 106 jeweils ein Datenverarbeitungssystem auf, beispielsweise einen Großrechner, einen Personal Computer, eine Arbeitsstation und Kombinationen aus diesen, unter anderem ein Betriebssystem, beispielsweise Windows®, AIX®, UNIX®, Z/OS®, LINUX® usw. (Windows® ist ein eingetragenes Warenzeichen von Microsoft Corporation; AIX® ist ein eingetragenes Warenzeichen und Z/OS® ein Warenzeichen von IBM Corporation; UNIX® ist ein eingetragenes Warenzeichen in den USA und anderen Ländern, das ausschließlich durch The Open Group lizensiert ist; und LINUX® ist ein eingetragenes Warenzeichen von Linus Torvald). Einer oder mehrere der Host-Computer 102, 104 und/oder 106 beinhalten außerdem ein Speicherverwaltungsprogramm. Gemäß einer Ausführungsform kann das Speicherverwaltungsprogramm eine Funktionalität von nach dem Stand der Technik bekannten Programmen vom Speicherverwaltungstyp beinhalten, welche das Übertragen von Daten in ein und aus einem Datenspeicher- und Abrufsystem verwalten, beispielsweise und ohne darauf beschränkt zu sein, das im Betriebssystem Z/OS® von IBM implementierte IBM DFSMS.
  • Die Speichersteuereinheit 120 weist einen Prozessor 128 und ein computerlesbares Medium 121, einen in das computerlesbare Medium 121 geschriebenen Mikrocode 122, in das computerlesbare Medium 121 geschriebene Befehle 124, einen in das computerlesbare Medium 121 geschriebenen Hash-Algorithmus 123 mit einer ersten Stufe (first stage hash algorithm) und einen in das computerlesbare Medium 121 geschriebenen Hash-Algorithmus 125 mit einer zweiten Stufe auf. Der Prozessor 128 verwendet einen Mikrocode 122 zum Betreiben der Speichersteuereinheit. In der dargestellten Ausführungsform von 1 weist die Speichersteuereinheit 120 außerdem eine Deduplizierungswarteschlange 126 auf. Der Prozessor 128 führt bestimmte Arbeitsgänge im Zusammenhang mit Daten aus, die von einem oder mehreren Host-Computern empfangen wurden, beispielsweise und ohne darauf beschränkt zu sein, eine Datendeduplizierung.
  • In einer Ausführungsform sind die Host-Computer 102, 104 und 106 unter Verwendung von E/A-Protokollen 103, 105 bzw. 107 mit einer Struktur 110 verbunden. Bei den E/A-Protokollen 103, 105 und 107 kann es sich um einen beliebigen Typ von E/A-Protokoll handeln; beispielsweise TCP/IP-, NFS-, CIFS-, FTP-, HTTP-Protokolle, eine Fibre-Channel-(„FC”-)Schleife oder Fibre Channel über Ethernet, einen direkten Anschluss an die Struktur 110 oder eine oder mehrere Signalleitungen, die von den Host-Computern 102, 104 und 106 zum Übertragen von Daten in die und aus der Struktur 110 verwendet werden.
  • In bestimmten Ausführungsformen beinhaltet die Struktur 110 beispielsweise einen oder mehrere FC-Schalter (FC switches) 115. Dieser eine oder die mehreren Schalter 115 beinhalten in einer Ausführungsform einen oder mehrere herkömmliche Router-Schalter (router switches). In der dargestellten Ausführungsform von 1 verbinden ein oder mehrere Schalter 115 die Host-Computer 102, 104 und 106 über ein E/A-Protokoll 117 mit der Speichersteuereinheit 120. Das E/A-Protokoll 117 kann einen beliebigen Typ von E/A-Schnittstelle aufweisen, beispielsweise Fibre Channel, InfiniBand, Gigabit-Ethernet, Ethernet, Fibre Channel über Ethernet, TCP/IP, iSCSI, eine SCSI-E/A-Schnittstelle oder eine oder mehrere Signalleitungen, die vom FC-Schalter 115 zum Übertragen von Daten in die und aus der Speichersteuereinheit 120 und anschließend in die Datenspeichermedien 130, 140, 150 und 160 verwendet werden. In anderen Ausführungsformen tauschen ein oder mehrere Host-Computer, beispielsweise und ohne darauf beschränkt zu sein, die Host-Computer 102, 104 und 106, unter Verwendung von E/A-Protokollen 103, 105 bzw. 107 Daten direkt mit der Speichersteuereinheit 120 aus.
  • 2A ist ein Schaubild der Speichersteuereinheit 120, die gemäß einer Ausführungsform Daten mit Datenspeichermedien 130, 140, 150 und 160 austauscht. In einer Ausführungsform erfolgt der Datenaustausch unter Verwendung einer Fibre-Channel-Schleife mit Zuteilung („FC-AL”) von Schaltern (fibre channel arbitrated („FC-AL”) loop of switches), wobei die Steuereinheit 120 und die Medien 130, 140, 150 und 160 im Datenspeicher- und Abrufsystem 200 angeordnet sind. Wie Fachleute verstehen werden, weist das Datenspeicher- und Abrufsystem 200 außerdem zusätzliche Elemente auf, beispielsweise und ohne darauf beschränkt zu sein, einen oder mehrere Host-Adapter, einen oder mehrere Einheiten-Adapter, einen Daten-Cachespeicher, einen nichtflüchtigen Speicher und dergleichen. Die dargestellte Ausführungsform von 2A ist nicht so auszulegen, dass die Erfindung auf die Verwendung von Fibre-Channel-Netzwerken oder Einheiten beschränkt ist. In anderen Ausführungsformen werden andere Netzwerktopologien und -einheiten verwendet, unter anderem, ohne darauf beschränkt zu sein, SAS-Einheiten und/oder SATA-Einheiten.
  • 2B ist ein Schaubild eines Datenspeicher- und Abrufsystems 202 gemäß einer Ausführungsform. Das System 202 weist duale FC-AL-Schleifen von Schaltern auf, wobei die Speichersteuereinheit 120A und die Speichersteuereinheit 120B mit beiden FC-AL-Schleifen verbunden sind. Jede FC-AL-Schleife enthält eine oder mehrere lokale Steuereinheiten, beispielsweise die lokalen Steuereinheiten 210, 220, 230, 240, 250 und 260. Wie Fachleute verstehen werden, weist das Datenspeicher- und Abrufsystem 200 außerdem zusätzliche Elemente auf, beispielsweise und ohne darauf beschränkt zu sein, einen oder mehrere Host-Adapter, einen oder mehrere Einheiten-Adapter, einen Daten-Cachespeicher, einen nichtflüchtigen Speicher und dergleichen. Jede Speichersteuereinheit tauscht Daten mit einer ersten Vielzahl von Datenspeichermedien 270, einer zweiten Vielzahl von Datenspeichermedien 280 und einer dritten Vielzahl von Datenspeichermedien 290 aus. Die dargestellte Ausführungsform von 2B ist nicht so auszulegen, dass die Erfindung auf die Verwendung von Fibre-Channel-Netzwerken oder Einheiten beschränkt ist. In der dargestellten Ausführungsform von 2B weist das Anführen von zwei FC-AL-Schleifen eine Ausführungsform der Vorrichtung der Anmelder auf. In anderen Ausführungsformen werden andere Netzwerktopologien und -einheiten verwendet, unter anderem, ohne darauf beschränkt zu sein, SAS-Einheiten und/oder SATA-Einheiten.
  • Jede Vielzahl von Datenspeichermedien 270, 280, 290 stellt einen physischen Datenträger (Pn) dar, auf dem Daten gespeichert werden. Die Daten auf den physischen Datenträgern (Pn) werden als Blöcke behandelt. Obwohl sich die Datenblöcke auf bestimmten physischen Datenträgern befinden, werden die Blöcke oftmals logisch in virtuellen Datenträgern (Vn) gruppiert und können folglich mehrere Festplatten umfassen. Bei Bändern, die physische Datenträger sind, ist es jedoch wünschenswert, dass virtuelle Datenträger nicht mehrere Bänder umfassen, da das Abrufen eines virtuellen Datenträgers das Einbinden mehrerer Bänder erforderlich machen könnte.
  • Da einige der Blöcke möglicherweise redundant sind, können die Daten dedupliziert werden, um die redundanten Daten zu entfernen, wobei nur eine Kopie der zu speichernden Daten übrig bleibt. Zur Optimierung des Speichers werden folglich alle einzelnen Blöcke (Bn) idealerweise auf möglichst wenigen physischen Datenträgern (Pn) gespeichert. Dementsprechend ist eine absolute ideale Anzahl von physischen Datenträgern gleich der Anzahl von einzelnen Blöcken Bn geteilt durch die Anzahl von Blöcken, die auf jedem Pn gespeichert werden können, so dass jeder physische Datenträger (z. B. die Datenspeichermedien 270, 280, 290) vollständig mit einzelnen Blöcken gefüllt ist.
  • 3 ist ein Ablaufplan eines Verfahrens 300 zum Übertragen von in virtuellen Datenträgern organisierten deduplizierten Daten in einen Zielsatz von physischen Medien gemäß einer Ausführungsform. Das Verfahren 300 kann angewandt werden, um den oben beschriebenen idealen Speicher zu erhalten. In einer Ausführungsform wird nach dem Start 302 eine Liste von einzelnen Blöcken (UBn) entsprechend der Häufigkeit des Auftretens in eine Bitmap sortiert, Block 304. In einer Ausführungsform wird die erste Bitmap aus den deduplizierten Daten erstellt, die in virtuellen Datenträgern organisiert wurden, wobei die in den virtuellen Datenträgern organisierten deduplizierten Daten eine Gesamtanzahl von einzelnen Blöcken aufweisen. Gemäß einer Ausführungsform kann ein Satz von virtuellen Datenträgern eine Gesamtanzahl N von einzelnen Blöcken (Bn1...BnN) enthalten. Ein erster virtueller Datenträger kann einige der einzelnen Blöcke aufweisen und Bn1, Bn2, Bn3, Bn7 und Bn8 enthalten. Für den ersten virtuellen Datenträger kann sich die Bitmap 11100011 ergeben. Ein zweiter virtueller Datenträger kann einige der einzelnen Blöcke aufweisen und Bn1, Bn2, Bn3, Bn5, Bn6, Bn7 und Bn8 enthalten. In einem solchen Fall kann sich für den zweiten virtuellen Datenträger die Bitmap 11101111 ergeben. Nachdem für alle der virtuellen Datenträger aus dem Satz von virtuellen Datenträger Bitmaps erstellt wurden, werden die Bitmaps verglichen, um eine Häufigkeit der einzelnen Blöcke festzustellen, mit der sie in jedem virtuellen Datenträger vorkommen. Beispielsweise können der erste und der zweite virtuelle Datenträger verglichen werden:
    11100011 (erster virtueller Datenträger)
    11101111 (zweiter virtueller Datenträger)
  • In einer Ausführungsform werden die einzelnen Blöcke der Bitmaps entsprechend der Häufigkeit des Auftretens sortiert, um eine überarbeitete Bitmap zu erstellen, um zuerst eine Vielzahl von am häufigsten vorkommenden einzelnen Blöcken einzuschließen. Wie oben gezeigt wird, sind Bn1, Bn2, Bn3 die am häufigsten vorkommenden einzelnen Blöcke im ersten und zweiten virtuellen Datenträger und könnten folglich nicht berücksichtigt werden, um die Geschwindigkeit des Prozesses zu verbessern und/oder um die überarbeitete Bitmap zu erstellen. In einer anderen Ausführungsform kann die erste Bitmap durch einen beliebigen von zahlreichen Prozessen erzeugt werden.
  • Als Nächstes wird ein Strohmann-Speicherbelegungsplan (strawman memory map) erzeugt und entsprechend der Bitmap sortiert, Block 306. Beispielsweise wird der Strohmann-Speicherbelegungsplan (hierin auch als „ein Belegungsplan eines physischen Datenträgers” bezeichnet) aus der überarbeiteten Bitmap erzeugt. Der Belegungsplan des physischen Datenträgers ordnet jedem einzelnen Block der deduplizierten Daten auf einem virtuellen Datenträger einen ursprünglichen physischen Datenträger zu und enthält einen Gesamtsatz von ursprünglichen physischen Datenträgern und eine Gesamtanzahl von Datenblöcken. In einer Ausführungsform ist der Belegungsplan des physischen Datenträgers ein im Speicher befindlicher Belegungsplan. In anderen Ausführungsformen wird der Belegungsplan des physischen Datenträgers in einem anderen Bereich gespeichert, in dem ein Abbild (mapping) gespeichert werden kann, oder es wird von dort aus darauf Bezug genommen. Um die Verarbeitung beim Block 306 zu verbessern, wird jeder dem Belegungsplan des physischen Datenträgers zugeordnete ursprüngliche physische Datenträger durch entsprechende Block-Bitmaps in absteigender Reihenfolge sortiert, wobei eine Vielzahl von am häufigsten vorkommenden Datenblöcken den Belegungsplan des physischen Datenträgers zu erstellen scheint. Infolgedessen sind physische Datenträger im Belegungsplan mit den am häufigsten vorkommenden Blöcken am Anfang der Liste gruppiert und werden mit größerer Wahrscheinlichkeit zuerst betrachtet und folglich zuerst entfernt. In einer Ausführungsform kann eine Teilmenge von Datenblöcken in der Vielzahl von Datenblöcken ermittelt werden, wobei die Teilmenge von Datenblöcken ein gemeinsames Bitmuster aufweist, so dass Teile von jedem Datenblock in der Teilmenge, die nicht das gemeinsame Bitmuster aufweisen, in nachfolgenden Schritten betrachtet werden können.
  • Nach dem Erzeugen des Strohmann-Speicherbelegungsplans wird in jedem Fall ermittelt, ob eine Stopp-Bedingung erfüllt wurde, Block 308. In einer Ausführungsform wird die Stopp-Bedingung erfüllt, nachdem eine Anzahl von Wiederholungen (z. B. eine maximale Anzahl von zulässigen Schleifen) ausgeführt wurde. In einer anderen Ausführungsform wird die Stopp-Bedingung erfüllt, nachdem eine zuvor festgelegte Anzahl von Wiederholungen ohne Auftreten eines Löschvorgangs eines geprüften physischen Datenträgers ausgeführt wurde. In einer anderen Ausführungsform wird die Stopp-Bedingung erfüllt, wenn eine ideale Gesamtanzahl von physischen Datenträgern oder ein zuvor festgelegter Prozentsatz einer Gesamtanzahl von ursprünglichen physischen Datenträgern erreicht wurde. In noch einer anderen Ausführungsform wird die Stopp-Bedingung nach einer zuvor festgelegten Zeitspanne erfüllt. Wenn die Stopp-Bedingung erfüllt wurde, wird jeder physische Datenträger entsprechend dem gelisteten Speicherbelegungsplan auf physische Medien (z. B. die Datenspeichermedien 270, 280, 290) geschrieben, Block 310. Insbesondere werden überarbeitete physische Datenträger unter Verwendung eines überarbeiteten Belegungsplans des physischen Datenträgers, der im Folgenden ausführlicher beschrieben wird, in den Zielsatz von physischen Medien geschrieben. Das Verfahren 300 endet sodann beim Block 312.
  • Wenn festgestellt wurde, dass die Stopp-Bedingung nicht erfüllt wurde, wird ermittelt, ob alle physischen Datenträger überprüft wurden, Block 314. Ist dies der Fall, wird ein Zeiger für physische Datenträger auf einen ersten physischen Datenträger gesetzt, Block 316, und das Verfahren 300 wird vom Block 308 an wiederholt.
  • Wenn alle physischen Datenträger nicht geprüft wurden, wird ermittelt, ob alle der virtuellen Datenträger auf einem aktuellen physischen Datenträger überprüft wurden, Block 318. Ist dies der Fall, wird ein Zeiger für physische Datenträger auf einen nächsten physischen Datenträger gesetzt, Block 320, und das Verfahren 300 wird vom Block 314 an wiederholt.
  • Falls nicht, wird eine Block-Bitmap der virtuellen Datenträger mit einer Block-Bitmap von allen physischen Datenträgern verglichen, bei denen es sich nicht um auf jene des aktuellen physischen Datenträgers handelt, Block 322. Beispielsweise wird eine Bitmap eines ersten virtuellen Datenträgers (z. B. eine Bitmap eines virtuellen Datenträgers, der nicht geprüft wurde) mit jeder Bitmap von jedem ursprünglichen physischen Datenträger im Gesamtsatz von ursprünglichen physischen Datenträgern verglichen.
  • Als Nächstes wird ermittelt, ob ein Verschieben eines virtuellen Datenträgers in einen anderen physischen Datenträger die Abbildung verbessern kann, Block 324. Insbesondere beruht die Feststellung darauf, ob ein Verschieben des ersten virtuellen Datenträgers aus einem ursprünglichen physischen Datenträger, bei dem er einem neuen physischen Datenträger zugeordnet wurde, die Abbildung verbessern wird. Eine Verbesserung der Abbildung kann durch Verringern einer Anzahl von physischen Datenträgern oder Verringern der Gesamtanzahl von auf den ursprünglichen physischen Datenträgern zu speichernden Blöcken plus der Gesamtanzahl von auf dem anderen physischen Datenträger zu speichernden Blöcken erreicht werden, und nach dem Verschieben enthalten weder der ursprüngliche physische Datenträger noch der andere physische Datenträger mehr Blöcke als die Gesamtanzahl von Blöcken, die auf dem physischen Datenträger gespeichert werden können. In einer Ausführungsform wird eine Prüfung des ersten virtuellen Datenträgers der auf einem entsprechenden ursprünglichen physischen Datenträger enthaltenen virtuellen Datenträger ausgehend vom Belegungsplan des physischen Datenträgers ausgeführt, um zu ermitteln, ob ein Verschieben des ersten virtuellen Datenträgers aus seinem entsprechenden ursprünglichen physischen Datenträger in einen anderen physischen Datenträger im Gesamtsatz von ursprünglichen physischen Datenträgern die Gesamtanzahl von Datenblöcken im Belegungsplan des physischen Datenträgers verringert, ohne eine zulässige Gesamtanzahl von Blöcken auf dem anderen physischen Datenträger zu überschreiten. Nachdem der erste virtuelle Datenträger überprüft wurde, wird ein nachfolgender virtueller Datenträger der auf einem entsprechenden ursprünglichen physischen Datenträger enthaltenen virtuellen Datenträger ausgehend vom überarbeiteten Belegungsplan des physischen Datenträgers überprüft, um zu ermitteln, ob ein Verschieben des nachfolgenden virtuellen Datenträgers aus seinem entsprechenden ursprünglichen physischen Datenträger in einen anderen ursprünglichen physischen Datenträger oder überarbeiteten physischen Datenträger die Gesamtanzahl von Datenblöcken im überarbeiteten Belegungsplan des physischen Datenträgers verringert, ohne eine zulässige Gesamtanzahl von Blöcken auf dem anderen physischen Datenträger oder dem überarbeiteten physischen Datenträger zu überschreiten, und so weiter. In noch einer anderen Ausführungsform weist das Überprüfen ein Ermitteln von Konsolidierungszielen (consolidation targets) in den virtuellen Datenträgern auf, wobei die Konsolidierungsziele gemeinsame Datenblöcke aufweisen, und das Ermitteln, ob ein Verschieben der gemeinsamen Datenblöcke aus entsprechenden ursprünglichen physischen Datenträgern in andere physische Datenträger im Gesamtsatz von ursprünglichen physischen Datenträgern die Gesamtanzahl von Datenblöcken im Belegungsplan des physischen Datenträgers verringert, ohne eine zulässige Gesamtanzahl von Blöcken auf dem anderen physischen Datenträger zu überschreiten.
  • Falls die Abbildung beim Block 324 nicht verbessert wird, erhöht das System einen Zeiger für virtuelle Datenträger auf einen nächsten virtuellen Datenträger, Block 326, und das Verfahren 300 wird vom Block 318 an wiederholt.
  • Falls die Abbildung verbessert wird, wird der virtuelle Datenträger aus der Liste eines aktuellen physischen Datenträgers entfernt und zu der Liste eines neuen physischen Datenträgers hinzugefügt, und der einzelne Block aus dem aktuellen physischen Datenträger, der nur vom virtuellen Datenträger verwendet wird, wird entfernt und zu dem neuen physischen Datenträger hinzugefügt, falls der einzelne Block nicht bereits auf dem neuen physischen Datenträger vorhanden ist, Block 328. In einer Ausführungsform wird der erste virtuelle Datenträger aus seinem entsprechenden ursprünglichen physischen Datenträger gelöscht und zu dem anderen ursprünglichen physischen Datenträger hinzugefügt, um einen überarbeiteten Belegungsplan des physischen Datenträgers zu erzeugen, der überarbeitete physische Datenträger enthält. In nachfolgenden Wiederholungen nach der Überprüfung des ersten virtuellen Datenträgers (z. B. nachdem ein nachfolgender virtueller Datenträger überprüft wurde), wird der nachfolgende virtuelle Datenträger aus seinem entsprechenden ursprünglichen physischen Datenträger gelöscht und zu dem anderen ursprünglichen physischen Datenträger oder dem überarbeiteten physischen Datenträger hinzugefügt, um einen nachfolgenden überarbeiteten Belegungsplan des physischen Datenträgers zu erzeugen, der nachfolgende überarbeitete physische Datenträger enthält.
  • In jedem Fall wird ermittelt, ob der aktuelle physische Datenträger leer ist, Block 330. Falls nicht, erhöht das System den Zeiger für virtuelle Datenträger auf einen nächsten virtuellen Datenträger, Block 326, und das Verfahren 300 wird vom Block 318 an wiederholt. Wenn der aktuelle physische Datenträger leer ist, wird er aus der Liste des aktuellen physischen Datenträgers entfernt, Block 332, und das Verfahren 300 geht wieder zum Block 320.
  • Es wurde nun ein verbessertes Verfahren bereitgestellt, das als offener Standard zum Schreiben von deduplizierten virtuellen Datenträgern in einen physischen Datenträger verwendet werden kann. Das Verfahren überträgt wirkungsvoll in virtuellen Datenträgern organisierte deduplizierte Daten in einen Zielsatz von physischen Medien, so dass die physischen Medien für alle der virtuellen Datenträger nur einzelne Blöcke von Daten enthalten. Außerdem bewahren einige Ausführungsformen des Verfahrens Hash-Indexwerte auf, um vollständige virtuelle Datenträger wiederherzustellen, wenn sie aus einem einzelnen Datenträger der physischen Medien gelesen werden.
  • Wie Fachleute verstehen werden, können Aspekte der vorliegenden Erfindung als System, Verfahren oder Computerprogrammprodukt verkörpert werden. Dementsprechend können Aspekte der vorliegenden Erfindung in Form einer kompletten Hardware-Ausführungsform, einer kompletten Software-Ausführungsform (darunter Firmware, residente Software, Mikrocode usw.) oder einer Ausführungsform vorliegen, die Software- und Hardware-Aspekte kombiniert, die hierin im Allgemeinen als „Schaltung”, „Modul” oder „System” bezeichnet werden. Außerdem können Aspekte der vorliegenden Erfindung in Form eines Computerprogrammprodukts vorliegen, das in einem oder mehreren computerlesbaren Medien mit einem darin enthaltenen computerlesbaren Programmcode verkörpert ist.
  • Es kann eine beliebige Kombination von einem oder mehreren computerlesbaren Medien verwendet werden. Bei dem computerlesbaren Medium kann es sich um ein computerlesbares Signalmedium oder ein computerlesbares Speichermedium handeln. Ein computerlesbares Speichermedium kann zum Beispiel, jedoch ohne darauf beschränkt zu sein, ein elektronisches, magnetisches, optisches, kristallines, polymeres, elektromagnetisches, ein Infrarot- oder Halbleitersystem, eine Vorrichtung oder Einheit oder eine beliebige geeignete Kombination aus den vorgenannten sein. Zu Beispielen für ein physisches computerlesbares Speichermedium gehören, jedoch ohne darauf beschränkt zu sein, eine elektrische Verbindung mit einer oder mehreren Leitungen, eine tragbare Computerdiskette, eine Festplatte, ein RAM, ein ROM, ein EPROM, ein Flash-Speicher, ein Lichtwellenleiter, ein CD-ROM, eine optische Speichereinheit, eine magnetische Speichereinheit oder eine beliebige geeignete Kombination aus den vorgenannten. Im Kontext dieses Dokuments kann ein computerlesbares Speichermedium ein beliebiges physisches Medium sein, das ein Programm oder Daten zur Verwendung durch ein oder in Verbindung mit einem Befehlsausführungssystem, einer Vorrichtung oder einer Einheit enthalten oder speichern kann.
  • Ein in einem computerlesbaren Medium enthaltener Computercode kann unter Verwendung eines beliebigen geeigneten Mediums übertragen werden, unter anderem, jedoch ohne darauf beschränkt zu sein, drahtlos, drahtgebunden, über ein Lichtwellenleiterkabel, HF usw. oder eine beliebige geeignete Kombination aus den vorgenannten. Ein Computercode zum Ausführen von Arbeitsgängen für Aspekte der vorliegenden Erfindung kann in einer beliebigen statischen Sprache, beispielsweise der Programmiersprache „C” oder einer anderen ähnlichen Programmiersprache, geschrieben sein. Der Computercode kann vollständig im Computer des Benutzers, teilweise im Computer des Benutzers, als eigenständiges Software-Paket, teilweise im Computer des Benutzers und teilweise in einem entfernt angeordneten Computer oder vollständig im entfernt angeordneten Computer oder Server ausgeführt werden. Im letzteren Szenario kann der entfernt angeordnete Computer durch einen beliebigen Typ von Netzwerk oder Kommunikationssystem mit dem Computer des Benutzers verbunden sein, unter anderem, jedoch ohne darauf beschränkt zu sein, durch ein lokales Netz (LAN) oder ein überregionales Netz (WAN), ein konvergentes Netz, oder die Verbindung kann mit einem externen Computer (beispielsweise durch das Internet unter Verwendung eines Internet-Dienstanbieters) eingerichtet werden.
  • Aspekte der vorliegenden Erfindung wurden oben unter Bezugnahme auf die Ablaufpläne und/oder die Blockschaubilder von Verfahren, Vorrichtungen (Systemen) und Computerprogrammprodukten gemäß Ausführungsformen der Erfindung beschrieben. Es versteht sich von selbst, dass jeder Block der Ablaufpläne und/oder Blockschaubilder und Kombinationen von Blöcken in den Ablaufplänen und/oder Blockschaubildern durch Computerprogrammbefehle implementiert werden können. Diese Computerprogrammbefehle können einem Prozessor eines Universalcomputers, eines Spezialcomputers oder einer anderen programmierbaren Datenverarbeitungsvorrichtung zugeführt werden, um eine Maschine zu erzeugen, so dass die Befehle, die über den Prozessor des Computers oder der anderen programmierbaren Datenverarbeitungsvorrichtung ausgeführt werden, ein Mittel zum Implementieren der im Block oder in den Blöcken der Ablaufpläne und/oder Blockschaubilder angegebenen Funktionen/Vorgänge erzeugen.
  • Diese Computerprogrammbefehle können auch in einem computerlesbaren Medium gespeichert sein, das einen Computer, eine andere programmierbare Datenverarbeitungsvorrichtung oder andere Einheiten so steuern kann, dass diese auf eine bestimmte Weise funktionieren, so dass die im computerlesbaren Medium gespeicherten Befehle einen hergestellten Gegenstand erzeugen, der Befehle enthält, die die Funktion/den Vorgang implementieren, die/der im Block oder in den Blöcken der Ablaufpläne und/oder Blockschaubilder angegeben ist. Die Computerprogrammbefehle können auch in einen Computer, eine andere programmierbare Datenverarbeitungsvorrichtung oder andere Einheiten geladen werden, um das Ausführen einer Reihe von im Computer, in der anderen programmierbaren Datenverarbeitungsvorrichtung oder den anderen Einheiten auszuführenden Verarbeitungsschritten zu veranlassen, um einen in einem Computer implementierten Prozess zu erzeugen, so dass die Befehle, die im Computer oder in der anderen programmierbaren Datenverarbeitungsvorrichtung ausgeführt werden, Prozesse zum Implementieren der im Block oder in den Blöcken der Ablaufpläne und/oder Blockschaubilder angegebenen Funktionen/Vorgänge bereitstellen.
  • Die Ablaufpläne und Blockschaubilder in den obigen Figuren veranschaulichen die Architektur, Funktionalität und Funktionsweise von möglichen Implementierungen von Systemen, Verfahren und Computerprogrammprodukten gemäß verschiedenen Ausführungsformen der vorliegenden Erfindung. In dieser Hinsicht kann jeder Block in den Ablaufplänen oder Blockschaubildern ein Modul, ein Segment oder einen Teil eines Codes darstellen, der einen oder mehrere ausführbare Befehle zum Implementieren der angegebenen logischen Funktion(en) aufweist. Außerdem sei darauf hingewiesen, dass in einigen alternativen Implementierungen die im Block angegebenen Funktionen außerhalb der in den Figuren angegebenen Reihenfolge auftreten können. Beispielsweise können zwei nacheinander gezeigte Blöcke tatsächlich im Wesentlichen gleichzeitig ausgeführt werden oder die Blöcke können manchmal in Abhängigkeit von der beteiligten Funktionalität in umgekehrter Reihenfolge ausgeführt werden. Außerdem sei darauf hingewiesen, dass jeder Block der Blockschaubilder und/oder Ablaufpläne und Kombinationen von Blöcken in den Blockschaubildern und/oder Ablaufplänen durch spezielle auf Hardware beruhende Systeme, welche die angegebenen Funktionen oder Vorgänge ausführen, oder durch Kombinationen aus spezieller Hardware und Computerbefehlen implementiert werden können.

Claims (22)

  1. Verfahren zum Übertragen von in virtuellen Datenträgern organisierten deduplizierten Daten in einen Zielsatz von physischen Medien, wobei das Verfahren aufweist: Erstellen einer ersten Bitmap aus den deduplizierten Daten auf virtuellen Datenträgern, wobei die deduplizierten Daten auf virtuellen Datenträgern eine Gesamtanzahl von einzelnen Blöcken aufweisen; Sortieren der einzelnen Blöcke entsprechend der Häufigkeit des Auftretens, um eine überarbeitete Bitmap zu erstellen, um zuerst eine Vielzahl von am häufigsten vorkommenden einzelnen Blöcken einzuschließen; Erzeugen eines Belegungsplans des physischen Datenträgers aus der überarbeiteten Bitmap, wobei der Belegungsplan des physischen Datenträgers jeden einzelnen Block der deduplizierten Datenblöcke auf einem virtuellen Datenträger einem ursprünglichen physischen Datenträger zuordnet und einen Gesamtsatz von ursprünglichen virtuellen Datenträgern und eine Gesamtanzahl von Datenblöcken enthält; Überprüfen eines ersten virtuellen Datenträgers der auf einem entsprechenden ursprünglichen physischen Datenträger enthaltenen virtuellen Datenträger ausgehend vom Belegungsplan des physischen Datenträgers, um zu ermitteln, ob ein Verschieben des ersten virtuellen Datenträgers aus seinem entsprechenden ursprünglichen physischen Datenträger in einen anderen physischen Datenträger im Gesamtsatz von ursprünglichen physischen Datenträgern die Gesamtanzahl von Datenblöcken im Belegungsplan des physischen Datenträgers verringert, ohne eine zulässige Gesamtanzahl von Datenblöcken auf dem anderen physischen Datenträger zu überschreiten; Löschen des ersten virtuellen Datenträgers aus seinem entsprechenden ursprünglichen physischen Datenträger und Hinzufügen des ersten virtuellen Datenträgers zu dem anderen ursprünglichen physischen Datenträger, um einen überarbeiteten Belegungsplan des physischen Datenträgers zu erzeugen, der überarbeitete physische Datenträger enthält; und Schreiben der überarbeiteten physischen Datenträger in den Zielsatz von physischen Medien unter Verwendung des überarbeiteten Belegungsplans des physischen Datenträgers.
  2. Verfahren nach Anspruch 1, wobei: das Verfahren außerdem den Schritt des Sortierens von jedem dem Belegungsplan des physischen Datenträgers zugeordneten ursprünglichen physischen Datenträger durch entsprechende Block-Bitmaps in absteigender Reihenfolge von zunächst einer Vielzahl von am häufigsten vorkommenden Datenblöcken bis hin zu einem am wenigsten vorkommenden Datenblock beinhaltet, um den Belegungsplan des physischen Datenträgers zu erstellen.
  3. Verfahren nach Anspruch 2, wobei: der Schritt des Überprüfens außerdem ein Ermitteln einer Teilmenge von Datenblöcken in der Vielzahl von Datenblöcken, wobei die Teilmenge von Datenblöcken ein gemeinsames Bitmuster aufweist, und ein Vergleichen von Teilen von jedem Datenblock in der Teilgruppe aufweist, die nicht das gemeinsame Bitmuster enthalten.
  4. Verfahren nach Anspruch 1, wobei: der Schritt des Überprüfens außerdem ein Vergleichen einer Bitmap des ersten virtuellen Datenträgers mit jeder Bitmap von jedem ursprünglichen physischen Datenträger im Gesamtsatz von ursprünglichen physischen Datenträgern aufweist.
  5. Verfahren nach Anspruch 1, wobei: der Schritt des Überprüfens außerdem ein Überprüfen eines nachfolgenden virtuellen Datenträgers der auf einem entsprechenden ursprünglichen physischen Datenträger enthaltenen virtuellen Datenträger ausgehend vom überarbeiteten Belegungsplan des physischen Datenträgers aufweist, um zu ermitteln, ob ein Verschieben des nachfolgenden virtuellen Datenträgers aus seinem entsprechenden ursprünglichen physischen Datenträger in einen anderen ursprünglichen physischen Datenträger oder überarbeiteten physischen Datenträger die Gesamtanzahl von Datenblöcken im überarbeiteten Belegungsplan des physischen Datenträgers verringert, ohne eine zulässige Gesamtanzahl von Blöcken auf dem anderen physischen Datenträger oder dem überarbeiteten physischen Datenträger zu überschreiten; und Löschen des nachfolgenden virtuellen Datenträgers aus seinem entsprechenden ursprünglichen physischen Datenträger und Hinzufügen des nachfolgenden virtuellen Datenträgers zu dem anderen ursprünglichen physischen Datenträger oder dem überarbeiteten physischen Datenträger, um einen nachfolgenden überarbeiteten Belegungsplan des physischen Datenträgers zu erzeugen, der nachfolgende überarbeitete physische Datenträger enthält.
  6. Verfahren nach Anspruch 1, wobei das Verfahren außerdem aufweist: der Schritt des Überprüfens weist außerdem ein Ermitteln von Konsolidierungszielen in den virtuellen Datenträgern auf, wobei die Konsolidierungsziele gemeinsame Datenblöcke aufweisen, und ein Ermitteln, ob ein Verschieben der gemeinsamen Datenblöcke aus entsprechenden ursprünglichen physischen Datenträgern in andere physische Datenträger im Gesamtsatz von ursprünglichen physischen Datenträgern die Gesamtanzahl von Datenblöcken im Belegungsplan des physischen Datenträgers verringert, ohne eine zulässige Gesamtanzahl von Blöcken auf dem anderen physischen Datenträger zu überschreiten.
  7. Verfahren nach Anspruch 1, wobei das Verfahren außerdem aufweist: Wiederholen der Schritte des Überprüfens und Löschens, bis eine zuvor festgelegte Anzahl von Wiederholungen ohne Auftreten eines Löschvorgangs eines überprüften physischen Datenträgers ausgeführt wurde.
  8. Verfahren nach Anspruch 7, wobei das Verfahren außerdem aufweist: Löschen eines leeren physischen Datenträgers nach dem Schritt des Wiederholens.
  9. Verfahren nach Anspruch 1, wobei das Verfahren außerdem aufweist: Wiederholen der Schritte des Überprüfens und Löschens für eine zuvor festgelegte Zeitspanne.
  10. Verfahren nach Anspruch 1, wobei das Verfahren außerdem aufweist: Wiederholen der Schritte des Erstellens einer ersten Bitmap, des Sortierens der einzelnen Blöcke, des Erzeugens eines Belegungsplans des physischen Datenträgers aus der überarbeiteten Bitmap, des Überprüfens und des Löschens, bis ein zuvor festgelegter Prozentsatz einer Gesamtanzahl von ursprünglichen physischen Datenträgern erreicht wird.
  11. Verfahren nach Anspruch 1, wobei das Verfahren außerdem aufweist: Wiederholen der Schritte des Erstellens einer ersten Bitmap, des Sortierens der einzelnen Blöcke, des Erzeugens eines Belegungsplans des physischen Datenträgers aus der überarbeiteten Bitmap, des Überprüfens und des Löschens, bis ein zuvor festgelegter Prozentsatz oberhalb einer idealen Anzahl von physischen Datenträgern erreicht wird, wobei die ideale Anzahl dadurch definiert wird, dass jeder einzelne Block auf lediglich einen vollständig gefüllten physischen Datenträger geschrieben wurde.
  12. Physisches Computerspeichermedium, das ein Computerprogrammprodukt zum Übertragen von in virtuellen Datenträgern organisierten deduplizierten Daten in einen Zielsatz von physischen Medien aufweist, wobei das physische Computerspeichermedium aufweist: einen Computercode zum Erstellen einer ersten Bitmap aus den deduplizierten Daten auf virtuellen Datenträgern, wobei die deduplizierten Daten auf virtuellen Datenträgern eine Gesamtanzahl von einzelnen Blöcken aufweisen; einen Computercode zum Sortieren der einzelnen Blöcke entsprechend der Häufigkeit des Auftretens, um eine überarbeitete Bitmap zu erstellen, um zuerst eine Vielzahl von am häufigsten vorkommenden einzelnen Blöcken einzuschließen; einen Computercode zum Erzeugen eines Belegungsplans des physischen Datenträgers aus der überarbeiteten Bitmap, wobei der Belegungsplan des physischen Datenträgers jeden einzelnen Block der deduplizierten Daten auf einem virtuellen Datenträger einem ursprünglichen physischen Datenträger zuordnet und einen Gesamtsatz von ursprünglichen virtuellen Datenträgern und eine Gesamtanzahl von Datenblöcken enthält; einen Computercode zum Überprüfen eines ersten virtuellen Datenträgers der auf einem entsprechenden ursprünglichen physischen Datenträger enthaltenen virtuellen Datenträger ausgehend vom Belegungsplan des physischen Datenträgers, um zu ermitteln, ob ein Verschieben des ersten virtuellen Datenträgers aus seinem entsprechenden ursprünglichen physischen Datenträger in einen anderen physischen Datenträger im Gesamtsatz von ursprünglichen physischen Datenträgern die Gesamtanzahl von Datenblöcken im Belegungsplan des physischen Datenträgers verringert, ohne eine zulässige Gesamtanzahl von Datenblöcken auf dem anderen physischen Datenträger zu überschreiten; einen Computercode zum Löschen des ersten virtuellen Datenträgers aus seinem entsprechenden ursprünglichen physischen Datenträger und zum Hinzufügen des ersten virtuellen Datenträgers zu dem anderen ursprünglichen physischen Datenträger, um einen überarbeiteten Belegungsplan des physischen Datenträgers zu erzeugen, der überarbeitete physische Datenträger enthält; und einen Computercode zum Schreiben der überarbeiteten physischen Datenträger in den Zielsatz von physischen Medien unter Verwendung des überarbeiteten Belegungsplans des physischen Datenträgers.
  13. Physisches Computerspeichermedium nach Anspruch 12, das außerdem aufweist: einen Computercode zum Sortieren von jedem dem Belegungsplan des physischen Datenträgers zugeordneten ursprünglichen physischen Datenträger durch entsprechende Block-Bitmaps in absteigender Reihenfolge, wobei zuerst eine Vielzahl von am häufigsten vorkommenden Datenblöcken bis hin zu einem am wenigsten vorkommenden Datenblock enthalten ist, um den Belegungsplan des physischen Datenträgers zu erstellen.
  14. Physisches Computerspeichermedium nach Anspruch 13, das außerdem aufweist: einen Computercode zum Ermitteln einer Teilmenge von Datenblöcken in der Vielzahl von Datenblöcken, wobei die Teilmenge von Datenblöcken ein gemeinsames Bitmuster aufweist, und zum Vergleichen von Teilen von jedem Datenblock in der Teilgruppe, die nicht das gemeinsame Bitmuster aufweisen.
  15. Physisches Computerspeichermedium nach Anspruch 12, das außerdem aufweist: einen Computercode zum Vergleichen einer Bitmap des ersten virtuellen Datenträgers mit jeder Bitmap von jedem ursprünglichen physischen Datenträger im Gesamtsatz von ursprünglichen physischen Datenträgern.
  16. Physisches Computerspeichermedium nach Anspruch 12, das außerdem aufweist: einen Computercode zum Überprüfen eines nachfolgenden virtuellen Datenträgers der auf einem entsprechenden ursprünglichen physischen Datenträger enthaltenen virtuellen Datenträger ausgehend vom überarbeiteten Belegungsplan des physischen Datenträgers, um zu ermitteln, ob ein Verschieben des nachfolgenden virtuellen Datenträgers aus seinem entsprechenden ursprünglichen physischen Datenträger in einen anderen ursprünglichen physischen Datenträger oder überarbeiteten physischen Datenträger die Gesamtanzahl von Datenblöcken im überarbeiteten Belegungsplan des physischen Datenträgers verringert, ohne eine zulässige Gesamtanzahl von Blöcken auf dem anderen physischen Datenträger oder dem überarbeiteten physischen Datenträger zu überschreiten; und einen Computercode zum Löschen des nachfolgenden virtuellen Datenträgers aus seinem entsprechenden ursprünglichen physischen Datenträger und zum Hinzufügen des nachfolgenden virtuellen Datenträgers zu dem anderen ursprünglichen physischen Datenträger oder dem überarbeiteten physischen Datenträger, um einen nachfolgenden überarbeiteten Belegungsplan des physischen Datenträgers zu erzeugen, der nachfolgende überarbeitete physische Datenträger enthält.
  17. Physisches Computerspeichermedium nach Anspruch 12, das außerdem aufweist: einen Computercode zum Ermitteln von Konsolidierungszielen in den virtuellen Datenträgern, wobei die Konsolidierungsziele gemeinsame Datenblöcke aufweisen, und zum Ermitteln, ob ein Verschieben der gemeinsamen Datenblöcke aus entsprechenden ursprünglichen physischen Datenträgern in andere physische Datenträger im Gesamtsatz von ursprünglichen physischen Datenträgern die Gesamtanzahl von Datenblöcken im Belegungsplan des physischen Datenträgers verringert, ohne eine zulässige Gesamtanzahl von Blöcken auf dem anderen physischen Datenträger zu überschreiten.
  18. Physisches Computerspeichermedium nach Anspruch 12, das außerdem aufweist: einen Computercode zum Wiederholen der Schritte des Überprüfens und des Löschens, bis eine zuvor festgelegte Anzahl von Wiederholungen ohne Auftreten eines Löschvorgangs eines überprüften physischen Datenträgers ausgeführt wurde.
  19. Physisches Computerspeichermedium nach Anspruch 18, das außerdem aufweist: einen Computercode zum Löschen eines leeren physischen Datenträgers nach dem Schritt des Wiederholens.
  20. Physisches Computerspeichermedium nach Anspruch 12, das außerdem aufweist: einen Computercode zum Wiederholen der Schritte des Überprüfens und des Löschens für eine zuvor festgelegte Zeitspanne.
  21. Physisches Computerspeichermedium nach Anspruch 12, das außerdem aufweist: einen Computercode zum Wiederholen der Schritte des Erstellens einer ersten Bitmap, des Sortierens der einzelnen Blöcke, des Erzeugens eines Belegungsplans des physischen Datenträgers aus der überarbeiteten Bitmap, des Überprüfens und des Löschens, bis ein zuvor festgelegter Prozentsatz einer Gesamtanzahl von ursprünglichen physischen Datenträgern erreicht wird.
  22. Physisches Computerspeichermedium nach Anspruch 12, das außerdem aufweist: einen Computercode zum Wiederholen der Schritte des Erstellens einer ersten Bitmap, des Sortierens der einzelnen Blöcke, des Erzeugens eines Belegungsplans des physischen Datenträgers aus der überarbeiteten Bitmap, des Überprüfens und des Löschens, bis ein zuvor festgelegter Prozentsatz oberhalb einer idealen Anzahl von physischen Datenträgern erreicht wird, wobei die ideale Anzahl dadurch definiert wird, dass jeder einzelne Block auf lediglich einen vollständig gefüllten physischen Datenträger geschrieben worden ist.
DE112012002796.5T 2011-08-30 2012-08-23 Übertragen von in virtuellen Datenträgern organisierten deduplizierten Daten in einen Zielsatz von physischen Medien Pending DE112012002796T5 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/221,038 2011-08-30
US13/221,038 US20130054919A1 (en) 2011-08-30 2011-08-30 Methods and physical computer storage media for transferring de-duplicated data organized in virtual volumes to a target set of physical media
PCT/IB2012/054268 WO2013030730A1 (en) 2011-08-30 2012-08-23 Transferring de-duplicated data organized in virtual volumes to a target set of physical media

Publications (1)

Publication Number Publication Date
DE112012002796T5 true DE112012002796T5 (de) 2014-03-20

Family

ID=47745371

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112012002796.5T Pending DE112012002796T5 (de) 2011-08-30 2012-08-23 Übertragen von in virtuellen Datenträgern organisierten deduplizierten Daten in einen Zielsatz von physischen Medien

Country Status (5)

Country Link
US (2) US20130054919A1 (de)
CN (1) CN103765375B (de)
DE (1) DE112012002796T5 (de)
GB (1) GB2506828A (de)
WO (1) WO2013030730A1 (de)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130054919A1 (en) * 2011-08-30 2013-02-28 International Business Machines Corporation Methods and physical computer storage media for transferring de-duplicated data organized in virtual volumes to a target set of physical media
US8990171B2 (en) * 2011-09-01 2015-03-24 Microsoft Corporation Optimization of a partially deduplicated file
WO2013153584A1 (en) 2012-04-13 2013-10-17 Hitachi, Ltd. Storage device
US9459902B2 (en) * 2013-08-16 2016-10-04 Red Hat Israel, Ltd. Memory duplication by destination host in virtual machine live migration
US9454400B2 (en) * 2013-08-16 2016-09-27 Red Hat Israel, Ltd. Memory duplication by origin host in virtual machine live migration
JP6197816B2 (ja) * 2015-03-24 2017-09-20 日本電気株式会社 ストレージシステム、ストレージの管理方法、及び、コンピュータ・プログラム
GB2540562B (en) * 2015-07-21 2019-09-04 Advanced Risc Mach Ltd Method of and apparatus for generating a signature representative of the content of an array of data
CN111309255B (zh) * 2020-02-06 2022-11-22 苏州浪潮智能科技有限公司 一种卷类型转换的方法、系统、设备及介质

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6513051B1 (en) 1999-07-16 2003-01-28 Microsoft Corporation Method and system for backing up and restoring files stored in a single instance store
US7584338B1 (en) 2005-09-27 2009-09-01 Data Domain, Inc. Replication of deduplicated storage system
US7904747B2 (en) * 2006-01-17 2011-03-08 International Business Machines Corporation Restoring data to a distributed storage node
US7873809B2 (en) 2007-03-29 2011-01-18 Hitachi, Ltd. Method and apparatus for de-duplication after mirror operation
CN101415016A (zh) * 2007-10-17 2009-04-22 深圳市亚贝电气技术有限公司 一种数据复制方法、系统和存储服务器
US7870105B2 (en) 2007-11-20 2011-01-11 Hitachi, Ltd. Methods and apparatus for deduplication in storage system
US8176269B2 (en) 2008-06-30 2012-05-08 International Business Machines Corporation Managing metadata for data blocks used in a deduplication system
US8788466B2 (en) 2008-08-05 2014-07-22 International Business Machines Corporation Efficient transfer of deduplicated data
WO2010045262A1 (en) * 2008-10-14 2010-04-22 Wanova Technologies, Ltd. Storage-network de-duplication
US7904749B2 (en) * 2008-10-24 2011-03-08 Hitachi, Ltd. Fast data recovery from HDD failure
US8195636B2 (en) 2009-04-29 2012-06-05 Netapp, Inc. Predicting space reclamation in deduplicated datasets
US8176270B2 (en) 2009-05-01 2012-05-08 Quantum Corporation Data allocation system
US9058298B2 (en) 2009-07-16 2015-06-16 International Business Machines Corporation Integrated approach for deduplicating data in a distributed environment that involves a source and a target
JP5303038B2 (ja) * 2009-09-18 2013-10-02 株式会社日立製作所 重複したデータを排除するストレージシステム
US8190850B1 (en) * 2009-10-01 2012-05-29 Emc Corporation Virtual block mapping for relocating compressed and/or encrypted file data block blocks
US8108447B2 (en) * 2010-03-11 2012-01-31 Symantec Corporation Systems and methods for garbage collection in deduplicated data systems
US20130054919A1 (en) * 2011-08-30 2013-02-28 International Business Machines Corporation Methods and physical computer storage media for transferring de-duplicated data organized in virtual volumes to a target set of physical media
US8990171B2 (en) * 2011-09-01 2015-03-24 Microsoft Corporation Optimization of a partially deduplicated file

Also Published As

Publication number Publication date
US20130054912A1 (en) 2013-02-28
WO2013030730A1 (en) 2013-03-07
CN103765375B (zh) 2016-07-06
GB201402603D0 (en) 2014-04-02
CN103765375A (zh) 2014-04-30
US8566291B2 (en) 2013-10-22
GB2506828A (en) 2014-04-09
US20130054919A1 (en) 2013-02-28

Similar Documents

Publication Publication Date Title
DE112012002796T5 (de) Übertragen von in virtuellen Datenträgern organisierten deduplizierten Daten in einen Zielsatz von physischen Medien
DE112012005037B4 (de) Verwalten von redundanten unveränderlichen Dateien unter Verwendung von Deduplizierungen in Speicher-Clouds
DE102013205069B4 (de) Erhöhte effizienz bei inline-deduplizierungen
DE112011100534B4 (de) Mehrstufiger Sicherungsprozess
DE112011104419B4 (de) Bereichsmigration für gepaarte Speicherung
DE112013000900B4 (de) Bewahren von Redundanz in Datendeduplizierungssystemen unter Verwendung eines Anzeigers
DE112018003081T5 (de) Optimieren von benutzerzufriedenheit beim schulen eines kognitiven hierarchischen speicherverwaltungssystems
DE112012005222T5 (de) Halbleiter-Datenspeicherverwaltung
DE112019002948T5 (de) Feststellen einer optimalen speicherumgebung für datensätze und für das migrieren von datensätzen
DE10062063B4 (de) Verfahren, System, Computerprogramm-Produkt und Speichervorrichtung zur Steuerung einer Warteschlange von Anforderungen unterschiedlicher Priorität
DE102016010277A1 (de) Verfahren und systeme zum verbessern von speicher-journaling
DE102013215009A1 (de) Verfahren und System zur Optimierung der Datenübertragung
DE112012005275T5 (de) Datenauswahl zur Sicherung von Datenspeichern
DE102016119298B4 (de) Zeitpunktkopieren mit klonen von ketten
DE112012004937T5 (de) Fingerabdruckbasierte Datendeduplizierung
DE112018003585B4 (de) Verfahren, Computerprogrammprodukt und Speicherbandlaufwerk-Hardwareeinheit zum Verbessern der Deduplizierung eines Bandlaufwerkspeichers
DE112019000143T5 (de) Versionierungsvalidierung für die datenübertragung zwischen heterogenen datenspeichern
DE102013208930A1 (de) Zusammenfassen von Einträgen in einem Deduplizierungs-lndex
DE112018004008B4 (de) Auf dateisysteminhalten beruhende sicherheit
DE112012000282B4 (de) Anwendungswiederherstellung in einem Dateisystem
DE112010004931T5 (de) Mehrphasige Wiederherstellung von Dateisystemen mit SelektiverBedarfsweiser Verfügbarkeit von Daten(
DE102013201174A1 (de) Online-Überprüfung einer Standby-Datenbank in physischen Replikationsumgebungen mit Protokollversand
DE112015000384T5 (de) Erhöhen der Zuverlässigkeit in einem verteilten Speichersystem
DE102018131983A1 (de) Switch-unterstützte datenspeicher-netzwerkverkehrsverwaltung in einem rechenzentrum
DE112011106066T5 (de) System und Verfahren zur Bereitstellung von differenziertem Speicherservice in der Datenbank

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R082 Change of representative

Representative=s name: RICHARDT PATENTANWAELTE GBR, DE

Representative=s name: RICHARDT PATENTANWAELTE PART GMBB, DE

Representative=s name: RICHARDT PATENTANWAELTE PARTG MBB, DE

R016 Response to examination communication