VMM Intercepting ACPI Calls to Protect Shared Device Power States

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In virtual machine monitor (VMM) systems, the user operating system (UOS) unintentionally deenergizes devices during low power mode, which are essential for the service operating system (SOS) or VMM, leading to control issues due to unshielded hardware access.

Innovation Solution

The VMM intercepts ACPI calls from the UOS to BIOS, determining if the device is shared with the SOS before allowing it to enter a reduced energy state, ensuring the SOS can complete its interactions before power management is applied, and delaying the call to BIOS until the SOS has no further need of the device.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Loss of energy

If the UOS is given complete access to ACPI tables to enable low power mode operation, then energy conservation is improved, but device control reliability deteriorates because the UOS may unwittingly deenergize devices needed by the SOS or VMM

Engineering Contradiction:
Improveenergy consumptionVSAvoiddevice control reliability
Core Design Contradiction:
Loss of energyVSReliability

Solution Approach 1:

The VMM acts as an intermediary between the UOS and the ACPI tables. It intercepts ACPI calls from the UOS, determines whether the target device is shared with the SOS or VMM, and selectively prevents deenergization of shared devices. This mediator approach allows the UOS to attempt low power mode operations while the VMM ensures reliability by blocking potentially harmful calls to shared devices.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If the VMM intercepts all ACPI calls from the UOS to prevent premature device deenergization, then device control reliability is improved, but system operation complexity increases due to the need to determine device sharing status

Engineering Contradiction:
Improvedevice control reliabilityVSAvoidsystem operation complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The system performs preliminary action by pre-establishing device sharing information in the ACPI tables before the UOS executes low power mode calls. The VMM uses this pre-configured information to quickly determine whether a device is shared, avoiding complex real-time analysis. This preliminary preparation reduces the complexity of the interception logic while maintaining reliability.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS7844845B2System and method for preventing user O.S. in VMM system from deenergizing device being used by service O.S.
Publication Date: 2010.11.30 LENOVO SWITZERLAND INTERNATIONAL GMBH
  • US7844845B2 patent drawing
  • US7844845B2 patent drawing
  • US7844845B2 patent drawing

AI summary

A call from a user operating system (UOS) to BIOS to configure a connected device into a reduced energy consumption mode is routed through a virtual machine monitor (VMM). The VMM determines whether a service O.S. (SOS) is in need of the device and if so the VMM informs the UOS that the device has been configured as ordered, while allowing the SOS to complete its task with the device. If the SOS is not in need of the device, or at the completion of the SOS task with the device, the VMM passes the call to ACPI/BIOS to configure the device in the demanded energy consumption mode.