IP Library Granted Patent US 9,152,500
Granted Patent B1
US 9,152,500 · App. 14/492,993 · Granted Oct 6, 2015

Hash collision recovery in a deduplication vault

Inventor: Andrew Lynn Gardner (Oak City, UT)
Assignee: STORAGECRAFT TECHNOLOGY CORPORATION
G06F11/1402G06F11/10G06F17/30088G06F17/30097G06F17/30153G06F17/30156G06F17/30943
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 9,152,500
App. No.
14/492,993
Granted
Oct 6, 2015
Kind
B1
Abstract

Hash collision recovery in a deduplication vault. In one example embodiment, a method for hash collision recovery in a deduplication vault includes creating first parity data for all unique blocks of a source storage at a point in time. The first parity data includes both the unique blocks as well as an order of block positions of the unique blocks as stored in the source storage. Next, a hash value is generated for each of the unique blocks. Then, a backup is stored in a deduplication vault including each of the unique blocks together with its corresponding hash value. Next, second parity data is created for all of the unique blocks of the backup. Then, the first parity data is compared to the second parity data to determine whether one or more hash collisions occurred resulting in one or more missing unique blocks.

Claims (38)

1. One or more non-transitory computer-readable media storing one or more programs that causes one or more processors to execute a method for hash collision recovery in a deduplication vault, the method comprising:

creating first parity data for all unique blocks of a source storage at a point in time, the first parity data including both the unique blocks as well as an order of block positions of the unique blocks as stored in the source storage;

generating a hash value for each of the unique blocks;

storing a backup in the deduplication vault including each of the unique blocks together with its corresponding hash value;

creating second parity data for all of the unique blocks of the backup; and

comparing the first parity data and the second parity data to determine whether one or more hash collisions occurred resulting in one or more missing unique blocks.

2. The one or more non-transitory computer-readable media of claim 1 , wherein the method further comprises:

responsive to the one or more hash collisions occurring, using the first parity data to recover the one or more missing unique blocks; and

restoring the backup.

3. The one or more non-transitory computer-readable media of claim 2 , wherein the restoring the backup comprises restoring the backup to a restore storage.

4. The one or more non-transitory computer-readable media of claim 2 , wherein the restoring the backup comprises restoring the backup to the source storage.

5. The one or more non-transitory computer-readable media of claim 2 , wherein the using the first parity data to recover the one or more missing unique blocks includes generating a Vandermonde table to identify the one or more missing unique blocks.

6. The one or more non-transitory computer-readable media of claim 1 , wherein the backup in the deduplication vault further includes the first parity data.

7. The one or more non-transitory computer-readable media of claim 1 , wherein the creating the first parity data for all of the unique blocks includes applying a hash compression function that uses a relative offset of the block position for each of the unique blocks.

8. The one or more non-transitory computer-readable media of claim 7 , wherein the method further comprises:

responsive to the one or more hash collisions occurring, using the first parity data to recover the one or more missing blocks including identifying an error in the relative offset of the block position for each of the one or more missing blocks; and

restoring the backup.

9. The one or more non-transitory computer-readable media of claim 8 , wherein the method further comprises:

generating a first Vandermonde table to identify the one or more missing blocks; and

generating a second Vandermonde table to generate the one or more missing blocks using the first parity data and using one or more of the unique blocks included in the backup.

10. The one or more non-transitory computer-readable media of claim 1 , wherein the comparing the first parity data to the second parity data includes employing a checksum equation.

11. The one or more non-transitory computer-readable media of claim 1 , wherein the creating the first parity data includes encoding the first parity data using an error-correcting code (ECC).

12. One or more non-transitory computer-readable media storing one or more programs that causes one or more processors to execute a method for hash collision recovery in a deduplication vault, the method comprising:

creating first parity data for all unique blocks of a source storage at a point in time, the first parity data including both the unique blocks as well as an order of block positions of the unique blocks as stored in the source storage;

generating a hash value for each of the unique blocks;

storing a backup in the deduplication vault of each of the unique blocks together with its corresponding hash value;

creating second parity data for all of the unique blocks of the backup;

comparing the first parity data and the second parity data to determine whether one or more hash collisions occurred resulting in one or more missing unique blocks;

responsive to one or more hash collisions occurring, using the first parity data to recover the one or more missing unique blocks; and

restoring the backup.

13. The one or more non-transitory computer-readable media of claim 12 , wherein the restoring the backup comprises restoring the backup to a restore storage.

14. The one or more non-transitory computer-readable media of claim 12 , wherein the restoring the backup comprises restoring the backup to the source storage.

15. The one or more non-transitory computer-readable media of claim 12 , wherein the creating the first parity data for all unique blocks includes applying a hash compression function that uses a relative offset of the block position for each of the unique blocks.

16. The one or more non-transitory computer-readable media of claim 15 , wherein the using the first parity data to recover the one or more missing unique blocks includes identifying an error in the relative offset of the block position for each of the one or more missing blocks.

17. The one or more non-transitory computer-readable media of claim 12 , wherein the method further comprises:

generating a first Vandermonde table to identify the one or more missing blocks; and

generating a second Vandermonde table to generate the one or more missing blocks using the first parity data and using one or more of the unique blocks included in the backup.

18. The one or more non-transitory computer-readable media of claim 12 , wherein the comparing the first parity data to the second parity data includes employing a checksum equation.

Assignments (6)
CHANGE OF NAME Recorded Aug 16, 2024
From: STORAGECRAFT TECHNOLOGY CORPORATION
To: STORAGECRAFT TECHNOLOGY LLC
Reel/Frame 068660/0176 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 16, 2024
From: MONROE CAPITAL MANAGEMENT ADVISORS, LLC; ARCSTOR MIDCO LLC; ARCSERVE ACQUISITION COMPANY LLC; ARCSERVE (USA) LLC; STORAGECRAFT TECHNOLOGY, LLC
To: STORAGECRAFT, LLC
Reel/Frame 068660/0208 →
SECURITY INTEREST Recorded Mar 16, 2021
From: ARCSERVE (USA) LLC; STORAGECRAFT TECHNOLOGY LLC; ZETTA, LLC
To: MONROE CAPITAL MANAGEMENT ADVISORS, LLC, AS COLLATERAL AGENT
Reel/Frame 055603/0219 →
TERMINATION AND RELEASE OF PATENT SECURITY AGREEMENT Recorded Mar 16, 2021
From: SILICON VALLEY BANK, AS ADMINISTRATIVE AGENT
To: STORAGECRAFT TECHNOLOGY CORPORATION
Reel/Frame 055614/0607 →
SECURITY AGREEMENT Recorded Apr 18, 2016
From: STORAGECRAFT TECHNOLOGY CORPORATION
To: SILICON VALLEY BANK, AS ADMINISTRATIVE AGENT
Reel/Frame 038449/0943 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 22, 2014
From: GARDNER, ANDREW LYNN
To: STORAGECRAFT TECHNOLOGY CORPORATION
Reel/Frame 033793/0565 →