IP Library Granted Patent US 8,417,905
Granted Patent B2
US 8,417,905 · App. 13/217,417 · Granted Apr 9, 2013

Methods and apparatus for point-in-time volumes

Inventor: David A. Linde (Fort Lauderdale, FL)
Assignee: DataCore Software Corporation
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,417,905
App. No.
13/217,417
Granted
Apr 9, 2013
Kind
B2
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.

Claims (32)

1. A method for changing a time reference for a point-in-time volume that has previously been established to a current time reference of a source volume, the method comprising:

maintaining mapping data comprising delta information, the delta information identifying data that has been modified on the source volume, said modification being determined by detecting write operations directed to the source volume; and

changing the time reference for the point-in-time volume to the current time reference of the source volume, following the previous establishment of the point-in-time volume and intervening writes to the source volume, by transferring modified data identified by the delta information, with at least one read operation directed to the source volume and at least one write operation directed to the point-in-time volume.

2. The method of claim 1 , further comprising:

clearing the delta information corresponding to the transferred modified data.

3. The method of claim 1 , further comprising:

delaying transferring the modified data responsive to a factor selected from the group consisting of: system utilization, system throughput, and system configuration.

4. The method of claim 1 , wherein the modified data comprises one or more data blocks.

5. The method of claim 1 , wherein a second point-in-time volume is established for a second time after the current time reference of the previously established point-in-time volume, and wherein the previously established point-in-time volume is configured to support a restoration of the source volume to the state of the previously established point-in-time volume at a time occurring after the second time, the restoration of the source volume occurring without invoking the second point-in-time volume.

6. The method of claim 1 , wherein changing the time reference for the point-in-time volume to the current time reference of the source volume is performed without requiring reference to migration information.

7. A non-transitory computer readable medium storing program code for changing a time reference for a point-in-time volume that has previously been established to a current time reference of a source volume, the program code being executable to perform operations comprising:

maintaining mapping data comprising delta information, the delta information identifying data that has been modified on the source volume, said modification being determined by detecting write operations directed to the source volume; and

changing the time reference for the point-in-time volume to the current time reference of the source volume, following the previous establishment of the point-in-time volume and intervening writes to the source volume, by transferring modified data identified by the delta information, with at least one read operation directed to the source volume and at least one write operation directed to the point-in-time volume.

8. The computer readable medium of claim 7 , wherein the operations further comprise:

clearing the delta information corresponding to the transferred modified data.

9. The computer readable medium of claim 7 , wherein the operations further comprise:

delaying transferring the modified data responsive to a factor selected from the group consisting of: system utilization, system throughput, and system configuration.

10. The computer readable medium of claim 7 , wherein the modified data comprises one or more data blocks.

11. The computer readable medium of claim 7 , wherein a second point-in-time volume is established for a second time after the current time reference of the previously established point-in-time volume, and wherein the previously established point-in-time volume is configured to support a restoration of the source volume to the state of the previously established point-in-time volume at a time occurring after the second time, the restoration of the source volume occurring without invoking the second point-in-time volume.

12. The computer readable medium of claim 7 , wherein changing the time reference for the point-in-time volume to the current time reference of the source volume is performed without requiring reference to migration information.

13. 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;

receiving a data write operation;

determining whether a data write operation directed to the source volume is directed to an original data block in the source volume, an original data block being a data block existing in the source volume at the time the relationship is enabled;

reading the original data block from the source volume prior to completing the data write operation where it is determined that the data write operation is directed to the original data block; and

storing the original data block in association with the point-in-time volume.

14. A non-transitory computer readable medium storing program code for creating a point-in-time volume of a source volume, the program code being executable to perform operations comprising:

enabling a relationship between the source volume and the point-in-time volume;

receiving a data write operation;

determining whether a data write operation directed to the source volume is directed to an original data block in the source volume, an original data block being a data block existing in the source volume at the time the relationship is enabled;

reading the original data block from the source volume prior to completing the data write operation where it is determined that the data write operation is directed to the original data block; and

storing the original data block in association with the point-in-time volume.

Assignments (3)
SECURITY INTEREST Recorded May 29, 2024
From: DATACORE SOFTWARE CORPORATION
To: VISTARA TECHNOLOGY GROWTH FUND V MASTER, LP
Reel/Frame 067563/0884 →
SECURITY INTEREST Recorded Oct 28, 2021
From: DATACORE SOFTWARE CORPORATION
To: STIFEL BANK
Reel/Frame 057969/0086 →
SECURITY INTEREST Recorded Dec 14, 2017
From: DATACORE SOFTWARE CORPORATION
To: SILICON VALLEY BANK
Reel/Frame 044400/0417 →
Continuity (5)
Continuation 10893477 · Jul 15, 2004
Division 10044327 · Jan 10, 2002
Provisional Application 60261036 · Jan 10, 2001
Provisional Application 60261583 · Jan 14, 2001
Related Publication 20120078856A1 · Mar 29, 2012