IP Library Granted Patent US 11,593,396
Granted Patent B2
US 11,593,396 · App. 17/029,508 · Granted Feb 28, 2023

Smart data offload sync replication

Inventors: Xiangping Chen (Sherborn, MA); David Meiri (Somerville, MA)
Assignee: EMC IP Holding Company LLC
G06F16/27G06F13/20G06F16/178
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,593,396
App. No.
17/029,508
Granted
Feb 28, 2023
Kind
B2
Abstract

A method is provided, comprising: receiving, from a host device, a request to create a token that represents one or more data items that are stored in a first volume, the first volume being stored in a source system; estimating an I/O latency limit for the first volume; estimating a token creation time for the token; comparing the token creation time to the I/O latency limit; when the token creation time matches the I/O latency limit: creating the token, creating a snapshot pair, mapping the token to the snapshot pair, and returning the token to the host device; when the token creation time does not match the I/O latency limit: creating the token, creating a first snapshot of the first volume at the source system, mapping the first snapshot to the token, and returning the token to the host device.

Claims (61)

1. A method, comprising:

receiving, from a host device, a request to create a token that represents one or more data items that are stored in a first volume, the first volume being stored in a source system;

estimating an input-output (I/O) latency limit for the first volume;

estimating a token creation time for the token, the token creation time being an amount of time that is needed to create the token;

comparing the token creation time to the I/O latency limit;

when the token creation time matches the I/O latency limit: creating the token, creating a snapshot pair, mapping the token to the snapshot pair, and returning the token to the host device, the snapshot pair including a first snapshot of the first volume that is created at the source system and a second snapshot of a replica of the first volume that is stored at a target system; and

when the token creation time does not match the I/O latency limit: creating the token, creating a first snapshot of the first volume at the source system, mapping the first snapshot to the token, and returning the token to the host device.

2. The method of claim 1 , wherein no snapshots of the replica of the first volume are created in response to the request to create a token, when the token creation time does not match the I/O latency limit.

3. The method of claim 1 , wherein the I/O latency limit is estimated based on at least one of: (i) a QoS configuration of the source system, (ii) an application profile that is associated with the first volume, or (iii) a workload on the source system.

4. The method of claim 1 , wherein the token creation time is estimated based on one or more of: (i) time to suspend and drain pending I/Os that are associated with the first volume, (ii) historical data associated with one or more snapshots of the first volume that were created in the past, and (iii) historical data associated with one or more snapshots of the replica of the first volume that were created in the past.

5. The method of claim 1 , wherein:

creating the snapshot pair includes initiating a process for creating the snapshot pair,

the snapshot pair is created only when no conditions for terminating the process are detected during execution of the process, and

when a condition for terminating the process is detected during the execution of the process, the process is aborted, and only the first snapshot of the first volume is created and mapped to the token.

6. The method of claim 1 , further comprising:

receiving, at the source system, a first write-via-token command that is associated with the token, the first write-via-token command instructing the source system to copy the one or more data items from the first volume to a second volume;

detecting whether the token is mapped to a snapshot pair or to a single snapshot;

when the token is mapped to a snapshot pair: copying the one or more data items from the first volume to the second volume, and transmitting to the target system a second write-via-token command that instructs the target system to copy to the one or more data items from the replica of the first volume to a replica of the second volume; and

when the token is mapped to a single snapshot: copying the one or more data items from the first volume to the second volume; and transmitting to the target system one or more write-via-hash commands that instruct the target system to copy to the one or more data items from the replica of the first volume to the replica of the second volume.

7. The method of claim 1 , wherein the source system and the target system are part of a content-addressable storage system.

8. A computing system, comprising:

a memory; and

at least one processor that is operatively coupled to the memory, the at least one processor being configured to perform the operations of:

receiving, from a host device, a request to create a token that represents one or more data items that are stored in a first volume, the first volume being stored in a source system;

estimating an input-output (I/O) latency limit for the first volume;

estimating a token creation time for the token, the token creation time being an amount of time that is needed to create the token;

comparing the token creation time to the I/O latency limit;

when the token creation time matches the I/O latency limit: creating the token, creating a snapshot pair, mapping the token to the snapshot pair, and returning the token to the host device, the snapshot pair including a first snapshot of the first volume that is created at the source system and a second snapshot of a replica of the first volume that is stored at a target system; and

when the token creation time does not match the I/O latency limit: creating the token, creating a first snapshot of the first volume at the source system, mapping the first snapshot to the token, and returning the token to the host device.

9. The computing system of claim 8 , wherein no snapshots of the replica of the first volume are created in response to the request to create a token, when the token creation time does not match the I/O latency limit.

10. The computing system of claim 8 , wherein the I/O latency limit is estimated based on at least one of: (i) a QoS configuration of the source system, (ii) an application profile that is associated with the first volume, or (iii) a workload on the source system.

11. The computing system of claim 8 , wherein the token creation time is estimated based on one or more of: (i) time to suspend and drain pending I/Os that are associated with the first volume, (ii) historical data associated with one or more snapshots of the first volume that were created in the past, and (iii) historical data associated with one or more snapshots of the replica of the first volume that were created in the past.

12. The computing system of claim 8 , wherein:

creating the snapshot pair includes initiating a process for creating the snapshot pair,

the snapshot pair is created only when no conditions for terminating the process are detected during execution of the process, and

