IP Library Granted Patent US 11,048,722
Granted Patent B2
US 11,048,722 · App. 16/050,247 · Granted Jun 29, 2021

Performance optimization for data persistency in asynchronous replication setups

Inventors: Zvi Schneider (Tel Aviv, IL); David Meiri (Somerville, MA)
Assignee: EMC IP Holding Company LLC
G06F16/273G06F12/0868G06F2212/1032G06F2212/281G06F2212/45
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,048,722
App. No.
16/050,247
Granted
Jun 29, 2021
Kind
B2
Abstract

In one aspect, performance optimization for data persistency in asynchronous replication setups includes creating at a source site of a data replication system, a snapshot (snapshot N) of input/output (IO) requests as part of a replication cycle, computing a delta of snapshot N and a previously created snapshot (snapshot N−1), and transmitting the delta to a target site of the data replication storage system. An aspect further includes storing, at the target site, snapshot N−1 during transmission of the delta, and caching the delta to a non-persistent storage device. Upon determining an occurrence of a loss event at the target site, a further aspect includes transmitting, by the target site, a request to retransmit the delta, retransmitting, by the source site, the delta to the target site, caching the delta to the non-persistent storage device until successful transmission of the delta, and committing the transmitted delta to permanent storage.

Claims (97)

1. A method, comprising:

creating, at a source site of a data replication storage system, a snapshot (snapshot N) of input/output (IO) requests as part of a replication cycle;

computing a delta of snapshot N and a previously created snapshot (snapshot N−1), the delta indicating a cycle N;

transmitting, by the source site, the delta of snapshot N and snapshot N−1 to a target site of the data replication storage system;

storing, at the target site, snapshot N−1 during transmission of the delta, and caching the delta to a non-persistent storage device;

upon determining an occurrence of a loss event at the target site, transmitting, by the target site to the source site, a request to retransmit the delta;

upon receiving the request from the target site to retransmit the delta, retransmitting, by the source site, the delta to the target site;

caching the delta to the non-persistent storage device until successful transmission of the delta;

committing the transmitted delta to permanent storage;

creating a next snapshot (snapshot N+1) for a next cycle (cycle N+1);

computing a delta between the snapshot N and the snapshot N+1, the delta of snapshot N and snapshot N+1 indicating the cycle N+1; and

transmitting the delta of snapshot N and snapshot N+1 to the target site;

wherein committing the delta to the permanent storage device comprises:

beginning transmission, by the source site, of cycle N+1 immediately after completing transmission of cycle N;

retaining, at the source site, snapshot N;

waiting, at the source site, for a notification from the target site that the next cycle N+1 is complete;

upon determining no notification has been received, determining whether a loss event has occurred at the target site;

if no loss event has occurred, waiting by the source site for the notification;

if a loss event has occurred, sending by the target site, a notification to the source site that a destage operation was unsuccessful;

retransmitting, by the source site to the target site upon receiving the notification, the delta of snapshot N and snapshot N+1; and

storing, by the target site, the retransmitted delta of snapshot N and snapshot N+1 to the non-persistent storage device.

2. The method of claim 1 , wherein committing the delta to the permanent storage device comprises:

waiting, at the source site, for confirmation from the target site that a destage operation of the transmitted delta has completed;

upon completion of the destage operation, transmitting by the target site to the source site, notification that the destage operation has completed; and

upon receiving the notification of completed destage operation, beginning transmission of the next cycle (cycle N+1) by the source site to the target site.

3. The method of claim 2 , further comprising marking, by the target site, the cache data as high priority destage, wherein committing the transmitted to permanent storage includes committing, by the target site, the cache data to disk.

4. The method of claim 1 , further comprising:

upon determining that the notification from the target site that the next cycle has completed:

deleting, by the source site, snapshot N; and

marking, by the target site, the cache data as high priority destage;

wherein committing the transmitted to permanent storage includes committing, by the target site, the cache data to disk.

5. The method of claim 1 , wherein the non-persistent storage device is a random access memory.

6. A system comprising:

a memory comprising computer-executable instructions; and

a processor operable by a storage system, the processor executing the computer-executable instructions, the computer-executable instructions when executed by the processor cause the processor to perform operations comprising:

creating, at a source site of a data replication storage system, a snapshot (snapshot N) of input/output (IO) requests as part of a replication cycle;

computing a delta of snapshot N and a previously created snapshot (snapshot N−1), the delta indicating a cycle N;

transmitting, by the source site, the delta of snapshot N and the snapshot N−1 to a target site of the data replication storage system;

storing, at the target site, snapshot N−1 during transmission of the delta, and caching the delta to a non-persistent storage device;

upon determining an occurrence of a loss event at the target site, transmitting, by the target site to the source site, a request to retransmit the delta;

upon receiving the request from the target site to retransmit the delta, retransmitting, by the source site, the delta to the target site;

caching the delta to the non-persistent storage device until successful transmission of the delta;

