Inter-domain Data Mover Using Separate Page Tables

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing I/O management techniques for microprocessors, particularly in virtualization environments, face limitations in functionality, performance, and robustness due to software-only I/O virtualization methods that rely on emulated devices and shared page tables, leading to restricted guest OS and application functionality and suboptimal performance.

Innovation Solution

The implementation of a system and method using separate page tables for source and destination address translations, facilitated by a direct memory access (DMA) engine for memory-to-memory data copying, allowing independent page-table walks and translations between virtual machines or address domains.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Device complexity

If software-only I/O virtualization with shared page tables is used, then implementation simplicity is maintained, but functionality and performance are limited

Engineering Contradiction:
ImproveI/O virtualization implementationVSAvoidguest OS functionality
Core Design Contradiction:
Device complexityVSAdaptability or versatility

Solution Approach 1:

The patent divides the shared page table into separate source and destination page tables, allowing independent address translations for data movement operations. This segmentation enables the system to support multiple address domains and larger address spaces while maintaining implementation simplicity through modular page table structures.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces a new dimension to I/O virtualization by implementing independent page-table walks for source and destination addresses simultaneously. This dimensional expansion allows the system to handle complex address translations across multiple virtual machines without sacrificing implementation simplicity.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

2Ease of operation

If software-only I/O virtualization with emulated devices is used, then ease of operation is maintained, but performance deteriorates due to trapping and proxying

Engineering Contradiction:
ImproveI/O virtualization operationVSAvoiddata movement performance
Core Design Contradiction:
Ease of operationVSProductivity

Solution Approach 1:

The patent extracts the address translation functionality from the software emulation layer and implements it directly in hardware through separate page tables for source and destination. This extraction eliminates the performance penalty of trapping and proxying operations while preserving ease of operation through maintained abstraction layers.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent introduces an intermediary mechanism that enables direct memory-to-memory data movement between virtual machines using independent page translations. This intermediary approach bypasses the need for software trapping and proxying, significantly improving data movement performance while maintaining ease of operation.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Device complexity

If a shared page table is used for source and destination address translation, then device complexity is reduced, but address space capability is limited

Engineering Contradiction:
Improveaddress translation structureVSAvoidaddress space size
Core Design Contradiction:
Device complexityVSArea of stationary object

Solution Approach 1:

The patent segments the address translation capability into separate source and destination page tables, allowing each to independently manage its own address space. This segmentation enables support for larger overall address spaces and multiple address domains while keeping each individual page table structure manageable in complexity.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS7370137B2Inter-domain data mover for a memory-to-memory copy engine
Publication Date: 2008.05.06 INTEL CORP
  • US7370137B2 patent drawing
  • US7370137B2 patent drawing
  • US7370137B2 patent drawing

AI summary

Address translation for a source and destination of the data that utilizes different page tables. A direct memory access (DMA) engine is used as a memory-to-memory copy engine by utilizing a page-table walk and address translation for a source side of the copy, and an independent page-table walk and address translation for a destination side of the copy.