IP Library Granted Patent US 11,429,559
Granted Patent B2
US 11,429,559 · App. 16/886,848 · Granted Aug 30, 2022

Compliance recycling algorithm for scheduled targetless snapshots

Inventors: Nicholas Von Hein (Riverside, RI); Michael Ferrari (Douglas, MA); Daryl Kinney (Hopkinton, MA); Shakil Anwar (Westborough, MA); Tao Tao (Cambridge, MA)
Assignee: EMC IP HOLDING COMPANY LLC
G06F16/128
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,429,559
App. No.
16/886,848
Granted
Aug 30, 2022
Kind
B2
Abstract

Targetless snapshots that are in use are excluded from discard and exempted from inclusion against a snapshot retention count limit. Snapshots that are linked to a target volume are considered to be in use. Snapshots having a persist attribute set are considered to be in use. Snapshots having an expiration attribute set are considered to be in use until at least the expiration time. Snapshots having an age limit attribute set are considered to be in use until reaching at least the specified age. The snapshot retention count limit can be updated with a command. Other commands discard snapshots created before a specified time or older than a specified age, provided the snapshots are not in use. A terminate all command prompts discard of all snapshots that are not in use.

Claims (62)

1. An apparatus comprising:

a data storage system comprising:

a plurality of compute nodes interconnected with a plurality of drives;

a plurality of storage objects on which data is logically stored, the storage objects being backed by the drives; and

a targetless snapshot scheduler that controls creation of targetless snapshots of a first one of the storage objects by creating volume-less snapshot deltas, the targetless snapshot scheduler comprising:

snapshot creation instructions that create targetless snapshots of the first storage object without use of a snap volume in accordance with a first schedule associated with the first storage object; and

snapshot recycling instructions that:

determine whether a total number of targetless snapshots of the first storage object based on the first schedule inclusive of a new targetless snapshot exceeds a predetermined count; and

responsive to a determination that the total number of targetless snapshots of the first storage object based on the first schedule inclusive of the new targetless snapshot exceeds the predetermined count:

 select an oldest one of the targetless snapshots of the first storage object based on the first schedule;

 discard the selected snapshot responsive to a determination that the selected snapshot is not linked to a target volume; and

 exempt the selected snapshot from consideration relative to the predetermined count responsive to a determination that the selected snapshot is linked to the target volume.

2. The apparatus of claim 1 wherein the snapshot recycling instructions comprise background discard instructions that recycle the exempted snapshot responsive to a determination that the exempted snapshot is no longer in use.

3. The apparatus of claim 2 wherein the snapshot recycling instructions comprise eligibility determination instructions that characterize the selected targetless snapshot as being in use responsive to determining that the selected targetless snapshot is linked to a target volume.

4. The apparatus of claim 2 wherein the snapshot recycling instructions comprise eligibility determination instructions that characterize the selected targetless snapshot as being in use responsive to determining that a persist attribute is set.

5. The apparatus of claim 2 wherein the snapshot recycling instructions comprise eligibility determination instructions that characterize the selected targetless snapshot as being in use responsive to a determination that an expiration time attribute is set and the expiration time has not yet been reached.

6. The apparatus of claim 2 wherein the snapshot recycling instructions comprise eligibility determination instructions that characterize the selected targetless snapshot as being in use responsive to a determination that an age limit attribute is set and the age has not yet been reached.

7. The apparatus of claim 1 wherein the snapshot recycling instructions are responsive to a keep count command that resets the predetermined count to a new count to determine whether the total number of targetless snapshots of the first storage object based on the first schedule exceeds the new count and, responsive to a determination that the total number of targetless snapshots of the first storage object based on the first schedule inclusive of the new targetless snapshot exceeds the new count:

exempt ones of the targetless snapshots that are in use;

select ones of the targetless snapshots that are not exempt, in descending order by age, until a total number of targetless snapshots of the first storage object based on the first schedule inclusive of the new targetless snapshot and exclusive of the exempt targetless snapshots and selected targetless snapshots does not exceed the new count; and

discard the selected targetless snapshots.

8. The apparatus of claim 1 wherein the snapshot recycling instructions are responsive to a temporal discard command to:

exempt ones of the targetless snapshots that are in use;

