Processor-Dependent Address Translation for SSD Host Memory Buffer

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing SSD systems face challenges in efficiently managing address translation for multiple processors accessing a host memory buffer, leading to potential data overwriting and inefficiencies due to fragmented memory allocation.

Innovation Solution

Implementing a host memory buffer access module that performs processor-dependent address translation using module identifiers and translation tables to ensure non-overlapping memory spaces and efficient access to host memory, supporting multiple processors and functional modules.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If multiple processors access host memory buffer without processor-dependent address translation, then memory access speed is improved, but data coherence is compromised due to potential data overwriting

Engineering Contradiction:
Improvememory access speedVSAvoiddata coherence
Core Design Contradiction:
SpeedVSReliability

Solution Approach 1:

The host memory buffer is segmented into non-overlapping memory spaces, with each processor assigned a dedicated address range through processor-dependent address translation. This segmentation prevents data overwriting while maintaining access speed, as each processor operates within its own memory boundary without conflict with other processors.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Different processors are assigned different local memory spaces within the host memory buffer, with each processor having its own base address and memory range. This local quality approach ensures that each processor's memory operations are isolated and coherent, while the overall system maintains high-speed access to the shared host memory buffer.

Inventive Principle:
Principle #3Local quality

2Adaptability or versatility

If host memory buffer is allocated as fragmented memory spaces, then memory utilization is improved, but address management complexity increases

Engineering Contradiction:
Improvememory utilizationVSAvoidaddress management complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The system uses processor-dependent parameters (base address, memory range, translation tables) to manage fragmented memory spaces. Each processor has its own set of parameters that define its memory access characteristics, allowing flexible memory allocation while simplifying address management through parameterized control rather than complex centralized management.

Inventive Principle:
Principle #35Parameter changes

3Reliability

If processor-dependent address translation is implemented, then data coherence is improved, but processing overhead increases

Engineering Contradiction:
Improvedata coherenceVSAvoidprocessing overhead
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

Address translation parameters (base addresses, memory ranges, translation tables) are pre-configured for each processor before memory access operations begin. This preliminary setup eliminates the need for complex runtime address translation, reducing processing overhead while maintaining data coherence through pre-established processor-specific memory boundaries.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS20250328463A1Processor-dependent address translation for host memory buffer
Publication Date: 2025.10.23 NANJING TENAFE ELECTRONIC TECHNOLOGY CO LTD
  • US20250328463A1 patent drawing
  • US20250328463A1 patent drawing
  • US20250328463A1 patent drawing

AI summary

A module identifier and a request address associated with an access request are received at a host memory buffer (HMB) access module in a solid-state drive (SSD) system. A translated address is determined based at least in part on the module identifier and the request address, including by accessing at least one translation table that stores address mappings between (1) a plurality of processors in the SSD system and (2) a host memory buffer; each processor in the plurality of processors has a non-overlapping memory space in the host memory buffer. The access request is performed at a host interface, including by accessing the host memory buffer using the translated address, wherein the host memory buffer is located in host memory that is external to the SSD system.