Methods and apparatus for point-in-time volumes
AssigneeDataCore Software Corporation
InventorDavid A. Linde
Life of this patent
Estimating the term…
Abstract
Methods and apparatus for point-in-time volumes are provided. A relationship is enabled between a source volume and point-in-time volume. Copying a data chunk to the point-in-time volume before a write operation modifies the data chunk on the source volume dynamically creates the point-in-time volume. The point-in-time volume can be accessed in read/write mode as a general purpose data storage volume. Other embodiments comprising additional features, such as a forced migration process, are also provided.
Claims22
A method for creating a point-in-time volume of a source volume, the method comprising:
- enabling a relationship between the source volume and the point-in-time volume;
- if detecting a data write operation to an original data chunk in the source volume;
- reading the original data chunk from the source volume prior to the data write operation;
- and
- writing the original data chunk to the point-in-time volume;
- and
- if detecting a data write operation to a non-original data chunk;
- performing the data write operation without writing the non-original data chunk to the point-in-time volume.
A method for modifying a data block while maintaining a point-in-time volume, the method comprising:
- detecting a data modification operation to a source volume;
- determining a data chunk associated with the data block;
- accessing a migration table to determine a migration state for the data chunk, the migration table indicating TRUE for data chunk already migrated from the source volume to the point-in-time volume;
- responsive to a FALSE migration state, writing the data chunk to the point-in-time volume prior to the data modification operation;
- and
- responsive to the TRUE migration state, performing the data modification operation to the data chunk in the source volume without writing the data chunk to the point-in-time volume.
A method for enabling a point-in-time volume for reading a data block, the method comprising:
- determining a data chunk associated with the data block;
- accessing a migration table to determine a migration state for the data chunk, the migration table indicating TRUE for data chunks migrated from a source volume to the point-in-time volume;
- responsive to a TRUE migration state, reading from one of the source volume and the point-in-time volume;
- and
- responsive to a FALSE migration state, reading from the source volume.
A method for using a point-in-time volume of a source volume, the method comprising:
- if detecting a data write operation to an original data chunk in the source volume;
- reading the original data chunk from the source volume prior to the data write operation;
- and
- writing the original data chunk to the point-in-time volume;
- if detecting a data write operation to a non-original data chunk;
- performing the data write operation without writing the non-original data chunk to the point-in-time volume;
- and
- transferring at least one migration data chunk from the source volume.
a point-in-time volume of a source volume, the point-in-time volume comprising:
- at least one point-in-time data chunk transferred from the source volume, wherein the data chunk was transferred prior to the data chunk being modified in the source volume;
- at least one source data chunk not being transferred to the point-in-time volume, wherein the data chunk is being modified in the source volume without being transferred to the point-in-time volume;
- and
- at least one migration data chunk from the source volume.
A point-in-time volume of a source volume, the point-in-time volume comprising:
- at least one point-in-time data chunk transferred from the source volume, wherein the data chunk was transferred prior to the data chunk being modified on the source volume;
- at least one migration data chunk from the source volume;
- a migration table for indexing the at least one point-in-time data chunk and the at least one migration data chunk;
- and
- a delta table for tracking data writes.
A computer readable medium comprising:
- program instructions for enabling a relationship between the source volume and a point-in-time volume;
- program instructions for if detecting a data write operation to an original data chunk to the source volume;
- program instructions for reading the original data chunk from the source volume prior to the data write operation;
- and
- program instructions for writing the original data chunk to the point-in-time volume;
- and
- program instructions for if detecting a data write operation to a non-original data chunk;
- program instructions for performing the data write operation without writing the non-original data chunk to the point-in-time volume.
Dependencies are inferred from the claim text.