Host Channel Adapter Memory Region Deallocation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In Infiniband networks, memory region deallocation is inefficient due to the need to flush cache and ensure all memory access requests are processed before deallocating, leading to unavailability of memory regions for reuse until the deallocation process is complete.

Innovation Solution

A method and system where a host channel adapter transmits invalidation commands to invalidate memory region keys and translation lookaside buffer entries, stalls processing of the second invalidation command if outstanding memory access requests are present, and processes these requests before executing the TLB entry invalidation, ensuring proper ordering and safe deallocation.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If the cache is flushed and TLB entry is invalidated to ensure memory region deallocation, then memory safety is improved, but memory availability for reuse deteriorates until deallocation completes

Engineering Contradiction:
Improvememory safetyVSAvoidmemory unavailability time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent sends the invalidation command to the HCA in advance, which then processes the invalidation of memory region keys and TLB entries. The HCA tracks outstanding memory access requests and only completes the invalidation after all such requests are processed, ensuring safety while enabling the host to proceed with deallocation logic without waiting for full completion.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The HCA acts as an intermediary between the host and the memory system. It receives invalidation commands from the host, manages the invalidation process internally by tracking outstanding requests, and signals completion back to the host. This intermediary role allows the host to decouple its deallocation logic from the actual invalidation completion timing.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If all memory access requests are processed before deallocation, then data integrity is improved, but deallocation speed deteriorates

Engineering Contradiction:
Improvedata integrityVSAvoiddeallocation speed
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The invalidation command is sent to the HCA preliminarily, which begins processing the invalidation of memory region keys and tracking outstanding requests immediately. This allows the host to proceed with subsequent operations while the HCA handles the detailed invalidation process in the background, completing it only when data integrity is ensured.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The HCA autonomously manages the invalidation process by tracking its own outstanding memory access requests and determining when invalidation is safe to complete. This self-service approach eliminates the need for the host to poll or wait actively, improving deallocation speed while maintaining data integrity through the HCA's internal tracking mechanisms.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS9244829B2Method and system for efficient memory region deallocation
Publication Date: 2016.01.26 ORACLE INT CORP
  • US9244829B2 patent drawing
  • US9244829B2 patent drawing
  • US9244829B2 patent drawing

AI summary

A method for deallocation of a memory region involving transmitting, by a host channel adapter (HCA), a first invalidation command for invalidating at least one key associated with the memory region, transmitting, by the HCA, a second invalidation command for invalidating a translation lookaside buffer (TLB) entry for the memory region, invalidate the at least one key associated with the memory region, determining whether all memory access requests to the memory region have been processed by the HCA, stalling processing of the second invalidation command when outstanding memory access requests to the memory region are present, and processing the outstanding memory access requests for the memory region by the HCA before executing the second invalidation command invalidating the TLB entry for the memory region.