Techniques for duplicating deduplicated data
AssigneeVeritas Technologies LLC
InventorsYingsong Jia, William Joseph Browning, Yong Tian
Life of this patent
Estimating the term…
Abstract
Techniques for duplicating deduplicated data include identifying a connection between a source deduplicated data storage and a target deduplicated data storage. A location of a block of data is determined that is located on the source deduplicated data storage for copying to the target deduplicated data storage. A first reference on the target deduplicated data storage is created to the location of the block of data on the source deduplicated data storage. A second reference is created on the source deduplicated data storage to the location of the block of data on the source deduplicated data storage.
Claims16
A method for duplicating deduplicated data comprising:
- identifying a connection between a source deduplicated data storage and a target deduplicated data storage;
- determining a location of a block of data located on the source deduplicated data storage for copying to the target deduplicated data storage;
- creating references identifying data blocks of the source deduplicated data storage virtually written to the target deduplicated data store to ensure that the contents of each data block associated with a virtual write remains available on the source deduplicated data storage for at least as long as the target deduplicated data storage maintains a written reference to the location of the data block on the source deduplicated data storage, including:
- creating a first reference on the target deduplicated data storage to the location of the block of data on the source deduplicated data storage;
- and
- creating a second reference on the source deduplicated data storage to the location of the block of data on the source deduplicated data storage, wherein the second reference further indicates that the block of data on the source deduplicated data storage has not been fully copied to the target deduplicated data storage, and wherein an identifier for the block of data is included in a reference table in the source deduplicated data storage to protect the block of data from modification or deletion as long as the first reference on the target deduplicated data storage points to the location of the block of data on the source deduplicated data storage;
- responding to a request for the block of data at the target deduplicated data storage by retrieving a copy of the block of data from the location referenced in the first reference on the target deduplicated data storage via the identified connection;
- copying the block of data on the source deduplicated data storage to the target deduplicated data storage;
- and
- updating the first reference on the target deduplicated data storage to refer to the location of a copy of the block of data on the target deduplicated data storage;
- and
- removing the second reference on the source deduplicated data storage;
- wherein the virtual write is performed to create references to make the target deduplicated data storage available before the actual data is copied with the source deduplicated data storage being prevented from deleting or modifying data blocks identified in the reference table until at least they are no longer needed in by the target deduplicated data storage.
A system for duplicating deduplicated data comprising:
- one or more processors communicatively coupled to a network;
- wherein the one or more processors are configured to:
- identify a connection between a source deduplicated data storage and a target deduplicated data storage;
- determine a location of a block of data located on the source deduplicated data storage for copying to the target deduplicated data storage;
- create references identifying data blocks of the source deduplicated data storage virtually written to the target deduplicated data store to ensure that the contents of each data block associated with a virtual write remains available on the source deduplicated data storage for at least as long as the target deduplicated data storage maintains a written reference to the location of the data block on the source deduplicated data storage including:
- create a first reference on the target deduplicated data storage to the location of the block of data on the source deduplicated data storage;
- and
- create a second reference on the source deduplicated data storage to the location of the block of data on the source deduplicated data storage, wherein the second reference further indicates that the block of data on the source deduplicated data storage has not been fully copied to the target deduplicated data storage, and wherein an identifier for the block of data is included in a reference table in the source deduplicated data storage to protect the block of data from modification or deletion as long as the first reference on the target deduplicated data storage points to the location of the block of data on the source deduplicated data storage;
- respond to a request for the block of data at the target deduplicated data storage by retrieving a copy of the block of data from the location referenced in the first reference on the target deduplicated data storage via the identified connection;
- copy the block of data on the source deduplicated data storage to the target deduplicated data storage;
- update the first reference on the target deduplicated data storage to refer to the location of a copy of the block of data on the target deduplicated data storage;
- and
- remove the second reference on the source deduplicated data storage;
- wherein the virtual write is performed to create references to to make the target deduplicated data storage available before the actual data is copied with the source deduplicated data storage being prevented from deleting or modifying data blocks identified in the reference table until at least they are no longer needed by the target deduplicated data storage.
An article of manufacture for duplicating deduplicated data, the article of manufacture comprising:
- at least one non-transitory processor readable storage medium;
- and
- instructions stored on the at least one medium;
- wherein the instructions are configured to be readable from the at least one medium by at least one processor and thereby cause the at least one processor to operate so as to:
- identify a connection between a source deduplicated data storage and a target deduplicated data storage;
- determine a location of a block of data located on the source deduplicated data storage for copying to the target deduplicated data storage;
- create references identifying data blocks of the source deduplicated data storage virtually written to the target deduplicated data store to ensure that the contents of each data block associated with a virtual write remains available on the source deduplicated data storage for at least as long as the target deduplicated data storage maintains a written reference to the location of the data block on the source deduplicated data storage including:
- create a first reference on the target deduplicated data storage to the location of the block of data on the source deduplicated data storage;
- and
- create a second reference on the source deduplicated data storage to the location of the block of data on the source deduplicated data storage, wherein the second reference further indicates that the block of data on the source deduplicated data storage has not been fully copied to the target deduplicated data storage, and wherein an identifier for the block of data is included in a reference table in the source deduplicated data storage to protect the block of data from modification or deletion as long as the first reference on the target deduplicated data storage points to the location of the block of data on the source deduplicated data storage;
- and
- respond to a request for the block of data at the target deduplicated data storage by retrieving a copy of the block of data from the location referenced in the first reference on the target deduplicated data storage via the identified connection;
- copying the block of data on the source deduplicated data storage to the target deduplicated data storage;
- updating the first reference on the target deduplicated data storage to refer to the location of a copy of the block of data on the target deduplicated data storage;
- and
- removing the second reference on the source deduplicated data storage;
- wherein the virtual write is performed to create references to to make the target deduplicated data storage available before the actual data is copied with the source deduplicated data storage being prevented from deleting or modifying data blocks identified in the reference table until at least they are no longer needed by the target deduplicated data storage.
Dependencies are inferred from the claim text.