IP Library Granted Patent US 11,468,091
Granted Patent B2
US 11,468,091 · App. 17/023,525 · Granted Oct 11, 2022

Maintaining consistency of asynchronous replication

Inventors: Bhaskar Bora (Shrewsbury, MA); Mark J. Halstead (Holliston, MA); Michael E. Specht (Bolton, MA); Benjamin Yoder (Chandler, AZ); Deepak Vokaliga (Hopkinton, MA)
Assignee: EMC IP Holding Company LLC
G06F16/273G06F12/0802G06F2212/1032G06F2212/154
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,468,091
App. No.
17/023,525
Granted
Oct 11, 2022
Kind
B2
Abstract

Maintaining consistency for asynchronous replication of LUNs of a local storage system to corresponding LUNs of a remote storage system includes copying application data written to LUNs to cache slots, copying metadata of LUNs to cache slots, associating a first sequence number to all metadata modifications and all application data writes that are begun after a first time and before a second time, associating a second sequence number, different from the first sequence number, to all metadata modifications and all application data writes that are begun after the second time, and, after completion of all metadata modifications and all application data writes associated with the first sequence number, initiating transfer to the remote storage system of all metadata modifications and all application data writes associated with the first sequence number. Each cache slot may include a field that indicates a corresponding sequence number.

Claims (30)

1. A method of maintaining consistency for asynchronous replication of logical devices (LUNs) of a local storage system to corresponding LUNs of a remote storage system, comprising:

copying application data written to the LUNs of the local storage system to corresponding cache slots;

copying metadata of the LUNs of the local storage system to corresponding cache slots of the local storage system in response to modifying the metadata of the LUNs;

associating a first sequence number to all metadata modifications and all application data writes for any of the LUNs of the local storage system that are begun after a first time and before a second time;

associating a second sequence number, different from the first sequence number, to all metadata modifications and all application data writes for any of the LUNs of the local storage system that are begun after the second time; and

after completion of all metadata modifications and all application data writes associated with the first sequence number, initiating transfer to the remote storage system of all metadata modifications and all application data writes associated with the first sequence number.

2. A method, according to claim 1 , wherein metadata for a particular one of the LUNs of the local storage system that is modified after the first time and before the second time overwrites data in the cache for previously modified metadata for the particular one of the LUNs that was modified after the first time and before the second time.

3. A method, according to claim 1 , wherein the metadata modifications and the application data writes associated with the first sequence number are stored at the remote storage system in response to receiving a commit message from the local storage system.

4. A method, according to claim 1 , wherein the local storage system uses a first list of pointers to the cache slots for application data and metadata associated with the first sequence number and uses a second list of pointers to the cache slots for application data and metadata associated with the second sequence number.

5. A method, according to claim 1 , wherein each cache slot includes a field that indicates a corresponding sequence number.

6. A method, according to claim 1 , wherein a new cache slot is allocated in response to a modification of metadata for a particular one of the LUNs of the local storage system after the first time and before the second time.

7. A method, according to claim 6 , wherein the new cache slot is allocated only if the modification is a first modification for the metadata for the particular one of the LUNs after the first time and before the second time.

8. A method, according to claim 1 , wherein the local storage system and the remote storage system store virtual volumes that are accessed by virtual machines.

9. A method, according to claim 1 , wherein a particular one of the LUNs of the remote storage system is determined to be consistent only if all of the application data and all of the metadata corresponding to a particular sequence number have been committed at the remote storage system.

10. A method, according to claim 1 , wherein all metadata modifications and all application data writes for any of the LUNs of the local storage system that are begun after the second time are stored in different cache slots than any metadata modifications and application data writes for any of the LUNs of the local storage system that are begun before the second time.

11. A non-transitory computer readable medium containing software that maintains consistency for asynchronous replication of logical devices (LUNs) of a local storage system to corresponding LUNs of a remote storage system, the software comprising:

executable code that copies application data written to the LUNs of the local storage system to corresponding cache slots;

