IP Library Granted Patent US 8,010,756
Granted Patent B1
US 8,010,756 · App. 10/893,477 · Granted Aug 30, 2011

Methods and apparatus for point-in-time volumes

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,010,756
App. No.
10/893,477
Granted
Aug 30, 2011
Kind
B1
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 (28)

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 a delta table and a migration table, the delta table including entries identifying data chunks that have been modified on the source volume, said modification being determined by detecting a write operation directed to the source volume, the migration table including entries identifying data chunks that have been migrated from the source volume to the point-in-time 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 chunks corresponding to the entries in the delta table, 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 table entries corresponding to the transferred modified data chunks.

3. The method of claim 1 , further comprising:

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

4. The method of claim 1 , wherein a data chunk comprises a predetermined number of 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 the migration table.

7. A computer program product 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 computer program product comprising a non-transitory computer readable medium having program code stored thereon, the program code being executable by a computer to perform operations comprising:

maintaining mapping data comprising a delta table and a migration table, the delta table including entries identifying data chunks that have been modified on the source volume, said modification being determined by detecting a write operation directed to the source volume, the migration table including entries identifying data chunks that have been migrated from the source volume to the point-in-time 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 chunks corresponding to the entries in the delta table, 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 program product of claim 7 , wherein the operations further comprise:

clearing the delta table entries corresponding to the transferred modified data chunks.

9. The computer program product of claim 7 , wherein the operations further comprise:

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

10. The computer program product of claim 7 , wherein a data chunk comprises a predetermined number of data blocks.

11. The computer program product 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 program produce 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 the migration table.

13. A system 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 system comprising:

means for maintaining mapping data comprising a delta table and a migration table, the delta table including entries identifying data chunks that have been modified on the source volume, said modification being determined by detecting a write operation directed to the source volume, the migration table including entries identifying data chunks that have been migrated from the source volume to the point-in-time volume; and

means for 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 chunks corresponding to the entries in the delta table, with at least one read operation directed to the source volume and at least one write operation directed to the point-in-time volume.

14. The system of claim 13 , further comprising means for clearing the delta table entries corresponding to the transferred modified data chunks.

15. The system of claim 13 , further comprising:

means for delaying transferring the one or more modified data chunks responsive to a factor selected from the group consisting of: system utilization, system throughput, and system configuration.

16. The system of claim 13 , wherein a data chunk comprises a predetermined number of data blocks.

17. The system of claim 13 , 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.

18. The system of claim 13 , 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 the migration table.

Assignments (7)
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 →
CORRECTIVE ASSIGNMENT TO CORRECT THE CONVEYANCE TYPE FROM "RELEASE BY SECURED PARTY" TO "SECURITY AGREEMENT". PREVIOUSLY RECORDED ON REEL 018313 FRAME 0295. ASSIGNOR(S) HEREBY CONFIRMS THE INTELLECTUAL PROPERTY ASSIGNMENT AGREEMENT.. Recorded Feb 15, 2007
From: DATACORE SOFTWARE CORPORATION
To: SILICON VALLEY BANK
Reel/Frame 018898/0241 →
RELEASE OF SECURITY INTEREST Recorded Sep 27, 2006
From: DATACORE SOFTWARE CORPORATION
To: SILICON VALLEY BANK
Reel/Frame 018313/0295 →
SECURITY AGREEMENT Recorded Sep 26, 2006
From: DATACORE SOFTWARE CORPORATION
To: PARTNERS FOR GROWTH II, L.P.
Reel/Frame 018303/0104 →
SECURITY AGREEMENT Recorded Nov 4, 2005
From: DATACORE SOFTWARE CORPORATION
To: BRIDGE BANK, NATIONAL ASSOCIATION
Reel/Frame 016722/0595 →
Continuity (3)
Division 10044327 · Jan 10, 2002
Provisional Application 60261036 · Jan 10, 2001
Provisional Application 60261583 · Jan 14, 2001