Peripheral Device Address Translation Sharing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current virtual memory addressing techniques for I/O devices require significant coordination between the I/O device and the host operating system, leading to overhead and data transfer latency due to the need for handling page faults and updating translation tables.

Innovation Solution

A method where a peripheral device, such as a network interface controller, shares and accesses the same set of address translation tables maintained by the host operating system, allowing direct access to the appropriate table using stored reference information to translate virtual memory addresses into physical addresses, thereby enabling efficient execution of work items without the need for dedicated memory translation tables within the I/O device.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If I/O devices use dedicated memory translation tables, then address translation can be performed independently, but device complexity and memory overhead increase

Engineering Contradiction:
Improveaddress translation efficiencyVSAvoidI/O device structure
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent merges the address translation functionality of I/O devices with the host OS address translation tables. Instead of maintaining separate translation tables in the I/O device, the system combines these functions by allowing the I/O device to access and utilize the host OS's existing translation tables directly, thereby eliminating redundant structures while maintaining translation efficiency

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The host OS address translation tables are designed to serve multiple purposes: they function as the primary address translation mechanism for the host system while simultaneously serving as the translation resource for I/O devices. This multi-functionality eliminates the need for dedicated I/O translation tables, reducing overall system complexity

Inventive Principle:
Principle #6Universality (Multi-functionality)

2Measurement precision

If I/O devices coordinate with host operating system for address translation, then translation accuracy is maintained, but overhead and data transfer latency increase

Engineering Contradiction:
Improveaddress translation accuracyVSAvoiddata transfer latency
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The system performs preliminary actions by pre-establishing shared access to address translation tables between the I/O device and host OS. The I/O device is given direct access permissions to the translation tables before data transfer operations begin, eliminating the need for repeated coordination requests during actual data transfer and reducing latency

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent introduces an intermediary mechanism where the I/O device can directly access the host OS address translation tables through a controlled interface. This intermediary arrangement allows the I/O device to obtain accurate translations without requiring constant high-level coordination with the host OS, reducing overhead while maintaining translation accuracy

Inventive Principle:
Principle #24Intermediary (Mediator)

3Speed

If I/O devices handle page faults independently, then processing speed improves, but reliability and consistency with host memory management decrease

Engineering Contradiction:
Improvepage fault handling speedVSAvoidmemory management consistency
Core Design Contradiction:
SpeedVSReliability

Solution Approach 1:

The system implements feedback mechanisms where the I/O device monitors its own address translation operations and can detect when translation failures occur. When a page fault is detected, the I/O device automatically initiates the appropriate memory management actions and receives feedback from the host OS to confirm successful resolution, ensuring consistency while maintaining fast processing

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The I/O device is empowered to handle its own page fault situations by directly accessing the address translation tables and implementing its own translation logic. This self-service capability allows the I/O device to process page faults at device speed while maintaining consistency with host memory management through shared access to the same translation tables and coordination protocols

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS9298642B2Sharing address translation between CPU and peripheral devices
Publication Date: 2016.03.29 MELLANOX TECHNOLOGIES LTD(IL)
  • US9298642B2 patent drawing
  • US9298642B2 patent drawing

AI summary

A method for memory access includes maintaining in a host memory, under control of a host operating system running on a central processing unit (CPU), respective address translation tables for multiple processes executed by the CPU. Upon receiving, in a peripheral device, a work item that is associated with a given process, having a respective address translation table in the host memory, and specifies a virtual memory address, the peripheral device translates the virtual memory address into a physical memory address by accessing the respective address translation table of the given process in the host memory. The work item is executed in the peripheral device by accessing data at the physical memory address in the host memory.