IP Library Granted Patent US 8,225,060
Granted Patent B2
US 8,225,060 · App. 12/581,046 · Granted Jul 17, 2012

Data de-duplication by predicting the locations of sub-blocks within the repository

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,225,060
App. No.
12/581,046
Granted
Jul 17, 2012
Kind
B2
Abstract

A computer-enabled method of storing an input dataset in a storage medium includes storing a copy for each of a plurality of repeatable blocks of data in an input dataset in a storage medium. The process further includes finding a location in the storage medium of the copy of a block of data in the input dataset. Finding the location includes determining a most likely location in the storage medium of the copy of the block of data from one or more blocks of data preceding the block of data based on statistics of past stored data. Finding the location further includes if the determined most likely location contains a block of data that matches with the actual block of data, retrieving the location in the storage medium of the copy of the block of data. The process also includes storing the location of the copy of the block of data.

Claims (51)

1. A computer enabled method of storing an input dataset in a storage medium, the method comprising:

storing a copy for each of a plurality of repeatable blocks of data in an input dataset in a storage medium;

finding a location in the storage medium of the copy of a block of data in the input dataset, wherein finding the location comprises: determining a most likely location in the storage medium of the copy of the block of data from one or more blocks of data preceding the block of data based on statistics of past stored data; and if the determined most likely location contains a block of data that matches with the actual block of data, retrieving the location in the storage medium of the copy of the block of data; and

storing the location of the copy of the block of data,

wherein the copy for each of the plurality of repeatable blocks of data is associated with a corresponding set of metadata,

wherein determining the most likely location in the storage medium of the copy of the block of data comprises one of:

determining using an n th order Markov chain,

determining from a block of data preceding the block of data using a first order Markov chain, and

determining from two blocks of data preceding the block of data using a second order Markov chain.

2. The method of claim 1 , wherein the statistics of past stored data comprises statistics of the order of past stored data, and wherein the statistics is stored in one or more sets of metadata, and wherein the one or more sets of metadata are associated with the copy of the one or more blocks of data preceding the block of data.

3. The method of claim 1 , wherein retrieving the location in the storage medium of the copy of the block of data comprises accessing one or more sets of metadata, and wherein the one or more sets of metadata are associated with the copy of the one or more blocks of data preceding the block of data.

4. The method of claim 1 , wherein storing the location of the copy of the block of data comprises storing the location in a set of metadata representing the input dataset.

5. A non-transitory computer-readable storage medium comprising computer executable instructions for storing an input dataset in a storage medium, the instructions comprising:

storing a copy for each of a plurality of repeatable blocks of data in an input dataset in a storage medium;

finding a location in the storage medium of the copy of a block of data in the input dataset, wherein finding the location comprises:

determining a most likely location in the storage medium of the copy of the block of data from one or more blocks of data preceding the block of data based on statistics of past stored data; and

if the determined most likely location contains a block of data that matches with the actual block of data, retrieving the location in the storage medium of the copy of the block of data; and

storing location of the copy of the block of data,

wherein the copy for each of the plurality of repeatable blocks of data is associated with a corresponding set of metadata,

wherein determining the most likely location in the storage medium of the copy of the block of data comprises one of:

determining using an n th order Markov chain,

determining from a block of data preceding the block of data using a first order Markov chain, and

determining from two blocks of data preceding the block of data using a second order Markov chain.

6. The non-transitory computer-readable storage medium of claim 5 , wherein the statistics of past stored data comprises statistics of the order of past stored data, and wherein the statistics is stored in one or more sets of metadata, and wherein the one or more sets of metadata are associated with the copy of the one or more blocks of data preceding the block of data.

7. The non-transitory computer-readable storage medium of claim 5 , wherein retrieving the location in the storage medium of the copy of the block of data comprises accessing one or more sets of metadata, and wherein the one or more sets of metadata are associated with the copy of the one or more blocks of data preceding the block of data.

