IP Library Granted Patent US 8,484,427
Granted Patent B1
US 8,484,427 · App. 13/021,818 · Granted Jul 9, 2013

System and method for efficient backup using hashes

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 8,484,427
App. No.
13/021,818
Granted
Jul 9, 2013
Kind
B1
Abstract

A method for data backup including (a) forming an image of the storage device; (b) for each block to be backed up to the image, generating a hash; (c) for each block stored in the image, storing a hash in a hash table; (c) for each additional block of the storage device to be backed up, generating a hash; (d) sorting all the generated hashes and deleting duplicate hashes; (e) comparing the hashes to identify candidate blocks that might have identical contents with contents of blocks stored in the image; (f) if the hashes are not coincident, then backing up, to the image, contents of unidentified blocks and blocks that do not have identical hashes, and (g) otherwise, storing links in the image instead of the contents of the blocks, (h) after checking all the hashes for those blocks that need to be backed up, writing only unique hashes to the hash table; (h) links for multiple blocks with identical contents point to a single block in the image, (i) the image contains a bitmap of the backup; (j) the bitmap contains indicators for the links that define if a block contains the content or if the block points to another block, (k) also indicators that reflect used and unused blocks such that an indicator whether contents are shared with another block vs. contents are unique to every other block in the image.

Claims (26)

1. A computer implemented method for data backup, the method for data backup executed on a processor, the method comprising:

(a) forming an image of a storage device, wherein contents of blocks of the storage device are restorable from the image;

(b) for each block of the storage device to be backed up to the image, generating a hash function value corresponding to contents of that block;

(c) for each block stored in the image, storing a hash function value in a hash table representing contents of each block;

(c) for each additional block of the storage device to be backed up to the image, generating a hash function value corresponding to contents of that block;

(d) sorting all the generated hash function values and deleting duplicate hash values;

(e) comparing the hash function values to identify, out of blocks of the storage device, candidate blocks that might have identical contents with contents of blocks stored in the image;

(f) if the hash function values are not coincident, then backing up, to the image, contents of unidentified blocks and blocks that do not have identical hash function values, and

(g) if the hash function values are coincident, then for blocks of the storage device with identical hash function values, storing links in the image instead of the contents of the blocks;

(h) after checking all the hash function values for those blocks that need to be backed up, writing only unique hash function values to the hash table;

(h) wherein links for multiple blocks of the storage device with identical contents point to a single block in the image,

(i) wherein the image contains a bitmap of the storage device backup;

(j) the bitmap contains indicators for use of the links, such that an indicator defines if a block contains the content or if the block points to another block,

(k) wherein the bitmap contains indicators that reflect used and unused blocks such that an indicator of one setting represents a used block whose contents are shared with another block in the image, and a bit of an alternate setting corresponds to an unused block whose contents are unique to every other block in the image; and

(l) wherein the unused blocks do not require backing up of their contents.

2. The method of claim 1 , wherein if the hash function values are coincident, then further comprising comparing contents of candidate blocks with contents of corresponding blocks stored in the image, and backing up, to the image, contents of unidentified blocks and blocks that do not have identical contents.

3. The method of claim 1 , wherein the image includes data of different backups.

4. The method of claim 1 , wherein the image contains backups of different storage devices.

5. The method of claim 1 , wherein hash function is any of MD4, MD5, CRC, CRC32, SHA1, SHA2, SHA512, SHA256, GOST, hash function based on block ciphers and Message Authentication Code (MAC).

6. The method of claim 1 , further comprising restoration of the storage device from the image, wherein contents of blocks pointed by link is restored to corresponding blocks of the storage device.

7. The method of claim 1 , wherein the link for the block is stored in the image instead of contents of the corresponding block.

8. The method of claim 1 , wherein the image includes an indicator reflecting use of the link for the block contents.

9. The method of claim 8 , wherein a bitmap is created for the storage device backup; and wherein the bitmap includes indicators for use of the links.

10. The method of claim 9 , wherein the bitmap further reflects unused blocks of the storage device; and wherein the unused blocks do not require backing up of their contents.

11. A non-transitory computer useable recording medium having computer program logic stored thereon for executing on a processor for data backup, the computer program logic performing the method of claim 1 .

12. A system comprising a processor, a memory, and code loaded into the memory for performing the method of claim 1 .

Assignments (10)
REAFFIRMATION AGREEMENT Recorded Aug 28, 2022
From: ACRONIS AG; ACRONIS INTERNATIONAL GMBH; ACRONIS SCS, INC.; ACRONIS, INC.; GROUPLOGIC, INC.; NSCALED INC.; ACRONIS MANAGEMENT LLC; 5NINE SOFTWARE, INC.; ACRONIS GERMANY GMBH; ACRONIS NETHERLANDS B.V.; ACRONIS BULGARIA EOOD; DEVICELOCK, INC.; DEVLOCKCORP LTD; ACRONIS INC.
To: MIDCAP FINANCIAL TRUST
Reel/Frame 061330/0818 →
SECURITY INTEREST Recorded Dec 19, 2019
From: ACRONIS INTERNATIONAL GMBH
To: MIDCAP FINANCIAL TRUST
Reel/Frame 051418/0119 →
RELEASE OF SECURITY INTEREST Recorded Oct 21, 2019
From: OBSIDIAN AGENCY SERVICES, INC.
To: ACRONIS INTERNATIONAL GMBH; GROUPLOGIC, INC.
Reel/Frame 050783/0893 →
PATENT SECURITY AGREEMENT Recorded Feb 27, 2014
From: ACRONIS INTERNATIONAL GMBH
To: OBSIDIAN AGENCY SERVICES, INC.
Reel/Frame 032366/0328 →
RELEASE OF SECURITY INTEREST Recorded Feb 25, 2014
From: SILICON VALLEY BANK, AS ADMINISTRATIVE AGENT
To: ACRONIS INC.; ACRONIS, INC.; ACRONIS INTERNATIONAL GMBH
Reel/Frame 032296/0397 →
SECURITY AGREEMENT Recorded Apr 20, 2012
From: ACRONIS INTERNATIONAL GMBH
To: SILICON VALLEY BANK, AS ADMINISTRATIVE AGENT
Reel/Frame 028081/0061 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 21, 2012
From: ACRONIS INC. LTD.
To: ACRONIS INTERNATIONAL GMBH
Reel/Frame 027898/0795 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 21, 2012
From: ACRONIS INC.
To: ACRONIS INC. LTD.
Reel/Frame 027898/0764 →
SECURITY AGREEMENT Recorded Jun 20, 2011
From: ACRONIS INC.
To: SILICON VALLEY BANK
Reel/Frame 026465/0559 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 7, 2011
From: LYADVINSKY, MAXIM V.; BELOUSSOV, SERGUEI M.; GOLDOBIN, MAXIM V.; TORMASOV, ALEXANDER G.; PER, YURI S.
To: ACRONIS INC.
Reel/Frame 025750/0605 →