IP Library Granted Patent US 11,354,268
Granted Patent B2
US 11,354,268 · App. 16/737,259 · Granted Jun 7, 2022

Optimizing snapshot creation

Inventors: Evan G. Jones (Glenville, NY); Douglas E. LeCrone (Hopkinton, MA); Brett A. Quinn (Lincoln, RI)
Assignee: EMC IP Holding Company LLC
G06F16/128G06F13/20
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,354,268
App. No.
16/737,259
Granted
Jun 7, 2022
Kind
B2
Abstract

Creating snapshot data sets for a plurality of logical devices of a storage system includes marking an initial set of the logical devices for a snapshot in response to each of the initial set of logical devices having been modified since obtaining a previous snapshot data set, suspending I/O operations, marking an additional set of the logical devices for a snapshot in response to each of the additional set of logical devices having been modified prior to suspending I/O, performing a snapshot of the logical devices in the initial set of logical devices and in the additional set of logical devices, and resuming I/O operations. Pointers to snapshots for the snapshot data set may be placed in a table that includes a plurality of entries for a plurality of snapshot data sets. None of the additional set of logical devices may be part of the initial set of logical devices.

Claims (32)

1. A method of creating snapshot data sets for a plurality of logical devices of a storage system, comprising:

marking an initial set of the logical devices for creating a snapshot in response to each of the initial set of logical devices having been modified since obtaining a previous snapshot data set;

suspending I/O operations only to the initial set of the logical devices;

marking an additional set of the logical devices for a snapshot in response to each of the additional set of logical devices having been modified prior to suspending I/O operations, wherein none of the logical devices in the additional set of the logical devices are in the initial set of the logical devices;

performing a snapshot of the logical devices in the initial set of the logical devices and in the additional set of the logical devices; and

resuming I/O operations to the logical devices.

2. A method, according to claim 1 , wherein pointers to snapshots for the snapshot data set are placed in a table that includes a plurality of entries for a plurality of snapshot data sets.

3. A method, according to claim 2 , wherein each of the entries corresponds to a different snapshot data set obtained at a different time.

4. A method, according to claim 3 , wherein pointers for a particular logical device corresponding to a first snapshot data set and a second, subsequent, snapshot data set point to the same snapshot in response to the particular logical device remaining the same between obtaining the snapshot data set and the second snapshot data set.

5. A method, according to claim 3 , wherein an oldest snapshot data set is deleted prior to performing a snapshot of the logical devices.

6. A method, according to claim 5 , wherein the additional set of logical devices includes logical devices having a single snapshot associated therewith prior to the single snapshot being deleted.

7. A method, according to claim 1 , wherein logical devices having been modified since obtaining a previous snapshot data set are identified using a source modified tracks field.

8. A non-transitory computer readable medium that contains software that creates snapshot data sets for a plurality of logical devices of a storage system, the software comprising:

executable code that marks an initial set of logical devices for creating a snapshot in response to each of the initial set of logical devices having been modified since obtaining a previous snapshot data set;

executable code that suspends I/O only to the initial set of the logical devices;

executable code that marks an additional set of logical devices for a snapshot in response to each of the additional set of logical devices having been modified prior to suspending I/O operations, wherein none of the logical devices in the additional set of the logical devices are in the initial set of the logical devices;

executable code that performs a snapshot of the logical devices in the initial set of the logical devices and in the additional set of the logical devices; and

executable code that resumes I/O operations to the logical devices.

9. A non-transitory computer readable medium, according to claim 8 , wherein pointers to snapshots for the snapshot data set are placed in a table that includes a plurality of entries for a plurality of snapshot data sets.

10. A non-transitory computer readable medium, according to claim 9 , wherein each of the entries corresponds to a different snapshot data set obtained at a different time.

11. A non-transitory computer readable medium, according to claim 10 , wherein pointers for a particular logical device corresponding to a first snapshot data set and a second, subsequent, snapshot data set point to the same snapshot in response to the particular logical device remaining the same between obtaining the snapshot data set and the second snapshot data set.

12. A non-transitory computer readable medium, according to claim 10 , wherein an oldest snapshot data set is deleted prior to performing a snapshot of the logical devices.

13. A non-transitory computer readable medium, according to claim 12 , wherein the additional set of logical devices includes logical devices having a single snapshot associated therewith prior to the single snapshot being deleted.

14. A non-transitory computer readable medium, according to claim 8 , wherein logical devices having been modified since obtaining a previous snapshot data set are identified using a source modified tracks field.

15. A storage system, comprising:

a plurality of logical devices; and

at least one processor that accesses a non-transitory computer readable medium having software that creates snapshot data sets for a plurality of the logical devices of a the storage system, the software including executable code that marks an initial set of logical devices for creating a snapshot in response to each of the initial set of logical devices having been modified since obtaining a previous snapshot data set, executable code that suspends I/O only to the initial set of the logical devices, executable code that marks an additional set of logical devices for a snapshot in response to each of the additional set of logical devices having been modified prior to suspending I/O operations, wherein none of the logical devices in the additional set of the logical devices are in the initial set of the logical devices, executable code that performs a snapshot of the logical devices in the initial set of the logical devices and in the additional set of the logical devices, and executable code that resumes I/O operations to the logical devices.

16. A storage system, according to claim 15 , wherein pointers to snapshots for the snapshot data set are placed in a table that includes a plurality of entries for a plurality of snapshot data sets.

17. A storage system, according to claim 16 , wherein each of the entries corresponds to a different snapshot data set obtained at a different time.

18. A storage system, according to claim 17 , wherein pointers for a particular logical device corresponding to a first snapshot data set and a second, subsequent, snapshot data set point to the same snapshot in response to the particular logical device remaining the same between obtaining the snapshot data set and the second snapshot data set.

19. A storage system, according to claim 17 , wherein an oldest snapshot data set is deleted prior to performing a snapshot of the logical devices and wherein the additional set of logical devices includes logical devices having a single snapshot associated therewith prior to the single snapshot being deleted.

20. A storage system, according to claim 15 , wherein logical devices having been modified since obtaining a previous snapshot data set are identified using a source modified tracks field.

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 Jan 8, 2020
From: JONES, EVAN G.; LECRONE, DOUGLAS E.; QUINN, BRETT A.
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 051451/0786 →