Synchronization of storage using comparisons of fingerprints of blocks
First Claim
1. A system for processing data, comprising:
- a deduplicating system for storing data segments, wherein the deduplicating system stores a copy of data stored in a data storage system by storing a set of segments that is able to reconstruct the data stored in the data storage system;
an interface for receiving an indication to revert data stored in the data storage system to a state of data at a snapshot time stored in the deduplicating system; and
a processor configured to;
determine a subset of the data segments stored in the data storage system that have changed between the data segments stored in the data storage system and the state of the data segments at the snapshot time stored in the deduplicating system using a first set of fingerprints associated with the data segments stored on the data storage system and a second set of fingerprints associated with the state of the data segments at the snapshot time stored in the deduplicating system; and
transfer data associated with the determined subset from the deduplicating system to the data storage system, wherein transferring comprises;
retrieving a subset of the data segments stored in the deduplicating system associated with the state of the data segments at the snapshot time, wherein the retrieved subset of the data segments corresponds to the subset of the data segments stored in the data storage system that have changed; and
storing the retrieved subset of data segments in the appropriate locations in the data storage system as indicated in the state of the data segments at the snapshot time.
9 Assignments
0 Petitions
Accused Products
Abstract
A system for processing data comprises a deduplicating system, an interface, and a processor. The deduplicating system stores a copy of data stored in a data storage system by storing a set of segments that is able to reconstruct the data stored in the data storage system. The interface receives an indication to revert data stored in the data storage system to a state of data at a snapshot time stored in the deduplicating system. The processor is configured to determine a subset of the data stored in the data storage system that has changed between the data stored in the data storage system and the state of data at the snapshot time stored in the deduplicating system using a first list of fingerprints associated with the data stored on the data storage system and a second list of fingerprints associated with the state of data at the snapshot time stored in the deduplicating system.
15 Citations
17 Claims
-
1. A system for processing data, comprising:
-
a deduplicating system for storing data segments, wherein the deduplicating system stores a copy of data stored in a data storage system by storing a set of segments that is able to reconstruct the data stored in the data storage system; an interface for receiving an indication to revert data stored in the data storage system to a state of data at a snapshot time stored in the deduplicating system; and a processor configured to; determine a subset of the data segments stored in the data storage system that have changed between the data segments stored in the data storage system and the state of the data segments at the snapshot time stored in the deduplicating system using a first set of fingerprints associated with the data segments stored on the data storage system and a second set of fingerprints associated with the state of the data segments at the snapshot time stored in the deduplicating system; and transfer data associated with the determined subset from the deduplicating system to the data storage system, wherein transferring comprises; retrieving a subset of the data segments stored in the deduplicating system associated with the state of the data segments at the snapshot time, wherein the retrieved subset of the data segments corresponds to the subset of the data segments stored in the data storage system that have changed; and storing the retrieved subset of data segments in the appropriate locations in the data storage system as indicated in the state of the data segments at the snapshot time. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A method for processing data, comprising:
-
receiving an indication to revert data stored in a data storage system to a state of data at a snapshot time stored in the deduplicating system, wherein a deduplicating system stores data segments, wherein the deduplicating system stores a copy of data stored in the data storage system by storing a set of segments that is able to reconstruct the data stored in the data storage system; and determining, using a processor, a subset of the data segments stored in the data storage system that has changed between the data segments stored in the data storage system and the state of the data segments at the snapshot time stored in the deduplicating system using a first set of fingerprints associated with the data segments stored on the data storage system and a second set of fingerprints associated with the state of the data segments at the snapshot time stored in the deduplicating system; and transferring data associated with the determined subset from the deduplicating system to the data storage system, wherein transferring comprises; retrieving a subset of the data segments stored in the deduplicating system associated with the state of the data segments at the snapshot time, wherein the retrieved subset of the data segments corresponds to the subset of the data segments stored in the data storage system that have changed; and storing the retrieved subset of data segments in the appropriate locations in the data storage system as indicated in the state of the data segments at the snapshot time. - View Dependent Claims (10, 11, 12, 13, 14, 15, 16)
-
-
17. A computer program product for processing data, the computer program product being embodied in a non-transitory computer readable storage medium and comprising computer instructions for:
-
receiving an indication to revert data stored in a data storage system to a state of data at a snapshot time stored in the deduplicating system, wherein a deduplicating system stores data segments, wherein the deduplicating system stores a copy of data stored in the data storage system by storing a set of segments that is able to reconstruct the data stored in the data storage system; and determining a subset of the data segments stored in the data storage system that have changed between the data segments stored in the data storage system and the state of the data segments at the snapshot time stored in the deduplicating system using a first set of fingerprints associated with the data segments stored on the data storage system and a second set of fingerprints associated with the state of the data segments at the snapshot time stored in the deduplicating system; and transferring data associated with the determined subset from the deduplicating system to the data storage system, wherein transferring comprises; retrieving a subset of the data segments stored in the deduplicating system associated with the state of the data segments at the snapshot time, wherein the retrieved subset of the data segments corresponds to the subset of the data segments stored in the data storage system that have changed; and storing the retrieved subset of data segments in the appropriate locations in the data storage system as indicated in the state of the data segments at the snapshot time.
-
Specification