Hardware Offloading for Emulated IOMMU Devices

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current implementations of memory address translations for virtual machine (VM) created PCI devices rely on software, which is slow and inefficient, leading to network and processing latency issues.

Innovation Solution

Offloading memory address translation processing to the physical input-output memory management unit (IOMMU) of the host machine, allowing hardware to perform translations faster and freeing up software resources on the VM.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If software is used to perform memory address translations for VM PCI devices, then the system can handle virtualization requirements, but the translation speed is slow and causes network and processing latency

Engineering Contradiction:
Improvememory address translation speedVSAvoidnetwork and processing latency
Core Design Contradiction:
SpeedVSLoss of time

Solution Approach 1:

The patent replaces the software-based memory address translation mechanism with a hardware-based IOMMU device. The virtual IOMMU operating on the VM is substituted by a physical IOMMU on the host machine, which performs memory address translations in hardware rather than through software execution. This mechanical substitution directly addresses the speed and latency issues by leveraging hardware acceleration capabilities of the physical IOMMU.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

2Productivity

If software resources on the VM are used for memory translation lookups, then the VM can manage its own memory, but software resources are overwhelmed and processing efficiency decreases

Engineering Contradiction:
Improveprocessing efficiencyVSAvoidsoftware resource overhead
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent extracts the memory address translation function from the VM's software resources and relocates it to the host machine's physical IOMMU. By taking out this specific function from the virtualized environment, the VM's software resources are freed from the burden of performing translations, thereby improving processing efficiency while reducing software resource overhead on the guest system.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The physical IOMMU on the host machine acts as an intermediary between the VM PCI devices and the physical memory. Instead of the VM software directly performing translations, the physical IOMMU mediates the translation process by receiving translation requests from the virtual IOMMU and returning translated addresses, thereby offloading the computational burden from the VM's software resources.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS12079141B2Hardware offloading for an emulated IOMMU device
Publication Date: 2024.09.03 RED HAT LLC
  • US12079141B2 patent drawing
  • US12079141B2 patent drawing
  • US12079141B2 patent drawing

AI summary

Disclosed is a method of managing memory of a virtual machine (VM), including providing a physical IOMMU device on a host, and performing a memory translation using the physical IOMMU device on the host.