8. The non-transitory computer-readable storage medium of claim 5 , wherein storing the location of the copy of the block of data comprises storing the location in a set of metadata representing the input dataset.

9. A computer enabled method of storing an input dataset in a storage medium, the method comprising:

storing a copy for each of a plurality of repeatable blocks of data in an input dataset in a storage medium, wherein each copy is associated with one of a plurality of clusters;

finding a location in the storage medium of the copy of a block of data in the input dataset, wherein finding the location comprises:

determining a most likely location in the storage medium of a first cluster from a second at least one cluster based on statistics of past stored data, wherein the first cluster is associated with the block of data, and wherein the second at least one cluster is associated with the one or more blocks of data preceding the block of data; and

if the determined most likely location contains a first cluster associated with the block of data, retrieving the location in the storage medium of the copy of the block of data;

and storing the location of the copy of the block of data,

wherein each of the plurality of clusters is associated with a corresponding set of metadata,

wherein determining the most likely location in the storage medium of the first cluster comprises one of:

determining from a cluster associated with a block of data preceding the block of data using a first order Markov chain,

determining from one or more clusters associated with two blocks of data preceding the block of data using a second order Markov chain.

10. The method of claim 9 , wherein the statistics of past stored data comprises statistics of the order of past stored data, and wherein the statistics is stored in one or more sets of metadata associated with one or more clusters, and wherein the one or more clusters are associated with the copy of the one or more blocks of data preceding the block of data.

11. The method of claim 9 , wherein retrieving the location in the storage medium of the copy of the block of data comprises accessing one or more sets of metadata associated with one or more clusters, and wherein the one or more clusters are associated with the copy of the one or more blocks of data preceding the block of data.

12. Computer-readable storage medium comprising computer executable instructions for storing an input dataset in a storage medium, the instructions comprising:

storing a copy for each of a plurality of repeatable blocks of data in an input dataset in a storage medium, wherein each copy is associated with one of a plurality of clusters;

finding a location in the storage medium of the copy of a block of data in the input dataset, wherein finding the location comprises:

determining a most likely location in the storage medium of a first cluster from a second at least one cluster based on statistics of past stored data, wherein the first cluster is associated with the block of data and the second at least one cluster is associated with the one or more blocks of data preceding the block of data; and

if the determined most likely location contains a first cluster associated with the block of data, retrieving the location in the storage medium of the copy of the block of data;

and

storing the location of the copy of the block of data,

wherein each of the plurality of clusters is associated with a corresponding set of metadata,

wherein determining the most likely location in the storage medium of the first cluster comprises one of:

determining from a cluster associated with a block of data preceding the block of data using a first order Markov chain, and

determining from one or more clusters associated with two blocks of data preceding the block of data using a second order Markov chain.

13. The computer-readable storage medium of claim 12 , wherein the statistics of past stored data comprises statistics of the order of past stored data, and wherein the statistics is stored in one or more sets of metadata associated with one or more clusters, and wherein the one or more clusters are associated with the copy of the one or more blocks of data preceding the block of data.

14. The computer-readable storage medium of claim 12 , wherein retrieving the location in the storage medium of the copy of the block of data comprises accessing one or more sets of metadata associated with one or more clusters, and wherein the one or more clusters are associated with the copy of the one or more blocks of data preceding the block of data.

Assignments (14)
INTELLECTUAL PROPERTY SECURITY AGREEMENT Recorded Dec 18, 2025
From: QUANTUM CORPORATION
To: U.S. BANK TRUST COMPANY, NATIONAL ASSOCIATION, AS AGENT
Reel/Frame 074024/0084 →
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 →
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 Dec 27, 2018
From: TCW ASSET MANAGEMENT COMPANY LLC, AS AGENT
To: QUANTUM CORPORATION
Reel/Frame 047988/0642 →
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 Oct 16, 2009
From: LEPPARD, ANDREW
To: QUANTUM CORPORATION
Reel/Frame 023385/0996 →