# US 2012/0084519 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/0084519 A1
- Document ID: US20120084519A1
- Status: Published application
- Kind: A1
- Application number: 12/982,100
- 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/US20120084519A1

## 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 of performing an auxiliary copy operation from a backup storage system to a secondary storage system, the method comprising:
in response to instructions to copy at least some of a plurality of backed up data blocks from a backup storage system comprising at least one memory device to a secondary storage system, for each of the at least some data blocks:
reading, with one or more processors, a previously stored signature value corresponding to the respective data block for sending from the backup storage system to the secondary storage system; and
based on an indication as to whether the data block is already stored on the secondary storage system, reading 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.

### Claim 2 (depends on 1)

The method of claim 1, further comprising, for each of the plurality of the backed up data blocks:
associating the signature value with one or more of the respective data block or a reference to the respective data block to form a signature/data word; and
storing the signature/data word on the at least one memory device of the backup storage system.

### Claim 3 (depends on 2)

The method of claim 2, wherein the signature values are associated with both the respective data block and the reference to the respective data block.

### Claim 4 (depends on 2)

The method of claim 2, wherein the storing further comprises logically organizing the backed up data into files each including one or more signature/data words such that the signature values are embedded in the file.

### Claim 5 (depends on 1)

The method of claim 1, wherein a data structure including separate copies of at least a subset of the signature values resides on the backup storage system and wherein the reading comprises reading the associated signature value and not the separate copy of the signature value.

### Claim 6 (depends on 1)

The method of claim 1, wherein the ratio between the size of the signature values and the size of the data blocks is at least about 512.

### Claim 7 (depends on 1)

The method of claim 1, wherein the backup storage system receives the plurality of data blocks from a client system and generates the signature values in response to receiving the corresponding data blocks, and wherein the backup storage system completes the copy without re-generating the signature values.

### Claim 8 (depends on 1)

The method of claim 1, wherein the plurality of data blocks and corresponding signature values are received from a client system, and wherein the copy is completed without generating the signature values.

### Claim 9 (depends on 1)

The method of claim 1, wherein the secondary storage system stores deduplicated data.

### Claim 10 (depends on 1)

The method of claim 1, wherein the backup storage system stores deduplicated data.

### Claim 11

A system performing an auxiliary copy operation from a backup storage system to a secondary storage system, the system comprising:
a backup storage system comprising at least one memory device;
a copy management module executing in one or more processors and configured to, in response to instructions to copy at least some of a plurality of backed up data blocks stored in the at least one memory device to a secondary storage system, for each of the at least some data blocks:
read a previously stored signature value corresponding to the respective data block for sending from the backup storage system to the secondary storage system; and
based on an indication as to whether the data block is already stored on the secondary storage system, read 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.

### Claim 12 (depends on 11)

The system of claim 11, further comprising a data packaging module executing in one or more processors and configured to, for each of the plurality of backed up data blocks:
associate the signature value with one or more of the respective data block or a reference to the data block to form a signature/data word; and
store the signature/data word on the at least one memory device of the backup storage system.

### Claim 13 (depends on 12)

The system of claim 12, wherein the signature values are associated with both the respective data block and the reference to the respective data block.

### Claim 14 (depends on 12)

The system of claim 12, wherein the storing further comprises logically organizing the backed up data into files each including one or more signature/data words such that the signature values are embedded in the file.

### Claim 15 (depends on 11)

The system of claim 11, wherein the ratio between the size of the signature values and the size of the data blocks is at least about 512.

### Claim 16 (depends on 11)

The system of claim 11, wherein the plurality of data blocks are received from a client system, wherein the system further comprises a signature generation module configured to generate the signature values in response to receiving the corresponding data blocks, and wherein the system is configured to complete the copy without re-generating the signature values.

### Claim 17 (depends on 11)

The method of claim 11, wherein the plurality of data blocks and corresponding signature values are received from a client system, and wherein the system is configured to complete the copy without generating the signature values.

### Claim 18

A method of communicating data from a first storage system to a second storage system, the method comprising:
in response to instructions to send at least some of a plurality of data blocks from a first storage system to a second storage system, for each of the at least some data blocks:
reading, with one or more processors, a previously stored signature value corresponding to the respective data block for sending from the first storage system to the second storage system; and
based on an indication as to whether the data block is already stored on the second storage system, reading the data block for sending to the second storage system if the data block exists on the second storage system, wherein the signature value and not the data block is read if the data block exists on the second storage system.
