Linked Write Cache Buffers for Faster Overlap Reads

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing data storage devices face performance degradation and complexity issues due to cache coherency challenges in write caching mechanisms, particularly in scenarios where write commands overlap, leading to potential data override and QoS issues.

Innovation Solution

The solution involves reordering command executions by waiting for an overlap write command before executing a read command, allowing data to be accessed from the write cache instead of the NAND, and utilizing a link-list structure for write cache buffers to efficiently manage and overwrite data.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If write cache buffers are linked using a link-list structure, then cache lookup operation is simplified and faster, but device complexity increases due to additional pointer management logic

Engineering Contradiction:
Improvecache lookup speedVSAvoidpointer management complexity
Core Design Contradiction:
SpeedVSDevice complexity

Solution Approach 1:

The write cache buffers are segmented into individual buffer entries, each with its own pointer field. The link-list structure divides the cache into discrete, manageable units that can be independently tracked and accessed, enabling faster lookup by directly following pointers rather than scanning entire buffer regions.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Pointers serve as intermediary elements between the cache control logic and the actual buffer data. Instead of directly managing large buffer regions, the system uses pointer intermediaries to indirectly reference and access specific buffer entries, simplifying the control logic while enabling rapid navigation through the cache structure.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Productivity

If the device waits for overlap write command before executing read command, then data can be accessed from write cache instead of NAND, but execution time increases due to command reordering

Engineering Contradiction:
Improvedata access efficiencyVSAvoidcommand execution delay
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The device performs preliminary detection of potential write commands that may overlap with pending read commands. By identifying these overlap scenarios in advance, the system can proactively reorder command execution to utilize cached data, converting what would be a time-consuming NAND access into a faster cache access without significant delay.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The command execution order is made dynamic rather than fixed. The system adaptively reorders read and write commands based on real-time detection of LBA overlaps and cache state, allowing flexible optimization of data access paths depending on the specific workload pattern and cache contents.

Inventive Principle:
Principle #15Dynamics

3Reliability

If cache coherency logic is implemented to avoid data override in overlap scenarios, then data integrity is maintained, but performance degradation occurs due to pipe breaking and extra complexity

Engineering Contradiction:
Improvedata integrityVSAvoidwrite command throughput
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The link-list structured cache serves itself by automatically tracking which buffer entries are currently valid and cached through the pointer chain. When a write command arrives, the system can self-determine whether the data is already cached by checking the link-list structure, eliminating the need for external coherency checking logic and maintaining the write pipeline flow.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

Instead of implementing complex coherency logic that breaks the write pipeline, the system creates a simplified copy of the cache state information in the link-list pointer structure. This copy enables rapid determination of cache validity without requiring the full complexity of traditional coherency protocols, maintaining both data integrity and pipeline throughput.

Inventive Principle:
Principle #26Copying

Data Source

PatentUS12346261B2Write buffer linking for easy cache reads
Publication Date: 2025.07.01 SANDISK TECHNOLOGIES LLC
  • US12346261B2 patent drawing
  • US12346261B2 patent drawing
  • US12346261B2 patent drawing

AI summary

The present disclosure generally relates to improved optimization of a cache lookup operation by structuring the write cache buffers differently using a link-list. Rather than executing a read command first and then executing a write command only after the read command is executed, this disclosure suggests reordering the command executions. A device waits before executing the read command giving the opportunity to obtain the overlap write command. The device then reorders the command execution and executes first the write command and then executes the read command by accessing the write cache instead of the NAND. When two write commands need to be executed consecutively, the link-list operation is used. The controller finds the relevant buffer in the cache that is needed and overwrites the buffer with the new data. The new data is then written to the cache without accessing the cache multiple times.