IP Library Granted Patent US 10,691,551
Granted Patent B2
US 10,691,551 · App. 16/044,016 · Granted Jun 23, 2020

Storage system with snapshot generation control utilizing monitored differentials of respective storage volumes

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,691,551
App. No.
16/044,016
Granted
Jun 23, 2020
Kind
B2
Abstract

A storage system in one embodiment comprises a plurality of storage devices and a storage controller. The storage controller is configured to monitor a differential between a storage volume of the storage system and a previous snapshot generated for that storage volume, and responsive to the monitored differential satisfying one or more specified conditions, to generate a subsequent snapshot for the storage volume. For example, monitoring the differential between the storage volume of the storage system and the previous snapshot generated for that storage volume illustratively comprises maintaining a counter indicative of an amount of data in the storage volume that has been written since generation of the previous snapshot. In such an arrangement, generating the subsequent snapshot for the storage volume responsive to the monitored differential satisfying one or more specified conditions illustratively comprises generating the subsequent snapshot responsive to the counter exceeding a specified threshold.

Claims (59)

1. An apparatus comprising:

a storage system comprising a plurality of storage devices and a storage controller;

the storage controller being configured:

to monitor a differential between a storage volume of the storage system and a previous snapshot generated for that storage volume; and

responsive to the monitored differential satisfying one or more specified conditions, to generate a subsequent snapshot for the storage volume;

wherein monitoring the differential between the storage volume of the storage system and the previous snapshot generated for that storage volume comprises:

maintaining a first counter indicative of a total amount of data in the storage volume;

maintaining a second counter indicative of an amount of data in the storage volume that has been written since generation of the previous snapshot; and

monitoring values of the first and second counters;

wherein generating the subsequent snapshot for the storage volume responsive to the monitored differential satisfying one or more specified conditions comprises generating the subsequent snapshot responsive to the value of the second counter satisfying a specified condition relative to the value of the first counter; and

wherein the storage controller comprises at least one processing device comprising a processor coupled to a memory.

2. The apparatus of claim 1 wherein the storage volume comprises at least one logical storage volume comprising at least a portion of a physical storage space of one or more of the storage devices.

3. The apparatus of claim 1 wherein generating the subsequent snapshot for the storage volume responsive to the monitored differential satisfying one or more specified conditions comprises:

scheduling the generation of the subsequent snapshot; and

generating the subsequent snapshot in accordance with the scheduling.

4. The apparatus of claim 1 wherein the one or more specified conditions comprise a specified minimum amount of change in the storage volume relative to the previous snapshot of the storage volume.

5. The apparatus of claim 4 wherein the specified minimum amount of change in the storage volume is specified in terms of at least one of:

a minimum number of storage units of the storage volume that have changed since generation of the previous snapshot; and

a minimum percentage of the storage volume that has changed since generation of the previous snapshot.

6. The apparatus of claim 1 wherein generating the subsequent snapshot for the storage volume responsive to the monitored differential satisfying one or more specified conditions comprises generating the subsequent snapshot responsive to the value of the second counter exceeding a specified threshold that is determined based at least in part on the value of the first counter.

7. The apparatus of claim 1 wherein the value of the second counter satisfying a specified condition relative to the value of the first counter comprises the value of the second counter reaching a specified percentage of the value of the first counter.

8. The apparatus of claim 1 wherein the second counter is reset in conjunction with the generation of the subsequent snapshot.

9. The apparatus of claim 1 wherein maintaining a given one of the first and second counters comprises:

detecting one or more overwrites of existing data of the storage volume; and

leaving the value of the given counter unchanged responsive to each of the one or more detected overwrites.

10. The apparatus of claim 1 wherein maintaining the second counter comprises:

accessing an address-to-hash structure for the storage volume;

determining if one or more portions of the storage volume have changed since generation of the previous snapshot based at least in part on respective corresponding entries of the address-to-hash structure; and

updating the second counter based at least in part on the determining.

11. The apparatus of claim 1 wherein the previous snapshot and the subsequent snapshot comprise respective point-in-time replicas of the entire storage volume.

12. A method comprising:

monitoring a differential between a storage volume of a storage system and a previous snapshot generated for that storage volume; and

responsive to the monitored differential satisfying one or more specified conditions, generating a subsequent snapshot for the storage volume;

wherein monitoring the differential between the storage volume of the storage system and the previous snapshot generated for that storage volume comprises:

maintaining a first counter indicative of a total amount of data in the storage volume;

maintaining a second counter indicative of an amount of data in the storage volume that has been written since generation of the previous snapshot; and

monitoring values of the first and second counters;

wherein generating the subsequent snapshot for the storage volume responsive to the monitored differential satisfying one or more specified conditions comprises generating the subsequent snapshot responsive to the value of the second counter satisfying a specified condition relative to the value of the first counter; and

wherein the method is implemented by at least one processing device comprising a processor coupled to a memory.

13. The method of claim 12 wherein generating the subsequent snapshot for the storage volume responsive to the monitored differential satisfying one or more specified conditions comprises generating the subsequent snapshot responsive to the value of the second counter exceeding a specified threshold that is determined based at least in part on the value of the first counter.

14. The method of claim 12 wherein the previous snapshot and the subsequent snapshot comprise respective point-in-time replicas of the entire storage volume.

15. A computer program product comprising a non-transitory processor-readable storage medium having stored therein program code of one or more software programs, wherein the program code when executed by at least one processing device causes said at least one processing device:

to monitor a differential between a storage volume of a storage system and a previous snapshot generated for that storage volume; and

responsive to the monitored differential satisfying one or more specified conditions, to generate a subsequent snapshot for the storage volume;

wherein monitoring the differential between the storage volume of the storage system and the previous snapshot generated for that storage volume comprises:

maintaining a first counter indicative of a total amount of data in the storage volume;

maintaining a second counter indicative of an amount of data in the storage volume that has been written since generation of the previous snapshot; and

monitoring values of the first and second counters; and

wherein generating the subsequent snapshot for the storage volume responsive to the monitored differential satisfying one or more specified conditions comprises generating the subsequent snapshot responsive to the value of the second counter satisfying a specified condition relative to the value of the first counter.

16. The computer program product of claim 15 wherein generating the subsequent snapshot for the storage volume responsive to the monitored differential satisfying one or more specified conditions comprises generating the subsequent snapshot responsive to the value of the second counter exceeding a specified threshold that is determined based at least in part on the value of the first counter.

17. The computer program product of claim 15 wherein the value of the second counter satisfying a specified condition relative to the value of the first counter comprises the value of the second counter reaching a specified percentage of the value of the first counter.

18. The computer program product of claim 15 wherein the second counter is reset in conjunction with the generation of the subsequent snapshot.

19. The computer program product of claim 15 wherein maintaining a given one of the first and second counters comprises:

detecting one or more overwrites of existing data of the storage volume; and

leaving the value of the given counter unchanged responsive to each of the one or more detected overwrites.

20. The computer program product of claim 15 wherein maintaining the second counter comprises:

accessing an address-to-hash structure for the storage volume;

determining if one or more portions of the storage volume have changed since generation of the previous snapshot based at least in part on respective corresponding entries of the address-to-hash structure; and

updating the second counter based at least in part on the determining.

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 Jul 24, 2018
From: MEIRI, DAVID; KUCHEROV, ANTON
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 046445/0830 →