IP Library Granted Patent US 8,255,434
Granted Patent B2
US 8,255,434 · App. 12/876,396 · Granted Aug 28, 2012

Method and apparatus for storing data with reduced redundancy using data clusters

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,255,434
App. No.
12/876,396
Granted
Aug 28, 2012
Kind
B2
Abstract

Method and apparatus for storing data in a reduced redundancy form. Binary Large Objects (BLOBs) are partitioned into subblocks according to a partitioning method, and the subblocks are stored in subblock clusters. Each BLOB is represented as a list of spans of subblocks which identifies a contiguous sequence of subblocks within a cluster. Storage redundancy can be reduced because the spans of two different BLOBs can refer to the same subblocks. An index may be used to map subblock hashes to subblock cluster numbers.

Claims (16)

1. A computer, comprising:

a processor; and

a memory, the memory having computer executable instructions that when executed by the computer cause the computer to perform a method, the method comprising:

identifying a first run of sub-blocks in a Binary Large Object (BLOB) that matches a second run of sub-blocks in a cluster of stored sub-blocks, where the cluster of stored sub-blocks is associated with a data de-duplication environment, and where the cluster of sub-blocks comprises cluster metadata, sub-block metadata, and sub-blocks, and where the sub-blocks are stored contiguously without intervening metadata; and

manipulating a BLOB representation by storing information about the second run of sub-blocks in the BLOB representation in a manner that facilitates not storing the first run of sub-blocks in the data de-duplication environment and that facilitates accessing the second run of sub-blocks in a single sequential operation; and

identifying a suffix of a sub-block that immediately precedes the first run of sub-blocks that matches a suffix of a sub-block that immediately precedes the second run of sub-blocks, and

updating the BLOB representation by storing information about the suffix of the sub-block that immediately precedes the second run of sub-blocks in the BLOB representation in a manner that facilitates not storing the suffix of the sub-block that immediately precedes the first run of sub-blocks and that facilitates accessing the second run of sub-blocks and the suffix of the sub-block that immediately precedes the second run of sub-blocks in a single sequential operation; and

where identifying a first run of sub-blocks in a BLOB that matches a second run of sub-blocks in a cluster of stored sub-blocks operates at the sub-block level by matching hashes of sub-blocks, and

where identifying a prefix of a sub-block that immediately follows the first run of sub-blocks that matches a prefix of a sub-block that immediately follows the second run of sub-blocks operates below the sub-block level without matching sub-block hashes.

2. A method for manipulating a Binary Large Object (BLOB) representation in a sub-block based de-duplication environment, the method comprising:

identifying a first run of sub-blocks in a BLOB that matches a second run of sub-blocks in a cluster of stored sub-blocks, where the cluster of stored sub-blocks is associated with a data de-duplication environment, and where the cluster of sub-blocks comprises cluster metadata, sub-block metadata, and sub-blocks, and where the sub-blocks are stored contiguously without intervening metadata; and

manipulating a BLOB representation by storing information about the second run of sub-blocks in the BLOB representation in a manner that facilitates not storing the first run of sub-blocks in the data de-duplication environment and that facilitates accessing the second run of sub-blocks in a single sequential operation; and

identifying a suffix of a sub-block that immediately precedes the first run of sub-blocks that matches a suffix of a sub-block that immediately precedes the second run of sub-blocks, and

updating the BLOB representation by storing information about the suffix of the sub-block that immediately precedes the second run of sub-blocks in the BLOB representation in a manner that facilitates not storing the suffix of the sub-block that immediately precedes the first run of sub-blocks and that facilitates accessing the second run of sub-blocks and the suffix of the sub-block that immediately precedes the second run of sub-blocks in a single sequential operation; and

where identifying a first run of sub-blocks in a BLOB that matches a second run of sub-blocks in a cluster of stored sub-blocks operates at the sub-block level by matching hashes of sub-blocks, and

where identifying a prefix of a sub-block that immediately follows the first run of sub-blocks that matches a prefix of a sub-block that immediately follows the second run of sub-blocks operates below the sub-block level without matching sub-block hashes.

Assignments (13)
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 →