IP Library › Granted Patent US 10,891,195
Granted Patent B2
US 10,891,195 · App. 16/357,957 · Granted Jan 12, 2021

Storage system with differential scanning of non-ancestor snapshot pairs in asynchronous replication

Inventor: Xiangping Chen (Sherborn, MA)
Assignee: EMC IP Holding Company LLC
G06F11/1451G06F3/0604G06F3/065G06F3/067G06F11/1464G06F16/9027G06F8/658G06F2201/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,891,195
App. No.
16/357,957
Filed
Mar 19, 2019
Granted
Jan 12, 2021
Kind
B2
Art Unit
2132
USPC
711/162
Abstract

An apparatus is configured to generate a current snapshot set for a consistency group comprising a plurality of storage volumes subject to replication from a source storage system to a target storage system, and to schedule a differential scan of the current snapshot set relative to a previous snapshot set generated for the consistency group. For each of one or more snapshot trees maintained for the consistency group, a determination is made as to whether or not a first node corresponding to the previous snapshot set is an ancestor of a second node corresponding to the current snapshot set, and a manner in which an instance of the differential scan is performed for the snapshot tree is altered responsive to a result of the determination.

Claims (71)

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 generate a current snapshot set for a consistency group comprising a plurality of storage volumes subject to replication from a source storage system to a target storage system;

to schedule a differential scan of the current snapshot set relative to a previous snapshot set generated for the consistency group;

for each of one or more snapshot trees maintained for the consistency group:

to determine if a first node corresponding to the previous snapshot set is an ancestor of a second node corresponding to the current snapshot set; and

to alter a manner in which an instance of the differential scan is performed for the snapshot tree responsive to a result of the determination.

2. The apparatus of claim 1 wherein said at least one processing device is implemented at least in part within the source storage system.

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

4. The apparatus of claim 1 wherein the storage volumes comprise respective logical storage volumes each comprising at least a portion of a physical storage space of one or more storage devices.

5. The apparatus of claim 1 wherein the replication of the consistency group comprises asynchronous replication of the consistency group carried out over a plurality of asynchronous replication cycles and wherein scheduling the differential scan comprises scheduling the differential scan for a given one of the replication cycles.

6. The apparatus of claim 5 wherein the instance of the differential scan is performed in the given replication cycle of the asynchronous replication of the consistency group.

7. The apparatus of claim 5 wherein results of performing the instance of the differential scan are transmitted from the source storage system to the target storage system in the given replication cycle.

8. The apparatus of claim 1 wherein the current snapshot set is derived from a restored version of at least a portion of the consistency group such that the first node corresponding to the previous snapshot set is not an ancestor of the second node corresponding to the current snapshot set.

9. The apparatus of claim 1 wherein a given one of the snapshot trees corresponding to a particular one of the storage volumes comprises:

a root node;

one or more branch nodes; and

a plurality of leaf nodes;

wherein a given one of the branch nodes represents a particular version of the storage volume from which a corresponding snapshot is taken;

wherein a first one of the leaf nodes which is a child of the given branch node represents a subsequent version of the storage volume; and

wherein a second one of the leaf nodes which is a child of the given branch node comprises the corresponding snapshot providing a point-in-time copy of the particular version of the storage volume.

10. The apparatus of claim 9 wherein at least one of the first and second nodes comprises a branch node of the snapshot tree.

11. The apparatus of claim 1 wherein a given one of the snapshot trees is associated with one or more additional trees including at least one of:

a dirty tree that characterizes updates to logical addresses of the corresponding storage volume; and

a hash tree comprising content-based signatures of respective ones of the logical addresses of the corresponding storage volume;

wherein the instance of the differential scan performed for the given snapshot tree comprises aggregating information of at least one of the dirty tree and the hash tree between designated nodes of the given snapshot tree.

12. The apparatus of claim 1 wherein determining if a first node corresponding to the previous snapshot set is an ancestor of a second node corresponding to the current snapshot set comprises:

