IP Library Granted Patent US 8,051,252
Granted Patent B2
US 8,051,252 · App. 11/373,569 · Granted Nov 1, 2011

Method and apparatus for detecting the presence of subblocks in a reduced-redundancy storage system

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,051,252
App. No.
11/373,569
Granted
Nov 1, 2011
Kind
B2
Abstract

Method and apparatus for rapidly determining whether a particular subblock of data is present in a reduced-redundancy storage system. An aspect of the invention achieves this by hashing each subblock in the storage system into a bitfilter that contains a ‘1’ bit for each position to which at least one subblock hashes. This bitfilter provides an extremely fast way to determine whether a subblock is in the storage system. In a further aspect of the invention, index entries for new subblocks may be buffered in a subblock index write buffer so as to convert a large number of random access read and write operations into a single sequential read and a single sequential write operation. The combination of the bitfilter and the write buffer yields a reduced-redundancy storage system that uses significantly less high speed random access memory than is used by systems that store the entire subblock index in memory.

Claims (23)

1. A method for representing the presence of a subblock in a storage system, comprising:

hashing a subblock to obtain an index hash value for the subblock;

creating an array of bits using a function that inputs the index hash value for the subblock and outputs bits into the array of bits and maps the subblock to a position in the array of bits, where a bit in the array of bits is a predetermined bit value that indicates whether at least one subblock in the storage system maps to the bit position in the array of bits;

selectively storing the index hash value in a subblock index located on the storage system if the subblock is absent from the storage system;

selectively storing the index hash value in a subblock index entry write buffer located in memory if the subblock is absent from the storage system, where the index entry write buffer is divided into a plurality of buffer portions corresponding to a portion of the subblock index located on the storage system; and

transferring the contents of the index entry write buffer to the subblock index located on the storage system using a single sequential read and write operation of the storage system.

2. The method of claim 1 , where the function is a hash function.

3. The method of claim 1 , where the function is calculated using a cryptographic hash function whose result is input into a second calculation.

4. The method of claim 3 , where the second calculation is a modulo K operation, where K is the number of bits in the array of bits.

5. The method of claim 1 , where the function is calculated using a non-cryptographic hash function whose result is input into a second calculation.

6. The method of claim 5 , where the second calculation is a modulo K operation, where K is the number of bits in the array of bits.

7. The method of claim 1 , where a plurality of functions map a subblock to a position in the array of bits, and where a bit in the array of bits is said predetermined bit value when at least one subblock function combination maps to the bit position in the array of bits.

8. The method of claim 7 , where the array of bits is divided into one or more sections.

9. The method of claim 8 , where a section is compressed by a compression method.

10. A method for determining whether a subblock z is absent in a storage system by applying functions of claim 7 to the subblock z and testing the value of the corresponding bits of a array of bits created in accordance with the method of claim 7 , where the subblock is absent if tested bits of the array of bits are a further predetermined bit value.

11. The method of claim 1 , where the index entry write buffer is partitioned into a plurality of sections, and where data of a section is transferred to the subblock index on the storage system when a data capacity of the section is full.

12. The method of claim 1 , where when the index entry write buffer becomes full to a predetermined level, the index is read into memory, and the elements in the index entry write buffer are added to the index and the modified index is then written to disk.

13. The method of claim 1 , where a set of subblocks is partitioned into a plurality of mutually exclusive spaces and a second array of bits represents the presence of a subblock in the storage system.

14. The method of claim 13 , where the partitioning of the subblock space is performed by hashing subblocks and splitting the space of subblock hashes using a binary digital search tree.

15. The method of claim 13 , where the index entry write buffer is correspondingly divided.

16. The method of claim 1 , where the array of bits is stored in memory.

17. A method for determining whether a subblock z is absent in a storage system by applying the function of claim 1 , to the subblock z and testing the value of the corresponding bit of the array of bits, the array of bits having been created in accordance with the method of claim 1 .

18. A method for determining, within a sequence of subblocks, the nonexistence of contiguous runs of at least T present subblocks at various positions in the sequence, by using the method of claim 17 to test subblocks in the sequence for its definite absence.

Assignments (15)
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 →
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 →
SECURITY INTEREST Recorded Oct 25, 2016
From: QUANTUM CORPORATION
To: PNC BANK, NATIONAL ASSOCIATION
Reel/Frame 040473/0378 →
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 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 →
PATENT ASSIGNMENT Recorded Mar 28, 2012
From: ROCKSOFT LIMITED
To: QUANTUM CORPORATION
Reel/Frame 027950/0746 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 1, 2006
From: WILLIAMS, ROSS NEIL
To: ROCKSOFT LIMITED
Reel/Frame 018228/0022 →