IP Library Granted Patent US 11,372,810
Granted Patent B2
US 11,372,810 · App. 16/822,818 · Granted Jun 28, 2022

Storage system implementing snapshot longevity ranking for efficient management of snapshots

Inventors: Itay Keller (Tel Aviv, IL); Nir Milstein (Tel Aviv, IL); Yonatan Shtarkman (Tel Aviv, IL)
Assignee: EMC IP Holding Company LLC
G06F16/128G06F16/125G06F16/9027
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,372,810
App. No.
16/822,818
Granted
Jun 28, 2022
Kind
B2
Abstract

Techniques are provided for utilizing snapshot longevity information to manage snapshots of storage volumes in a snapshot-enabled storage system. A snapshot management system maintains a snapshot volume tree which comprises a plurality of snapshots having respective longevity ranking values. The longevity ranking value of a given snapshot represents an expected life span of the given snapshot as compared to expected life spans of other snapshots as indicated by their respective longevity ranking values. When a snapshot is deleted, the snapshot management system determines a set of candidate snapshots which can assume ownership of uniquely-written data of the deleted snapshot, evaluates the longevity ranking values of the candidate snapshots to select a candidate snapshot to assume ownership of the uniquely-written data of the deleted snapshot, and modifies metadata of the selected snapshot to transfer the ownership of the uniquely-written data from the deleted snapshot to the selected snapshot.

Claims (38)

1. A method, comprising:

maintaining, by a snapshot management system, a snapshot volume tree for a storage volume of a storage system, wherein the snapshot volume tree comprises a data structure which comprises a plurality of snapshot volume nodes corresponding to respective ones of (i) a root volume and (ii) multiple snapshots related directly or indirectly to the root volume, wherein the snapshot volume nodes comprise respective longevity ranking values, wherein the longevity ranking value of a given snapshot volume node comprises a numeric value which represents a likelihood of the given snapshot volume node not being selected for deletion as compared to other snapshot volume nodes in the snapshot volume tree, as indicated by their respective longevity ranking values;

deleting, by the snapshot management system, a snapshot volume node from the snapshot volume tree in response to a snapshot delete command;

determining, by the snapshot management system, a set of candidate snapshot volume nodes within the snapshot volume tree which can assume ownership of uniquely-written data that is owned by the deleted snapshot volume node, wherein the determined set of candidate snapshot volume nodes comprises snapshot volume nodes within the snapshot volume tree which are readers of the uniquely-written data owned by the deleted snapshot volume node;

evaluating, by the snapshot management system, the longevity ranking values of the candidate snapshot volume nodes;

selecting, by the snapshot management system, a snapshot volume node from the set of candidate snapshot volume nodes to assume ownership of the uniquely-written data of the deleted snapshot volume node, based on the evaluation of the longevity ranking values; and

modifying metadata of the selected snapshot volume node to transfer the ownership of the uniquely-written data from the deleted snapshot volume node to the selected snapshot volume node.

2. The method of claim 1 , wherein evaluating the longevity ranking values of the candidate snapshot volumes nodes comprises determining, by the snapshot management system, which of the candidate snapshot volume nodes has a highest longevity ranking value, and wherein the candidate snapshot volume determined to have the highest longevity ranking value is selected to assume ownership of the uniquely-written data of the deleted snapshot volume node.

3. The method of claim 1 , further comprising deleting the uniquely-owned data of the deleted snapshot in response to determining that there are no candidate snapshot volume nodes in the snapshot volume tree which can assume ownership of the uniquely-written data of the deleted snapshot volume node.

4. The method of claim 1 , further comprising assigning, by the snapshot management system, the respective longevity ranking values to the snapshot volume nodes based on explicit longevity information provided by a user when creating the snapshot volume nodes.

5. The method of claim 1 , wherein the snapshot delete command comprises one of (i) an explicit delete command provided by a user interacting with the snapshot management system and (ii) a command that is automatically generated by the snapshot management system based on a snapshot retention policy.

6. The method of claim 1 , wherein each data item of the uniquely-written data comprises metadata which identifies an owner volume node of the data item, and a read address of the data item, and wherein modifying the metadata of the selected snapshot volume node to transfer the ownership of the uniquely-written data from the deleted snapshot volume node to the selected snapshot volume node comprises modifying the metadata of the data items of the uniquely-written data to identify the selected snapshot volume node as the owner volume node of the data items associated with the uniquely-written data.

7. An article of manufacture comprising a non-transitory processor-readable storage medium having stored therein program code of one or more software programs, wherein the program code is executable by one or more processors to implement a method comprising:

maintaining, by a snapshot management system, a snapshot volume tree for a storage volume of a storage system, wherein the snapshot volume tree comprises a data structure which comprises a plurality of snapshot volume nodes corresponding to respective ones of (i) a root volume and (ii) multiple snapshots related directly or indirectly to the root volume, wherein the snapshot volume nodes comprise respective longevity ranking values, wherein the longevity ranking value of a given snapshot volume node comprises a numeric value which represents a likelihood of the given snapshot volume node not being selected for deletion as compared to other snapshot volume nodes in the snapshot volume tree, as indicated by their respective longevity ranking values;

deleting, by the snapshot management system, a snapshot volume node from the snapshot volume tree in response to a snapshot delete command;

determining, by the snapshot management system, a set of candidate snapshot volume nodes within the snapshot volume tree which can assume ownership of uniquely-written data that is owned by the deleted snapshot volume node, wherein the determined set of candidate snapshot volume nodes comprises snapshot volume nodes within the snapshot volume tree which are readers of the uniquely-written data owned by the deleted snapshot volume node;

evaluating, by the snapshot management system, the longevity ranking values of the candidate snapshot volume nodes;

