IP Library Granted Patent US 11,500,740
Granted Patent B2
US 11,500,740 · App. 16/692,187 · Granted Nov 15, 2022

Continuous data protection

Inventor: Douglas E. LeCrone (Hopkinton, MA)
Assignee: EMC IP Holding Company LLC
G06F11/1469G06F11/0757G06F11/1435G06F11/1451G06F11/1461G06F11/1464G06F11/2056G06F11/3034G06F16/119G06F16/172G06F16/1734G06F16/1844
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 11,500,740
App. No.
16/692,187
Granted
Nov 15, 2022
Kind
B2
Abstract

Providing continuous data protection includes maintaining a database having substantially all data modifications made to a primary volume over a recovery interval. The database is maintained in conjunction with a copying operation where the data of the primary volume are mirrored to a remote volume to permit recovery of mirrored data in the event of loss of primary volume data. The contents of the remote volume generally lag behind the contents of the primary volume by substantially the recovery interval. Providing continuous data protection also includes providing data roll-back to a precise point in time within the recovery interval by applying, to the contents of the remote volume, all data modifications in the database that occurred between the latest data modification to the remote volume and the precise point in time within the recovery interval. A time stamp mechanism of sufficient precision and granularity may be used.

Claims (32)

1. A method of providing continuous data protection in a data storage system, comprising:

maintaining a database containing each data write made to a primary volume by a host during a recovery interval, the database being maintained in conjunction with a copying operation by which the data of the primary volume are mirrored to a remote volume to permit recovery of mirrored data in the event of loss of primary volume data, the contents of the remote volume corresponding to contents of the primary volume prior to a time of a particular data write in the database, wherein the data writes in the database include a time stamp mechanism of sufficient precision and granularity to cause dependent ones of the writes to maintain a proper order;

transferring oldest ones of the data writes from the database to the remote volume while adding more recent data writes to the database, wherein the oldest ones of the data writes are removed from the database and the remote volume is maintained at a remote volume time that is older than the oldest ones of the data writes remaining in the database;

selecting a restore point time corresponding to any time stamp of any of the data writes in the database, wherein the restore point time is earlier than a current point in time and later than the remote volume time; and

restoring the remote volume to a state of the primary volume corresponding to the restore point time by applying, to the contents of the remote volume, only the data writes in the database that occurred between the time of the particular data write in the database and the restore point time.

2. A method according to claim 1 , wherein the data modifications made to the primary volume are transferred to the database upon being written to a cache at a primary storage location containing the primary volume.

3. A method according to claim 1 , wherein the copying operation is a remote copying operation.

4. A method according to claim 1 , wherein the data of the primary volume is asynchronously mirrored to the remote volume located at a remote storage location.

5. A method, according to claim 1 , wherein a recovery time is an amount of time needed to transfer all the data modifications in the database corresponding to the remote volume to create up-to-date remote storage volumes.

6. A method according to claim 1 , wherein the recovery interval is no more than a predetermined maximum recovery time.

7. A method, according to claim 6 , wherein the maximum recovery time is one hour.

8. A method according to claim 1 , further comprising:

performing a complete recovery of the primary volume by transferring all the data modifications in the database to the remote volume location to create an up-to-date remote volume and copying the data from the up-to-date remote storage volume to the primary volume.

9. A method according to claim 1 , wherein the copying operation is part of operation of a logical data migration facility operating within a host computer coupled to the primary and remote volumes, and wherein the data modifications are copied from the host computer to the remote volume.

10. A data storage system providing continuous data protection, comprising:

a primary storage system at a primary storage location, the primary storage system including a primary volume receiving data modifications from a primary host computer system;

a remote storage system at a remote storage location, the remote storage system including a remote volume; and

a continuous data protection system that maintains a database containing each data write made to the primary volume by a host during a recovery interval, the database being maintained in conjunction with a remote copying operation by which the data of the primary volume are asynchronously mirrored to the remote volume to permit recovery of mirrored data in the event of loss of primary volume data, the contents of the remote volume corresponding to contents of the primary volume prior to a time of a particular data write in the database, wherein the data writes in the database include a time stamp mechanism of sufficient precision and granularity to cause dependent ones of the writes to maintain a proper order, the continuous data protection system transferring oldest ones of the data writes from the database to the remote volume while adding more recent data writes to the database and removing the oldest ones of the data writes from the database, wherein the remote volume is maintained at a remote volume time that is older than the oldest ones of the data writes remaining in the database, the continuous data protection system also providing selection of a restore point time corresponding to any time stamp of any of the data writes in the database, wherein the restore point time is earlier than a current point in time and later than the remote volume time, and the continuous data protection system restoring the remote volume to a state of the primary volume corresponding to the restore point time by applying, to the contents of the remote volume, only the data writes in the database that occurred between the time of the particular data write in the database and the restore point time.

