Pointer Fetch Address Translation Caching for NVMe Page Miss Handling

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The continual need for address translations in memory systems, particularly in systems with multiple non-volatile memory express (NVMe) devices, leads to performance bottlenecks in terms of speed, latency, and quality-of-service due to increased I/O traffic and the need to move data across PCIe buses, which affects the efficiency of memory command handling.

Innovation Solution

Implementing an address translation cache (ATC) within the host interface circuitry to store address translations for future access, and incorporating a page request interface (PRI) handler to automate page miss requests, reducing the need for pinning large amounts of host memory and minimizing cache misses.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If address translations are performed continually in memory systems with multiple NVMe devices, then data can be accessed across different memory devices, but I/O traffic increases and performance bottlenecks occur due to repeated PCIe bus transactions

Engineering Contradiction:
Improveaddress translation capabilityVSAvoidI/O performance
Core Design Contradiction:
Adaptability or versatilityVSProductivity

Solution Approach 1:

The system performs address translations in advance and stores them in a translation cache before they are needed for actual data access. When a memory command arrives, the translation is already available, eliminating the need for real-time PCIe bus transactions and reducing I/O latency.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

A translation cache is introduced as an intermediary component between the host interface and the memory devices. This cache stores pre-fetched address translations and provides them locally, reducing the need for repeated PCIe bus transactions and improving overall system throughput.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Speed

If address translation requests are processed in real-time, then data access can proceed without delay, but the system requires pinning large amounts of host memory to handle translation requests

Engineering Contradiction:
Improvedata access speedVSAvoidhost memory requirement
Core Design Contradiction:
SpeedVSQuantity of substance

Solution Approach 1:

The system extracts the address translation data from host memory and stores it in a dedicated translation cache within the memory sub-system. This separation allows the system to maintain fast data access while reducing the amount of host memory that needs to be pinned for translation operations.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The memory sub-system performs address translations using its own local cache resources rather than relying on host memory. The translation cache serves itself by storing and providing translations locally, eliminating the need to pin large amounts of host memory while maintaining fast access speeds.

Inventive Principle:
Principle #25Self-service

3Productivity

If the address translation cache is implemented, then cache hits reduce I/O traffic, but cache misses require additional page request handling

Engineering Contradiction:
ImproveI/O throughputVSAvoidcache management complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The translation cache is designed to autonomously handle miss events by automatically generating page requests and updating itself with new translations. This self-service mechanism reduces the burden on the host system and simplifies cache management while maintaining high throughput through efficient cache hits.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS12608321B2Page request interface support in handling pointer fetch with caching host memory address translation data
Publication Date: 2026.04.21 MICRON TECHNOLOGY INC
  • US12608321B2 patent drawing
  • US12608321B2 patent drawing
  • US12608321B2 patent drawing

AI summary

A method, performed by pointer fetch circuitry, includes buffering, in a pointer buffer of host interface circuitry, pointers associated with chop commands of a logical block address read command residing in a submission queue of a host system. The method includes sending address translation requests to an address translation circuit for respective translation units of respective chop commands, each translation unit includes a subset of the pointers. The method includes detecting an address translation request miss at a cache of the address translation circuit for a translation unit of a chop command. The method includes sending a translation miss message to a page request interface (PRI) handler. The translation miss message contains a virtual address of the translation unit and a restart point for the chop command, the translation miss message to trigger the PRI handler to send a page miss request to a translation agent of the host system.