selecting, by the snapshot management system, a snapshot volume node from the set of candidate snapshot volume nodes to assume ownership of the uniquely-written data of the deleted snapshot volume node, based on the evaluation of the longevity ranking values; and

modifying metadata of the selected snapshot volume node to transfer the ownership of the uniquely-written data from the deleted snapshot volume node to the selected snapshot volume node.

8. The article of manufacture of claim 7 , wherein evaluating the longevity ranking values of the candidate snapshot volumes nodes comprises determining, by the snapshot management system, which of the candidate snapshot volume nodes has a highest longevity ranking value, and wherein the candidate snapshot volume determined to have the highest longevity ranking value is selected to assume ownership of the uniquely-written data of the deleted snapshot volume node.

9. The article of manufacture of claim 7 , further comprising deleting the uniquely-owned data of the deleted snapshot in response to determining that there are no candidate snapshot volume nodes in the snapshot volume tree which can assume ownership of the uniquely-written data of the deleted snapshot volume node.

10. The article of manufacture of claim 7 , further comprising assigning, by the snapshot management system, the respective longevity ranking values to the snapshot volume nodes based on explicit longevity information provided by a user when creating the snapshot volume nodes.

11. The article of manufacture of claim 7 , wherein the snapshot delete command comprises one of (i) an explicit delete command provided by a user interacting with the snapshot management system and (ii) a command that is automatically generated by the snapshot management system based on a snapshot retention policy.

12. The article of manufacture of claim 7 , wherein each data item of the uniquely-written data comprises metadata which identifies an owner volume node of the data item, and a read address of the data item, and wherein modifying the metadata of the selected snapshot volume node to transfer the ownership of the uniquely-written data from the deleted snapshot volume node to the selected snapshot volume node comprises modifying the metadata of the data items of the uniquely-written data to identify the selected snapshot volume node as the owner volume node of the data items associated with the uniquely-written data.

13. A server node, comprising:

at least one processor; and

system memory configured to store program code, wherein the program code is executable by the at least one processor to implement a snapshot management system which is configured to:

maintain a snapshot volume tree for a storage volume of a storage system, wherein the snapshot volume tree comprises a data structure which comprises a plurality of snapshot volume nodes corresponding to respective ones of (i) a root volume and (ii) multiple snapshots related directly or indirectly to the root volume, wherein the snapshot volume nodes comprise respective longevity ranking values, wherein the longevity ranking value of a given snapshot volume node comprises a numeric value which represents a likelihood of the given snapshot volume node not being selected for deletion as compared to other snapshot volume nodes in the snapshot volume tree, as indicated by their respective longevity ranking values;

delete a snapshot volume node from the snapshot volume tree in response to a snapshot delete command;

determine a set of candidate snapshot volume nodes within the snapshot volume tree which can assume ownership of uniquely-written data that is owned by the deleted snapshot volume node, wherein the determined set of candidate snapshot volume nodes comprises snapshot volume nodes within the snapshot volume tree which are readers of the uniquely-written data owned by the deleted snapshot volume node;

evaluate the longevity ranking values of the candidate snapshot volume nodes;

select a snapshot volume node from the set of candidate snapshot volume nodes to assume ownership of the uniquely-written data of the deleted snapshot volume node, based on the evaluation of the longevity ranking values; and

modify metadata of the selected snapshot volume node to transfer the ownership of the uniquely-written data from the deleted snapshot volume node to the selected snapshot volume node.

14. The server node of claim 13 , wherein in evaluating the longevity ranking values of the candidate snapshot volumes nodes, the snapshot management system is configured to determine which of the candidate snapshot volume nodes has a highest longevity ranking value, and wherein the candidate snapshot volume determined to have the highest longevity ranking value is selected to assume ownership of the uniquely-written data of the deleted snapshot volume node.

15. The server node of claim 13 , wherein the snapshot management system is configured to delete the uniquely-owned data of the deleted snapshot in response to determining that there are no candidate snapshot volume nodes in the snapshot volume tree which can assume ownership of the uniquely-written data of the deleted snapshot volume node.

16. The server node of claim 13 , wherein the snapshot management system is configured to assign the respective longevity ranking values to the snapshot volume nodes based on explicit longevity information provided by a user when creating the snapshot volume nodes.

17. The server node of claim 13 , wherein each data item of the uniquely-written data comprises metadata which identifies an owner volume node of the data item, and a read address of the data item, and wherein modifying the metadata of the selected snapshot volume node to transfer the ownership of the uniquely-written data from the deleted snapshot volume node to the selected snapshot volume node comprises modifying the metadata of the data items of the uniquely-written data to identify the selected snapshot volume node as the owner volume node of the data items associated with the uniquely-written data.

18. The server node of claim 13 , wherein the snapshot delete command comprises one of (i) an explicit delete command provided by a user interacting with the snapshot management system and (ii) a command that is automatically generated by the snapshot management system based on a snapshot retention policy.

Assignments (13)
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 (052851/0081) 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 060436/0441 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (052851/0917) 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 060436/0509 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (052852/0022) 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 060436/0582 →
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 AT REEL 052771 FRAME 0906 Recorded Nov 2, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 058001/0298 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 24, 2020
From: KELLER, ITAY; MILSTEIN, NIR; SHTARKMAN, YONATAN
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 053022/0794 →
SECURITY INTEREST Recorded Jun 5, 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 052852/0022 →
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 INTEREST Recorded Jun 5, 2020
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC; THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 052851/0081 →
SECURITY INTEREST Recorded Jun 5, 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 052851/0917 →
SECURITY AGREEMENT Recorded May 28, 2020
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
Reel/Frame 052771/0906 →
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 →
Continuity (1)
Related Publication 20210294774A1 · Sep 23, 2021
Cited By (3)
US 12,299,303 US 12,339,805 US 12,367,216