when a condition for terminating the process is detected during the execution of the process, the process is aborted, and only the first snapshot of the first volume is created and mapped to the token.

13. The computing system of claim 8 , wherein the at least one processor is further configured to perform the operations of:

receiving, at the source system, a first write-via-token command that is associated with the token, the first write-via-token command instructing the source system to copy the one or more data items from the first volume to a second volume;

detecting whether the token is mapped to a snapshot pair or to a single snapshot;

when the token is mapped to a snapshot pair: copying the one or more data items from the first volume to the second volume, and transmitting to the target system a second write-via-token command that instructs the target system to copy to the one or more data items from the replica of the first volume to a replica of the second volume; and

when the token is mapped to a single snapshot: copying the one or more data items from the first volume to the second volume; and transmitting to the target system one or more write-via-hash commands that instruct the target system to copy to the one or more data items from the replica of the first volume to the replica of the second volume.

14. The computing system of claim 8 , wherein the source system and the target system are part of a content-addressable storage system, and the computing system is part of the source system.

15. A non-transitory computer-readable medium storing one or more processor-executable instructions, which, when executed by at least one processor, cause the at least one processor to perform the operations of:

receiving, from a host device, a request to create a token that represents one or more data items that are stored in a first volume, the first volume being stored in a source system;

estimating an input-output (I/O) latency limit for the first volume;

estimating a token creation time for the token, the token creation time being an amount of time that is needed to create the token;

comparing the token creation time to the I/O latency limit;

when the token creation time matches the I/O latency limit: creating the token, creating a snapshot pair, mapping the token to the snapshot pair, and returning the token to the host device, the snapshot pair including a first snapshot of the first volume that is created at the source system and a second snapshot of a replica of the first volume that is stored at a target system; and

when the token creation time does not match the I/O latency limit: creating the token, creating a first snapshot of the first volume at the source system, mapping the first snapshot to the token, and returning the token to the host device.

16. The non-transitory computer-readable medium of claim 15 , wherein no snapshots of the replica of the first volume are created in response to the request to create a token, when the token creation time does not match the I/O latency limit.

17. The non-transitory computer-readable medium of claim 15 , wherein the I/O latency limit is estimated based on at least one of: (i) a QoS configuration of the source system, (ii) an application profile that is associated with the first volume, or (iii) a workload on the source system.

18. The non-transitory computer-readable medium of claim 15 , wherein the token creation time is estimated based on one or more of: (i) time to suspend and drain pending I/Os that are associated with the first volume, (ii) historical data associated with one or more snapshots of the first volume that were created in the past, and (iii) historical data associated with one or more snapshots of the replica of the first volume that were created in the past.

19. The non-transitory computer-readable medium of claim 15 , wherein:

creating the snapshot pair includes initiating a process for creating the snapshot pair,

the snapshot pair is created only when no conditions for terminating the process are detected during execution of the process, and

when a condition for terminating the process is detected during the execution of the process, the process is aborted, and only the first snapshot of the first volume is created and mapped to the token.

20. The non-transitory computer-readable medium of claim 15 , wherein the one or more processor-executable instructions, when executed by the at least one processor, further cause the at least one processor to perform the operation of:

receiving, at the source system, a first write-via-token command that is associated with the token, the first write-via-token command instructing the source system to copy the one or more data items from the first volume to a second volume;

detecting whether the token is mapped to a snapshot pair or to a single snapshot;

when the token is mapped to a snapshot pair: copying the one or more data items from the first volume to the second volume, and transmitting to the target system a second write-via-token command that instructs the target system to copy to the one or more data items from the replica of the first volume to a replica of the second volume; and

when the token is mapped to a single snapshot: copying the one or more data items from the first volume to the second volume; and transmitting to the target system one or more write-via-hash commands that instruct the target system to copy to the one or more data items from the replica of the first volume to the replica of the second volume.

Assignments (9)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (054475/0523) Recorded Jun 10, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: EMC IP HOLDING COMPANY LLC; DELL PRODUCTS L.P.
Reel/Frame 060332/0664 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (054475/0434) Recorded Jun 10, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: EMC IP HOLDING COMPANY LLC; DELL PRODUCTS L.P.
Reel/Frame 060332/0740 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (054475/0609) Recorded Jun 10, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: EMC IP HOLDING COMPANY LLC; DELL PRODUCTS L.P.
Reel/Frame 062021/0570 →
RELEASE OF SECURITY INTEREST AT REEL 054591 FRAME 0471 Recorded Nov 2, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 058001/0463 →
SECURITY INTEREST Recorded Nov 18, 2020
From: EMC IP HOLDING COMPANY LLC; DELL PRODUCTS L.P.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 054475/0609 →
SECURITY INTEREST Recorded Nov 18, 2020
From: EMC IP HOLDING COMPANY LLC; DELL PRODUCTS L.P.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 054475/0434 →
SECURITY INTEREST Recorded Nov 18, 2020
From: EMC IP HOLDING COMPANY LLC; DELL PRODUCTS L.P.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 054475/0523 →
SECURITY AGREEMENT Recorded Nov 13, 2020
From: EMC IP HOLDING COMPANY LLC; DELL PRODUCTS L.P.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
Reel/Frame 054591/0471 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 24, 2020
From: CHEN, XIANGPING; MEIRI, DAVID
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 053866/0889 →