Host-System Address Map Caching for SSD Performance

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Solid-state drives (SSDs) face performance and longevity issues due to insufficient DRAM capacity to cache the entire address map, leading to increased swapping times and write operations in NAND flash memory.

Innovation Solution

Caching a portion of the address map in the host system's memory, allowing the SSD to swap out and load required portions from the host system's memory instead of NAND flash, reducing swapping times and write operations.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If the entire address map is cached in DRAM, then data access performance is improved, but DRAM capacity requirements increase significantly

Engineering Contradiction:
Improvedata access performanceVSAvoidDRAM capacity
Core Design Contradiction:
SpeedVSQuantity of substance

Solution Approach 1:

The address map is divided into multiple segments or portions that can be independently managed. Instead of loading the entire address map into DRAM, only the currently needed portions are cached in DRAM while other portions remain in NAND flash memory. This segmentation allows the system to maintain high performance for active operations while minimizing DRAM usage.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces a hierarchical memory architecture that adds another dimension to the traditional single-level caching approach. By organizing the address map across multiple memory levels (DRAM cache and NAND flash storage) with different access characteristics, the system can simultaneously optimize for both speed and capacity constraints.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

2Quantity of substance

If address map portions are swapped from NAND flash memory, then DRAM capacity requirements are reduced, but swapping time increases

Engineering Contradiction:
ImproveDRAM capacityVSAvoidswapping time
Core Design Contradiction:
Quantity of substanceVSLoss of time

Solution Approach 1:

The system performs preliminary actions by pre-loading address map portions into DRAM before they are actually needed, or by maintaining multiple copies of frequently accessed portions. This anticipatory approach reduces the actual swapping time when address translations are required, as the data is already in the faster DRAM memory when needed.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent implements mechanisms to maintain continuous useful action by keeping address map portions in DRAM as long as they are needed, and by overlapping data transfer operations with processing operations. This minimizes idle time and ensures that address translations can proceed without interruption once the data is in DRAM.

Inventive Principle:
Principle #20Continuity of useful action

3Quantity of substance

If address map is stored in NAND flash memory, then DRAM capacity is reduced, but write operations increase frequency

Engineering Contradiction:
ImproveDRAM capacityVSAvoidwrite operations frequency
Core Design Contradiction:
Quantity of substanceVSProductivity

Solution Approach 1:

The patent extracts the most frequently accessed or currently needed portions of the address map from NAND flash memory and places them in DRAM. This extraction reduces the frequency of write operations to NAND flash, as updates to the active address map portions can be performed in the faster DRAM without immediately propagating changes to the NAND flash storage.

Inventive Principle:
Principle #2Taking out (Extraction)

Data Source

PatentUS20240264938A1Address map caching for a memory system
Publication Date: 2024.08.08 MICRON TECHNOLOGY INC
  • US20240264938A1 patent drawing
  • US20240264938A1 patent drawing
  • US20240264938A1 patent drawing

AI summary

A system having non-volatile media, a volatile memory, and a controller configured to process requests from a host system to store data in the non-volatile media or retrieve data from the non-volatile media. The non-volatile media has a quantity of memory units and stores an address map that defines logical addresses used in the requests in terms of physical addresses of the memory units in the non-volatile media. The host system has a memory connected to the system via a communication channel. The system has a cache manager that stores a first portion of the address map in the volatile memory of the system and a second portion of the address map in the memory of the host system. In response to an operation that uses a logical address defined in the second portion, the cache manager retrieves the second portion of the address map from the memory.