Distributed Translation Agents for Virtualized I/O Address Mapping

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Centralized DMA address translation in virtualized information handling systems leads to increased DMA access times and memory transaction overhead, poor scalability, and a single point of failure due to reliance on main memory-resident translation tables.

Innovation Solution

Distributing translation agents to the I/O subsystem, including I/O hubs and devices, to perform DMA address translations, reducing reliance on main memory and enabling efficient device-to-device access, with a discovery module to configure and manage these agents.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Device complexity

If centralized translation agent architecture is used, then address translation coordination is simplified, but DMA access time increases and memory transaction overhead increases

Engineering Contradiction:
Improvetranslation agent architecture complexityVSAvoidDMA access time
Core Design Contradiction:
Device complexityVSLoss of time

Solution Approach 1:

The patent divides the centralized translation agent into multiple distributed translation agents located at different I/O hubs and devices. Each translation agent independently handles address translation for its local devices, eliminating the single centralized bottleneck and reducing DMA access time by avoiding centralized coordination overhead.

Inventive Principle:
Principle #1Segmentation

2Device complexity

If main memory-resident translation tables are used, then translation information is centralized and easy to manage, but memory transaction overhead increases

Engineering Contradiction:
Improvetranslation table managementVSAvoidmemory transaction overhead
Core Design Contradiction:
Device complexityVSLoss of energy

Solution Approach 1:

The patent extracts translation information from main memory and places it in local translation buffers at each distributed translation agent. This extraction eliminates repeated main memory accesses for translation lookups, significantly reducing memory transaction overhead while maintaining translation management capability.

Inventive Principle:
Principle #2Taking out (Extraction)

3Device complexity

If centralized translation agent control is used, then translation coordination is simplified, but scalability deteriorates

Engineering Contradiction:
Improvetranslation control architectureVSAvoidsystem scalability
Core Design Contradiction:
Device complexityVSAdaptability or versatility

Solution Approach 1:

The patent segments the centralized translation control into multiple independent distributed translation agents. Each agent autonomously manages translation for its local I/O devices, allowing the system to scale by simply adding more distributed agents without increasing centralized control complexity.

Inventive Principle:
Principle #1Segmentation

4Device complexity

If centralized translation agent architecture is used, then translation management is centralized, but single point of failure risk increases

Engineering Contradiction:
Improvetranslation agent architectureVSAvoidsystem reliability
Core Design Contradiction:
Device complexityVSReliability

Solution Approach 1:

The patent divides the single centralized translation agent into multiple distributed translation agents. This segmentation eliminates the single point of failure, as each distributed agent independently handles translation for its local devices, ensuring system reliability even if individual agents fail.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS8650342B2System and method for distributed address translation in virtualized information handling systems
Publication Date: 2014.02.11 DELL PROD LP
  • US8650342B2 patent drawing
  • US8650342B2 patent drawing
  • US8650342B2 patent drawing

AI summary

Virtualization of I/O devices to support operation of plural virtual machines on a host information handling system is managed with distributed translation agents that translate addresses generated from I/O devices according to mapping defined by a virtual machine monitor. The translation agents reside in the host I/O subsystem, such as at I/O hubs or at I/O devices. A discovery module discovers and configures plural translation agents to coordinate I/O device communications with translation of physical memory addresses and virtual I/O addresses.