Inter-domain Data Mover Using Separate Page Tables
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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.
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
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.
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.
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
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.
Data Source
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.


