IP Library Granted Patent US 8,578,109
Granted Patent B2
US 8,578,109 · App. 12/982,100 · Granted Nov 5, 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,578,109
App. No.
12/982,100
Granted
Nov 5, 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 (33)

1. A method of performing a copy operation, the method comprising:

copying, with one or more processors comprising computer hardware, a plurality of files from primary storage to one or more first secondary storage devices, wherein the files are formed from a plurality of source data blocks, wherein said copying is performed in a deduplicated manner and at least partly by:

accessing a deduplication signature table containing a plurality of signatures which correspond to a plurality of backed up data blocks stored in the one or more first secondary storage devices; and

storing, on the one or more first secondary storage devices, instances of ones of the plurality of source data blocks for which matching backed up data blocks do not already exist on the one or more first secondary storage devices;

in response to instructions to copy at least some of the plurality of backed up data blocks from the one or more first secondary storage devices to one or more second secondary storage devices, for each respective data block of the at least some of the plurality of backed up data blocks:

reading, with one or more processors comprising computer hardware, a previously stored signature corresponding to the respective data block for sending from the one or more first secondary storage devices to the one or more second secondary storage devices, wherein the previously stored signature is stored on the one or more first secondary storage devices and is separate from the deduplication signature table; and

based on an indication as to whether the respective data block is already stored on the one or more second secondary storage devices, reading the respective data block from the one or more first secondary storage devices for sending to the one or more second secondary storage devices if the respective data block does not exist on the one or more second secondary storage devices, wherein the signature corresponding to the respective data block and not the respective data block itself is read from the one or more first secondary storage devices if the respective data block exists on the one or more second secondary storage devices.

2. The method of claim 1 , further comprising, for each respective data block of the plurality of the backed up data blocks:

associating the signature corresponding to the respective data block 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 one or more first secondary storage devices.

3. The method of claim 2 , further comprising logically organizing the signature/data words into files each including one or more signature/data words such that the signatures are embedded in the files.

4. The method of claim 1 , wherein the deduplication signature table resides in a backup storage system which includes the one or more first secondary storage devices.

5. The method of claim 4 , wherein the backup storage system generates the signatures in response to receiving the corresponding source data blocks, and wherein the backup storage system completes the copy of the at least some of the plurality of backed up data blocks from the one or more first secondary storage devices to the one or more second secondary storage devices without re-generating the signature values.

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

7. The method of claim 1 , wherein the data block size is at least 512 times larger than the signature size.

8. The method of claim 1 , wherein the plurality of source data blocks and corresponding signatures are received from a client system, and wherein the copy of the at least some of the plurality of backed up data blocks from the one or more first secondary storage devices to the one or more second secondary storage devices is completed without generating the signature values.

9. The method of claim 1 , wherein the one or more second secondary storage devices store deduplicated data.

10. A system for performing a copy operation, the system comprising:

one or more processors comprising computer hardware;

at least one copy management module executing in the one or more processors and configured to:

copy a plurality of files from primary storage to one or more first secondary storage devices, wherein the files are formed from a plurality of source data blocks, wherein said copying is performed in a deduplicated manner and at least partly by:

accessing a deduplication signature table containing a plurality of signatures which correspond to a plurality of backed up data blocks stored in the one or more first secondary storage devices; and

storing, on the one or more first secondary storage devices, instances of ones of the plurality of source data blocks for which matching backed up data blocks do not already exist on the one or more first secondary storage devices; and

in response to instructions to copy at least some of a plurality of backed up data blocks stored in the one or more first secondary storage devices to one or more second secondary storage devices, for each respective data block of the at least some of the plurality of backed up data blocks:

read a previously stored signature corresponding to the respective data block for sending from the one or more first secondary storage devices to the one or more second secondary storage devices, wherein the previously stored signature is stored on the one or more first secondary storage devices and is separate from the deduplication signature table; and

based on an indication as to whether the respective data block is already stored on the one or more second secondary storage devices, read the respective data block from the one or more first secondary storage devices for sending to the one or more second secondary storage devices if the respective data block does not exist on the one or more second secondary storage devices, wherein the signature corresponding to the respective data block and not the respective data block itself is read from the one or more first secondary storage devices if the respective data block exists on the one or more second secondary storage devices.

11. The system of claim 10 , further comprising a data packaging module executing in the one or more processors and configured to, for each respective data block of the plurality of backed up data blocks:

associate the signature corresponding to the respective data block 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 one or more first secondary storage devices.

12. The system of claim 11 , wherein the data packaging module logically organizes the signature/data words into files each including one or more signature/data words such that the signatures are embedded in the files.

13. The system of claim 10 , wherein the data block size is at least 512 times larger than the signature size.

14. The system of claim 10 , wherein the system further comprises a signature generation module configured to generate the signature in response to receiving the corresponding source data blocks, and wherein the copy management module is configured to complete the copy of the at least some of the plurality of backed up data blocks from the one or more first secondary storage devices to the one or more second secondary storage devices without re-generating the signature values.

15. The method of claim 10 , wherein the plurality of source data blocks and corresponding signatures are received from a client system, and wherein the copy management module is configured to complete the copy of the at least some of the plurality of backed up data blocks from the one or more first secondary storage devices to the one or more second secondary storage devices without generating the signature values.

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 22, 2011
From: VIJAYAN, MANOJ KUMAR; ATTARDE, DEEPAK RAGHUNATH
To: COMMVAULT SYSTEMS, INC.
Reel/Frame 026011/0954 →