IP Library Granted Patent US 10,838,825
Granted Patent B2
US 10,838,825 · App. 15/991,262 · Granted Nov 17, 2020

Implementing snapshot sets for consistency groups of storage volumes

Inventors: Jia Huang (Chengdu, CN); Bernie Hu (Chengdu, CN); Jessica Jing Ye (Chengdu, CN); Olivia Juan Huang (Chengdu, CN); Jennifer Lifeng Zheng (Chengdu, CN)
Assignee: EMC IP Holding Company LLC
G06F11/1464G06F3/0604G06F3/0614G06F3/0631G06F3/0659G06F3/0689G06F11/1451G06F2201/82G06F2201/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 10,838,825
App. No.
15/991,262
Granted
Nov 17, 2020
Kind
B2
Abstract

Techniques for implementing snapshot sets for consistency groups of storage volumes in data storage systems. For each snapshot in a snapshot set of a consistency group, metadata is expanded to include a snapshot set identifier, and a consistency group identifier. The data structure of the consistency group is enhanced to include a snapshot set list, which includes the snapshot set identifier(s) of the consistency group, and a pointer to a storage volume list that contains names of storage volumes with snapshots in the snapshot set(s). By expanding the metadata of each snapshot in a snapshot set, and enhancing the data structure of each consistency group with snapshot set(s), relationships between snapshots, snapshot sets, consistency groups, and storage volumes can be readily maintained, allowing storage volumes to be added to and/or removed from consistency groups without having to delete snapshots of the storage volumes and/or snapshot sets of the consistency groups.

Claims (69)

1. A method of implementing snapshot sets for consistency groups of storage volumes in a data storage system, comprising:

forming a consistency group of storage volumes on the data storage system, the consistency group having a data structure;

creating, at a first point-in-time (PIT), a first set of snapshots of the storage volumes in the consistency group;

generating first snapshot metadata for each snapshot in the first set of snapshots, the first snapshot metadata including an identifier of the first set of snapshots and an identifier of the consistency group;

incorporating a snapshot set list including a first snapshot set node into the data structure of the consistency group, the first snapshot set node including the identifier of the first set of snapshots and a first pointer to a first storage volume list of the storage volumes having the respective snapshots in the first set of snapshots;

adding an additional storage volume to the consistency group, without deleting any of the snapshots in the first set of snapshots in the consistency group, a snapshot of the additional storage volume being stored on the data storage system outside of the consistency group; and

having added the additional storage volume to the consistency group, allowing only read requests or delete requests pertaining to the snapshot of the additional storage volume to be acted upon by the data storage system.

2. The method of claim 1 further comprising:

having added the additional storage volume to the consistency group, creating, at a second PIT, a second set of snapshots of the storage volumes including the additional storage volume in the consistency group.

3. The method of claim 2 further comprising:

generating second snapshot metadata for each snapshot in the second set of snapshots, the second snapshot metadata including an identifier of the second set of snapshots and the identifier of the consistency group.

4. The method of claim 3 further comprising:

adding a second snapshot set node to the snapshot set list, the second snapshot set node including an identifier of the second set of snapshots and a second pointer to a second storage volume list of storage volumes having the respective snapshots in the second set of snapshots.

5. The method of claim 1 further comprising:

removing a respective storage volume from among the storage volumes in the consistency group, without deleting any of the snapshots in the first set of snapshots in the consistency group; and

having removed the respective storage volume from among the storage volumes in the consistency group, allowing only read requests pertaining to the snapshot of the respective storage volume to be acted upon by the data storage system.

6. The method of claim 5 further comprising:

deleting the snapshot of the respective storage volume in the event that (i) the first set of snapshots is deleted, refreshed, or restored, (ii) the consistency group is removed from the data storage system, or (iii) the respective storage volume is removed from the data storage system.

7. The method of claim 5 wherein the respective storage volume is initially stored on the data storage system outside of the consistency group, and wherein the method further comprises:

subsequently removing the respective storage volume from the data storage system.

8. The method of claim 7 further comprising:

before removing the respective storage volume from the data storage system, accessing the first snapshot metadata for the snapshot of the respective storage volume to obtain the identifier of the first set of snapshots and the identifier of the consistency group.

9. The method of claim 8 further comprising:

having obtained the identifier of the first set of snapshots and the identifier of the consistency group, accessing the first snapshot set node of the snapshot set list incorporated into the data structure of the consistency group, and accessing the first storage volume list using the first pointer included in the first snapshot set node.

10. A method of implementing snapshot sets for consistency groups of storage volumes in a data storage system, comprising:

forming a consistency group of storage volumes on the data storage system, the consistency group having a data structure;

creating, at a first point-in-time (PIT), a first set of snapshots of the storage volumes in the consistency group;

generating first snapshot metadata for each snapshot in the first set of snapshots, the first snapshot metadata including an identifier of the first set of snapshots and an identifier of the consistency group;

incorporating a snapshot set list including a first snapshot set node into the data structure of the consistency group, the first snapshot set node including the identifier of the first set of snapshots and a first pointer to a first storage volume list of the storage volumes having the respective snapshots in the first set of snapshots;

removing a respective storage volume from among the storage volumes in the consistency group, without deleting any of the snapshots in the first set of snapshots in the consistency group;

having removed the respective storage volume from among the storage volumes in the consistency group, allowing only read requests pertaining to the snapshot of the respective storage volume to be acted upon by the data storage system, the respective storage volume being initially stored on the data storage system outside of the consistency group;

accessing the first snapshot metadata for the snapshot of the respective storage volume to obtain the identifier of the first set of snapshots and the identifier of the consistency group;

