Adaptive Host Memory Buffer Caching for SSD Latency

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

High latency in accessing Flash Translation Layer (FTL) tables in nonvolatile storage devices, such as NAND-based SSDs, due to the architectural limitations of host memory allocation and the performance gap between DRAM and NAND storage, which affects host device performance.

Innovation Solution

Adaptive Host Memory Buffer (HMB) caching using unassisted hinting, where a hardware or firmware module derives hints from access patterns and file system metadata to optimize the caching of FTL data across a tiered storage structure, including SRAM, host DRAM, and NAND storage, reducing latency in future accesses.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If FTL tables are stored in device DRAM to reduce latency, then access speed is improved (hundreds of nanoseconds), but the ratio of DRAM consumed to total device capacity becomes 1 to 1,000, which is prohibitively expensive

Engineering Contradiction:
ImproveFTL table access speedVSAvoidDRAM capacity required
Core Design Contradiction:
SpeedVSQuantity of substance

Solution Approach 1:

The patent implements a nested caching hierarchy with three levels: L1 cache in device SRAM (smallest, fastest), L2 cache in host DRAM (medium, intermediate speed), and L3 cache in device DRAM or NAND (largest, slowest). This nested structure allows the system to achieve fast access speeds for frequently accessed FTL entries while using minimal expensive device DRAM, as the majority of FTL data can be cached in the larger host DRAM L2 cache.

Inventive Principle:
Principle #7Nested doll (Nesting)

Solution Approach 2:

The patent segments the FTL table into multiple parts and distributes them across different cache levels. The FTL is divided into FTL data that fits in L1 cache, FTL data that fits in L2 cache, and FTL data that requires L3 cache. This segmentation allows each cache level to be optimized for its specific access patterns and performance requirements, reducing the overall DRAM capacity requirement while maintaining fast access for critical data.

Inventive Principle:
Principle #1Segmentation

2Speed

If host memory is allocated for HMB caching, then FTL access latency is reduced (to ones of microseconds), but operating system architectural limits restrict the amount of memory that can be allocated to PCIe devices

Engineering Contradiction:
ImproveFTL table access speedVSAvoidmemory allocation constraints
Core Design Contradiction:
SpeedVSDevice complexity

Solution Approach 1:

The patent implements dynamic cache management where the size and content of the HMB cache are not fixed but adapt based on access patterns. The system uses replacement policies and hinting mechanisms to dynamically determine which FTL entries should be cached in host DRAM, allowing the cache to automatically optimize itself without requiring fixed memory allocation from the OS. This dynamic approach allows the system to achieve fast access speeds while working within the constraints of available host memory.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent enables the storage device to self-manage its caching strategy by deriving hints from access patterns and automatically making decisions about which FTL entries to cache in host DRAM. The device controller autonomously manages the HMB cache contents, replacement policies, and prefetching operations without requiring external intervention, allowing the system to optimize performance within available memory constraints.

Inventive Principle:
Principle #25Self-service

3Speed

If full mapping tables are stored in HMB cache, then FTL access latency is minimized, but host memory efficiency is reduced due to memory being locked to specific physical addresses that cannot be reallocated

Engineering Contradiction:
ImproveFTL table access speedVSAvoidhost memory efficiency
Core Design Contradiction:
SpeedVSProductivity

Solution Approach 1:

The patent implements partial caching of FTL tables in host DRAM, caching only the most frequently accessed portions rather than the entire FTL. By using access pattern analysis and hinting mechanisms, the system identifies and caches only the critical FTL entries that provide the greatest performance benefit, leaving less frequently accessed entries in device storage. This partial action approach achieves significant latency reduction while consuming minimal host memory, thereby maintaining high memory efficiency.

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS10268584B2Adaptive host memory buffer (HMB) caching using unassisted hinting
Publication Date: 2019.04.23 SANDISK TECHNOLOGIES LLC
  • US10268584B2 patent drawing
  • US10268584B2 patent drawing
  • US10268584B2 patent drawing

AI summary

A storage device includes a nonvolatile memory. The storage device further includes a hint derivation module for automatically deriving, from host accesses to the storage device, hints regarding expected future host accesses to a table that maps logical memory addresses to physical memory addresses in the nonvolatile memory. The storage device further includes an adaptive host memory buffer (HMB) caching module for using the hints to identify portions of the table to cache in the HMB and for caching the identified portions in the HMB, which is external to the storage device and accessible by the storage device via a bus.