Read Cache Buffer Segmentation for Multi-Stream Switching

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Storage devices face performance degradation due to limited read cache space, which inefficiently allocates cache space when handling multiple streams, leading to ineffective use and reduced efficiency.

Innovation Solution

Implementing a tiny read cache with a split buffer state management algorithm that maintains active cache states for multiple streams by associating buffers with specific streams based on alive counts, ensuring continuous data prefetching without deactivation.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If read cache space is allocated to one or more streams, then performance is improved for those streams, but additional streams cannot be effectively serviced due to limited cache space

Engineering Contradiction:
Improvestream performanceVSAvoidmulti-stream capability
Core Design Contradiction:
ProductivityVSAdaptability or versatility

Solution Approach 1:

The read cache is segmented into multiple independent buffers, each associated with a specific stream. This segmentation allows the cache to simultaneously service multiple streams by directing read commands to the appropriate buffer, resolving the contradiction between optimizing for single-stream performance and supporting multi-stream operations.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The read cache buffers are designed to be multi-functional, where each buffer can serve its associated stream while also being part of a larger cache system that handles multiple streams. The alive count mechanism allows buffers to be dynamically activated or deactivated based on stream activity, enabling the cache to adaptively serve multiple streams with limited total space.

Inventive Principle:
Principle #6Universality (Multi-functionality)

2Quantity of substance

If read cache space is limited, then cache size is reduced, but cache miss rate increases leading to performance degradation

Engineering Contradiction:
Improvecache spaceVSAvoiddata retrieval efficiency
Core Design Contradiction:
Quantity of substanceVSProductivity

Solution Approach 1:

Instead of treating the read cache as a single uniform space, the invention applies local quality by creating distinct buffers with specific characteristics for each stream. Each buffer is optimized for its associated stream's access patterns, allowing more efficient use of limited cache space and reducing cache misses for each individual stream while maintaining overall multi-stream performance.

Inventive Principle:
Principle #3Local quality

Data Source

PatentUS12499047B2Enhanced read cache for stream switching in storage device
Publication Date: 2025.12.16 SANDISK TECHNOLOGIES LLC
  • US12499047B2 patent drawing
  • US12499047B2 patent drawing
  • US12499047B2 patent drawing

AI summary

In a data storage device, a controller can efficiently allocate a limited cache space to service multiple data streams. In one or more examples, in response to receiving a first read command for a first stream, the controller may respond to read commands for the first stream based on prefetching data for the first stream using buffers. When the controller receives a second read command for a second stream, the controller may respond to read commands based on prefetching data for the first stream and the second stream using the buffers. After receiving the second read command, in response to receiving a number of read commands for the first stream, the controller may cease prefetching data for the second stream using the buffers, and revert to responding to read commands for the first stream based on prefetching data for the first stream using the buffers.