DMA Request Routing in Virtualized Environments

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Routing memory access requests via an Input/Output Memory Management Unit (IOMMU) is slow and costly due to the high computing power required for address translation, and excluding certain requests from IOMMU processing raises security issues and lacks necessary memory address translation in virtualized computing environments.

Innovation Solution

Implementing a mechanism that routes memory access requests via a fast route if certain conditions are met, using a second address translation algorithm that is different from and faster than the traditional IOMMU processing, and routing via a slower IOMMU-based route if conditions are not satisfied, ensuring both routes provide memory address translation and enhance security.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If memory access requests are routed via IOMMU for address translation, then security and correctness are maintained, but processing speed deteriorates due to high computing power requirements

Engineering Contradiction:
ImprovesecurityVSAvoidprocessing speed
Core Design Contradiction:
ReliabilityVSSpeed

Solution Approach 1:

The patent segments memory access requests into two categories: those requiring full IOMMU processing and those that can use fast path translation. By dividing the address space into regions with different translation requirements, the system applies appropriate processing depth to each segment, improving overall speed while maintaining security for sensitive regions.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent performs preliminary setup by configuring translation lookaside buffers (TLBs) with pre-computed translation entries for frequently accessed memory regions. This preliminary action allows subsequent access to bypass the full IOMMU processing pipeline, achieving fast translation while maintaining security through pre-validated translation mappings.

Inventive Principle:
Principle #10Preliminary action

2Speed

If certain requests are excluded from IOMMU processing to improve speed, then processing performance improves, but security issues arise and necessary memory address translation is lost

Engineering Contradiction:
Improveprocessing speedVSAvoidsecurity
Core Design Contradiction:
SpeedVSReliability

Solution Approach 1:

The patent applies different translation qualities to different memory regions. Critical system memory regions undergo full IOMMU security validation, while user-space or less sensitive regions use faster translation paths. This local differentiation ensures security where needed while achieving performance improvements where appropriate.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The patent introduces a fast path translation mechanism that acts as an intermediary between the DMA device and full IOMMU processing. This intermediary uses pre-configured translation rules and TLB caches to provide fast translation for eligible requests, while automatically routing suspicious or uncategorized requests to the full IOMMU security check, thus maintaining security without sacrificing speed for legitimate requests.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Device complexity

If a single address translation algorithm is used for all requests, then implementation simplicity is maintained, but performance is limited due to uniform processing of all request types

Engineering Contradiction:
Improveimplementation simplicityVSAvoidprocessing throughput
Core Design Contradiction:
Device complexityVSProductivity

Solution Approach 1:

The patent implements dynamic algorithm selection where the address translation method is chosen at runtime based on the characteristics of each memory access request. The system dynamically switches between fast path translation and full IOMMU processing, adapting to the specific needs of each request type and memory region, thereby maximizing throughput without significantly increasing implementation complexity.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentEP3186713B1Routing direct memory access requests in a virtualized computing environment
Publication Date: 2020.02.12 ATI TECHNOLOGIES ULC
  • EP3186713B1 patent drawingFigure 1
  • EP3186713B1 patent drawingFigure 2
  • EP3186713B1 patent drawingFigure 3

AI summary

A device may receive a direct memory access request that identifies a virtual address. The device may determine whether the virtual address is within a particular range of virtual addresses. The device may selectively perform a first action or a second action based on determining whether the virtual address is within the particular range of virtual addresses. The first action may include causing a first address translation algorithm to be performed to translate the virtual address to a physical address associated with a memory device when the virtual address is not within the particular range of virtual addresses. The second action may include causing a second address translation algorithm to be performed to translate the virtual address to the physical address when the virtual address is within the particular range of virtual addresses. The second address translation algorithm may be different from the first address translation algorithm.