Storage Cache Using Hints and History for Lower Read Latency

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Storage devices, such as solid-state drives, suffer from high read latency due to coarse read granularity of non-volatile memory, leading to inefficient bandwidth utilization and potential waste of host interface bandwidth.

Innovation Solution

Implementing a cache system in the storage device that uses caching hints and a history table to store data units at finer granularity, with separate caching schemes for data with low and high spatial locality, reducing the need for frequent reads from non-volatile memory.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If data is read directly from non-volatile memory with coarse read granularity, then the storage device can access data, but read latency increases and bandwidth utilization becomes inefficient

Engineering Contradiction:
Improveread speedVSAvoidread latency
Core Design Contradiction:
SpeedVSLoss of time

Solution Approach 1:

A cache memory is introduced as an intermediary between the non-volatile memory and the host. The cache stores frequently accessed data units at finer granularity, allowing the host to access data without waiting for slow non-volatile memory reads. The cache controller manages data transfer between non-volatile memory and cache, using caching hints and history tables to pre-load data that is likely to be accessed soon.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The system performs preliminary actions by pre-loading data into the cache before the host actually requests it. The cache controller uses caching hints from the host and maintains a history table to predict which data units will be accessed next, and proactively loads these data units into the cache. This preliminary loading reduces the latency when the host subsequently requests the data.

Inventive Principle:
Principle #10Preliminary action

2Quantity of substance

If the cache stores only requested data units, then cache space is conserved, but frequently accessed data units that were not explicitly requested cannot be cached

Engineering Contradiction:
Improvecache space utilizationVSAvoidbandwidth efficiency
Core Design Contradiction:
Quantity of substanceVSProductivity

Solution Approach 1:

The system implements feedback mechanisms through caching hints provided by the host and a history table maintained by the cache controller. The history table records which data units have been accessed recently, and this feedback information is used to make intelligent decisions about which additional data units to load into the cache. The cache controller continuously monitors access patterns and adjusts its pre-loading strategy accordingly.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

Instead of loading only the exact data units requested by the host, the system performs partial or excessive action by loading additional data units that are likely to be accessed soon based on caching hints and history table information. This excessive pre-loading may use more cache space temporarily, but it significantly improves bandwidth efficiency by having data ready before it is actually needed.

Inventive Principle:
Principle #16Partial or excessive action

3Loss of time

If the cache uses fine granularity for storing data units, then read latency is reduced, but the complexity of cache management increases

Engineering Contradiction:
Improveread latencyVSAvoidcache management complexity
Core Design Contradiction:
Loss of timeVSDevice complexity

Solution Approach 1:

The cache is organized into multiple independent portions or sets, each capable of storing data units at fine granularity. This segmentation allows the cache controller to manage different portions independently, reducing the overall complexity. Each cache portion can be managed with simpler logic while collectively providing fine-grained caching capability across the entire cache structure.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentEP4679277A1System and method for caching in a storage device
Publication Date: 2026.01.14 SAMSUNG ELECTRONICS CO LTD
  • EP4679277A1 patent drawingFigure 1A
  • EP4679277A1 patent drawingFigure 1B
  • EP4679277A1 patent drawingFigure 1C

AI summary

A system and method for caching in a storage device are provided. In some embodiments, a storage device includes: a control circuit; non-volatile memory; and a cache. The control circuit may be configured: to receive, from a host, a caching hint identifying a first address; to read a first quantity of data from the non-volatile memory; and to store a portion of the first quantity of data in the cache, the first quantity being larger than the portion, the portion including a first data unit, having an address equal to the first address.