IP Library Granted Patent US 11,681,592
Granted Patent B2
US 11,681,592 · App. 16/924,532 · Granted Jun 20, 2023

Snapshots with selective suspending of writes

Inventors: Evan G. Jones (Glenville, NY); Douglas E. LeCrone (Hopkinton, MA); Brett A. Quinn (Lincoln, RI)
Assignee: EMC IP Holding Company LLC
G06F11/1469G06F3/0619G06F3/0653G06F3/0659G06F3/0683G06F11/1464G06F2201/84
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,681,592
App. No.
16/924,532
Granted
Jun 20, 2023
Kind
B2
Abstract

Obtaining a consistent set of snapshots of a group of storage volumes includes obtaining a plurality of snapshots, each of the snapshots being for one of the volumes, determining if there are any specific write operations to at least one volume that occurred after obtaining a first one of the snapshots and before obtaining a last of the snapshots, if there are any specific write operations, discarding the plurality of snapshots, and, if there are no specific write operations, designating the plurality of snapshots as the consistent set of snapshots. Obtaining a consistent set of snapshots may include repeatedly obtaining a plurality of snapshots and determining if there are specific write operations until either a particular condition is met or there are no specific write operations determined. The particular condition may be exceeding a predetermined number of iterations or a predetermined time limit.

Claims (30)

1. A method of obtaining a plurality of consistent sets of snapshots of a group of storage volumes, each of the consistent sets being obtained at a predetermined amount of time or less since obtaining a previous one of the consistent sets, the method comprising:

in response to an amount of time having passed that is between one half of the predetermined amount of time and the predetermined amount of time since obtaining a consistent set of the snapshots of the group of the storage volumes, obtaining a first set of snapshots of the group of volumes without suspending any write operations to any of the volumes and setting a full cycle flag;

following obtaining the first set of snapshots, obtaining a second set of snapshots of the group of volumes without suspending any write operations to any of the volumes;

if it is determined that at least one write operation to at least one of the group of volumes occurred between obtaining the first set of snapshots and obtaining the second set of snapshots, deleting the first set of snapshots and the second set of snapshots;

if it is determined that no write operations to at least one of the group of volumes occurred between obtaining the first set of snapshots and obtaining the second set of snapshots, deleting the first set of snapshots, designating the second set of snapshots as one of the consistent sets of snapshots, and clearing the full cycle flag; and

in response to the full cycle flag being set and an amount of time having passed that is longer than or equal to the predetermined amount of time since obtaining a consistent set of the snapshots of the group of the storage volumes, suspending write operations to all of the volumes of the group of volumes, obtaining one of the consistent set of snapshots for all of the volumes of the group of volumes, and then resuming write operations to all of the volumes of the group of volumes.

2. The method of claim 1 , wherein determining that at least one write to at least one of the group of volumes occurred has occurred is performed using a continuous protection device.

3. The method of claim 2 , wherein the continuous protection device contains pointers that point to at least one of: standard logical devices corresponding to each of the group of volumes and a journal device.

4. The method of claim 3 , wherein at least one write to at least one of the group of volumes is determined to have occurred if at least one of the pointers points to the journal device.

5. The method of claim 1 , wherein determining that at least one write to at least one of the group of volumes occurred has occurred is performed by examining metadata.

6. The method of claim 1 , wherein storage for the group of volumes is synchronized.

7. A non-transitory computer-readable medium containing software that obtains a plurality of consistent sets of snapshots of a group of storage volumes, each of the consistent sets being obtained at a predetermined amount of time or less since obtaining a previous one of the consistent sets, the software comprising:

executable code that, in response to an amount of time having passed that is between one half of the predetermined amount of time and the predetermined amount of time since obtaining a consistent set of the snapshots of the group of the storage volumes, obtains a first set of snapshots of the group of volumes without suspending any write operations to any of the volumes and setting a full cycle flag;

executable code that, following obtaining the first set of snapshots, obtains a second set of snapshots of the group of volumes without suspending any write operations to any of the volumes;

executable code that, if it is determined that at least one write operation to at least one of the group of volumes occurred between obtaining the first set of snapshots and obtaining the second set of snapshots, deletes the first set of snapshots and the second set of snapshots;

executable code that, if it is determined that no write operations to at least one of the group of volumes occurred between obtaining the first set of snapshots and obtaining the second set of snapshots, deletes the first set of snapshots, designates the second set of snapshots as one of the consistent sets of snapshots, and clears the full cycle flag; and

