IP Library Granted Patent US 10,437,855
Granted Patent B1
US 10,437,855 · App. 15/662,809 · Granted Oct 8, 2019

Automatic verification of asynchronously replicated data

Inventors: William Stronge (Westford, MA); David Meiri (Somerville, MA)
Assignee: EMC IP Holding Company LLC
G06F16/273G06F11/1469G06F9/45558G06F2009/45583G06F2201/80
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,437,855
App. No.
15/662,809
Granted
Oct 8, 2019
Kind
B1
Abstract

An apparatus in one embodiment comprises a storage system having a plurality of storage devices. The storage system is associated with a target site and configured to participate in a cycle-based asynchronous replication process with a storage system of a source site. The storage system of the target site is configured to receive from the storage system of the source site, in respective ones of a plurality of cycles of the cycle-based asynchronous replication process, corresponding sets of differential data representing respective deltas between pairs of source site snapshots for respective pairs of the cycles. The storage system of the target site utilizes the sets of differential data received in the respective ones of the cycles to update respective target site snapshots for those cycles. Over multiple cycles, the storage system of the target site verifies that respective different portions of designated target site and source site snapshots are equivalent.

Claims (47)

1. An apparatus comprising:

a storage system comprising a plurality of storage devices;

the storage system being associated with a target site;

the storage system being configured to participate in a cycle-based asynchronous replication process with a storage system of a source site;

the storage system of the target site being further configured:

to receive from the storage system of the source site, in respective ones of a plurality of cycles of the cycle-based asynchronous replication process, corresponding sets of differential data representing respective deltas between pairs of source site snapshots for respective pairs of the cycles;

to utilize the sets of differential data received in the respective ones of the cycles to update respective target site snapshots for those cycles; and

over multiple ones of the cycles, to generate target site signatures for respective different portions of a designated one of the updated target site snapshots, to receive from the storage system of the source site corresponding source site signatures for respective different portions of a designated one of the source site snapshots, and to compare the target site and source site signatures in order to verify that the designated target site and source site snapshots are equivalent;

the verification of equivalence of the designated target site and source site snapshots thereby being spread over the multiple cycles with pairs of target site and source site signatures for the different portions of those snapshots being compared in respective ones of the multiple cycles;

wherein the different portions of the designated target site and source site snapshots have respective sizes determined as a function of a number of cycles of the cycle-based asynchronous replication process available for completion of the verification of equivalence of the designated target site and source site snapshots.

2. The apparatus of claim 1 wherein the target site and source site signatures comprise at least one of a checksum and a hash of corresponding portions of the designated target site and source site snapshots.

3. The apparatus of claim 1 wherein the different portions of the designated target site and source site snapshots for which the verification of equivalence is spread over the multiple cycles comprise respective percentages of the designated target site and source site snapshots.

4. The apparatus of claim 3 wherein different percentages of the designated target site and source site snapshots are utilized in different ones of the multiple cycles.

5. The apparatus of claim 3 wherein a fixed percentage of the designated target site and source site snapshots is utilized in each of the multiple cycles.

6. The apparatus of claim 5 wherein the target site and source site signatures for different n percent portions of the designated target site and source site snapshots are verified in each of 100/n of the cycles.

7. The apparatus of claim 1 wherein the different portions of the designated target site and source site snapshots for which the verification of equivalence is spread over the multiple cycles are determined at least in part based on a number n of the cycles of the cycle-based asynchronous replication process that are expected to be executed within a given time period.

8. The apparatus of claim 7 wherein the different portions of the designated target site and source site snapshots for which the verification of equivalence is spread over the multiple cycles are determined by first determining n for the given time period and then computing 100/n to determine a percentage of the designated target site and source site snapshots to be verified in each of the n cycles.

9. The apparatus of claim 1 wherein the different portions of the designated target site and source site snapshots for which the verification of equivalence is spread over the multiple cycles are dynamically adapted over time in order to control a lag time between initiation of transfer of a given one of the sets of differential data by the storage system of the source site and update of the corresponding target site snapshot by the storage system of the target site.

10. The apparatus of claim 1 wherein the different portions of the designated target site and source site snapshots for which the verification of equivalence is spread over the multiple cycles are dynamically adapted over time by:

for a current one of the multiple cycles, calculating a verification rate as a function of a time elapsed for verification of a given one of the portions in a previous one of the multiple cycles;

calculating an amount of time remaining in a recover point objective period for the current cycle; and

multiplying the verification rate by the amount of time remaining in the recover point objective period for the current cycle to determine a particular portion of the designated target site and source site snapshots to be verified in the current cycle.

