IP Library Granted Patent US 11,669,388
Granted Patent B2
US 11,669,388 · App. 17/494,826 · Granted Jun 6, 2023

Managing the migration of virtual machines in the presence of uncorrectable memory errors

Inventors: Sowgandh Sunil Gadi (San Jose, CA); Rajesh Venkatasubramanian (San Jose, CA); Venkata Subhash Reddy Peddamallu (Sunnyvale, CA); Arunachalam Ramanathan (Palo Alto, CA); Timothy P Mann (Palo Alto, CA); Frederick Joseph Jacobs (Palo Alto, CA)
Assignee: VMware, Inc.
G06F11/0793G06F9/45558G06F11/079G06F11/0712G06F11/0727G06F11/0751G06F2009/4557G06F2009/45583
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,669,388
App. No.
17/494,826
Granted
Jun 6, 2023
Kind
B2
Abstract

Techniques for migrating virtual machines (VMs) in the presence of uncorrectable memory errors are provided. According to one set of embodiments, a source host hypervisor of a source host system can determine, for each guest memory page of a VM to be migrated from the source host system to a destination host system, whether the guest memory page is impacted by an uncorrectable memory error in a byte-addressable memory of the source host system. If the source host hypervisor determines that the guest memory page is impacted, the source host hypervisor can transmit a data packet to a destination host hypervisor of the destination host system that includes error metadata identifying the guest memory page as being corrupted. Alternatively, if the source host hypervisor determines that the guest memory page is not impacted, the source host hypervisor can attempt to read the guest memory page from the byte-addressable memory in a memory exception-safe manner.

Claims (45)

1. A method comprising, at a time of executing a live migration of a virtual machine (VM) from a source host system to a destination host system:

determining, by a source hypervisor running on the source host system, that a guest memory page of the VM is mapped to a physical memory page of the source host system having an uncorrectable memory error; and

in response to the determining, transmitting, by the source hypervisor to a destination hypervisor running on the destination host system, error metadata identifying the guest memory page as being at least partially corrupted.

2. The method of claim 1 wherein the determining is performed prior to a pre-copy phase of the live migration, and

wherein the transmitting is performed during an initial iteration of the pre-copy phase.

3. The method of claim 1 wherein the determining is performed during a pre-copy phase of the live migration, before the guest memory page has been copied to the destination host system as part of an initial iteration of the pre-copy phase, and

wherein the transmitting is performed during the initial iteration.

4. The method of claim 1 wherein the determining is performed during a pre-copy phase of the live migration, after the guest memory page has been copied to the destination host system as part of an initial iteration of the pre-copy phase,

wherein the guest memory page is dirtied by a guest operating system (OS) of the VM after the initial iteration, and

wherein the transmitting is performed during a subsequent iteration of the pre-copy phase after the initial iteration.

5. The method of claim 1 wherein the determining is in response to a consumed memory exception raised during a pre-copy phase of the live migration.

6. The method of claim 1 wherein the determining is in response to a consumed memory exception raised during a page-in phase of the live migration, and

wherein the error metadata is transmitted to the destination host system as part of a remote page fault return message.

7. The method of claim 1 wherein upon completion of the live migration of the VM from the source host system to the destination host system, the destination hypervisor simulates the uncorrectable memory error for a guest OS of the migrated VM.

8. A non-transitory computer readable storage medium having stored thereon program code executable by source hypervisor of a source host system, the program code embodying a method comprising, at a time of executing a live migration of a virtual machine (VM) from the source host system to a destination host system:

determining that a guest memory page of the VM is mapped to a physical memory page of the source host system having an uncorrectable memory error; and

in response to the determining, transmitting, to a destination hypervisor running on the destination host system, error metadata identifying the guest memory page as being at least partially corrupted.

9. The non-transitory computer readable storage medium of claim 8 wherein the determining is performed prior to a pre-copy phase of the live migration, and

wherein the transmitting is performed during an initial iteration of the pre-copy phase.

10. The non-transitory computer readable storage medium of claim 8 wherein the determining is performed during a pre-copy phase of the live migration, before the guest memory page has been copied to the destination host system as part of an initial iteration of the pre-copy phase, and

wherein the transmitting is performed during the initial iteration.

11. The non-transitory computer readable storage medium of claim 8 wherein the determining is performed during a pre-copy phase of the live migration, after the guest memory page has been copied to the destination host system as part of an initial iteration of the pre-copy phase,

wherein the guest memory page is dirtied by a guest operating system (OS) of the VM after the initial iteration, and

wherein the transmitting is performed during a subsequent iteration of the pre-copy phase after the initial iteration.

12. The non-transitory computer readable storage medium of claim 8 wherein the determining is in response to a consumed memory exception raised during a pre-copy phase of the live migration.

13. The non-transitory computer readable storage medium of claim 8 wherein the determining is in response to a consumed memory exception raised during a page-in phase of the live migration, and

wherein the error metadata is transmitted to the destination host system as part of a remote page fault return message.

14. The non-transitory computer readable storage medium of claim 8 wherein upon completion of the live migration of the VM from the source host system to the destination host system, the destination hypervisor simulates the uncorrectable memory error for a guest OS of the migrated VM.

15. A source host system comprising:

a source hypervisor;

a memory; and

a non-transitory computer readable medium having stored thereon program code executable by the source hypervisor at a time of performing a live migration of a virtual machine (VM) from the source host system to a destination host system, the program code causing the source hypervisor to:

determine that a guest memory page of the VM is mapped to a physical memory page of the memory having an uncorrectable memory error; and

in response to the determining, transmit, to a destination hypervisor running on the destination host system, error metadata identifying the guest memory page as being at least partially corrupted.

16. The source host system of claim 15 wherein the determining is performed prior to a pre-copy phase of the live migration, and

wherein the transmitting is performed during an initial iteration of the pre-copy phase.

17. The source host system of claim 15 wherein the determining is performed during a pre-copy phase of the live migration, before the guest memory page has been copied to the destination host system as part of an initial iteration of the pre-copy phase, and

wherein the transmitting is performed during the initial iteration.

18. The source host system of claim 15 wherein the determining is performed during a pre-copy phase of the live migration, after the guest memory page has been copied to the destination host system as part of an initial iteration of the pre-copy phase,

wherein the guest memory page is dirtied by a guest operating system (OS) of the VM after the initial iteration, and

wherein the transmitting is performed during a subsequent iteration of the pre-copy phase after the initial iteration.

19. The source host system of claim 15 wherein the determining is in response to a consumed memory exception raised during a pre-copy phase of the live migration.

20. The source host system of claim 15 wherein the determining is in response to a consumed memory exception raised during a page-in phase of the live migration, and

wherein the error metadata is transmitted to the destination host system as part of a remote page fault return message.

21. The source host system of claim 15 wherein upon completion of the live migration of the VM from the source host system to the destination host system, the destination hypervisor simulates the uncorrectable memory error for a guest OS of the migrated VM.

Assignments (2)
CHANGE OF NAME Recorded Apr 15, 2024
From: VMWARE, INC.
To: VMWARE LLC
Reel/Frame 067102/0395 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 6, 2021
From: GADI, SOWGANDH SUNIL; VENKATASUBRAMANIAN, RAJESH; PEDDAMALLU, VENKATA SUBHASH REDDY; RAMANATHAN, ARUNACHALAM; MANN, TIMOTHY P; JACOBS, FREDERICK JOSEPH
To: VMWARE INC.
Reel/Frame 057715/0357 →
Continuity (2)
Continuation 16743895 · Jan 15, 2020
Related Publication 20220027231A1 · Jan 27, 2022