IP Library Granted Patent US 10,929,239
Granted Patent B2
US 10,929,239 · App. 16/516,539 · Granted Feb 23, 2021

Storage system with snapshot group merge functionality

Inventors: Anton Kucherov (Dudley, MA); David Meiri (Somerville, MA)
Assignee: EMC IP Holding Company LLC
G06F11/1448G06F3/0604G06F3/065G06F3/067G06F3/0608G06F3/0658G06F3/0665G06F11/1469G06F16/9027G06K9/6201G06F9/45558
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,929,239
App. No.
16/516,539
Granted
Feb 23, 2021
Kind
B2
Abstract

An apparatus includes at least one processing device comprising a processor coupled to a memory, with the processing device being configured to identify a first storage volume of a first snapshot group of a storage system, to identify a second storage volume that is not part of the first snapshot group of the storage system but contains at least a threshold amount of matching data relative to the first storage volume, and to merge the second storage volume into the first snapshot group. The processing device illustratively comprises a storage controller of the storage system. The storage system may be implemented as a clustered storage system comprising a plurality of storage nodes. Each storage node may comprise a set of processing modules of a distributed storage controller of the clustered storage system.

Claims (49)

1. An apparatus comprising:

at least one processing device comprising a processor coupled to a memory;

said at least one processing device being configured:

to identify a first storage volume of a first snapshot group of a storage system;

to identify a second storage volume that is not part of the first snapshot group of the storage system but contains at least a threshold amount of matching data relative to the first storage volume; and

to merge the second storage volume into the first snapshot group.

2. The apparatus of claim 1 wherein said at least one processing device comprises a storage controller of the storage system.

3. The apparatus of claim 2 wherein the storage system comprises a plurality of storage nodes each comprising a set of processing modules configured to communicate with corresponding sets of processing modules on other ones of the storage nodes, the sets of processing modules of the storage nodes of the source storage system collectively comprising at least a portion of the storage controller of the storage system.

4. The apparatus of claim 1 wherein the first snapshot group is in the form of a first snapshot tree having a first root node.

5. The apparatus of claim 4 wherein the second storage volume prior to its merger into the first snapshot group is part of a second snapshot group in the form of a second snapshot tree having a second root node different than the first root node.

6. The apparatus of claim 1 wherein identifying a second storage volume that is not part of the first snapshot group of the storage system but contains at least a threshold amount of matching data relative to the first storage volume comprises:

comparing a portion of each of a plurality of storage volumes to a corresponding portion of the first storage volume to determine amounts of matching data relative to the first storage volume; and

identifying the second storage volume from among the plurality of storage volumes based at least in part on results of the comparing.

7. The apparatus of claim 6 wherein comparing a portion of each of a plurality of storage volumes to a corresponding portion of the first storage volume to determine amounts of matching data relative to the first storage volume comprises comparing content-based signatures of respective designated data pages of each of the plurality of storage volumes to content-based signatures of respective designated data pages of the first storage volume.

8. The apparatus of claim 7 wherein the content-based signatures comprise at least one of respective hash handles of the designated data pages and respective hash digests of the designated data pages.

9. The apparatus of claim 7 wherein the portions of the storage volumes comprise respective slices of the storage volumes.

10. The apparatus of claim 7 wherein the amounts of matching data for respective ones of the plurality of storage volumes are determined as numbers of data pages having content-based signatures that match content-based signatures of the corresponding data pages of the first storage volume.

11. The apparatus of claim 6 wherein comparing a portion of each of a plurality of storage volumes to a corresponding portion of the first storage volume to determine amounts of matching data relative to the first storage volume comprises:

performing a first level comparison using a first sample of data pages of the plurality of storage volumes; and

for any of the plurality of storage volumes found to satisfy the first level comparison, performing a second level comparison using a second sample of data pages of those storage volumes, wherein the second sample of data pages is larger than the first sample of data pages.

12. The apparatus of claim 6 wherein identifying the second storage volume from among the plurality of storage volumes based at least in part on results of the comparing comprises identifying the second storage volume as a particular one of the plurality of storage volumes exhibiting a highest amount of matching data among the plurality of storage volumes.

13. The apparatus of claim 1 wherein merging the second storage volume into the first snapshot group comprises:

generating respective first and second snapshots of the respective first and second storage volumes;

for each of a plurality of data pages of the second snapshot, comparing a content-based signature of that data page to a content-based signature of a corresponding data page of the first snapshot, and for any mismatched data page, modifying the data page of the first snapshot to match the data page of the second snapshot; and

merging the second storage volume and the first snapshot such that the second storage volume corresponds to a snapshot of the first storage volume in the first snapshot group.

14. The apparatus of claim 13 wherein merging the second storage volume into the first snapshot group further comprises deleting the second snapshot and a previous root node of the second storage volume.

15. A method comprising:

identifying a first storage volume of a first snapshot group of a storage system;

identifying a second storage volume that is not part of the first snapshot group of the storage system but contains at least a threshold amount of matching data relative to the first storage volume; and

merging the second storage volume into the first snapshot group;

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

16. The method of claim 15 wherein identifying a second storage volume that is not part of the first snapshot group of the storage system but contains at least a threshold amount of matching data relative to the first storage volume comprises:

comparing a portion of each of a plurality of storage volumes to a corresponding portion of the first storage volume to determine amounts of matching data relative to the first storage volume; and

identifying the second storage volume from among the plurality of storage volumes based at least in part on results of the comparing.

17. The method of claim 15 wherein merging the second storage volume into the first snapshot group comprises:

generating respective first and second snapshots of the respective first and second storage volumes;

for each of a plurality of data pages of the second snapshot, comparing a content-based signature of that data page to a content-based signature of a corresponding data page of the first snapshot, and for any mismatched data page, modifying the data page of the first snapshot to match the data page of the second snapshot; and

merging the second storage volume and the first snapshot such that the second storage volume corresponds to a snapshot of the first storage volume in the first snapshot group.

18. 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 identify a first storage volume of a first snapshot group of a storage system;

to identify a second storage volume that is not part of the first snapshot group of the storage system but contains at least a threshold amount of matching data relative to the first storage volume; and

to merge the second storage volume into the first snapshot group.

19. The computer program product of claim 18 wherein identifying a second storage volume that is not part of the first snapshot group of the storage system but contains at least a threshold amount of matching data relative to the first storage volume comprises:

comparing a portion of each of a plurality of storage volumes to a corresponding portion of the first storage volume to determine amounts of matching data relative to the first storage volume; and

identifying the second storage volume from among the plurality of storage volumes based at least in part on results of the comparing.

20. The computer program product of claim 18 wherein merging the second storage volume into the first snapshot group comprises:

generating respective first and second snapshots of the respective first and second storage volumes;

for each of a plurality of data pages of the second snapshot, comparing a content-based signature of that data page to a content-based signature of a corresponding data page of the first snapshot, and for any mismatched data page, modifying the data page of the first snapshot to match the data page of the second snapshot; and

merging the second storage volume and the first snapshot such that the second storage volume corresponds to a snapshot of the first storage volume in the first snapshot group.

Assignments (9)
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 (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 (050724/0571) 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 060436/0088 →
RELEASE OF SECURITY INTEREST AT REEL 050406 FRAME 421 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 058213/0825 →
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 →
PATENT SECURITY AGREEMENT (NOTES) Recorded Oct 15, 2019
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 050724/0571 →
SECURITY AGREEMENT Recorded Sep 17, 2019
From: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
Reel/Frame 050406/0421 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 19, 2019
From: KUCHEROV, ANTON; MEIRI, DAVID
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 049799/0955 →