Methods and apparatus for point-in-time volumes
First Claim
Patent Images
1. 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.
8 Assignments
0 Petitions
Accused Products
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.
373 Citations
22 Claims
-
1. 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. - View Dependent Claims (2, 3, 4, 5, 6)
determining a data chunk to migrate;
reading the data chunk from the source volume; and
writing the data chunk to the point-in-time volume.
-
-
6. The method of claim 5 further comprising repeating the determining, reading, and writing.
-
7. 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. - View Dependent Claims (8, 9)
locking the data chunk on the source volume and the point-in-time volume;
reading the data chunk from the source volume; and
writing the data chunk to the point-in-time volume.
-
-
9. The method of claim 7 wherein the data modification operation comprises one from the group containing:
- copying a file, deleting a file, moving a file, and writing a file.
-
10. 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. - View Dependent Claims (11)
-
-
12. 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. - View Dependent Claims (13, 14, 15)
presenting the point-in-time volume to a client; and
performing, by the client, read and write operations on the point-in-time volume.
-
-
15. The method of claim 12 further comprising disabling the client access to the source volume.
-
16. 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. - View Dependent Claims (17, 18, 19)
-
-
20. 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.
-
-
21. 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. - View Dependent Claims (22)
-
Specification