Block-level deduplication

US9442806B1 · US · B1

Patent metadata
FieldValue
Publication numberUS-9442806-B1
Application numberUS-95737110-A
CountryUS
Kind codeB1
Filing dateNov 30, 2010
Priority dateNov 30, 2010
Publication dateSep 13, 2016
Grant dateSep 13, 2016

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

Various systems and methods can perform block-level deduplication. For example, one method involves sending a chunk of data to a deduplication server for storage in a deduplicated data store. The chunk of data includes multiple blocks. Subsequent to sending the chunk of data to the deduplication server, the method detects that at least one of the blocks has been modified. In response, the method sends associated information as well as the modified blocks, which include at least one but fewer than all of the blocks in the chunk, to the deduplication server. The associated information identifies a location of the included blocks within the chunk of data. The method can be performed by a computing device implementing a deduplication client.

First claim

Opening claim text (preview).

What is claimed is: 1. A method comprising: replicating a chunk of data, the replicating comprising sending the chunk of data to a deduplication server for storage in a deduplicated data store, wherein the chunk of data comprises a plurality of blocks, and the chunk of data is identified within the deduplicated data store by a single fingerprint; subsequent to the sending, determining whether at least one of the plurality of blocks has been modified, thereby creating a modified chunk of data; and in response to a determination that at least one of the plurality of blocks has been modified, incrementally replicating the modified chunk of data to the deduplicated data store by sending the at least one of the plurality of blocks but fewer than all of the plurality of blocks of the modified chunk of data to the deduplication server, wherein the sending is performed by a computing device implementing a deduplication client, and the deduplication server performs deduplication on chunk-sized units of data by comparing the chunk of data identified with the modified chunk of data incrementally replicated to the deduplication data store, wherein the chunk of data is identified based on the single fingerprint. 2. The method of claim 1 , wherein the sending the chunk of data comprises sending the chunk of data via a network. 3. The method of claim 1 , wherein the associated information comprises an identifier of a first version of the chunk of data and an identifier of a second version of the chunk of data, the sending the chunk of data comprises sending the first version, and the second version is created subsequent to the sending the chunk of data and in response to the at least one of the plurality of blocks being modified. 4. The method of claim 3 , wherein the sending the associated information is performed in response to detecting that the second version of the chunk of data is not yet included in the deduplicated data store. 5. The method of claim 1 , wherein the deduplication comprises storing only the blocks comprising the modified chunk of data with the reference associated with the chunk. 6. The method of claim 1 , further comprising: calculating the single fingerprint for the chunk of data, wherein the single fingerprint identifies a value of the chunk of data prior to the modification of the at least one of the plurality of blocks, and the single fingerprint is not derived from a fingerprint of each block of the plurality of blocks. 7. The method of claim 1 , further comprising: accessing at least part of a previous version of the chunk of data in the deduplicated data store; combining at least the part of the previous version of the chunk of data with the at least one of the plurality of blocks to reconstitute a new version of the chunk of data; and storing the new version of the chunk of data in the deduplicated data store. 8. A non-transitory computer readable storage medium storing program instructions executable to: replicate a chunk of data, the replicating comprising sending the chunk of data to a deduplication server for storage in a deduplicated data store, wherein the chunk of data comprises a plurality of blocks, and the chunk is identified within the deduplicated data store by a single fingerprint; subsequent to sending the chunk of data, determine whether at least one of the plurality of blocks has been modified, thereby creating a modified chunk of data; and in response to a determination that at least one of the blocks has been modified, incrementally replicate the modified chunk of data to the deduplicated data store by sending the at least one of the plurality of blocks but fewer than all of the plurality of blocks of the modified chunk of data to the deduplication server, wherein the sending is performed by a computing device implementing a deduplication client, and the deduplication server performs deduplication on chunk-sized units of data by comparing the chunk of data identified with the modified chunk of data incrementally replicated to the deduplication data store, wherein the chunk of data is identified based on the single fingerprint. 9. The non-transitory computer readable storage medium of claim 8 , wherein the sending the chunk of data comprises sending the chunk of data via a network. 10. The non-transitory computer readable storage medium of claim 8 , wherein the associated information comprises an identifier of a first version of the chunk of a data and an identifier of a second version of the chunk of data, sending the chunk of data comprises sending the first version, and the second version is created subsequent to sending the chunk of data and in response to the at least one of the plurality of blocks being modified. 11. The non-transitory computer readable storage medium of claim 10 , wherein associated information and the at least one of the plurality of blocks is sent in response to detecting that the second version of the chunk of data is not yet included in the deduplicated data store. 12. A system comprising: one or more processors; and a memory coupled to the one or more processors, wherein the memory stores program instructions executable by the one or more processors to: replicate a chunk of data, the replicating comprising sending the chunk of data to a deduplication server for storage in a deduplicated data store, wherein the chunk of data comprises a plurality of blocks, and the chunk of data is identified within the deduplicated data store by a single fingerprint; subsequent to sending the chunk of data, determine whether at least one of the plurality of blocks has been modified, thereby creating a modified chunk of data; and in response to determining that at least one of the blocks has been modified, incrementally replicate the modified chunk of data to the deduplicated data store by sending the at least one of the plurality of blocks but fewer than all of the plurality of blocks of the modified chunk of data to the deduplication server, wherein the sending is performed by a computing device implementing a deduplication client, and the deduplication server performs deduplication on chunk-sized units of data by comparing the chunk of data identified with the modified chunk of data incrementally replicated to the deduplication data store, wherein the chunk of data is identified based on the single fingerprint. 13. The system of claim 12 , wherein the sending the chunk of data comprises sending the chunk of data via a network. 14. The system of claim 12 , wherein the associated information comprises an identifier of a first version of the chunk of a data and an identifier of a second version of the chunk of data, sending the chunk of data comprises sending the first version, and the second version is created subsequent to sending the chunk of data and in response to the at least one of the plurality of blocks being modified. 15. The system of claim 14 , wherein associated information and the at least one of the plurality of blocks is sent is performed in response to detecting that the second version of the chunk of data is not yet included in the deduplicated data store.

Assignees

Inventors

Classifications

  • De-duplication techniques · CPC title

  • using de-duplication of the data · CPC title

  • Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS] · CPC title

  • for networked environments · CPC title

  • G06F3/0608Primary

    Saving storage space on storage systems · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US9442806B1 cover?
Various systems and methods can perform block-level deduplication. For example, one method involves sending a chunk of data to a deduplication server for storage in a deduplicated data store. The chunk of data includes multiple blocks. Subsequent to sending the chunk of data to the deduplication server, the method detects that at least one of the blocks has been modified. In response, the metho…
Who is the assignee on this patent?
Bardale Trimbak Somnathappa, Veritas Technologies Llc
What technology area does this patent fall under?
Primary CPC classification G06F11/1453. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Sep 13 2016 00:00:00 GMT+0000 (Coordinated Universal Time) (B1). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 8 related publications on this page (citations in our corpus or others sharing the same primary CPC).