executable code that, in response to the full cycle flag being set and an amount of time having passed that is longer than or equal to the predetermined amount of time since obtaining a consistent set of the snapshots of the group of the storage volumes, suspends write operations to all of the volumes of the group of volumes, obtains one of the consistent set of snapshots for all of the volumes of the group of volumes, and then resumes write operations to all of the volumes of the group of volumes.

8. The non-transitory computer-readable medium of claim 7 , wherein executable code that determines that at least one write to at least one of the group of volumes occurred has occurred is performed uses a continuous protection device.

9. The non-transitory computer-readable medium of claim 8 , wherein the continuous protection device contains pointers that point to at least one of: standard logical devices corresponding to each of the group of volumes and a journal device.

10. The non-transitory computer-readable medium of claim 9 , wherein at least one write to at least one of the group of volumes is determined to have occurred if at least one of the pointers points to the journal device.

11. The non-transitory computer-readable medium of claim 7 , wherein executable code that determines that at least one write to at least one of the group of volumes occurred has occurred is performed by examining metadata.

12. The non-transitory computer-readable medium of claim 7 , wherein storage for the group of volumes is synchronized.

13. A system that obtains a consistent set of snapshots of a group of storage volumes, comprising:

a host; and

a storage system coupled to the host and exchanging data therewith, the storage system including a plurality of directors having processors thereon, at least one of the processors being coupled to a non-transitory computer readable medium containing software that obtains a plurality of consistent sets of snapshots of a group of storage volumes, each of the consistent sets being obtained at a predetermined amount of time or less since obtaining a previous one of the consistent sets, the software including executable code that executable code that, in response to an amount of time having passed that is between one half of the predetermined amount of time and the predetermined amount of time since obtaining a consistent set of the snapshots of the group of the storage volumes, obtains a first set of snapshots of the group of volumes without suspending any write operations to any of the volumes and setting a full cycle flag, executable code that, following obtaining the first set of snapshots, obtains a second set of snapshots of the group of volumes without suspending any write operations to any of the volumes, executable code that, if it is determined that at least one write operation to at least one of the group of volumes occurred between obtaining the first set of snapshots and obtaining the second set of snapshots, deletes the first set of snapshots and the second set of snapshots, executable code that, if it is determined that no write operations to at least one of the group of volumes occurred between obtaining the first set of snapshots and obtaining the second set of snapshots, deletes the first set of snapshots, designates the second set of snapshots as one of the consistent sets of snapshots, and clears the full cycle flag, and executable code that, in response to the full cycle flag being set and an amount of time having passed that is longer than or equal to the predetermined amount of time since obtaining a consistent set of the snapshots of the group of the storage volumes, suspends write operations to all of the volumes of the group of volumes, obtains one of the consistent set of snapshots for all of the volumes of the group of volumes, and then resumes write operations to all of the volumes of the group of volumes.

14. The system of claim 13 , wherein executable code that determines that at least one write to at least one of the group of volumes occurred has occurred is performed uses a continuous protection device.

15. The system of claim 14 , wherein the continuous protection device contains pointers that point to at least one of: standard logical devices corresponding to each of the group of volumes and a journal device.

16. The system of claim 15 , wherein at least one write to at least one of the group of volumes is determined to have occurred if at least one of the pointers points to the journal device.

17. The system of claim 13 , wherein executable code that determines that at least one write to at least one of the group of volumes occurred has occurred is performed by examining metadata.

18. The system of claim 13 , wherein storage for the group of volumes is synchronized.

Assignments (9)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (053574/0221) Recorded Jun 10, 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 060333/0001 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (053578/0183) Recorded Jun 10, 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 060332/0864 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (053573/0535) Recorded Jun 10, 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 060333/0106 →
RELEASE OF SECURITY INTEREST AT REEL 053531 FRAME 0108 Recorded Nov 2, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 058001/0371 →
SECURITY INTEREST Recorded Aug 21, 2020
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 053578/0183 →
SECURITY INTEREST Recorded Aug 21, 2020
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 053573/0535 →
SECURITY INTEREST Recorded Aug 21, 2020
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 053574/0221 →
SECURITY AGREEMENT Recorded Aug 18, 2020
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
Reel/Frame 053531/0108 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 9, 2020
From: JONES, EVAN G.; LECRONE, DOUGLAS E.; QUINN, BRETT A.
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 053163/0029 →
Continuity (1)
Related Publication 20220012138A1 · Jan 13, 2022