11. A system according to claim 10 , wherein the primary storage system includes a cache operative to receive and temporarily store the data modifications from the primary host computer system before the data modifications are written to the primary volume, and wherein the data modifications are transferred from the cache to the database upon being written to the cache.

12. A system according to claim 10 , wherein the continuous data protection system is located in a primary host computer system at the primary storage location, the primary host computer system including an application program that utilizes the storage resources provided by the primary volume.

13. A system according to claim 12 , wherein the primary host computer system is partitioned into at least two logical partitions (LPARs), one LPAR containing the continuous data protection system and the other LPAR containing the application program.

14. A system according to claim 10 , wherein the continuous data protection system is further operative to perform a complete recovery of the primary volume by transferring all the data modifications in the database to the remote volume location to create an up-to-date remote volume and by copying the data from the up-to-date remote storage volume to the primary volume.

15. A computer program product comprising a computer-readable medium having computer instructions stored thereon, the computer instructions being operative when executed by a computer system to cause the computer system to execute a continuous data protection system to provide continuous data protection in a data storage system having a primary storage system and remote storage system, the continuous data protection system including the operations of:

maintaining a database containing each data write made to a primary volume by a host during a recovery interval, the database being maintained in conjunction with a copying operation by which the data of the primary volume are mirrored to a remote volume to permit recovery of mirrored data in the event of loss of primary volume data, the contents of the remote volume corresponding to contents of the primary volume prior to a time of a particular data write in the database, wherein the data writes in the database include a time stamp mechanism of sufficient precision and granularity to cause dependent ones of the writes to maintain a proper order;

transferring oldest ones of the data writes from the database to the remote volume while adding more recent data writes to the database, wherein the oldest ones of the data writes are removed from the database and the remote volume is maintained at a remote volume time that is older than the oldest ones of the data writes remaining in the database;

selecting a restore point time corresponding to any time stamp of any of the data writes in the database, wherein the restore point time is earlier than a current point in time and later than the remote volume time; and

restoring the remote volume to a state of the primary volume corresponding to the restore point time by applying, to the contents of the remote volume, only the data writes in the database that occurred between the time of the particular data write in the database and the restore point time.

16. A computer program product according to claim 15 , wherein the data modifications made to the primary volume are transferred to the database upon being written to a cache at the primary storage location.

17. A computer program product according to claim 15 , wherein the continuous data protection system further includes the operation of performing a complete recovery of the primary volume by transferring all the data modifications in the database to the remote volume location to create an up-to-date remote volume and copying the data from the up-to-date remote storage volume to the primary volume.

18. A method according to claim 1 , wherein, if the restore time is before the time of the latest data modification to the remote volume, writes to the remote volume are undone by replacing previous contents of the remote volume using a stored data pre-image.

19. A system according to claim 10 , wherein, if the restore time is before the time of the latest data modification to the remote volume, writes to the remote volume are undone by replacing previous contents of the remote volume using a stored data pre-image.

20. A computer program product according to claim 15 , wherein, if the restore time is before the time of the latest data modification to the remote volume, writes to the remote volume are undone by replacing previous contents of the remote volume using a stored data pre-image.

Assignments (9)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (053311/0169) Recorded Jun 23, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
Reel/Frame 060438/0742 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (053546/0001) Recorded Jun 23, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.); DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.); EMC IP HOLDING COMPANY LLC
Reel/Frame 071642/0001 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (052216/0758) Recorded Jun 23, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 060438/0680 →
RELEASE OF SECURITY INTEREST AF REEL 052243 FRAME 0773 Recorded Nov 2, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 058001/0152 →
SECURITY INTEREST Recorded Jun 5, 2020
From: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 053311/0169 →
SECURITY AGREEMENT Recorded Apr 22, 2020
From: CREDANT TECHNOLOGIES INC.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; FORCE10 NETWORKS, INC.; WYSE TECHNOLOGY L.L.C.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
Reel/Frame 053546/0001 →
SECURITY AGREEMENT Recorded Mar 26, 2020
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
Reel/Frame 052243/0773 →
PATENT SECURITY AGREEMENT (NOTES) Recorded Mar 24, 2020
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 052216/0758 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 25, 2019
From: LECRONE, DOUGLAS E.
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 051102/0050 →