DE102013208930B4 - Grouping of entries in a deduplication index - Google Patents
Grouping of entries in a deduplication index Download PDFInfo
- Publication number
- DE102013208930B4 DE102013208930B4 DE102013208930.9A DE102013208930A DE102013208930B4 DE 102013208930 B4 DE102013208930 B4 DE 102013208930B4 DE 102013208930 A DE102013208930 A DE 102013208930A DE 102013208930 B4 DE102013208930 B4 DE 102013208930B4
- Authority
- DE
- Germany
- Prior art keywords
- data
- memory
- entries
- index
- data blocks
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/17—Details of further file system functions
- G06F16/1724—Details of de-fragmentation performed by the file system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/17—Details of further file system functions
- G06F16/174—Redundancy elimination performed by the file system
- G06F16/1748—De-duplication implemented within the file system, e.g. based on file segments
- G06F16/1752—De-duplication implemented within the file system, e.g. based on file segments based on file chunks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1448—Management of the data involved in backup or backup restore
- G06F11/1453—Management of the data involved in backup or backup restore using de-duplication of the data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/13—File access structures, e.g. distributed indices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/17—Details of further file system functions
- G06F16/174—Redundancy elimination performed by the file system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/17—Details of further file system functions
- G06F16/174—Redundancy elimination performed by the file system
- G06F16/1748—De-duplication implemented within the file system, e.g. based on file segments
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
- G06F16/2228—Indexing structures
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Software Systems (AREA)
- Quality & Reliability (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
Computerprogrammprodukt zum Ausführen einer Deduplizierung für einen Speicher, wobei das Computerprogrammprodukt ein computerlesbares Speichermedium mit einem darin verkörperten computerlesbaren Programmcode aufweist, mit den Schritten:- Verwalten eines Indexes von Datenblocksignaturen, die aus Datenblöcken von Daten in Datenobjekten in dem Speicher berechnet wurden, wobei jeder Indexeintrag aus der Vielzahl von Indexeinträgen mindestens eine der Datenblocksignaturen und einen Verweis auf den Datenblock enthält, aus dem die Signatur berechnet wurde;- Auswählen von Einträgen in dem Index, die zusammengefasst werden sollen, durch Ermitteln von Einträgen aus der Vielzahl von Einträgen in dem Index auf der Grundlage eines Kriteriums der Datenblöcke von Daten, auf die in den Einträgen verwiesen wird, wobei das Kriterium◯ ein Alter der Datenblöcke in dem Speicher, wobei das Alter eine Zeitspanne seit dem Einfügen des Datenblocks in den Speicher oder nach dem Aktualisieren;◯ und/oder eine Häufigkeit von Eingabe/Ausgabe- (E/A-) Zugriffen auf die Datenblöcke in dem Speicher;◯ und/oder eine Häufigkeit, mit der die Datenblöcke in dem Speicher in Datenobjekten erscheinen, die in den Speicher eingefügt wurden;◯ und/oder einen Bereich des Speichers, in dem die Datenblöcke gespeichert sind;◯ und/oder einen Datentyp in den Datenblöcken aufweist;- Ausführen einer Zusammenfassungsoperation mit den Datenblocksignaturen in den ausgewählten Einträgen, um eine zusammengefasste Signatur zu erzeugen;- Einfügen eines Eintrags in den Index, der die zusammengefasste Signatur und einen Verweis auf die Datenblöcke in dem Speicher, auf die in den zusammengefassten ausgewählten Einträgen verwiesen wird;- Entfernen der ausgewählten Einträge aus dem Index, die zum Erzeugen der zusammengefassten Signatur verwendet wurden, wobei die entstandenen zusammengefassten Einträge und von der Zusammenfassungsoperation nicht betroffene Einträge auf alle Datenblöcke in dem Speicher verweisen, die in den im Speicher verwalteten Datenobjekten enthalten sind; und- Verwenden des Indexes der Signaturen bei Deduplizierungs-Operationen, wenn Datenobjekte in den Speicher eingefügt werden.Computer program product for performing a deduplication for a memory, the computer program product having a computer-readable storage medium with a computer-readable program code embodied therein, with the steps of: - managing an index of data block signatures calculated from data blocks of data in data objects in the memory, each index entry contains at least one of the data block signatures from the plurality of index entries and a reference to the data block from which the signature was calculated; - selecting entries in the index which are to be combined by determining entries from the plurality of entries in the index the basis of a criterion of the data blocks of data referenced in the entries, the criterion ◯ an age of the data blocks in the memory, the age being a period of time since the data block was inserted into the memory or after it was updated; ◯ and / or a Hau ability of input / output (I / O) accesses to the data blocks in the memory; ◯ and / or a frequency with which the data blocks appear in the memory in data objects that have been inserted into the memory; ◯ and / or a Area of the memory in which the data blocks are stored; ◯ and / or a data type in the data blocks; - Carrying out a summarization operation on the data block signatures in the selected entries to generate a summarized signature; - Insertion of an entry in the index, the summarized signature and a reference to the data blocks in memory referenced in the summarized selected entries; - removing from the index the selected entries that were used to generate the summarized signature, the resulting summarized entries and from the summarization operation unaffected entries refer to all data blocks in memory that are in memory it contains managed data objects; and using the index of the signatures in deduplication operations when inserting data objects into memory.
Description
Die vorliegende Erfindung betrifft ein Computerprogrammprodukt, ein System und ein Verfahren zum Zusammenfassen von Einträgen in einem Deduplizierungs-Index.The present invention relates to a computer program product, a system and a method for combining entries in a deduplication index.
Daten-Deduplizierung ist eine Datenreduzierungstechnik zum Entfernen redundanter Daten, um die Speicherauslastung zu verbessern. Durch das Deduplizieren wird die benötigte Speicherkapazität verringert, weil nur eine Kopie einer bestimmten Dateneinheit, die auch als Datenblock bekannt ist, gespeichert wird. Bei Plattenspeichersystemen wie beispielsweise einem Speicherverwaltungs-Server oder einem virtuellen Bandarchiv (Virtual Tape Library, VTL) kann eine Deduplizierungs-Technologie angewandt werden, um redundante Datenblöcke zu erkennen und Doppeleinträge infolge des redundanten Speicherns solcher Datenblöcke zu vermeiden. Die Daten-Deduplizierung in Speichern sorgt für die Verringerung des für einen bestimmten Satz von Dateien benötigten Speichervolumens und ist bei Anwendungen am wirksamsten, bei denen Kopien sehr ähnlicher oder sogar identischer Daten auf einer einzigen Platte gespeichert sind, was oft vorkommt. Bei Datensicherungen, die laufend zum Schutz von Datenverlusten durchgeführt werden, haben sich die meisten Daten bei einer bestimmten Datensicherung gegenüber der vorhergehenden Datensicherung nicht geändert und können oft Anlass zur Deduplizierung geben, um das redundante Speichern von Daten zu umgehen.Data deduplication is a data reduction technique used to remove redundant data to improve storage utilization. Deduplication reduces the amount of storage required by storing only one copy of a particular unit of data, also known as a data block. In the case of disk storage systems such as a storage management server or a virtual tape library (VTL), deduplication technology can be used to identify redundant data blocks and avoid duplicate entries as a result of the redundant storage of such data blocks. Data deduplication in storage reduces the amount of storage required for a given set of files and is most effective in applications where copies of very similar or even identical data are stored on a single disk, which is often the case. With data backups that are carried out continuously to protect against data loss, most of the data in a particular data backup has not changed compared to the previous data backup and can often give rise to deduplication in order to bypass the redundant storage of data.
Daten-Deduplizierung kann auf Datei- oder Blockebene stattfinden. Durch Datei-Deduplizierung werden doppelte Dateien entfernt. Bei einem Block-Deduplizieren wird eine Datei durchsucht und das einmalige Vorkommen jedes Blocks gespeichert. Ein Block-Deduplizierungs-System teilt eine Datei in eine Folge von Datenblöcken ein. Das Deduplizierungs-System ermittelt, ob einige der Datenblöcke bereits gespeichert sind und speichert dann nur diese nichtredundanten Datenblöcke. Die Redundanzprüfung kann mit den Datenblöcken durchgeführt werden, die entweder gerade in der Datei gespeichert werden oder bereits im System gespeichert sind.Data deduplication can take place at the file or block level. File deduplication removes duplicate files. Block deduplication searches a file and saves the unique occurrence of each block. A block deduplication system divides a file into a sequence of data blocks. The deduplication system determines whether some of the data blocks are already stored and then only saves these non-redundant data blocks. The redundancy check can be performed with the data blocks that are either currently being saved in the file or are already saved in the system.
Ein Objekt kann unter Verwendung einer elektronischen Fingerabdrucktechnik wie beispielsweise der Rabin-Karp-Fingerabdrucktechnik in Datenblöcke eingeteilt werden. Redundante Datenblöcke werden unter Anwenden eines Hash-Algorithmus wie beispielsweise MD5 (Message-Digest-Algorithmus 5) oder SHA-1 (Secure-Hash-Algorithmus 1) auf jeden Datenblock erkannt, um einen Hashwert für die Datenblöcke zu erzeugen und diese Hashwerte dann mit dem Hashwerten bereits im System gespeicherter Datenblöcke zu vergleichen. Üblicherweise werden die Hashwerte für gespeicherte Datenblöcke in einem Index (Deduplizierungs-Index) verwaltet. Ein Datenblock kann durch einen Hashwert und/oder einen Fingerabdruck eindeutig gekennzeichnet werden. Wenn für einen Hashwert ein Eintrag gefunden wird, wird ein redundanter Datenblock erkannt, und dieser Datenblock in dem Datenobjekt oder Objekt kann durch einen Zeiger auf den im Speicher verwalteten übereinstimmenden Datenblock ersetzt werden. Die Größe des Deduplizierungs-Indexes kann durch ein für den Index verfügbares Speichervolumen begrenzt sein. Dadurch kann die Anzahl von auf den Speicher verweisenden Hashwerten begrenzt sein, die in dem Deduplizierungs-Index verwaltet werden können. Durch das Einrichten eines kleineren Indexes kann sichergestellt werden, dass der Index in das zugeordnete Speichervolumen passt.An object can be divided into data blocks using an electronic fingerprinting technique such as the Rabin-Karp fingerprinting technique. Redundant data blocks are recognized by applying a hash algorithm such as MD5 (Message Digest Algorithm 5) or SHA-1 (Secure Hash Algorithm 1) to each data block in order to generate a hash value for the data blocks and then include these hash values to compare the hash values of data blocks already stored in the system. The hash values for stored data blocks are usually managed in an index (deduplication index). A data block can be uniquely identified by a hash value and / or a fingerprint. If an entry is found for a hash value, a redundant data block is recognized and this data block in the data object or object can be replaced by a pointer to the corresponding data block maintained in the memory. The size of the deduplication index can be limited by the amount of storage available for the index. This can limit the number of memory-referencing hash values that can be maintained in the deduplication index. Setting up a smaller index can ensure that the index fits into the allocated storage volume.
Aus US 2011 / 0 099 351 A1 ist das Routing von Daten für die verbesserte Deduplizierung in einem Speicher bekannt. Dabei werden neue oder geänderte Daten in den Speicher geladen und ein Hash-Inhaltswert und ein Hash-Ähnlichkeitswert für die Daten berechnet.US 2011/099351 A1 discloses the routing of data for improved deduplication in a memory. New or changed data is loaded into the memory and a hash content value and a hash similarity value are calculated for the data.
Die Erfindung stellt sich die Aufgabe, das Durchführen von Deduplizierungs-Operationen weiter zu verbessern.The object of the invention is to further improve the performance of deduplication operations.
Die Aufgabe wird erfindungsgemäß gelöst durch das Computerprogrammprodukt nach Anspruch 1, das System nach Anspruch 6 und das Verfahren nach Anspruch 7. Bevorzugte Ausführungsformen der Erfindung sind Gegenstand der jeweiligen Unteransprüche.The object is achieved according to the invention by the computer program product according to claim 1, the system according to
Es werden ein Computerprogrammprodukt, ein System und ein Verfahren zum Zusammenfassen von Einträgen in einem Deduplizierungs-Index bereitgestellt. Ein Index weist Datenblocksignaturen auf, die aus Datenblöcken von Daten in den Datenobjekten in dem Speicher berechnet wurden, wobei jeder Indexeintrag mindestens eine der Datenblocksignaturen und einen Verweis auf den Datenblock aufweist, von dem die Signatur berechnet wurde. Es werden Einträge in dem Index zum Zusammenfassen ausgewählt, und mit den Datenblocksignaturen in den ausgewählten Einträgen wird eine Zusammenfassungsoperation ausgeführt, um eine zusammengefasste Signatur zu erzeugen. In den Index wird ein Eintrag eingefügt, der die zusammengefasste Signatur und einen Verweis auf die Datenblöcke in dem Speicher enthält, auf die in den zusammengefassten ausgewählten Einträgen verwiesen wird. Der Index der Signaturen wird bei den Deduplizierungs-Operationen verwendet, wenn Datenobjekte in den Speicher eingefügt werden.
-
1 veranschaulicht eine Datenverarbeitungsumgebung, in der Ausführungsformen realisiert werden. -
2 veranschaulicht eine Ausführungsform von Objektdaten. -
3 veranschaulicht eine Ausführungsform eines Eintrags des Deduplizierungs-Indexes. -
4 veranschaulicht ein Beispiel eines Deduplizierungs-Indexes mit zusammengefassten Einträgen. -
5 veranschaulicht eine Ausführungsform von Operationen zum Einfügen eines Datenblocks in den Deduplizierungs-Index. -
6 veranschaulicht ein Beispiel von Operationen zum Zusammenfassen von Indexeinträgen in dem Deduplizierungs-Index. -
7a und7b veranschaulichen eine Ausführungsform von Operationen zum Verarbeiten eines empfangenen Datenobjekts zum Deduplizieren durch Berechnen zusammengefasster Signaturen. -
8 veranschaulicht eine Ausführungsform einer Zuordnung von Datenblöcken in einem empfangenen Datenobjekt mit einer zusammengefassten oder Datenblocksignatur, die von einem oder mehreren Datenblöcken in dem empfangenen Datenobjekt berechnet wurden. -
9 veranschaulicht eine Ausführungsart eines Computerknotens in der Datenverarbeitungsum gebung.
-
1 Figure 3 illustrates a computing environment in which embodiments are implemented. -
2 illustrates one embodiment of object data. -
3 Figure 3 illustrates one embodiment of a deduplication index entry. -
4th illustrates an example of a deduplication index with aggregated entries. -
5 Figure 3 illustrates one embodiment of operations to insert a block of data into the deduplication index. -
6th Figure 11 illustrates an example of operations to merge index entries in the deduplication index. -
7a and7b illustrate one embodiment of operations for processing a received data object for deduplication by computing aggregated signatures. -
8th Figure 3 illustrates an embodiment of an association of data blocks in a received data object with a summarized or data block signature calculated from one or more data blocks in the received data object. -
9 Figure 3 illustrates one embodiment of a computing node in the computing environment.
Beschriebene Ausführungsformen stellen Techniken zum Zusammenfassen von Einträgen in einem Deduplizierungs-Index bereit, um die Anzahl von Indexeinträgen durch Ausführen einer Zusammenfassungsoperation mit den in mehreren Einträgen enthaltenen Signaturen zu verringern, um eine in einem neuen zusammengefassten Eintrag enthaltene zusammengefasste Signatur zu erzeugen, die auf die mehreren Datenblöcke verweist, auf die die von der Zusammenfassungsoperation betroffenen Signaturen verweisen. Wenn bei beschriebenen Ausführungsformen ein empfangendes Datenobjekt zum Speicher hinzugefügt wird, werden aus den Datenblöcken in dem empfangenen Datenobjekt Datenblocksignaturen berechnet und aus mehreren Signaturen in dem empfangenen Datenobjekt zusammengefasste Signaturen berechnet, um diese mit zusammengefassten und Datenblocksignaturen in dem Deduplizierungs-Index zu vergleichen, um nicht doppelt vorkommende oder nicht übereinstimmende Datenblöcke in dem empfangenen Datenobjekt zu ermitteln, d.h. einen oder mehrere Datenblöcke mit Signaturen, die nicht mit den Signaturen in dem Index übereinstimmen. Es werden nur die nicht doppelt oder nur einmalig vorkommenden und keine duplizierten Datenblöcke in den Speicher geschrieben, um das Schreiben von redundanten Daten zu vermeiden.Described embodiments provide techniques for pooling entries in a deduplication index to reduce the number of index entries by performing a pooling operation on the signatures contained in multiple entries to generate a pooled signature contained in a new pooled entry that is based on the multiple blocks of data referenced by the signatures affected by the summarize operation. If, in the described embodiments, a receiving data object is added to the memory, data block signatures are calculated from the data blocks in the received data object and combined signatures are calculated from several signatures in the received data object in order not to compare them with combined and data block signatures in the deduplication index to determine duplicate or non-matching data blocks in the received data object, ie one or more data blocks with signatures that do not match the signatures in the index. Only those data blocks that do not occur twice or only once and that are not duplicated are written to the memory in order to avoid writing redundant data.
Der Speichermanager
Der Server
Der Speicher
Der Speichermanager
Gemäß einer Ausführungsform wird die Datenblockkennung (Ci)
Gemäß bestimmten Ausführungsformen wird eine Zusammenfassungsoperation mit Signaturen
Zum Beispiel verweisen die Deduplizierungs-Einträge
Gemäß den obigen Ausführungsformen findet bei der Zusammenfassungsoperation das Zusammenfassen von zwei Einträgen auf einer vorhergehenden Zusammenfassungsebene statt, die auf aufeinanderfolgende Datenblöcke verweisen. Gemäß weiteren Ausführungsformen kann bei einer Zusammenfassungsoperation eine Operation mit mehr als zwei Einträgen stattfinden, die auf aufeinanderfolgende Datenblöcke verweisen, sodass ein zusammengefasster Eintrag mehr als zwei Einträge ersetzen und damit auf die aufeinanderfolgenden Datenblöcke verweisen kann, auf die mehr als zwei zusammengefasste Einträge verweisen. Darüber hinaus kann bei bestimmten Ausführungsformen eine Zusammenfassungsoperation mit Einträgen auf verschiedenen Ebenen ausgeführt werden, solange die Einträge auf verschiedenen Ebenen auf aufeinanderfolgende Datenblöcke verweisen.According to the above embodiments, the merging operation takes place in the merging of two entries on a previous merging level which refer to successive data blocks. According to further embodiments, an operation with more than two entries can take place in a summarization operation, which refer to successive data blocks, so that a combined entry can replace more than two entries and thus refer to the successive data blocks to which more than two combined entries refer. In addition, in certain embodiments, a merge operation can be performed on entries at different levels as long as the entries at different levels refer to consecutive blocks of data.
Die Zusammenfassungsoperation mit Blocksignaturen oder zusammengefassten Signaturen kann eine Verkettung oder andere Operation aufweisen. Bei einer Ausführungsform können durch die Zusammenführungsoperation zwei Signaturen mit m und n Bytes verkettet werden, um eine neue zusammengefasste Signatur mit m plus n Bytes zu bilden. Bei weiteren Ausführungsformen können zusätzliche Operationen an den verketteten Signaturen ausgeführt werden, beispielsweise indem ein weiterer Hash-Wert genommen wird, um die letztendliche Signatur zu erzeugen. Bei noch weiteren Ausführungsformen können zur der Zusammenfassungsoperation andere geeignete Arten von Operationen gehören, darunter Multiplikationen usw., ohne auf diese beschränkt zu sein.The aggregation operation with block signatures or aggregate signatures can be a chaining or other operation. In one embodiment, the merge operation can concatenate two m and n byte signatures to form a new merged signature of m plus n bytes. In further embodiments, additional operations can be performed on the concatenated signatures, for example by taking another hash value to generate the final signature. In still other embodiments, the merge operation may include, but are not limited to, other suitable types of operations, including, but not limited to, multiplications, etc.
Bei Ausführungsformen, bei denen zwei Einträge zusammengefasst werden, kann die Anzahl von Datenblöcken, auf die ein Eintrag auf einer Zusammenfassungsebene n, (n = 0, 1, 2, 3...) verweist, durch den Ausdruck 2n ausgedrückt werden.In embodiments where two entries are merged, the number of data blocks referenced by an entry at a summary level n, (n = 0, 1, 2, 3 ...), can be expressed by the expression 2n.
Das Kriterium zum Auswählen der zusammenzufassenden Datenblöcke kann ein Alter der Datenblöcke in dem Speicher aufweisen, sodass Datenblöcke, die längere Zeit im Speicher waren, ohne aktualisiert zu werden, eher zum Zusammenfassen ausgewählt werden als Datenblöcke, die vor kürzerer Zeit eingefügt oder aktualisiert worden sind. Es können weitere Kriterien verwendet werden, um weniger nachgefragte Datenblöcke auszuwählen, wobei die Nachfrage nach einem Datenblock ermittelt werden kann: anhand der Häufigkeit von Eingabe/Ausgabe-(E/A-) Zugriffen auf die Datenblöcke in dem Speicher, sodass Datenblöcke stärker nachgefragt sind, auf die häufiger zugegriffen wird; anhand einer Häufigkeit, mit der die Datenblöcke in dem Speicher in Datenobjekten erscheinen, die in den Speicher eingefügt werden, sodass Datenblöcke, die in mehreren Datenobjekten erscheinen, stärker nachgefragt sind; anhand eines Speicherbereichs, in dem die Datenblöcke gespeichert sind, sodass Datenblöcke, die in einem aktuellerem Bereich gespeichert sind, auf den häufiger zugegriffen wird, stärker nachgefragt sind; und anhand eines Datentyps in den Datenblöcken, wobei Datenblöcke, deren Datentyp wichtiger ist und auf die häufiger zugegriffen wird, als stärker nachgefragt angesehen werden können.The criterion for selecting the data blocks to be summarized may include an age of the data blocks in the memory, so that data blocks which have been in memory for a long time without being updated are more likely to be selected for summarization than data blocks which have been inserted or updated more recently. Further criteria can be used to select less requested data blocks, whereby the demand for a data block can be determined: the frequency of input / output (I / O) accesses to the data blocks in the memory so that data blocks are more in demand that are accessed more frequently; based on a frequency with which the data blocks appear in the memory in data objects that are inserted into the memory, so that data blocks that appear in multiple data objects are in greater demand; based on a memory area in which the data blocks are stored, so that data blocks that are stored in a more up-to-date area that is accessed more frequently are in greater demand; and on the basis of a data type in the data blocks, data blocks whose data type is more important and which are accessed more frequently can be viewed as being in greater demand.
Der Speichermanager
Nach dem Ermitteln der Datenblocksignaturen für jeden einzelnen Datenblock in dem empfangenen Objekt ermittelt der Speichermanager
Wenn die (in Block
Gemäß den beschriebenen Ausführungsformen werden Einträge eines Deduplizierungs-Indexes zusammengefasst, um in dem Index freien Platz zu schaffen und zu ermöglichen, dass Verweise auf Datenblöcke in dem Speicher in Verbindung mit anderen Datenblöcken durch eine zusammengefasste Signatur in dem Deduplizierungs-Index erhalten bleiben. Wenn der Platz im Deduplizierungs-Index begrenzt werden muss, ermöglichen die beschriebenen Ausführungsformen, dass Datenblöcke in dem Deduplizierungs-Index dargestellt bleiben, wenn vermieden werden soll, dass Daten doppelt in den Speicher geschrieben werden. Gemäß bestimmten Ausführungsformen können Einträge des Deduplizierungs-Indexes, die auf seltener abgerufene Datenblöcke verweisen, zusammengefasst werden, um Platz in dem Deduplizierungs-Index zu schaffen, um auf neu in den Speicher aufgenommene Datenblöcke zu verweisen und gleichzeitig zu gewährleisten, dass zum Deduplizieren Indexeinträge weiterhin auf diese seltener abgerufenen aufeinanderfolgenden Datenblöcke verweisen können.According to the described embodiments, entries of a deduplication index are combined in order to create free space in the index and to enable references to data blocks in the memory in connection with other data blocks to be retained by a combined signature in the deduplication index. If the space in the deduplication index has to be limited, the described embodiments allow data blocks to remain represented in the deduplication index if data is to be avoided from being written twice into the memory. According to certain embodiments, entries of the deduplication index that refer to less frequently accessed data blocks can be combined to make room in the deduplication index to refer to data blocks newly added to memory and at the same time ensure that index entries continue to be deduplicated can refer to these less frequently accessed successive data blocks.
Die beschriebenen Ausführungsformen zum Verwalten des Deduplizierungs-Indexes
Der Computerknoten
Der Computerknoten
Der Computerknoten
Der Bus
Üblicherweise enthält der Computerknoten
Der Systemspeicher
Beispielsweise können, ohne darauf beschränkt zu sein, ein Programm/Dienstprogramm
Der Computerknoten
Claims (7)
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/482,820 US8898121B2 (en) | 2012-05-29 | 2012-05-29 | Merging entries in a deduplication index |
US13/482,820 | 2012-05-29 |
Publications (2)
Publication Number | Publication Date |
---|---|
DE102013208930A1 DE102013208930A1 (en) | 2013-12-05 |
DE102013208930B4 true DE102013208930B4 (en) | 2020-12-17 |
Family
ID=49579667
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE102013208930.9A Active DE102013208930B4 (en) | 2012-05-29 | 2013-05-15 | Grouping of entries in a deduplication index |
Country Status (2)
Country | Link |
---|---|
US (2) | US8898121B2 (en) |
DE (1) | DE102013208930B4 (en) |
Families Citing this family (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2010113167A1 (en) * | 2009-03-30 | 2010-10-07 | Hewlett-Packard Development Company L.P. | Deduplication of data stored in a copy volume |
US20150088839A1 (en) * | 2012-06-08 | 2015-03-26 | Kevin Lloyd Jones | Replacing a chunk of data with a reference to a location |
US9633022B2 (en) * | 2012-12-28 | 2017-04-25 | Commvault Systems, Inc. | Backup and restoration for a deduplicated file system |
US9384206B1 (en) * | 2013-12-26 | 2016-07-05 | Emc Corporation | Managing data deduplication in storage systems |
US10423596B2 (en) * | 2014-02-11 | 2019-09-24 | International Business Machines Corporation | Efficient caching of Huffman dictionaries |
US9846718B1 (en) * | 2014-03-31 | 2017-12-19 | EMC IP Holding Company LLC | Deduplicating sets of data blocks |
CN105446964B (en) * | 2014-05-30 | 2019-04-26 | 国际商业机器公司 | The method and device of data de-duplication for file |
US9753955B2 (en) * | 2014-09-16 | 2017-09-05 | Commvault Systems, Inc. | Fast deduplication data verification |
US9916458B2 (en) | 2015-03-31 | 2018-03-13 | EMC IP Holding Company LLC | Secure cloud-based storage of data shared across file system objects and clients |
US10191914B2 (en) * | 2015-03-31 | 2019-01-29 | EMC IP Holding Company LLC | De-duplicating distributed file system using cloud-based object store |
US9639274B2 (en) | 2015-04-14 | 2017-05-02 | Commvault Systems, Inc. | Efficient deduplication database validation |
KR102402783B1 (en) * | 2015-05-11 | 2022-05-27 | 삼성전자 주식회사 | Electronic device for merging pages and method thereof |
US10452297B1 (en) * | 2016-05-02 | 2019-10-22 | Pure Storage, Inc. | Generating and optimizing summary index levels in a deduplication storage system |
US9940060B1 (en) * | 2016-05-02 | 2018-04-10 | Pure Storage, Inc. | Memory use and eviction in a deduplication storage system |
US10678778B1 (en) * | 2017-10-19 | 2020-06-09 | EMC IP Holding Company LLC | Date deduplication acceleration |
US10585612B2 (en) * | 2018-01-04 | 2020-03-10 | International Business Machines Corporation | Optimized sequential writes on mirrored disks |
US11341106B2 (en) | 2019-07-19 | 2022-05-24 | Commvault Systems, Inc. | Deduplication system without reference counting |
CN112581014B (en) * | 2020-12-25 | 2023-12-08 | 特赞(上海)信息科技有限公司 | Statistical method, device, equipment and storage medium for material readiness |
US11989158B2 (en) * | 2021-01-28 | 2024-05-21 | EMC IP Holding Company LLC | Maintaining retention policies in a block storage, multi-client dedup domain |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110099351A1 (en) * | 2009-10-26 | 2011-04-28 | Netapp, Inc. | Use of Similarity Hash to Route Data for Improved Deduplication in a Storage Server Cluster |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7962452B2 (en) * | 2007-12-28 | 2011-06-14 | International Business Machines Corporation | Data deduplication by separating data from meta data |
US8392791B2 (en) | 2008-08-08 | 2013-03-05 | George Saliba | Unified data protection and data de-duplication in a storage system |
US20100088296A1 (en) * | 2008-10-03 | 2010-04-08 | Netapp, Inc. | System and method for organizing data to facilitate data deduplication |
US8140491B2 (en) | 2009-03-26 | 2012-03-20 | International Business Machines Corporation | Storage management through adaptive deduplication |
US8200641B2 (en) | 2009-09-11 | 2012-06-12 | Dell Products L.P. | Dictionary for data deduplication |
JP5595701B2 (en) | 2009-09-16 | 2014-09-24 | 株式会社日立製作所 | File management method and storage system |
AU2010200866B1 (en) * | 2010-03-08 | 2010-09-23 | Quantum Corporation | Data reduction indexing |
US8396873B2 (en) | 2010-03-10 | 2013-03-12 | Emc Corporation | Index searching using a bloom filter |
US8442942B2 (en) | 2010-03-25 | 2013-05-14 | Andrew C. Leppard | Combining hash-based duplication with sub-block differencing to deduplicate data |
US8250325B2 (en) * | 2010-04-01 | 2012-08-21 | Oracle International Corporation | Data deduplication dictionary system |
CN102024032A (en) | 2010-11-29 | 2011-04-20 | 广州明朝网络科技有限公司 | Distributed data caching and persisting method and system based on Erlang |
US8898119B2 (en) * | 2010-12-15 | 2014-11-25 | Netapp, Inc. | Fingerprints datastore and stale fingerprint removal in de-duplication environments |
CN102156736A (en) | 2011-04-12 | 2011-08-17 | 上海电通信息服务有限公司 | Method for transmitting data between SAP (Systems Application) system and SQL (Structured Query Language) database |
-
2012
- 2012-05-29 US US13/482,820 patent/US8898121B2/en not_active Expired - Fee Related
-
2013
- 2013-05-15 DE DE102013208930.9A patent/DE102013208930B4/en active Active
-
2014
- 2014-10-06 US US14/507,816 patent/US9305005B2/en not_active Expired - Fee Related
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110099351A1 (en) * | 2009-10-26 | 2011-04-28 | Netapp, Inc. | Use of Similarity Hash to Route Data for Improved Deduplication in a Storage Server Cluster |
Also Published As
Publication number | Publication date |
---|---|
US9305005B2 (en) | 2016-04-05 |
US20150026140A1 (en) | 2015-01-22 |
DE102013208930A1 (en) | 2013-12-05 |
US20130325821A1 (en) | 2013-12-05 |
US8898121B2 (en) | 2014-11-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE102013208930B4 (en) | Grouping of entries in a deduplication index | |
DE112012005037B4 (en) | Manage redundant immutable files using deduplications in storage clouds | |
DE112011100819B4 (en) | Storage space reservation in a deduplication system | |
DE102013204186B4 (en) | Determining priorities for cached objects to order the broadcast of changes to cached objects based on measured network bandwidth | |
DE112013001905B4 (en) | Increased inline deduplication efficiency | |
DE102013205069B4 (en) | INCREASED EFFICIENCY WITH INLINE DEDUPLICATIONS | |
DE112010004947B4 (en) | Restore a full system backup and incremental backups using multiple simultaneous unit streams | |
DE112012005275T5 (en) | Data selection for backup of data storage | |
DE102016013248A1 (en) | Reference block accumulation in a reference quantity for deduplication in storage management | |
DE112012004937T5 (en) | Fingerprint based data deduplication | |
DE112013000900B4 (en) | Preserving Redundancy in Data Deduplication Systems Using a Scoreboard | |
DE102013201174A1 (en) | Online review of a standby database in physical replication environments using log shipping | |
DE102013206744A1 (en) | DEDUPLICATING STORAGE WITH IMPROVED DETECTION OF COMMON STOPS | |
DE102013211071A1 (en) | At a low overhead, improving the reliability of a journaling file system using semiconductor storage and deduplication | |
DE202012013462U1 (en) | Data processing in a Mapreduce framework | |
DE112017000167B4 (en) | Distributed data deduplication in a processor grid | |
DE102016001591A1 (en) | System and method for copy-on-write on an SSD | |
DE102009031923A1 (en) | Method for managing data objects | |
DE10350590A1 (en) | Method and device for saving data in several independent read-write memories | |
DE112018003585B4 (en) | A method, computer program product, and storage tape drive hardware unit for enhancing deduplication of tape drive storage | |
DE102010053282A1 (en) | Modified B + tree for storing Nand memory redirection assignments | |
DE112014002275T5 (en) | Database management system and method | |
DE112018000227B4 (en) | Method for partially updating data content in a distributed storage network | |
DE102013200030B4 (en) | HASH-BASED MANAGEMENT OF STORAGE IDS | |
DE112011103367T5 (en) | Replicate data |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
R012 | Request for examination validly filed | ||
R016 | Response to examination communication | ||
R016 | Response to examination communication | ||
R018 | Grant decision by examination section/examining division | ||
R084 | Declaration of willingness to licence | ||
R020 | Patent grant now final |