Guest Driver Device State Recovery for VM Error Handling

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current techniques for switching to a backup device after a primary device failure in virtual machine systems are costly and result in additional downtime due to the need to recreate device profiles and discard the driver and state, which can lead to resource wastage and system crashes from mismatched devices.

Innovation Solution

A guest device driver is used to detect mismatches in device states and enable the guest OS to recover by reinitializing the backup device, allowing for efficient error recovery without crashing the system, by saving and restoring device states and signatures in memory.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If the system switches to a backup device after primary device failure, then system reliability is improved, but device complexity and resource overhead increase due to the need to recreate device profiles and manage driver states

Engineering Contradiction:
Improvesystem reliabilityVSAvoiddevice profile management complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The system performs preliminary actions by saving the device state and signature to memory before the primary device fails. This allows the backup device to be quickly activated without needing to recreate device profiles, thereby reducing the complexity of device management while maintaining high reliability

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The invention creates a copy of the device state and signature in memory that can be rapidly transferred to the backup device. This copying mechanism eliminates the need to recreate device profiles from scratch, reducing both complexity and recovery time while ensuring system reliability

Inventive Principle:
Principle #26Copying

2Reliability

If the system discards driver and state information during device switching, then device mismatch errors are avoided, but downtime increases due to the need to recreate device profiles

Engineering Contradiction:
Improveerror preventionVSAvoiddevice switching downtime
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The system performs preliminary actions by saving the device state and signature to memory before switching occurs. This allows the backup device to inherit the saved state information, eliminating the need to recreate device profiles and reducing downtime while maintaining error prevention through state validation

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

Instead of permanently discarding device state information, the system recovers and preserves it in memory. The guest driver retrieves the saved state signature and uses it to initialize the backup device, thereby avoiding both downtime associated with profile recreation and errors from incomplete state recovery

Inventive Principle:
Principle #34Discarding and recovering

3Loss of energy

If the system uses a guest driver to save and restore device states, then resource overhead is reduced during device switching, but device complexity increases due to additional driver functionality requirements

Engineering Contradiction:
Improveresource overheadVSAvoidguest driver complexity
Core Design Contradiction:
Loss of energyVSDevice complexity

Solution Approach 1:

The invention extracts the device state and signature information from the physical device and stores it separately in memory through the guest driver. This separation allows the bulk of device state data to be preserved without requiring complex real-time management during switching, reducing resource overhead while the guest driver handles only the essential save and restore operations

Inventive Principle:
Principle #2Taking out (Extraction)

Data Source

PatentUS10223215B2Driver switch for device error recovery for assigned devices
Publication Date: 2019.03.05 RED HAT ISRAEL
  • US10223215B2 patent drawing
  • US10223215B2 patent drawing
  • US10223215B2 patent drawing

AI summary

An error recovery system includes a memory, a processor in communication with the memory, a primary device, a backup device, a hypervisor executing on the processor, and a virtual machine. The virtual machine includes a guest operating system (OS) executing on the hypervisor, a pass-through device, and a guest driver. The hypervisor executes to detect an error associated with the primary device and to send a request to save a device state to the guest driver. The hypervisor also grants the guest OS access to the backup device. The guest driver receives the request from the hypervisor, and responsive to receiving the request, saves a state signature in the memory. The state signature includes a device signature and the device state of the primary device. Additionally, the guest driver determines a status of the device signature as one of matching and mismatching the backup device.