VM Memory Error Recovery via Hypervisor Page Replication

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Memory errors during and after virtual machine migration pose significant challenges due to the inability of hardware to correct all errors, leading to data corruption and system crashes, especially in high-density DRAM environments, where errors can be exacerbated by increased memory activity during migration.

Innovation Solution

A method that involves obtaining the memory address triggering an uncorrected error, computing the associated page, determining if a copy of the page is available on another host during virtual machine migration, and generating a new page with data from the second host to recover from memory errors.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If virtual machine migration is performed, then system maintenance and load balancing are improved, but memory errors and data corruption risk increase

Engineering Contradiction:
Improvesystem maintenance capabilityVSAvoidmemory error rate
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The system performs preliminary actions by creating and maintaining copy pages of virtual machine memory on the source host before migration completes. When memory errors occur during migration, these pre-existing copies enable error recovery without requiring the migration to be reversed or the VM to be restarted.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The invention utilizes the copy phase of virtual machine migration to create redundant memory pages on the source host. These copied pages serve as backup data that can be used to recover from memory errors, transforming the migration copying mechanism into an error recovery resource.

Inventive Principle:
Principle #26Copying

2Reliability

If hardware ECC is used, then single bit errors are corrected, but multi-bit errors and uncorrected errors still cause system crashes

Engineering Contradiction:
Improveerror correction capabilityVSAvoiderror handling complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The hypervisor acts as an intermediary between the hardware ECC system and the virtual machine. It intercepts uncorrected error interrupts, determines whether copy pages are available, and orchestrates the recovery process by switching memory mappings, thereby simplifying the overall error handling complexity while maintaining high reliability.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The system adds a software-based error recovery dimension beyond hardware ECC. Instead of relying solely on hardware correction capabilities, it introduces a hypervisor-level recovery mechanism that uses software intelligence and data redundancy to handle errors that hardware cannot correct, effectively adding another layer of protection.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

3Reliability

If memory error recovery is implemented, then system crashes are prevented, but additional processing time and resources are required

Engineering Contradiction:
Improvesystem availabilityVSAvoiderror recovery time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

Copy pages are created during the normal migration copy phase before any errors occur. This preliminary action ensures that recovery data is already prepared and available in memory, eliminating the need for time-consuming data retrieval from disk or remote storage when errors occur during migration.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The error recovery mechanism is self-service in that it automatically detects memory errors through hardware interrupts, determines the availability of copy pages, and performs recovery without requiring external intervention or complex orchestration. The hypervisor autonomously manages the recovery process, minimizing overhead and recovery time.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS11544153B2Memory error handling during and/or immediately after a virtual machine migration
Publication Date: 2023.01.03 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US11544153B2 patent drawing
  • US11544153B2 patent drawing
  • US11544153B2 patent drawing

AI summary

According to aspects of the present disclosure, systems and methods can be provided to recover from memory errors that occur during or following a virtual machine migration. Methods, computer program products and/or systems are provided for handling memory error that perform the following operations: (i) obtaining a memory address that triggered an uncorrected error on a first host associated with a virtual machine migration; (ii) computing a page associated with the memory address; (iii) determining if a copy of the page associated with the memory address is available on a second host associated with the virtual machine migration; (iv) obtaining data from the copy of the page on the second host; and (v) generating a new page on the first host with the data obtained from the second host.