IP Library › Granted Patent US 11,550,673
Granted Patent B2
US 11,550,673 · App. 16/950,212 · Granted Jan 10, 2023

Virtual machines recoverable from uncorrectable memory errors

Inventors: Jue Wang (Redmond, WA); Yi Cao (San Jose, CA)
Assignee: Google LLC
G06F11/1484G06F9/45558G06F11/0772G06F11/1068G06F11/301G06F11/327G06F2009/45575G06F2009/45583G06F2009/45591
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,550,673
App. No.
16/950,212
Granted
Jan 10, 2023
Kind
B2
Abstract

The disclosed technology provides techniques, systems, and apparatus for containing and recovering from uncorrectable memory errors in distributed computing environment. An aspect of the disclosed technology includes a hypervisor or virtual machine manager that receives signaling of an uncorrectable memory error detected by a host machine. The virtual machine manager then uses information received via the signaling to identify virtual memory addresses or memory pages associated with the corrupted memory element so as to allow for containment and recovery from the error.

Claims (30)

1. A method for uncorrectable memory error recovery in a cloud computing environment, comprising:

receiving, at a virtual machine managing manager, signaling of an uncorrectable memory error detected by a host machine;

determining, at the virtual machine managing manager, one or more virtual machines associated with a corrupted memory element based on the received signaling;

emulating a memory error associated with the corrupted memory element based on the uncorrectable memory error; and

introducing, by the virtual machine managing manager, the emulated memory error into an operating environment of at least one of the one or more virtual machines, and

wherein the emulated memory error comprises a notification that causes the at least one of the one or more virtual machines to signal the uncorrectable memory error to a guest user space.

2. The method of claim 1 , wherein the introducing the emulated memory error comprises the virtual machine managing manager injecting an interrupt that is accepted by a virtual central processing unit (vCPU) of each of the one or more virtual machines.

3. The method of claim 1 , wherein the emulated memory error comprises a notification that causes the at least one of the one or more virtual machines to be restarted or terminated.

4. The method of claim 1 , wherein signaling comprises a BIOS of the host machine forwarding information associated with the uncorrectable memory error to an operating system of the host machine.

5. The method of claim 4 , comprising the operating system of the host machine forwarding the information associated with the uncorrectable memory error to the virtual machine manager.

6. The method of claim 5 , wherein introducing comprises the virtual machine manager injecting the emulated memory error into a process of a virtual central processing unit of the at least one virtual machine.

7. The method of claim 1 , wherein the emulated memory error comprises context information associated with the uncorrectable memory error including one or more of a location, a type, or a severity.

8. The method of claim 1 , wherein the virtual machine managing manager comprises a hypervisor.

9. The method of claim 1 , wherein determining the one or more virtual machines associated with the corrupted memory element comprises identifying at least one memory page associated with the corrupted memory element.

10. The method of claim 1 , wherein the emulated memory error comprises a notification that causes a guest operating system of the at least one of the one or more virtual machines to signal the uncorrectable memory error to a guest user space.

11. A cloud computing system, comprising:

a host machine capable of supporting one or more virtual machines; and

one or more processing devices coupled to a memory containing instructions, the instructions causing the one or more processing devices to:

receive signaling from the host machine, the signaling indicating an uncorrectable memory error;

determine, from among the one or more virtual machines, a virtual machine associated with a corrupted memory element based on the received signaling;

emulate a memory error associated with the corrupted memory element based on the uncorrectable memory error; and

inject the emulated memory error into an operating environment of the virtual machine associated with the corrupted memory element, and

wherein the emulated memory error comprises a notification that causes the virtual machine associated with the corrupted memory element to signal the uncorrectable memory error to a guest user space.

12. The cloud computing system of claim 11 , wherein the instructions causing the one or more processing devices to inject the emulated memory error comprises causing the one or more processing devices to inject an interrupt that is accepted by a virtual central processing unit (vCPU) of the virtual machine associated with the corrupted memory element.

13. The cloud computing system of claim 11 , wherein the emulated memory error comprises a notification that causes the virtual machine associated with the corrupted memory element to be restarted or terminated.

14. The cloud computing system of claim 11 , wherein a BIOS of the host machine is configured to forward information associated with the uncorrectable memory error to an operating system of the host machine.

15. The cloud computing system of claim 14 , comprising the operating system of the host machine forwarding the information associated with the uncorrectable memory error to the one or more processing devices.

16. The cloud computing system of claim 11 , wherein the emulated memory error comprises context information associated with the uncorrectable memory error including one or more of a location, a type, or a severity.

17. The cloud computing system of claim 11 , wherein the one or more processing devices comprises a hypervisor.

18. The cloud computing system of claim 11 , wherein the instructions causing the one or more processing devices to determine comprises identifying at least one memory page associated with the corrupted memory element.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 22, 2021
From: WANG, JUE; CAO, YI
To: GOOGLE LLC
Reel/Frame 055001/0100 →
Continuity (1)
Related Publication 20220156160A1 · May 19, 2022