HATS Engine for Implicit Address Translation in NVMe

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing address translation technologies, such as ATS/ATC, are inefficient and costly due to the requirement for a large cache buffer and high-performance lookup operations, leading to increased area, cost, and power consumption.

Innovation Solution

Implementing a Host Interface Module (HIM) address translation search engine (HATS) that monitors pointers with untranslated addresses, fetches translated addresses, and updates the status of pointers, thereby reducing the reliance on ATS/ATC and minimizing power consumption.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If a real ATC cache is implemented as defined in PCIe standard, then address translation capability is improved, but device area, cost and power consumption increase significantly

Engineering Contradiction:
Improveaddress translation capabilityVSAvoidpower consumption
Core Design Contradiction:
ReliabilityVSUse of energy by moving object

Solution Approach 1:

The patent extracts the ATC functionality from the PCIe layer and implements it at the NVMe layer instead. By taking out the cache mechanism from its traditional PCIe location and relocating it to the NVMe command structure, the system achieves address translation capability while avoiding the need for a separate PCIe ATC hardware block, thereby reducing power consumption and device area.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent merges the ATC functionality with the NVMe command structure. The address translation cache is integrated into the NVMe command processing flow, combining two previously separate functions (PCIe address translation and NVMe command processing) into a unified mechanism, which eliminates the need for dedicated ATC hardware and reduces overall device complexity and power consumption.

Inventive Principle:
Principle #5Merging (Combining)

2Reliability

If a real ATC cache is implemented as defined in PCIe standard, then address translation capability is improved, but device area and cost increase significantly

Engineering Contradiction:
Improveaddress translation capabilityVSAvoiddevice area
Core Design Contradiction:
ReliabilityVSArea of stationary object

Solution Approach 1:

The patent extracts the ATC functionality from the PCIe layer and implements it at the NVMe layer instead. By taking out the cache mechanism from its traditional PCIe location and relocating it to the NVMe command structure, the system achieves address translation capability while avoiding the need for a separate PCIe ATC hardware block, thereby reducing device area.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent merges the ATC functionality with the NVMe command structure. The address translation cache is integrated into the NVMe command processing flow, combining two previously separate functions (PCIe address translation and NVMe command processing) into a unified mechanism, which eliminates the need for dedicated ATC hardware and reduces overall device complexity and area.

Inventive Principle:
Principle #5Merging (Combining)

3Reliability

If ATS/PRI functionality is implemented with a real cache, then address translation performance is improved, but productivity decreases due to more complex operations

Engineering Contradiction:
Improveaddress translation performanceVSAvoidprocessing efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent extracts the ATC functionality from the PCIe layer and implements it at the NVMe layer. This extraction simplifies the processing flow by eliminating the need for complex PCIe ATC hardware operations and integrating address translation directly into the NVMe command processing, thereby improving productivity while maintaining translation performance.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent uses a simplified copy of the ATC mechanism implemented at the NVMe layer rather than a full PCIe ATC implementation. This simplified version achieves the necessary address translation functionality without the complexity and overhead of a complete PCIe ATC system, improving processing efficiency while maintaining sufficient translation performance.

Inventive Principle:
Principle #26Copying

Data Source

PatentUS12277061B2ATS PRI support with implicit cache
Publication Date: 2025.04.15 SANDISK TECHNOLOGIES LLC
  • US12277061B2 patent drawing
  • US12277061B2 patent drawing
  • US12277061B2 patent drawing

AI summary

The present disclosure generally relates to improved address translation. Rather than fetching translated addresses using ATS/ATC, a HIM address translation search engine (HATS) is used through implementing the ATC in a layer above per an NVMe command. The HATS is an engine that will monitor pointers with untranslated addresses and will fetch the translated addresses for the pointers. Once the translated addresses are fetched for the pointer, the HATS will overwrite the untranslated address with the translated address. The HATS will then update the status of the pointers. When a translation request fails, the device will use PRI to request the translated address. During a translation request fail the device will drain any incoming requests while skipping the data transfer phase. The device will not block any other requests in a queue. Once that translated address is received through the PRI flow, the status of the pointer will be updated. After PRI completes, the device will return to using the HATS to get all the translated addresses for the pointers with an untranslated address status. After getting the translated addresses, the device shall use the translated addresses to perform DMA operations.