select ones of the targetless snapshots that are not exempt and were created before a specified time; and

discard the selected targetless snapshots.

9. The apparatus of claim 1 wherein the snapshot recycling instructions are responsive to a terminate all command to:

exempt ones of the targetless snapshots that are in use;

select ones of the targetless snapshots that are not exempt; and

discard the selected targetless snapshots.

10. A method comprising:

in a data storage system comprising a plurality of compute nodes interconnected with a plurality of drives and a first storage object on which data is logically stored, the first storage object being backed by the drives:

creating targetless snapshots of the first storage object without use of a snap volume in accordance with a first schedule associated with the first storage object by creating volume-less snapshot deltas;

determining whether a total number of targetless snapshots of the first storage object based on the first schedule inclusive of a new targetless snapshot exceeds a predetermined count; and

responsive to determining that the total number of targetless snapshots of the first storage object based on the first schedule inclusive of the new targetless snapshot exceeds the predetermined count:

selecting an oldest one of the targetless snapshots of the first storage object based on the first schedule;

discarding the selected snapshot responsive to determining that the selected snapshot is not linked to a target volume; and

exempting the selected snapshot from consideration relative to the predetermined count responsive to determining that the selected snapshot is linked to a target volume.

11. The method of claim 10 comprising recycling the exempted snapshot responsive to determining that the exempted snapshot is no longer in use.

12. The method of claim 11 comprising characterizing the selected targetless snapshot as being in use responsive to determining that the selected targetless snapshot is linked to a target volume.

13. The method of claim 11 comprising characterizing the selected targetless snapshot as being in use responsive to determining that a persist attribute is set.

14. The method of claim 11 comprising characterizing the selected targetless snapshot as being in use responsive to determining that an expiration time attribute is set and the expiration time has not yet been reached.

15. The method of claim 11 comprising characterizing the selected targetless snapshot as being in use responsive to a determination that an age limit attribute is set and the age has not yet been reached.

16. The method of claim 10 comprising resetting the predetermined count to a new count and responsive to determining that the total number of targetless snapshots of the first storage object based on the first schedule inclusive of the new targetless snapshot exceeds the new count:

exempting ones of the targetless snapshots that are in use;

selecting ones of the targetless snapshots that are not exempt, in descending order by age, until a total number of targetless snapshots of the first storage object based on the first schedule inclusive of the new targetless snapshot and exclusive of the exempt targetless snapshots and selected targetless snapshots does not exceed the new count; and

discarding the selected targetless snapshots.

17. The method of claim 10 comprising responding to a temporal discard command by:

exempting ones of the targetless snapshots that are in use;

selecting ones of the targetless snapshots that are not exempt and were created before a specified time; and

discarding the selected targetless snapshots.

18. The method of claim 10 comprising responding to a terminate all command by:

exempting ones of the targetless snapshots that are in use;

selecting ones of the targetless snapshots that are not exempt; and

discarding the selected targetless snapshots.

19. A non-transitory computer-readable storage medium storing instructions that when executed by a computer cause the computer to perform a method for using a computer system to manage targetless snapshots, the method comprising:

creating targetless snapshots of a storage object without use of a snap volume in accordance with a schedule associated with the storage object by creating volume-less snapshot deltas;

determining whether a total number of targetless snapshots of the storage object based on the schedule inclusive of a new targetless snapshot exceeds a predetermined count; and

responsive to determining that the total number of targetless snapshots of the storage object based on the schedule inclusive of the new targetless snapshot exceeds the predetermined count:

selecting an oldest one of the targetless snapshots of the storage object based on the schedule;

discarding the selected snapshot responsive to determining that the selected snapshot is not linked to a target volume; and

exempting the selected snapshot from consideration relative to the predetermined count responsive to determining that the selected snapshot is linked to a target volume.

20. The non-transitory computer-readable storage medium of claim 19 wherein the method further comprises recycling the exempted snapshot responsive to determining that the exempted snapshot is no longer in use.

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 May 29, 2020
From: VON HEIN, NICHOLAS; FERRARI, MICHAEL; KINNEY, DARYL; ANWAR, SHAKIL; TAO, TAO
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 052782/0483 →
Continuity (1)
Related Publication 20210374096A1 · Dec 2, 2021