IOMMU Trusted Boot Mode DMA Blocking

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing computing systems lack effective protection of system memory from direct memory access (DMA) operations by peripherals during the boot process, which can lead to unauthorized access or modification of memory contents, especially during the trusted boot phase.

Innovation Solution

The implementation of a trusted boot mode (TBM) control bit in the input/output memory management unit (IOMMU) to block DMA requests from peripherals, using existing IOMMU functions and registers to intercept and manage DMA operations, thereby protecting system memory without requiring processor changes or large memory structures.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If the system uses existing IOMMU functions and registers to block DMA requests during trusted boot, then memory protection reliability is improved, but the device complexity increases due to configuration requirements

Engineering Contradiction:
Improvememory protection reliabilityVSAvoidIOMMU configuration complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The IOMMU is configured in advance during system initialization to block DMA requests before the trusted boot process begins. The trusted boot mode control bit is set and IOMMU translation is disabled prior to loading the boot image, preventing peripheral access to memory during the critical verification phase. This preliminary configuration ensures protection is in place before any unauthorized access can occur.

Inventive Principle:
Principle #10Preliminary action

2Stability of the object's composition

If the system blocks all DMA requests during trusted boot, then memory integrity is improved, but the productivity decreases due to restricted memory access

Engineering Contradiction:
Improvememory integrityVSAvoidboot process efficiency
Core Design Contradiction:
Stability of the object's compositionVSProductivity

Solution Approach 1:

The IOMMU configuration is dynamically adjusted during the boot process. Initially, DMA requests are blocked to protect memory integrity during trusted boot. Once the boot image is verified and loaded, the system dynamically updates the IOMMU to allow necessary DMA operations for normal system operation. This dynamic transition maintains memory integrity during critical phases while restoring productivity when protection is no longer needed.

Inventive Principle:
Principle #15Dynamics

3Ease of manufacture

If the system uses a control bit and existing IOMMU functions, then the ease of manufacture is improved, but the adaptability decreases due to limited configuration options

Engineering Contradiction:
Improveimplementation simplicityVSAvoidDMA management flexibility
Core Design Contradiction:
Ease of manufactureVSAdaptability or versatility

Solution Approach 1:

The solution leverages the existing IOMMU's multiple functions to achieve memory protection during trusted boot. The IOMMU's address translation capability, DMA request filtering, and control bit mechanisms are utilized to block unauthorized access. By making the IOMMU serve the additional function of trusted boot protection, the system achieves ease of manufacture without requiring new hardware, while the universal nature of the IOMMU provides sufficient adaptability for different boot scenarios.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Data Source

PatentUS9323932B2Protecting memory contents during boot process
Publication Date: 2016.04.26 ADVANCED MICRO DEVICES INC
  • US9323932B2 patent drawing
  • US9323932B2 patent drawing
  • US9323932B2 patent drawing

AI summary

Embodiments include methods, systems, and computer storage devices directed to identifying that a trusted boot mode (TBM) control bit is set in an input/output memory management unit (IOMMU) and configuring the IOMMU to block a DMA request received by the IOMMU from a peripheral in response to the identifying.