inspecting a path from the second node towards a root node of the snapshot tree;

responsive to the first node being part of the path, determining that the first node is an ancestor of the second node; and

responsive to the first node not being part of the path, determining that the first node is not an ancestor of the second node.

13. The apparatus of claim 1 wherein altering a manner in which an instance of the differential scan is performed for the snapshot tree responsive to a result of the determination comprises:

performing a first type of differential scan comprising aggregating node metadata of a path from the second node to the first node responsive to the first node being an ancestor of the second node; and

performing a second type of differential scan different than the first type of differential scan responsive to the first node not being an ancestor of the second node.

14. The apparatus of claim 13 wherein the second type of differential scan comprises:

identifying a first path from the first node to a root node;

identifying a second path from the second node to the root node;

determining a lowest common ancestor between the first and second paths;

combining the first and second paths at the lowest common ancestor; and

aggregating node metadata of the combined first and second paths.

15. A method comprising:

generating a current snapshot set for a consistency group comprising a plurality of storage volumes subject to replication from a source storage system to a target storage system;

scheduling a differential scan of the current snapshot set relative to a previous snapshot set generated for the consistency group;

for each of one or more snapshot trees maintained for the consistency group:

determining if a first node corresponding to the previous snapshot set is an ancestor of a second node corresponding to the current snapshot set; and

altering a manner in which an instance of the differential scan is performed for the snapshot tree responsive to a result of the determination;

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 altering a manner in which an instance of the differential scan is performed for the snapshot tree responsive to a result of the determination comprises:

performing a first type of differential scan comprising aggregating node metadata of a path from the second node to the first node responsive to the first node being an ancestor of the second node; and

performing a second type of differential scan different than the first type of differential scan responsive to the first node not being an ancestor of the second node.

17. The method of claim 16 wherein the second type of differential scan comprises:

identifying a first path from the first node to a root node;

identifying a second path from the second node to the root node;

determining a lowest common ancestor between the first and second paths;

combining the first and second paths at the lowest common ancestor; and

aggregating node metadata of the combined first and second paths.

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 generate a current snapshot set for a consistency group comprising a plurality of storage volumes subject to replication from a source storage system to a target storage system;

to schedule a differential scan of the current snapshot set relative to a previous snapshot set generated for the consistency group;

for each of one or more snapshot trees maintained for the consistency group:

to determine if a first node corresponding to the previous snapshot set is an ancestor of a second node corresponding to the current snapshot set; and

to alter a manner in which an instance of the differential scan is performed for the snapshot tree responsive to a result of the determination.

19. The computer program product of claim 18 wherein altering a manner in which an instance of the differential scan is performed for the snapshot tree responsive to a result of the determination comprises:

performing a first type of differential scan comprising aggregating node metadata of a path from the second node to the first node responsive to the first node being an ancestor of the second node; and

performing a second type of differential scan different than the first type of differential scan responsive to the first node not being an ancestor of the second node.

20. The computer program product of claim 19 wherein the second type of differential scan comprises:

identifying a first path from the first node to a root node;

identifying a second path from the second node to the root node;

determining a lowest common ancestor between the first and second paths;

combining the first and second paths at the lowest common ancestor; and

aggregating node metadata of the combined first and second paths.

Assignments (9)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (050724/0466) 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; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO WYSE TECHNOLOGY L.L.C.)
Reel/Frame 060753/0486 →
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 AT REEL 050405 FRAME 0534 Recorded Nov 2, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; WYSE TECHNOLOGY L.L.C.
Reel/Frame 058001/0001 →
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; WYSE TECHNOLOGY L.L.C.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 050724/0466 →
SECURITY AGREEMENT Recorded Sep 17, 2019
From: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; WYSE TECHNOLOGY L.L.C.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
Reel/Frame 050405/0534 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 19, 2019
From: CHEN, XIANGPING
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 048637/0873 →
Continuity (1)
Related Publication 20200301784A1 · Sep 24, 2020
Cited By (1)
US 12,455,791