committing the transmitted delta to permanent storage;

creating a next snapshot (snapshot N+1) for a next cycle (cycle N+1);

computing a delta between the snapshot N and the snapshot N+1, the delta of snapshot N and snapshot N+1 indicating the cycle N+1; and

transmitting the delta of snapshot N and snapshot N+1 to the target site;

wherein committing the delta to the permanent storage device comprises:

beginning transmission, by the source site, of cycle N+1 immediately after completing transmission of cycle N;

retaining, at the source site, snapshot N;

waiting, at the source site, for a notification from the target site that the next cycle N+1 is complete;

upon determining no notification has been received, determining whether a loss event has occurred at the target site;

if no loss event has occurred, waiting by the source site for the notification;

if a loss event has occurred, sending by the target site, a notification to the source site that a destage operation was unsuccessful;

retransmitting, by the source site to the target site upon receiving the notification, the delta of snapshot N and snapshot N+1; and

storing, by the target site, the retransmitted delta of snapshot N and snapshot N+1 to the non-persistent storage device.

7. The system of claim 6 , wherein committing the delta to the permanent storage device comprises:

waiting, at the source site, for confirmation from the target site that a destage operation of the transmitted delta has completed;

upon completion of the destage operation, transmitting by the target site to the source site, notification that the destage operation has completed; and

upon receiving the notification of completed destage operation, beginning transmission of the next cycle (cycle N+1) by the source site to the target site.

8. The system of claim 7 , wherein the operations further comprise marking, by the target site, the cache data as high priority destage, wherein committing the transmitted to permanent storage includes committing, by the target site, the cache data to disk.

9. The system of claim 6 , wherein the operations further comprise:

upon determining that the notification from the target site that the next cycle has completed:

deleting, by the source site, snapshot N; and

marking, by the target site, the cache data as high priority destage;

wherein committing the transmitted to permanent storage includes committing, by the target site, the cache data to disk.

10. The system of claim 6 , wherein the non-persistent storage device is a random access memory.

11. A non-transitory computer readable medium comprising instructions that, when executed by a computer, causes the computer to perform operations comprising:

creating, at a source site of a data replication storage system, a snapshot (snapshot N) of input/output (IO) requests as part of a replication cycle;

computing a delta of snapshot N and a previously created snapshot (snapshot N−1), the delta indicating a cycle N;

transmitting, by the source site, the delta of snapshot N and snapshot N−1 to a target site of the data replication storage system;

storing, at the target site, snapshot N−1 during transmission of the delta, and caching the delta to a non-persistent storage device;

upon determining an occurrence of a loss event at the target site, transmitting, by the target site to the source site, a request to retransmit the delta;

upon receiving the request from the target site to retransmit the delta, retransmitting, by the source site, the delta to the target site;

caching the delta to the non-persistent storage device until successful transmission of the delta;

committing the transmitted delta to permanent storage;

creating a next snapshot (snapshot N+1) for a next cycle (cycle N+1);

computing a delta between the snapshot N and the snapshot N+1, the delta of snapshot N and snapshot N+1 indicating the cycle N+1; and

transmitting the delta of snapshot N and snapshot N+1 to the target site;

wherein committing the delta to the permanent storage device comprises:

beginning transmission, by the source site, of cycle N+1 immediately after completing transmission of cycle N;

retaining, at the source site, snapshot N;

waiting, at the source site, for a notification from the target site that the next cycle N+1 is complete;

upon determining no notification has been received, determining whether a loss event has occurred at the target site;

if no loss event has occurred, waiting by the source site for the notification;

if a loss event has occurred, sending by the target site, a notification to the source site that a destage operation was unsuccessful;

retransmitting, by the source site to the target site upon receiving the notification, the delta of snapshot N and snapshot N+1; and

storing, by the target site, the retransmitted delta of snapshot N and snapshot N+1 to the non-persistent storage device.

12. The non-transitory computer readable medium of claim 11 , wherein committing the delta to the permanent storage device comprises:

waiting, at the source site, for confirmation from the target site that a destage operation of the transmitted delta has completed;

upon completion of the destage operation, transmitting by the target site to the source site, notification that the destage operation has completed; and

upon receiving the notification of completed destage operation, beginning transmission of the next cycle (cycle N+1) by the source site to the target site.

13. The non-transitory computer readable medium of claim 12 , wherein the operations further comprise marking, by the target site, the cache data as high priority destage, wherein committing the transmitted to permanent storage includes committing, by the target site, the cache data to disk.

14. The non-transitory computer readable medium of claim 11 , wherein the operations further comprise:

upon determining that the notification from the target site that the next cycle has completed:

deleting, by the source site, snapshot N; and

marking, by the target site, the cache data as high priority destage;

wherein committing the transmitted to permanent storage includes committing, by the target site, the cache data to disk.

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 Aug 9, 2018
From: SCHNEIDER, ZVI; MEIRI, DAVID
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 046598/0798 →