Secure Direct Memory Access With IOMMU Device-VM Binding

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In confidential computing environments, DMA requests can expose confidential information of virtual machines to unauthorized access or modification due to malicious entities exploiting DMA requests from untrusted I/O devices or targeting unauthorized memory regions.

Innovation Solution

An IOMMU is employed to ensure that each DMA request is issued by a trusted I/O device bound to a specific virtual machine and targets a memory region assigned to that machine, using a security module to implement device binding and maintain a mapping table to validate and execute only authorized requests.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If DMA requests are allowed from I/O devices in confidential computing environments, then data transfer efficiency is improved, but security is worsened due to potential unauthorized access to confidential information

Engineering Contradiction:
Improvedata transfer efficiencyVSAvoidsecurity
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent introduces an IOMMU (Input-Output Memory Management Unit) as an intermediary component between I/O devices and memory. The IOMMU validates DMA requests by checking device binding to virtual machines and authorized memory access rights before allowing data transfer. This mediator maintains high data transfer efficiency for authorized requests while blocking unauthorized access, thus resolving the contradiction between productivity and security.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent segments memory access rights by binding I/O devices to specific virtual machines and assigning dedicated memory regions to each VM. The IOMMU enforces these segmentation rules by validating each DMA request against the binding table and memory region assignments. This segmentation ensures that only authorized devices can access authorized memory regions, maintaining both efficiency and security.

Inventive Principle:
Principle #1Segmentation

2Reliability

If device binding validation is implemented for DMA requests, then security is improved, but device complexity increases due to additional validation mechanisms

Engineering Contradiction:
ImprovesecurityVSAvoidvalidation mechanism complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The IOMMU implements self-service validation by automatically checking device binding and memory access rights for every DMA request without requiring manual intervention or complex external validation systems. The binding table and memory region assignments are pre-configured, and the IOMMU autonomously enforces these rules, simplifying the overall validation mechanism while maintaining strong security.

Inventive Principle:
Principle #25Self-service

3Loss of information

If memory region assignment per virtual machine is enforced, then information isolation is improved, but system complexity increases due to mapping table management

Engineering Contradiction:
Improveinformation isolationVSAvoidmapping table management
Core Design Contradiction:
Loss of informationVSDevice complexity

Solution Approach 1:

The patent implements preliminary action by pre-establishing device binding relationships and memory region assignments before DMA operations occur. The binding table is populated in advance with authorized device-VM mappings and memory region allocations. During DMA requests, the IOMMU simply validates against these pre-configured tables, ensuring information isolation without requiring complex real-time decision-making or dynamic table management.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS12399850B2Secure direct memory access
Publication Date: 2025.08.26 ADVANCED MICRO DEVICES INC
  • US12399850B2 patent drawing
  • US12399850B2 patent drawing
  • US12399850B2 patent drawing

AI summary

A processor supports managing DMA accesses, in secure fashion, at an IOMMU. The IOMMU is configured to ensure that, for a given DMA request issued by an I/O device and associated with a particular executing VM, the device is bound to the VM according to a specified security registration process, and the request is targeted to a region of memory that has been assigned to the VM. The IOMMU thus prevents a malicious entity from accessing confidential information of a VM via DMA requests.