IP Library Granted Patent US 10,545,833
Granted Patent B1
US 10,545,833 · App. 15/259,966 · Granted Jan 28, 2020

Block-level deduplication

Inventor: Trimbak Somnathappa Bardale (Parbhani, IN)
Assignee: Veritas Technologies LLC
G06F11/1453G06F11/1464
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,545,833
App. No.
15/259,966
Granted
Jan 28, 2020
Kind
B1
Abstract

Various systems and methods can perform block-level deduplication. For example, one method involves sending a chunk of data to a deduplication server for storage in a deduplicated data store. The chunk of data includes multiple blocks. Subsequent to sending the chunk of data to the deduplication server, the method detects that at least one of the blocks has been modified. In response, the method sends associated information as well as the modified blocks, which include at least one but fewer than all of the blocks in the chunk, to the deduplication server. The associated information identifies a location of the included blocks within the chunk of data. The method can be performed by a computing device implementing a deduplication client.

Claims (59)

1. A computer-implemented method comprising:

receiving a chunk of data from a client computer system, wherein the chunk comprises a copy of a plurality of blocks stored at the client computer system;

storing the chunk of data in a deduplicated data store;

receiving a packet from the client computer system after the client computer system modified one block, but fewer than all blocks of the plurality;

the bit map comprises a plurality of bits corresponding to the plurality of blocks, respectively, wherein

one bit of the bit map is set to indicate that the one block was modified; and

a location of the bit in the bitmap is used to identify a location of the one block that was modified within the chunk of data;

updating the deduplicated data store using the bit map and the copy of the modified one block of the packet, wherein

the storing, the receiving, and the updating is performed by a computing device implementing a deduplication server.

2. The computer-implemented method of claim 1 , wherein the updating comprises:

storing the copy of the modified one block in the deduplicated data store; and

associating a reference with the copy of the modified one block.

3. The computer-implemented method of claim 2 , wherein the reference identifies the chunk of data.

4. The computer-implemented method of claim 2 , wherein

the associating is performed in response to determining that an existing number of references for the chunk of data is less than a maximum allowed number of references.

5. The computer-implemented method of claim 2 , wherein

the updating further comprises

reading a first part of the chunk of data from the deduplicated data store; and

combining the first part with the copy of the modified one block of the packet to create a modified copy of the plurality of blocks.

6. A non-transitory computer readable storage medium comprising program instructions executable to:

receive a chunk of data from a client computer system, wherein the chunk comprises a copy of a plurality of blocks stored at the client computer system;

store the chunk in a deduplicated data store;

receive a packet from the client computer system after the client computer system modifies one of the plurality of blocks, wherein

the packet comprises a bit map and a copy of at least the modified one block, but fewer than all blocks of the plurality,

the bit map comprises a plurality of bits corresponding to the plurality of blocks, respectively, wherein

one bit of the bit map is set to a first state to indicate that the one block was modified;

and

a location of the bit in the bitmap is used to identify a location of the one block that was modified within the chunk of data;

updating the deduplicated data store using the bit map and the copy of the modified one block of the packet, wherein

the storing, the receiving, and the updating is performed by a computing device implementing a deduplication server.

7. The non-transitory computer readable storage medium of claim 6 , wherein the updating comprises:

storing the copy of the modified one block in the deduplicated data store; and

associating a reference with the copy of the one block.

8. The non-transitory computer readable storage medium of claim 7 , wherein

the associating is performed in response to determining that an existing number of references for the chunk of data is less than a maximum allowed number of references.

9. The non-transitory computer readable storage medium of claim 7 , wherein the updating further comprises:

reading a first part of the copy of the chunk of data from the deduplicated data store; and

combining the first part with the modified one block of the packet to create a modified copy of the plurality.

10. A system comprising:

one or more processors; and

a memory coupled to the one or more processors, wherein the memory stores program instructions executable by the one or more processors to:

receive a copy of a chunk of data from a client computer system, wherein the chunk comprises a copy of a plurality of blocks stored at the client computer system;

store the chunk of data in a deduplicated data store;

receive a packet from the client computer system after the client computer system modifies one of the plurality of blocks, wherein

the packet comprises a bit map and a copy of the modified one block, but fewer than all blocks of the plurality,

the bit map comprises a plurality of bits corresponding to the plurality of blocks, respectively, wherein

one bit of the bit map is set to indicate that the one block was modified; and

a location of the bit in the bitmap is used to identify a location of the one block that was modified within the chunk of data;

updating the deduplicated data store using the bit map and the copy of the modified one block of the packet, wherein

the storing, the receiving, and the updating is performed by a computing device implementing a deduplication server.

11. The system of claim 10 , wherein the updating comprises:

storing the copy of the modified one block in the deduplicated data store; and

associating a reference with the copy of the one block.

12. The system of claim 11 , wherein

the associating is performed in response to determining that an existing number of references for the chunk of data is less than a maximum allowed number of references.

13. The system of claim 10 , wherein

the updating further comprises

reading a first part of the copy of the chunk of data from the deduplicated data store; and

combining the first part with the copy of the modified one block of the packet to create a modified copy of the plurality of blocks.

Assignments (9)
AMENDMENT NO. 1 TO PATENT SECURITY AGREEMENT Recorded Apr 8, 2025
From: VERITAS TECHNOLOGIES LLC; COHESITY, INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 070779/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 26, 2025
From: VERITAS TECHNOLOGIES LLC
To: COHESITY, INC.
Reel/Frame 070335/0013 →
RELEASE OF SECURITY INTEREST Recorded Dec 13, 2024
From: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
To: VERITAS TECHNOLOGIES LLC
Reel/Frame 069634/0584 →
RELEASE OF SECURITY INTEREST Recorded Dec 13, 2024
From: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
To: VERITAS TECHNOLOGIES LLC
Reel/Frame 069632/0613 →
SECURITY INTEREST Recorded Dec 9, 2024
From: VERITAS TECHNOLOGIES LLC; COHESITY, INC.
To: JPMORGAN CHASE BANK. N.A.
Reel/Frame 069890/0001 →
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS AT R/F 052426/0001 Recorded Nov 30, 2020
From: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
To: VERITAS TECHNOLOGIES LLC
Reel/Frame 054535/0565 →
SECURITY INTEREST Recorded Aug 20, 2020
From: VERITAS TECHNOLOGIES LLC
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
Reel/Frame 054370/0134 →
PATENT SECURITY AGREEMENT SUPPLEMENT Recorded Apr 16, 2020
From: VERITAS TECHNOLOGIES, LLC
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
Reel/Frame 052426/0001 →
PATENT SECURITY AGREEMENT Recorded Nov 23, 2016
From: VERITAS TECHNOLOGIES LLC
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 040679/0466 →
Continuity (1)
Continuation 12957371 · Nov 30, 2010