Generalized Control Registers for Concurrent I/O Address Translation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current computing systems face challenges in providing efficient and concurrent address translation for multiple I/O devices and guest operating systems, leading to performance degradation and overhead due to software-based hypervisor operations and separate memory systems.

Innovation Solution

The implementation of generalized control registers, such as guest control register 3 (GCR3), which maintains base pointers for each I/O device to facilitate concurrent translations from guest virtual addresses to guest physical addresses and then to system physical addresses, reducing reliance on software-based solutions and minimizing overhead.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If software-based hypervisor operations are used to manage address translations for multiple I/O devices and guest OSes, then address translation services can be provided, but performance degradation and overhead occur

Engineering Contradiction:
Improveaddress translation service availabilityVSAvoidmemory access performance
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent replaces software-based hypervisor operations with hardware-based IOMMU operations. The IOMMU performs address translations in hardware, eliminating the need for software routines to accommodate address translation requests. This substitution of mechanical/software system with a hardware system resolves the contradiction by providing both reliable address translation services and high memory access performance without software overhead

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

Solution Approach 2:

The IOMMU provides self-service address translation capabilities, allowing I/O devices to perform their own address translations without requiring hypervisor intervention. Each I/O device can independently access the IOMMU to translate virtual addresses to physical addresses, enabling autonomous operation and eliminating the performance bottleneck caused by centralized software management

Inventive Principle:
Principle #25Self-service

2Stability of the object's composition

If separate memory systems are used for CPU and GPU, then each processor can operate independently, but memory latency and power consumption increase due to chip-to-chip interfaces

Engineering Contradiction:
Improveprocessor independenceVSAvoidpower consumption
Core Design Contradiction:
Stability of the object's compositionVSUse of energy by moving object

Solution Approach 1:

The patent merges the memory systems of the CPU and GPU into a unified memory architecture. By combining previously separate memory systems, the invention eliminates the need for chip-to-chip interfaces for memory access, thereby reducing power consumption and memory latency while maintaining processor independence through logical memory management rather than physical separation

Inventive Principle:
Principle #5Merging (Combining)

3Adaptability or versatility

If discrete chip arrangement is used for CPU and GPU, then each processor can be optimized independently, but memory access efficiency decreases due to external interfaces

Engineering Contradiction:
Improveprocessor optimization flexibilityVSAvoidmemory access speed
Core Design Contradiction:
Adaptability or versatilityVSSpeed

Solution Approach 1:

The patent implements a nested memory hierarchy where unified memory is accessed through a hierarchical control structure. The IOMMU sits between the I/O devices and the unified memory system, providing a nested layer of address translation and management. This nested architecture allows independent processor optimization while maintaining high memory access speeds through reduced interface overhead

Inventive Principle:
Principle #7Nested doll (Nesting)

Data Source

PatentUS9606936B2Generalized control registers
Publication Date: 2017.03.28 ATI TECHNOLOGIES ULC
  • US9606936B2 patent drawing
  • US9606936B2 patent drawing
  • US9606936B2 patent drawing

AI summary

Methods, systems, and computer readable media generalize control registers in the context of memory address translations for I/O devices. A method includes maintaining a table including a plurality of concurrently available control register base pointers each associated with a corresponding input/output (I/O) device, associating each control register base pointer with a first translation from a guest virtual address (GVA) to a guest physical address (GPA) and a second translation from the GPA to a system physical address (SPA), and operating the first and second translations concurrently for the plurality of I/O devices.