11. The apparatus of claim 10 wherein if the particular portion determined by multiplying the verification rate by the amount of time remaining in the recover point objective period for the current cycle is less than a specified minimum portion, the minimum portion is verified in the current cycle.

12. The apparatus of claim 1 wherein the storage systems of the target and source sites comprise respective content addressable storage systems having respective sets of non-volatile memory storage devices.

13. The apparatus of claim 1 wherein the storage systems of the target and source sites comprise respective clustered storage systems having respective sets of storage nodes each having a plurality of storage devices.

14. The apparatus of claim 1 wherein target site comprises a disaster recovery site data center and the source site comprises a production site data center.

15. A method comprising:

configuring a storage system of a target site to participate in a cycle-based asynchronous replication process with a storage system of a source site; and

in conjunction with performance of the cycle-based asynchronous replication process, the storage system of the target site:

receiving from the storage system of the source site, in respective ones of a plurality of cycles of the cycle-based asynchronous replication process, corresponding sets of differential data representing respective deltas between pairs of source site snapshots for respective pairs of the cycles;

utilizing the sets of differential data received in the respective ones of the cycles to update respective target site snapshots for those cycles; and

over multiple ones of the cycles, generating target site signatures for respective different portions of a designated one of the updated target site snapshots, receiving from the storage system of the source site corresponding source site signatures for respective different portions of a designated one of the source site snapshots, and comparing the target site and source site signatures in order to verify that the designated target site and source site snapshots are equivalent;

the verification of equivalence of the designated target site and source site snapshots thereby being spread over the multiple cycles with pairs of target site and source site signatures for the different portions of those snapshots being compared in respective ones of the multiple cycles;

wherein the different portions of the designated target site and source site snapshots have respective sizes determined as a function of a number of cycles of the cycle-based asynchronous replication process available for completion of the verification of equivalence of the designated target site and source site snapshots; and

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 the different portions of the designated target site and source site snapshots for which the verification of equivalence is spread over the multiple cycles comprise respective percentages of the designated target site and source site snapshots.

17. The method of claim 15 wherein the different portions of the designated target site and source site snapshots for which the verification of equivalence is spread over the multiple cycles are dynamically adapted over time in order to control a lag time between initiation of transfer of a given one of the sets of differential data by the storage system of the source site and update of the corresponding target site snapshot by the storage system of the target site.

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 of a storage system of a target site causes said storage system of the target site:

to participate in a cycle-based asynchronous replication process with a storage system of a source site; and

in conjunction with performance of the cycle-based asynchronous replication process:

to receive from the storage system of the source site, in respective ones of a plurality of cycles of the cycle-based asynchronous replication process, corresponding sets of differential data representing respective deltas between pairs of source site snapshots for respective pairs of the cycles;

to utilize the sets of differential data received in the respective ones of the cycles to update respective target site snapshots for those cycles; and

over multiple ones of the cycles, to generate target site signatures for respective different portions of a designated one of the updated target site snapshots, to receive from the storage system of the source site corresponding source site signatures for respective different portions of a designated one of the source site snapshots, and to compare the target site and source site signatures in order to verify that the designated target site and source site snapshots are equivalent;

the verification of equivalence of the designated target site and source site snapshots thereby being spread over the multiple cycles with pairs of target site and source site signatures for the different portions of those snapshots being compared in respective ones of the multiple cycles;

wherein the different portions of the designated target site and source site snapshots have respective sizes determined as a function of a number of cycles of the cycle-based asynchronous replication process available for completion of the verification of equivalence of the designated target site and source site snapshots.

19. The computer program product of claim 18 wherein the different portions of the designated target site and source site snapshots for which the verification of equivalence is spread over the multiple cycles comprise respective percentages of the designated target site and source site snapshots.

20. The computer program product of claim 18 wherein the different portions of the designated target site and source site snapshots for which the verification of equivalence is spread over the multiple cycles are dynamically adapted over time in order to control a lag time between initiation of transfer of a given one of the sets of differential data by the storage system of the source site and update of the corresponding target site snapshot by the storage system of the target site.

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 (043775/0082) 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 060958/0468 →
RELEASE OF SECURITY INTEREST AT REEL 043772 FRAME 0750 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/0606 →
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 Sep 6, 2017
From: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 043772/0750 →
PATENT SECURITY AGREEMENT (NOTES) Recorded Sep 6, 2017
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 043775/0082 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 10, 2017
From: STRONGE, WILLIAM; MEIRI, DAVID
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 043262/0109 →
Cited By (5)
US 12,277,031 US 12,327,138 US 12,373,306 US 12,493,580 US 12,717,689