having obtained the identifier of the first set of snapshots and the identifier of the consistency group, accessing the first snapshot set node of the snapshot set list incorporated into the data structure of the consistency group, and accessing the first storage volume list using the first pointer included in the first snapshot set node;

removing the respective storage volume from the data storage system; and

deleting a name of the respective storage volume from the first storage volume list.

11. The method of claim 10 further comprising:

deleting the snapshot of the respective storage volume from the consistency group, and deleting the first snapshot metadata for the snapshot of the respective storage volume.

12. The method of claim 1 further comprising:

forming a second consistency group of storage volumes on the data storage system, the second consistency group having a second data structure;

creating, at a second PIT, a second set of snapshots of the storage volumes in the second consistency group;

generating second snapshot metadata for each snapshot in the second set of snapshots, the second snapshot metadata including an identifier of the second set of snapshots and an identifier of the second consistency group; and

incorporating a second snapshot set list including a snapshot set node into the second data structure of the second consistency group, the snapshot set node including the identifier of the second set of snapshots and a second pointer to a second storage volume list of the storage volumes having the respective snapshots in the second set of snapshots.

13. A system for implementing snapshot sets for consistency groups of storage volumes in a data storage system, comprising:

at least one memory; and

at least one processor operative to execute instructions out of the at least one memory:

to form a consistency group of storage volumes on the data storage system, the consistency group having a data structure;

to create, at a first point-in-time (PIT), a first set of snapshots of the storage volumes in the consistency group;

to generate first snapshot metadata for each snapshot in the first set of snapshots, the first snapshot metadata including an identifier of the first set of snapshots and an identifier of the consistency group;

to incorporate a snapshot set list including a first snapshot set node into the data structure of the consistency group, the first snapshot set node including the identifier of the first set of snapshots and a first pointer to a first storage volume list of the storage volumes having the respective snapshots in the first set of snapshots;

to add an additional storage volume to the consistency group, without deleting any of the snapshots in the first set of snapshots in the consistency group, a snapshot of the additional storage volume being stored on the data storage system outside of the consistency group; and

having added the additional storage volume to the consistency group, to allow only read requests or delete requests pertaining to the snapshot of the additional storage volume to be acted upon by the data storage system.

14. The system of claim 13 wherein the at least one processor is further operative to execute the instructions out of the at least one memory:

to remove a respective storage volume from among the storage volumes in the consistency group, without deleting any of the snapshots in the first set of snapshots in the consistency group; and

having removed the respective storage volume from among the storage volumes in the consistency group, to allow only read requests pertaining to the snapshot of the respective storage volume to be acted upon by the data storage system.

15. The system of claim 13 wherein the at least one processor is further operative to execute the instructions out of the at least one memory:

to form a second consistency group of storage volumes on the data storage system, the second consistency group having a second data structure;

to create, at a second PIT, a second set of snapshots of the storage volumes in the second consistency group;

to generate second snapshot metadata for each snapshot in the second set of snapshots, the second snapshot metadata including an identifier of the second set of snapshots and an identifier of the second consistency group; and

to incorporate a second snapshot set list including a snapshot set node into the second data structure of the second consistency group, the snapshot set node including the identifier of the second set of snapshots and a second pointer to a second storage volume list of the storage volumes having the respective snapshots in the second set of snapshots.

16. A computer program product having a non-transitory computer readable medium that stores a set of instructions to implement snapshot sets for consistency groups of storage volumes in a data storage system, the set of instructions, when carried out by computerized circuitry, causing the computerized circuitry to perform a method of:

forming a consistency group of storage volumes on the data storage system, the consistency group having a data structure;

creating, at a first point-in-time (PIT), a first set of snapshots of the storage volumes in the consistency group;

generating first snapshot metadata for each snapshot in the first set of snapshots, the first snapshot metadata including an identifier of the first set of snapshots and an identifier of the consistency group;

incorporating a snapshot set list including a first snapshot set node into the data structure of the consistency group, the first snapshot set node including the identifier of the first set of snapshots and a first pointer to a first storage volume list of the storage volumes having the respective snapshots in the first set of snapshots;

adding an additional storage volume to the consistency group, without deleting any of the snapshots in the first set of snapshots in the consistency group, a snapshot of the additional storage volume being stored on the data storage system outside of the consistency group; and

having added the additional storage volume to the consistency croup, allowing only read requests or delete requests pertaining to the snapshot of the additional storage volume to be acted upon by the data storage system.

17. The method of claim 16 further comprising:

removing a respective storage volume from among the storage volumes in the consistency group, without deleting any of the snapshots in the first set of snapshots in the consistency group; and

having removed the respective storage volume from among the storage volumes in the consistency group, allowing only read requests pertaining to the snapshot of the respective storage volume to be acted upon by the data storage system.

Assignments (8)
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 (047648/0422) Recorded May 20, 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 060160/0862 →
RELEASE OF SECURITY INTEREST AT REEL 047648 FRAME 0346 Recorded Nov 2, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
Reel/Frame 058298/0510 →
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 21, 2019
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 049452/0223 →
PATENT SECURITY AGREEMENT (CREDIT) Recorded Oct 12, 2018
From: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 047648/0346 →
PATENT SECURITY AGREEMENT (NOTES) Recorded Oct 12, 2018
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 047648/0422 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 27, 2018
From: HUANG, JIA; HU, BERNIE; YE, JESSICA JING; HUANG, OLIVIA JUAN; ZHENG, JENNIFER LIFENG
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 046219/0438 →
Priority Claims (1)
CN 2018 1 0390779 · Apr 27, 2018 · national
Continuity (1)
Related Publication 20190332499A1 · Oct 31, 2019