HCA Static Memory Pre-Translation via Address CSR

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In Infiniband networks, existing address translation methods for host channel adapters (HCAs) are inefficient as they require frequent translations between guest physical addresses (GPAs) and machine physical addresses (MPAs), leading to performance throttling and increased latency, especially for static memory structures that remain at the same addresses throughout execution.

Innovation Solution

Implementing an address control and status register (CSR) system within the HCA to pre-translate static memory structures spanning contiguous blocks of physical address space, allowing the HCA to store and use pre-translated addresses directly, thereby reducing the need for frequent address translations during memory access operations.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If frequent address translations between GPA and MPA are performed for static memory structures, then address translation functionality is maintained, but performance is throttled and latency increases

Engineering Contradiction:
Improveaddress translation functionalityVSAvoidmemory access performance
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The system performs address translation in advance for static memory structures and stores the translated MPA in an address CSR. This preliminary translation eliminates the need for repeated real-time translations during memory access operations, thereby resolving the contradiction between maintaining translation functionality and achieving high performance.

Inventive Principle:
Principle #10Preliminary action

2Measurement precision

If real-time address translations are performed for every memory access, then address accuracy is maintained, but access latency increases

Engineering Contradiction:
Improveaddress translation accuracyVSAvoidmemory access latency
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The system pre-translates addresses for static memory structures before actual memory access operations occur. The translated addresses are stored and reused, ensuring address accuracy while eliminating the time penalty of repeated real-time translations.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system creates a copy of the translated address and stores it in the address CSR for reuse. This copied address information allows subsequent memory accesses to use the pre-translated address without performing translation again, reducing latency while maintaining accuracy.

Inventive Principle:
Principle #26Copying

3Adaptability or versatility

If address translation is performed for all memory structures, then translation completeness is achieved, but system complexity increases

Engineering Contradiction:
Improvetranslation coverageVSAvoidaddress translation system complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The system applies address translation selectively based on the characteristics of memory structures. Static memory structures that span contiguous address spaces are identified and pre-translated, while other structures use traditional translation methods. This localized approach achieves necessary translation coverage without unnecessarily increasing system complexity.

Inventive Principle:
Principle #3Local quality

Data Source

PatentUS9336158B2Method and system for simplified address translation support for static infiniband host channel adaptor structures
Publication Date: 2016.05.10 ORACLE INT CORP
  • US9336158B2 patent drawing
  • US9336158B2 patent drawing
  • US9336158B2 patent drawing

AI summary

A method for optimized address pre-translation for a host channel adapter (HCA) static memory structure is disclosed. The method involves determining whether the HCA static memory structure spans a contiguous block of physical address space, when the HCA static memory structure spans the contiguous block of physical address space, requesting a translation from a guest physical address (GPA) to a machine physical address (MPA) of the HCA static memory structure, storing a received MPA corresponding to the HCA static memory structure in an address control and status register (CSR) associated with the HCA static memory structure, marking the received MPA stored in the address CSR as a pre-translated address, and using the pre-translated MPA stored in the address CSR when a request to access the static memory structure is received.