DMA Remapping Circuit Address Translation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing I/O management techniques in microprocessor architecture face limitations in functionality, performance, and robustness due to software-only I/O virtualization, which restricts guest operating systems and applications, and requires emulation or proxying of I/O operations, affecting overall platform robustness.

Innovation Solution

The implementation of a DMA remapping circuit that supports direct assignment of I/O devices to virtual machines, using multi-level page tables for address translation and capability indicators to enhance performance and robustness by translating guest physical addresses to host physical addresses, allowing direct interaction with physical device hardware.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If software-only I/O virtualization is used to support VM I/O, then I/O virtualization functionality is provided, but performance deteriorates due to emulation and proxying of I/O operations

Engineering Contradiction:
ImproveI/O virtualization functionalityVSAvoidI/O operation performance
Core Design Contradiction:
Adaptability or versatilityVSProductivity

Solution Approach 1:

The patent replaces software-based I/O virtualization mechanisms with a hardware I/O memory management unit (I/O MMU) that performs address translation in hardware. This substitution eliminates the need for software emulation and proxying of I/O operations, directly resolving the performance degradation caused by software-only approaches while maintaining I/O virtualization functionality.

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

Solution Approach 2:

The patent introduces an I/O MMU as an intermediary hardware component between the guest I/O operations and the physical device hardware. This intermediary performs address translation and enables direct I/O operations without requiring software mediation, thus improving performance while maintaining the virtualization functionality.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Adaptability or versatility

If software-only I/O virtualization is used, then I/O virtualization is achieved, but robustness deteriorates due to device drivers running in privileged VMM software

Engineering Contradiction:
ImproveI/O virtualization capabilityVSAvoidplatform robustness
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The patent segments the I/O virtualization functionality into distinct components: the hardware I/O MMU handles address translation and isolation, while the guest operating system maintains control of device drivers. This segmentation removes device drivers from the privileged VMM software context, improving platform robustness by isolating potential failure points while preserving I/O virtualization capability.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The I/O MMU acts as an intermediary that enforces memory protection and isolation between guest virtual address spaces and host physical address space. This hardware-mediated isolation improves robustness by preventing unauthorized access and isolating faults to individual guest contexts, while maintaining full I/O virtualization functionality.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Productivity

If specialized translation structures are used, then address translation is provided, but adaptability deteriorates due to support for specific devices or limited usage models only

Engineering Contradiction:
Improveaddress translation performanceVSAvoiddevice compatibility
Core Design Contradiction:
ProductivityVSAdaptability or versatility

Solution Approach 1:

The patent implements a universal I/O MMU with a multi-level page table architecture that can handle various address translation scenarios (1:1 mapping, many-to-one mapping, I/O virtualization) through a single unified structure. This universal design maintains high translation performance while providing broad adaptability to support multiple device types and usage models, eliminating the limitation of specialized translation structures.

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

Solution Approach 2:

The patent employs dynamic multi-level page tables that can be configured and modified at runtime to accommodate different address translation requirements. The page table structure adapts to various usage scenarios through software configuration rather than requiring specialized hardware structures for each case, thus maintaining both performance and adaptability.

Inventive Principle:
Principle #15Dynamics

4Productivity

If general I/O memory management units are used, then address translation is provided, but adaptability deteriorates due to support for limited address space size or complexity

Engineering Contradiction:
Improveaddress translation capabilityVSAvoidaddress space support
Core Design Contradiction:
ProductivityVSAdaptability or versatility

Solution Approach 1:

The patent implements a nested multi-level page table structure where higher-level page tables reference lower-level page tables, enabling support for large address spaces through hierarchical organization. This nested structure allows the I/O MMU to handle complex address translations for large address spaces while maintaining efficient hardware-based translation performance, overcoming the limitations of flat or single-level translation structures.

Inventive Principle:
Principle #7Nested doll (Nesting)

Data Source

PatentUS8843727B2Performance enhancement of address translation using translation tables covering large address spaces
Publication Date: 2014.09.23 TAHOE RES LTD
  • US8843727B2 patent drawing
  • US8843727B2 patent drawing
  • US8843727B2 patent drawing

AI summary

An embodiment of the present invention is a technique to enhance address translation performance. A register stores capability indicators to indicate capability supported by a circuit in a chipset for address translation of a guest physical address to a host physical address. A plurality of multi-level page tables is used for page walking in the address translation. Each of the page tables has page table entries. Each of the page table entries has at least an entry specifier corresponding to the capability indicated by the capability indicators.