IP Library Granted Patent US 10,061,536
Granted Patent B2
US 10,061,536 · App. 15/086,349 · Granted Aug 28, 2018

Disk synchronization

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,061,536
App. No.
15/086,349
Granted
Aug 28, 2018
Kind
B2
Abstract

Embodiments of the present disclosure relate to a system, a computer program product and a method for synchronizing data between a source disk and a target disk in a cluster by performing synchronization between a source disk and a target disk, the synchronization being performed while a plurality of application I/Os on a plurality of nodes in a cluster are configured to access the source disk; and wherein a coordinator and a plurality of workers in the cluster are configured to manage copying data from the source disk to the target disk.

Claims (51)

1. A method for synchronizing data between a source disk and a target disk in a cluster, the method comprising:

performing synchronization between a source disk and a target disk, the synchronization being performed while a plurality of application I/Os on a plurality of nodes in a cluster are enabled to access the source disk; and wherein a coordinator and a plurality of workers in the cluster are configured to manage copying data from the source disk to the target disk,

wherein the coordinator defines a selected range [S,E] to be copied from a source disk to a target disk, wherein S is associated with a start value and E is associated with an end value of the range to be copied,

wherein the coordinator send a suspend status notification comprising the selected range [S,E] to be copied to the plurality of workers in the cluster,

wherein the worker on receiving the suspend status notification from the coordinator is configured to determine if an (any) outstanding fully overlapping application write I/Os exists, and

wherein the worker is configured to check for the presence of the outstanding fully overlapping application write I/Os, and on positive determination of the outstanding fully overlapping application write I/Os, the worker further configured to:

wait until the overlapping application write I/Os is completed;

clone (copy) application write I/Os to the target disk; and

send a copied status notification comprising a specified range [S 1 , E 1 ], wherein S 1 is associated with a start value and E 1 is associated with an end value of the range corresponding to the overlapping application write I/Os.

2. The method of claim 1 , further comprises managing synchronization of a subsequent unsynchronized portion of the source disk and target disk.

3. The method of claim 1 , wherein the worker is further configured to check for an outstanding overlapping write I/Os and on negative determination, the worker is configured to

suspend conflicting application write I/O clones to the target disk;

wait for the conflicting outstanding application write I/O clones on target disk to drain.

4. The method of claim 3 , wherein during the wait for the outstanding conflicting application write I/O on the target disk to drain, if a new fully overlapping application write I/O is received, the worker further configured to resume the application write I/O clones to the target disk;

issue the application write I/O to the source disk;

clone (copy) the application write I/O to the target disk; and

send a copied status notification of the specified range [S 1 ,E 1 ] to the coordinator, wherein S 1 is associated with a start value and E 1 is associated with an end value of the range corresponding to the overlapping application write I/O.

5. The method of claim 3 , wherein during the wait for the outstanding conflicting application write I/O to drain, if a new fully overlapping application write I/O is not received, the worker being further configured to

send a suspended status notification to the coordinator.

6. The method of claim 5 , wherein the coordinator on receiving the suspended status notification from all the workers in the cluster is configured to

copy the selected range [S,E];

mark the selected range [S,E] as synchronized;

send a resume status notification to all the workers in the cluster; and

wait for all the workers to respond, and when all the workers respond with a success status notification in response to the resume status notification, shift to a subsequent next range to be copied.

7. A method for synchronizing data between a source disk and a target disk in a cluster, the method comprising:

performing synchronization between a source disk and a target disk, the synchronization being performed while a plurality of application I/Os on a plurality of nodes in a cluster are enabled to access the source disk; and wherein a coordinator and a plurality of workers in the cluster are configured to manage copying data from the source disk to the target disk,

wherein the coordinator defines a selected range [S,E] to be copied from a source disk to a target disk, wherein S is associated with a start value and E is associated with an end value of the range to be copied,

wherein the coordinator send a suspend status notification comprising the selected range [S,E] to be copied to the plurality of workers in the cluster,

wherein the coordinator in response to suspend status notification, on receiving the copied status notification from any of the plurality of workers in the cluster is configured to

mark specified range [S 1 ,E 1 ] as synchronized;

send the resume status notification to the plurality of workers in the cluster; and

wait for all workers to respond, and when all the workers respond with a success status notification in response to the resume status notification, shift to a subsequent next range to be copied.

8. The method of claim 1 , wherein the coordinator in response to suspend status notification, is configured to receive an error status notification from any of the plurality of workers in the cluster, and to interrupt synchronization between the source disk and the target disk with an error.

9. The method of claim 1 , wherein the coordinator in response to suspend status notification, is configured to receive a timeout status notification from any of the plurality of workers in the cluster, and to interrupt synchronization between the source disk and the target disk with an error.

10. The method of claim 1 , wherein the coordinator in response to resume status notification is configured to receive the error status notification, and to interrupt synchronization between the source disk and the target disk with an error.

11. The method of claim 1 , wherein the coordinator in response to resume status notification is configured to receive the timeout status notification from any of the plurality of workers in the cluster, and to interrupt synchronization between the source disk and the target disk with an error.

12. The method of claim 5 , wherein any of the plurality of workers on receiving the resume status notification from the coordinator is configured to resume a suspended I/O and send the success status notification to all the workers if all the I/Os were suspended starting from the time of the suspended status notification until the I/O is resumed.

13. The method of claim 5 , wherein any of the plurality of workers on receiving the resume status notification from the coordinator is configured to send error status notification if all the I/O were not suspended starting from the time of the suspended status notification till resume status notification.

14. An apparatus, comprising:

electronic hardware circuitry configured to:

perform synchronization between a source disk and a target disk, the synchronization being performed while a plurality of application I/Os on a plurality of nodes in a cluster are enabled to access the source disk,

wherein a coordinator and a plurality of workers in the cluster are configured to manage copying data from the source disk to the target disk,

wherein the coordinator defines a selected range [S,E] to be copied from a source disk to a target disk, wherein S is associated with a start value and E is associated with an end value of the range to be copied,

wherein the coordinator send a suspend status notification comprising the selected range [S,E] to be copied to the plurality of workers in the cluster,

wherein the worker on receiving the suspend status notification from the coordinator is configured to determine if an (any) outstanding fully overlapping application write I/Os exists, and

wherein the worker is configured to check for the presence of the outstanding fully overlapping application write I/Os, and on positive determination of the outstanding fully overlapping application write I/Os, the worker further configured to:

wait until the overlapping application write I/Os is completed;

clone (copy) application write I/Os to the target disk; and

send a copied status notification comprising a specified range [S 1 ,E 1 ], wherein S 1 is associated with a start value and E 1 is associated with an end value of the range corresponding to the overlapping application write I/Os,

wherein the circuitry comprises at least one of a processor, a memory, a programmable logic device or a logic gate.

15. The apparatus of claim 14 , further comprising circuitry configured to manage synchronization of a subsequent unsynchronized portion of the source disk and target disk.

Assignments (5)
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 →
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 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 3, 2017
From: EMC CORPORATION
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 041872/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 20, 2016
From: AGARKOV, VADIM; STOROZHEVYKH, SERGEY; VAZHENIN, MAKSIM; VOLZHEV, ILYA; BAPPE, MICHAEL E.
To: EMC CORPORATION
Reel/Frame 038331/0082 →