executable code that copies metadata of the LUNs of the local storage system to corresponding cache slots of the local storage system in response to modifying the metadata of the LUNs;

executable code that associates a first sequence number to all metadata modifications and all application data writes for any of the LUNs of the local storage system that are begun after a first time and before a second time;

executable code that associates a second sequence number, different from the first sequence number, to all metadata modifications and all application data writes for any of the LUNs of the local storage system that are begun after the second time; and

executable code that initiates transfer to the remote storage system of all metadata modifications and all application data writes associated with the first sequence number after completion of all metadata modifications and all application data writes associated with the first sequence number.

12. A non-transitory computer readable medium, according to claim 11 , wherein metadata for a particular one of the LUNs of the local storage system that is modified after the first time and before the second time overwrites data in the cache for previously modified metadata for the particular one of the LUNs that was modified after the first time and before the second time.

13. A non-transitory computer readable medium, according to claim 11 , wherein the metadata modifications and the application data writes associated with the first sequence number are stored at the remote storage system in response to receiving a commit message from the local storage system.

14. A non-transitory computer readable medium, according to claim 11 , wherein the local storage system uses a first list of pointers to the cache slots for application data and metadata associated with the first sequence number and uses a second list of pointers to the cache slots for application data and metadata associated with the second sequence number.

15. A non-transitory computer readable medium, according to claim 11 , wherein each cache slot includes a field that indicates a corresponding sequence number.

16. A non-transitory computer readable medium, according to claim 11 , wherein a new cache slot is allocated in response to a modification of metadata for a particular one of the LUNs of the local storage system after the first time and before the second time.

17. A non-transitory computer readable medium, according to claim 16 , wherein the new cache slot is allocated only if the modification is a first modification for the metadata for the particular one of the LUNs after the first time and before the second time.

18. A non-transitory computer readable medium, according to claim 11 , wherein the local storage system and the remote storage system store virtual volumes that are accessed by virtual machines.

19. A non-transitory computer readable medium, according to claim 11 , wherein a particular one of the LUNs of the remote storage system is determined to be consistent only if all of the application data and all of the metadata corresponding to a particular sequence number have been committed at the remote storage system.

20. A non-transitory computer readable medium, according to claim 11 , wherein all metadata modifications and all application data writes for any of the LUNs of the local storage system that are begun after the second time are stored in different cache slots than any metadata modifications and application data writes for any of the LUNs of the local storage system that are begun before the second time.

Assignments (9)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (054475/0523) Recorded Jun 10, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: EMC IP HOLDING COMPANY LLC; DELL PRODUCTS L.P.
Reel/Frame 060332/0664 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (054475/0434) Recorded Jun 10, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: EMC IP HOLDING COMPANY LLC; DELL PRODUCTS L.P.
Reel/Frame 060332/0740 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (054475/0609) Recorded Jun 10, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: EMC IP HOLDING COMPANY LLC; DELL PRODUCTS L.P.
Reel/Frame 062021/0570 →
RELEASE OF SECURITY INTEREST AT REEL 054591 FRAME 0471 Recorded Nov 2, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 058001/0463 →
SECURITY INTEREST Recorded Nov 18, 2020
From: EMC IP HOLDING COMPANY LLC; DELL PRODUCTS L.P.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 054475/0609 →
SECURITY INTEREST Recorded Nov 18, 2020
From: EMC IP HOLDING COMPANY LLC; DELL PRODUCTS L.P.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 054475/0434 →
SECURITY INTEREST Recorded Nov 18, 2020
From: EMC IP HOLDING COMPANY LLC; DELL PRODUCTS L.P.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 054475/0523 →
SECURITY AGREEMENT Recorded Nov 13, 2020
From: EMC IP HOLDING COMPANY LLC; DELL PRODUCTS L.P.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
Reel/Frame 054591/0471 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 17, 2020
From: BORA, BHASKAR; HALSTEAD, MARK J.; SPECHT, MICHAEL E.; YODER, BENJAMIN; VOKALIGA, DEEPAK
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 053799/0673 →