IP Library Granted Patent US 7,913,114
Granted Patent B2
US 7,913,114 · App. 12/183,792 · Granted Mar 22, 2011

Repair of a corrupt data segment used by a de-duplication engine

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 7,913,114
App. No.
12/183,792
Granted
Mar 22, 2011
Kind
B2
Abstract

In a method for repairing a corrupt data segment used by a de-duplication engine, a data segment indexed by a de-duplication index is identified as being as a corrupt data segment. A search is made to find a duplicate data segment with which to replace the corrupt data segment, where the duplicate data segment comprises an uncorrupted version of the data segment. The corrupt data segment is replaced with the duplicate data segment.

Claims (59)

1. A method for repairing a corrupt data segment used by a de-duplication engine, said method comprising:

identifying a data segment, appearing in a first data stream and indexed by a de-duplication index, as a corrupt data segment;

searching for a duplicate data segment with which to replace said corrupt data segment, said duplicate data segment comprising an uncorrupted version of said data segment, and wherein said searching for the duplicate data segment comprises monitoring a de-duplication process to identify the duplicate data segment in one or more data streams subsequent to the first data stream; and

replacing said corrupt data segment with said duplicate data segment.

2. The method as recited in claim 1 , wherein said identifying a data segment indexed by a de-duplication index as a corrupt data segment comprises:

setting a corruption flag associated with said data segment.

3. The method as recited in claim 1 , wherein said identifying a data segment indexed by a de-duplication index as a corrupt data segment further comprises:

performing an integrity check on said data segment to determine if said data segment is corrupt; and

in response to said data segment failing said integrity check; storing information to indicate said data segment is corrupt.

4. The method as recited in claim 3 , wherein said performing an integrity check on said data segment comprises:

producing a re-generated hash value of said data segment; and

comparing said re-generated hash value of said data segment with a previously stored hash value of said data segment to determine if said data segment has changed.

5. The method as recited in claim 1 , wherein said searching for a duplicate data segment with which to replace said corrupt data segment comprises:

checking said de-duplication index to find said duplicate data segment.

6. A data de-duplication engine comprising:

a corrupt data identifier configured for identifying a data segment appearing in a first data stream and indexed by a de-duplication index as a corrupt data segment in response to a failed integrity check of the data segment;

a corrupt data replacement searcher configured for checking said de-duplication index and monitoring a data de-duplication process to find a duplicate data segment to said corrupt data segment either in said de-duplication index or during processing of data for de-duplication by identifying the duplicate data segment in one or more data streams subsequent to the first data stream, said duplicate data segment comprising an uncorrupted version of said data segment; and

a corrupt data replacer configured for replacing said corrupt data segment with said duplicate data segment.

7. The de-duplication engine of claim 6 , further comprising:

said de-duplication index, wherein said de-duplication index comprises an index of data segment identifiers associated with a plurality of data segments which have been identified, and wherein said data segment comprises one of said plurality of data segments indexed by said de-duplication index.

8. The de-duplication engine of claim 7 , wherein a data segment identifier of said data segment identifiers comprises a hash value.

9. The de-duplication engine of claim 6 , wherein said data segment comprises a data sub-block.

10. The de-duplication engine of claim 6 , wherein said data segment comprises a plurality of sub-blocks.

11. The de-duplication engine of claim 6 , wherein said corrupt data identifier comprises:

a data segment integrity checker configured for performing a scheduled integrity check on said data segment.

12. The de-duplication engine of claim 11 , wherein said data segment integrity checker comprises:

a hash generator for re-generating a hash value of said data segment; and

a hash comparator for comparing a re-generated hash value of said data segment with a previously stored hash value of said data segment to determine if said data segment has changed.

13. The de-duplication engine of claim 6 , wherein said corrupt data identifier comprises:

a settable corruption flag associated with said data segment and said de-duplication index.

14. A data storage system comprising:

at least one data storage mechanism; and

a de-duplication engine, said de-duplication engine comprising:

a corrupt data identifier configured for identifying a data segment appearing in a first data stream and indexed by a de-duplication index as a corrupt data segment in response to a failed integrity check of said data segment;

a corrupt data replacement searcher configured for checking said index and monitoring a data de-duplication process to find a duplicate data segment to said corrupt data segment either in said de-duplication index or during processing of data for de-duplication by identifying the duplicate data segment in one or more data streams subsequent to the first data stream, said duplicate data segment comprising an uncorrupted version of said data segment; and

a corrupt data replacer configured for replacing said corrupt data segment with said duplicate data segment.

15. The data storage system of claim 14 , wherein said at least one data storage mechanism comprises:

at least one hard disk drive.

16. The data storage system of claim 14 , wherein said at least one data storage mechanism comprises:

a redundant array of independent disks.

17. The data storage system of claim 14 , wherein said at least one data storage mechanism comprises:

a data cache.

18. The data storage system of claim 14 , wherein said de-duplication engine further comprises:

