# US 2012/0084518 A1 · Systems and methods for retaining and using data block signatures in data protection operations

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 2012/0084518 A1
- Document ID: US20120084518A1
- Status: Published application
- Kind: A1
- Application number: 12/982,087
- Filed: 2010-12-30
- Published: 2012-04-05
- Earliest claimed: 2010-09-30
- Assignees: Commvault Systems, Inc.
- Inventors: Manoj Kumar Vijayan; Deepak Raghunath Attarde
- Web page: https://patentgrep.com/patent/US20120084518A1

## CPC

- G06F 3/0641: {De-duplication techniques}
- G06F 3/0608: {Saving storage space on storage systems}
- G06F 3/061: {Improving I/O performance}
- G06F 3/0619: {in relation to data integrity, e.g. data losses, bit errors}
- G06F 3/065: {Replication mechanisms}
- G06F 3/0652: {Erasing, e.g. deleting, data cleaning, moving of data to a wastebasket}
- G06F 3/067: {Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]}
- G06F 3/0683: {Plurality of storage devices}
- G06F 11/1453: {using de-duplication of the data}
- G06F 11/1466: {to make the backup process non-disruptive}
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## 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

### Claim 1

A method for storing data at a backup storage system, comprising:
for each of a plurality of data blocks involved in a backup storage operation, with one or more processors, associating a signature value corresponding to the data block with one or more of the data blocks and a reference to the data block to form a signature/data word corresponding to the data block; and
logically organizing 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.

### Claim 2 (depends on 1)

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

### Claim 3 (depends on 1)

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 one or more of the data blocks and a reference to the data block.

### Claim 4 (depends on 1)

The method claim 1, further comprising, in response to an instruction to copy at least one of the files to a secondary backup storage system, and for each signature/data word in the at least one of the files:
reading the signature value;
sending the signature value to the secondary backup storage system;
receiving an indication as to whether the data block corresponding to the signature value exists at the secondary backup storage system; and
reading the data block corresponding to the signature value if the signature value does not exist at the secondary backup storage system, wherein the data block is not read if the signature value does exist at the secondary backup storage system.

### Claim 5 (depends on 4)

The method of claim 4, 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.

### Claim 6 (depends on 5)

The method of claim 5, wherein the reading the data block further comprises traversing to the respective signature/data word in the file and extracting the data block for reading using the reference to the data block in the signature/data word.

### Claim 7 (depends on 1)

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 the respective data block, and not the respective data block itself.

### Claim 8

A system for storing data at a backup storage system, comprising:
at least one memory device;
a data packaging module executing in one or more processors and configured to:
for each 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 the data blocks and a reference to 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 comprising at least one signature/data word such that the signature values are embedded in the respective file.

### Claim 9 (depends on 8)

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

### Claim 10 (depends on 8)

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

### Claim 11 (depends on 8)

The system of claim 8, further comprising a copy management module configured to, in response to an instruction to copy at least one of the files to a secondary backup storage system, and for each signature/data word in the at least one of the files:
read the signature value;
send the signature value to the secondary backup storage system;
receive an indication as to whether the data block corresponding to the signature value exists at the secondary backup storage system; and
read the data block corresponding to the signature value if the signature value does not exist at the secondary backup storage system, wherein the data block is not read if the signature value does exist at the secondary backup storage system.

### Claim 12 (depends on 11)

The system of claim 11, wherein the 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.

### Claim 13 (depends on 11)

The system of claim 11, wherein the copy management module is configured to read the data block by traversing to the respective signature/data word in the file and extracting the data block for reading using the reference to the data block in the signature/data word.

### Claim 14 (depends on 8)

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

### Claim 15

A method for storing data at a storage system, comprising:
for each of a plurality of data blocks involved in a storage operation, with one or more processors, associating a signature value corresponding to the data block with one or more of the data blocks and a reference to the data block to form a signature/data word corresponding to the data block; and
logically organizing 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.
