IP Library Granted Patent US 10,152,389
Granted Patent B2
US 10,152,389 · App. 14/744,444 · Granted Dec 11, 2018

Apparatus and method for inline compression and deduplication

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 10,152,389
App. No.
14/744,444
Granted
Dec 11, 2018
Kind
B2
Abstract

An apparatus for inline compression and deduplication includes a memory unit and a processor coupled to the memory unit. The processor is configured to receive a subset of data from a data stream and select a reference data block corresponding to the subset of data, in which the reference data block is stored in a memory buffer resident in the memory unit. The processor is also configured to compare a first hash value computed for the subset of data to a second hash value computed for the reference data block, in which the first hash value and the second hash value are stored in separate hash tables and generate a compressed representation of the subset of data by modifying header data corresponding to the subset of data responsive to a detected match between the first hash value and the second hash value in one of the separate hash tables.

Claims (23)

1. An apparatus comprising:

a memory unit for storing data streams; and

a processor coupled to said memory unit, the processor configured to perform a compression operation and a deduplication operation in a single pass, said processor configured to:

use a subset of data from a data stream to generate a reference data block corresponding to said subset of data;

compute a first hash value for said subset of data and a second hash value for said reference block using a same function;

compare the first hash value computed for said subset of data to the second hash value computed for said reference data block, wherein said first hash value and said second hash value are stored in separate hash tables;

generate a compressed and deduplicated representation of said subset of data by at least modifying header data corresponding to said subset of data responsive to a detected match between said first hash value and said second hash value,

wherein said compressed representation is generated using said reference data block responsive to the detection of the match between said first hash value and said second hash value,

wherein said separate hash tables comprises a reference hash table and said second hash value is stored in said reference hash table; and

initiate decompression procedures upon storing said reference data block in a memory buffer and upon generation of said compressed representation.

2. The apparatus of claim 1 , wherein said separate hash tables comprises a compression hash table.

3. The apparatus of claim 1 , wherein said processor is operable to generate an interlock by the initiation of the decompression procedures upon storing said reference data block in said memory buffer.

4. The apparatus of claim 1 , wherein said processor is operable to modify said header data using a back-reference encoding format based on a heuristic.

5. A computer-implemented method of performing data reduction operations on an input data stream during a single pass, said method comprising:

receiving a subset of data from a data stream;

selecting a reference data block corresponding to said subset of data, wherein said reference data block is stored in a memory buffer;

comparing a first hash value computed for said subset of data to a second hash value computed for said reference data block, wherein said first hash value and said second hash value are stored in separate hash tables, wherein said first hash value and said second hash value are computed using a same function;

generating a compressed representation of said subset of data by at least modifying header data corresponding to said subset of data responsive to a detected match between said first hash value and said second hash value,

wherein said compressed representation is generated using said reference data block responsive to the detected match between said first hash value and said second hash value, wherein said separate hash tables comprises a reference hash table and said second hash value is stored in said reference table; and

initiating decompression procedures upon storing said reference data block in said memory buffer and upon generation of said compressed representation.

6. The computer-implemented method of claim 5 , wherein said separate hash tables comprises a compression hash table.

7. The computer-implemented method of claim 5 , further comprising: generating an interlock by the initiation of the decompression procedures upon storing said reference data block in said memory buffer.

8. The computer-implemented method of claim 5 , wherein said modifying further comprises modifying said header data using a back-reference encoding format based on a heuristic.

Assignments (10)
PARTIAL RELEASE OF SECURITY INTERESTS Recorded Apr 25, 2025
From: JPMORGAN CHASE BANK, N.A., AS AGENT
To: SANDISK TECHNOLOGIES, INC.
Reel/Frame 071382/0001 →
SECURITY AGREEMENT Recorded Apr 25, 2025
From: SANDISK TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
Reel/Frame 071050/0001 →
PATENT COLLATERAL AGREEMENT Recorded Aug 23, 2024
From: SANDISK TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A., AS THE AGENT
Reel/Frame 068762/0494 →
CHANGE OF NAME Recorded Jun 27, 2024
From: SANDISK TECHNOLOGIES, INC.
To: SANDISK TECHNOLOGIES, INC.
Reel/Frame 067982/0032 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 29, 2024
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: SANDISK TECHNOLOGIES, INC.
Reel/Frame 067567/0682 →
PATENT COLLATERAL AGREEMENT - A&R LOAN AGREEMENT Recorded Aug 21, 2023
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 064715/0001 →
PATENT COLLATERAL AGREEMENT - DDTL LOAN AGREEMENT Recorded Aug 21, 2023
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 067045/0156 →
RELEASE OF SECURITY INTEREST AT REEL 052915 FRAME 0566 Recorded Feb 8, 2022
From: JPMORGAN CHASE BANK, N.A.
To: WESTERN DIGITAL TECHNOLOGIES, INC.
Reel/Frame 059127/0001 →
SECURITY INTEREST Recorded Feb 6, 2020
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A., AS AGENT
Reel/Frame 052915/0566 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 6, 2016
From: HGST NETHERLANDS B.V.
To: WESTERN DIGITAL TECHNOLOGIES, INC.
Reel/Frame 040831/0265 →