said de-duplication index, wherein said de-duplication index comprises an index of data segment identifiers associated with a plurality of data segments which have been identified, and wherein said data segment comprises one of said plurality of data segments indexed by said de-duplication index.

19. The data storage system of claim 14 , wherein said de-duplication engine further comprises:

a data segment integrity checker configured for performing a scheduled integrity check on said data segment.

20. A method for repairing a corrupt data segment used by a de-duplication engine, said method comprising:

identifying a data segment, indexed by a de-duplication index, as a corrupt data segment;

searching for a duplicate data segment with which to replace said corrupt data segment, said duplicate data segment comprising an uncorrupted version of said data segment; and

replacing said corrupt data segment with said duplicate data segment; and

wherein said searching for a duplicate data segment with which to replace said corrupt data segment comprises: checking said de-duplication index to find said duplicate data segment.

21. The method as recited in claim 20 , wherein said identifying a data segment indexed by a de-duplication index as a corrupt data segment further comprises:

performing an integrity check on said data segment to determine if said data segment is corrupt; and

in response to said data segment failing said integrity check; storing information to indicate said data segment is corrupt.

22. The method as recited in claim 21 , wherein said performing an integrity check on said data segment comprises:

producing a re-generated hash value of said data segment; and

comparing said re-generated hash value of said data segment with a previously stored hash value of said data segment to determine if said data segment has changed.

23. The method as recited in claim 20 , wherein said searching for a duplicate data segment with which to replace said corrupt data segment comprises:

monitoring a data de-duplication process to find said duplicate data segment.

Assignments (13)
TERMINATION AND RELEASE OF INTELLECTUAL PROPERTY SECURITY AGREEMENT AT REEL/FRAME NO. 40473/0378 Recorded Oct 8, 2025
From: PNC BANK, NATIONAL ASSOCIATION, AS AGENT
To: QUANTUM CORPORATION
Reel/Frame 073061/0454 →
TERMINATION AND RELEASE OF AMENDED AND RESTATED INTELLECTUAL PROPERTY SECURITY AGREEMENT AT REEL/FRAME NO. 48029/0525 Recorded Aug 19, 2025
From: PNC BANK, NATIONAL ASSOCIATION, AS AGENT
To: QUANTUM CORPORATION
Reel/Frame 072542/0594 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 24, 2025
From: BLUE TORCH FINANCE LLC, AS AGENT FOR THE SECURED PARTIES
To: ALTER DOMUS (US) LLC, AS AGENT FOR THE SECURED PARTIES
Reel/Frame 071019/0850 →
RELEASE OF SECURITY INTEREST Recorded Aug 10, 2021
From: U.S. BANK NATIONAL ASSOCIATION
To: QUANTUM CORPORATION; QUANTUM LTO HOLDINGS, LLC
Reel/Frame 057142/0252 →
SECURITY INTEREST Recorded Aug 5, 2021
From: QUANTUM CORPORATION; QUANTUM LTO HOLDINGS, LLC
To: BLUE TORCH FINANCE LLC, AS AGENT
Reel/Frame 057107/0001 →
SECURITY INTEREST Recorded Jan 8, 2019
From: QUANTUM CORPORATION
To: PNC BANK, NATIONAL ASSOCIATION
Reel/Frame 048029/0525 →
RELEASE OF SECURITY INTEREST Recorded Dec 27, 2018
From: TCW ASSET MANAGEMENT COMPANY LLC, AS AGENT
To: QUANTUM CORPORATION
Reel/Frame 047988/0642 →
SECURITY INTEREST Recorded Dec 27, 2018
From: QUANTUM CORPORATION, AS GRANTOR; QUANTUM LTO HOLDINGS, LLC, AS GRANTOR
To: U.S. BANK NATIONAL ASSOCIATION, AS AGENT
Reel/Frame 049153/0518 →
RELEASE OF SECURITY INTEREST Recorded Oct 25, 2016
From: WELLS FARGO CAPITAL FINANCE, LLC, AS AGENT
To: QUANTUM CORPORATION
Reel/Frame 040474/0079 →
SECURITY INTEREST Recorded Oct 25, 2016
From: QUANTUM CORPORATION
To: PNC BANK, NATIONAL ASSOCIATION
Reel/Frame 040473/0378 →
SECURITY INTEREST Recorded Oct 21, 2016
From: QUANTUM CORPORATION
To: TCW ASSET MANAGEMENT COMPANY LLC, AS AGENT
Reel/Frame 040451/0183 →
SECURITY AGREEMENT Recorded Mar 31, 2012
From: QUANTUM CORPORATION
To: WELLS FARGO CAPITAL FINANCE, LLC, AS AGENT
Reel/Frame 027967/0914 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 31, 2008
From: LEPPARD, ANDREW CHARLES
To: QUANTUM CORPORATION
Reel/Frame 021324/0798 →