IP Library Granted Patent US 11,675,612
Granted Patent B2
US 11,675,612 · App. 16/803,626 · Granted Jun 13, 2023

Achieving near-zero added latency for modern any point in time VM replication

Inventors: Kfir Wolfson (Beer Sheva, IL); Itay Azaria (Dimona, IL); Jehuda Shemer (Kfar Saba, IL); Saar Cohen (Mishmeret, IL)
Assignee: EMC IP HOLDING COMPANY LLC
G06F9/45558G06F11/1464G06F11/1471G06F12/0238G11C7/10G06F2009/4557G06F2009/45575G06F2009/45579
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,675,612
App. No.
16/803,626
Granted
Jun 13, 2023
Kind
B2
Abstract

One example method includes intercepting an IO issued by an application of a VM, the IO including IO data and IO metadata, storing the IO data in an IO buffer, writing the IO metadata and a pointer, but not the IO data, to a splitter journal in memory, wherein the pointer points to the IO data in the IO buffer, forwarding the IO to storage, and asynchronous with operations occurring along an IO path between the application and storage, evacuating the splitter journal by sending the IO data and the IO metadata from the splitter journal to a replication site.

Claims (34)

1. A method, comprising:

intercepting an input/output request (IO) issued by an application of a virtual machine (VM), the IO including IO data and IO metadata;

storing the IO data in an IO buffer;

writing the IO metadata and a pointer, but not the IO data, to a splitter journal in memory, wherein the pointer points to the IO data in the IO buffer;

forwarding the IO to storage; and

asynchronous with operations occurring along an IO path between the application and storage, evacuating the splitter journal by sending the IO metadata and the IO data from the splitter journal to a replication site.

2. The method as recited in claim 1 , wherein writing the pointer and IO metadata to the splitter journal site does not increase a latency associated with the operations between the application and storage.

3. The method as recited in claim 1 , further comprising, asynchronous with operations occurring along an IO path between the application and storage, sending the IO data from the IO buffer to the replication site.

4. The method as recited in claim 1 , further comprising maintaining write order fidelity of incoming IOs from the VM as the VM migrates from a first host to a second host, and maintaining write order fidelity comprises marking each incoming IO with a session number.

5. The method as recited in claim 1 , further comprising receiving IOs from two different hosts as the VM migrates from one of the hosts to the other host, and maintaining write order fidelity of the IOs.

6. The method as recited in claim 1 , further comprising experiencing a crash of the VM and, after restart of the VM, resuming evacuation of the splitter journal at a point where evacuation had previously ceased due to the crash of the VM.

7. The method as recited in claim 1 , wherein after replication of IOs to the replication site has been suspended due to a lack of communication between the VM and the replication site, the method further comprises either:

resynchronizing a replication disk with a disk of the VM if communication between the VM and the replication site does not resume within a user-specified time period; or

if communication between the VM and the replication site resumes within the user-specified time period, recommencing splitter journal evacuation.

8. The method as recited in claim 1 , wherein the memory comprises non-volatile memory (NVM).

9. The method as recited in claim 1 , wherein part of the method is performed inside a hypervisor kernel.

10. The method as recited in claim 1 , wherein the IO path comprises a path between the application and a splitter, and a path between the splitter and the storage.

11. A non-transitory storage medium having stored therein instructions that are executable by one or more hardware processors to perform operations comprising:

intercepting an input/output request (IO) issued by an application of a virtual machine (VM), the IO including IO data and IO metadata;

storing the IO data in an IO buffer;

writing the IO metadata and a pointer, but not the IO data, to a splitter journal in memory, wherein the pointer points to the IO data in the IO buffer;

forwarding the IO to storage; and

asynchronous with operations occurring along an IO path between the application and storage, evacuating the splitter journal by sending the IO metadata and the IO data from the splitter journal to a replication site.

12. The non-transitory storage medium as recited in claim 11 , wherein writing the pointer and IO metadata to the splitter journal site does not increase a latency associated with the operations between the application and storage.

13. The non-transitory storage medium as recited in claim 11 , wherein the operations further comprise, asynchronous with operations occurring along an IO path between the application and storage, sending the IO data from the IO buffer to the replication site.

14. The non-transitory storage medium as recited in claim 11 , wherein the operations further comprise maintaining write order fidelity of incoming IOs from the VM as the VM migrates from a first host to a second host, and maintaining write order fidelity comprises marking each incoming IO with a session number.

15. The non-transitory storage medium as recited in claim 11 , wherein the operations further comprise receiving IOs from two different hosts as the VM migrates from one of the hosts to the other host, and maintaining write order fidelity of the IOs.

16. The non-transitory storage medium as recited in claim 11 , wherein the operations further comprise experiencing a crash of the VM and, after restart of the VM, resuming evacuation of the splitter journal at a point where evacuation had previously ceased due to the crash of the VM.

17. The non-transitory storage medium as recited in claim 11 , wherein after replication of IOs to the replication site has been suspended due to a lack of communication between the VM and the replication site, the operations further comprise either:

resynchronizing a replication disk with a disk of the VM if communication between the VM and the replication site does not resume within a user-specified time period; or

if communication between the VM and the replication site resumes within the user-specified time period, recommencing splitter journal evacuation.

18. The non-transitory storage medium as recited in claim 11 , wherein the memory comprises non-volatile memory (NVM).

19. The non-transitory storage medium as recited in claim 11 , wherein one or more of the operations are performed inside a hypervisor kernel.

20. The non-transitory storage medium as recited in claim 11 , wherein the IO path comprises a path between the application and a splitter, and a path between the splitter and the storage.

Assignments (13)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (052851/0081) 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 IP HOLDING COMPANY LLC
Reel/Frame 060436/0441 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (052851/0917) 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 IP HOLDING COMPANY LLC
Reel/Frame 060436/0509 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (052852/0022) 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 IP HOLDING COMPANY LLC
Reel/Frame 060436/0582 →
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 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 AT REEL 052771 FRAME 0906 Recorded Nov 2, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 058001/0298 →
SECURITY INTEREST Recorded Jun 5, 2020
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC; THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 052851/0081 →
SECURITY INTEREST Recorded Jun 5, 2020
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 052851/0917 →
SECURITY INTEREST Recorded Jun 5, 2020
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 052852/0022 →
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 May 28, 2020
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
Reel/Frame 052771/0906 →
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 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 27, 2020
From: WOLFSON, KFIR; AZARIA, ITAY; SHEMER, JEHUDA; COHEN, SAAR
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 051955/0117 →