IP Library Granted Patent US 8,572,340
Granted Patent B2
US 8,572,340 · App. 12/982,087 · Granted Oct 29, 2013

Systems and methods for retaining and using data block signatures in data protection operations

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,572,340
App. No.
12/982,087
Granted
Oct 29, 2013
Kind
B2
Abstract

A system according to certain embodiments associates a signature value corresponding to a data block with one or more data blocks and a reference to the data block to form a signature/data word corresponding to the data block. The system further logically organizes the signature/data words into a plurality of files each comprising at least one signature/data word such that the signature values are embedded in the respective file. The system according to certain embodiments reads a previously stored signature value corresponding to a respective data block for sending from a backup storage system having at least one memory device to a secondary storage system. Based on an indication as to whether the data block is already stored on the secondary storage system, the system reads the data block from the at least one memory device for sending to the secondary storage system if the data block exists on the secondary storage system, wherein the signature value and not the data block is read from the at least one memory device if the data block exists on the secondary storage system.

Claims (34)

1. A method for performing an auxiliary copy operation, comprising:

for each data block of a plurality of data blocks involved in a backup storage operation, with one or more processors comprising computer hardware, associating a signature value corresponding to the data block with one or more of a copy of the data block and a reference to a copy of the data block to form a signature/data word corresponding to the data block, wherein at least some of the signature/data words include the signature value corresponding to the data block and a reference to a copy of the data block that is stored in another signature/data word, but do not include a copy of the data block;

logically organizing the signature/data words into a plurality of files, each file of the plurality of files comprising at least one signature/data word such that the signature values are embedded in the file;

storing the plurality of files comprising the embedded signatures in at least one first storage device;

with one or more processors comprising computer hardware, in response to an instruction to perform an auxiliary copy of at least one file of the plurality of files from the first storage device to at least one second storage device, and for each signature/data word in the at least one file:

reading the embedded signature value corresponding to the signature/data word from the first storage device;

transmitting the signature value;

subsequent to said transmitting the signature value, receiving an indication as to whether a copy of the data block corresponding to the signature value exists at the second storage device; and

reading a copy of the data block corresponding to the signature value from the first storage device if a copy of the data block does not exist at the second storage device, wherein a copy of the data block is not read from the first storage device if a copy of the data block does exist at the second storage device.

2. The method of claim 1 , wherein the associating comprises logically associating the signature value corresponding to the data block with one or more of a copy of the data block and a reference to a copy of the data block.

3. The method of claim 1 , wherein the associating comprises storing the signature values corresponding to the data block in memory space that is logically contiguous with memory space that stores one or more of a copy of the data block and a reference to the copy of the data block.

4. The method of claim 1 , wherein the reading the signature value further comprises traversing to the respective signature/data word in the file and extracting the signature value for reading without reading the data block in the respective signature/data word.

5. The method of claim 4 , wherein the reading the data block further comprises:

traversing to the respective signature/data word in the file to access a reference to the data block in the signature/data word; and

using the accessed reference to the data block, locating the data block on the first storage device.

6. The method of claim 1 , wherein the signature/data words corresponding to deduplicated data blocks comprise the signature value corresponding to the respective data block and a reference to a copy of the respective data block, and not a copy of the respective data block itself.

7. A system for performing an auxiliary copy operation, comprising:

one or more processors comprising computer hardware; and

a data packaging module executing in the one or more processors and configured to:

for each data block of a plurality of data blocks involved in a backup storage operation, associate a signature value corresponding to the data block with one or more of a copy of the data block and a reference to a copy of the data block to form a signature/data word corresponding to the data block; and

logically organize the signature/data words into a plurality of files, each file of the plurality of files comprising at least one signature/data word such that the signature values are embedded in the file; and

store the plurality of files comprising the embedded signatures in at least one first storage device; and

an auxiliary copy management module executing in the one or more processors and configured to, in response to an instruction to perform an auxiliary copy of at least one file of the plurality of files from the first storage device to at least one second storage device, and for each signature/data word in the at least one file:

read the embedded signature value corresponding to the signature/data word from the first storage device;

transmit the signature value;

subsequent to transmitting the signature value, receive an indication as to whether a copy of the data block corresponding to the signature value exists at the second storage device; and

read a copy of the data block corresponding to the signature value from the first storage device if a copy of the data block does not exist at the second storage device, wherein a copy of the data block is not read from the first storage device if a copy of the data block does exist at the second storage device.

8. The system of claim 7 , wherein the data packaging module logically associates the signature value corresponding to the data block with one or more of a copy of the data block and a reference to a copy of the data block to form the signature/data word.

9. The system of claim 7 , wherein the data packaging module stores the signature values corresponding to the data block in memory space that is logically contiguous with memory space that stores one or more of a stored copy of the data block and a reference to the copy of the data block.

10. The system of claim 7 , wherein the auxiliary copy management module is configured to read the signature value by traversing to the respective signature/data word in the file and extracting the signature value for reading without reading the data block in the respective signature/data word.

11. The system of claim 7 , wherein the auxiliary copy management module is configured to read the data block at least partly by:

traversing to the respective signature/data word in the file to access a reference to the data block in the signature/data word; and

using the accessed reference to the data block, locating the data block on the first storage device.

12. The system of claim 7 , wherein the signature/data words corresponding to deduplicated data blocks comprise the signature value corresponding to the respective data block and a reference to a copy of the respective data block, and not a copy of the respective data block itself.

Assignments (5)
SUPPLEMENTAL CONFIRMATORY GRANT OF SECURITY INTEREST IN UNITED STATES PATENTS Recorded Apr 16, 2025
From: COMMVAULT SYSTEMS, INC.
To: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 070864/0344 →
SECURITY INTEREST Recorded Dec 13, 2021
From: COMMVAULT SYSTEMS, INC.
To: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 058496/0836 →
RELEASE OF SECURITY INTEREST Recorded Jan 6, 2021
From: BANK OF AMERICA, N.A.
To: COMMVAULT SYSTEMS, INC.
Reel/Frame 054913/0905 →
SECURITY INTEREST Recorded Jul 2, 2014
From: COMMVAULT SYSTEMS, INC.
To: BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 033266/0678 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 14, 2011
From: VIJAYAN, MANOJ KUMAR; ATTARDE, DEEPAK RAGHUNATH
To: COMMVAULT SYSTEMS, INC.
Reel/Frame 025962/0344 →