IOMMU Guest Buffer Access Without Hypervisor Latency

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The intervention of a hypervisor in communications between guest operating systems and an IOMMU leads to increased latency and processor load, causing delays and memory bus traffic in electronic devices with virtualization.

Innovation Solution

The IOMMU directly accesses separate buffers and logs for each guest operating system in a dedicated memory portion, eliminating the need for hypervisor intervention and using an IOMMU backing store to maintain separate MMIO registers for each guest operating system.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If a hypervisor intervenes in communications between guest operating systems and an IOMMU, then virtualization management and control are achieved, but latency increases and processor load increases

Engineering Contradiction:
Improvevirtualization managementVSAvoidcommunication latency
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent extracts the IOMMU communication handling function from the hypervisor and assigns it directly to the IOMMU hardware. The IOMMU now directly accesses guest buffers and logs in guest portions of memory without requiring hypervisor intervention, thereby removing the latency introduced by hypervisor processing while maintaining virtualization management through other hypervisor functions.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The IOMMU is empowered to service guest operating system communication requests directly without hypervisor mediation. By maintaining its own backing store with separate MMIO registers for each guest OS and directly accessing guest memory portions, the IOMMU performs self-service operations that reduce processor load and communication latency.

Inventive Principle:
Principle #25Self-service

2Adaptability or versatility

If a hypervisor handles IOMMU communications, then resource arbitration and virtualization control are provided, but processor load increases

Engineering Contradiction:
Improveresource arbitrationVSAvoidprocessor efficiency
Core Design Contradiction:
Adaptability or versatilityVSProductivity

Solution Approach 1:

The patent extracts specific IOMMU communication handling tasks from the hypervisor's workload. The IOMMU directly manages guest buffer and log access, command processing, and event logging without hypervisor involvement, thereby reducing processor load and improving overall system productivity while the hypervisor retains high-level resource arbitration and virtualization control capabilities.

Inventive Principle:
Principle #2Taking out (Extraction)

3Quantity of substance

If the IOMMU uses a single copy of buffers and logs, then memory usage is reduced, but access efficiency decreases due to hypervisor intervention

Engineering Contradiction:
Improvememory usageVSAvoidaccess efficiency
Core Design Contradiction:
Quantity of substanceVSProductivity

Solution Approach 1:

The patent segments memory into distinct guest portions, each with dedicated buffers and logs that the IOMMU can access directly. Each guest operating system has its own protected region in memory with separate command buffers, event logs, and PPR logs, eliminating the need for hypervisor-mediated access while improving access efficiency through direct IOMMU-to-guest-memory paths.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentEP3980885B1Guest operating system buffer and log access by an input-output memory management unit
Publication Date: 2026.01.28 ADVANCED MICRO DEVICES INC
  • EP3980885B1 patent drawingFigure 1
  • EP3980885B1 patent drawingFigure 2
  • EP3980885B1 patent drawingFigure 3

AI summary

An electronic device includes a processor that executes a guest operating system; a memory having a guest portion that is reserved for storing data and information to be accessed by the guest operating system; and an input-output memory management unit (IOMMU). The IOMMU writes, in the guest portion, information into guest buffers and/or logs used for communicating information from the IOMMU to the guest operating system. The IOMMU also reads, from the guest portion, information in guest buffers and/or logs used for communicating information from the guest operating system to the IOMMU.