SSD Controller Data Tracking for Read Latency

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Data storage devices, such as SSDs, face high latency for read commands due to data being inaccessible or locked during programming, leading to increased read delays.

Innovation Solution

A data storage device with a controller that maintains an active table tracking the location of data, allowing it to locate and provide data to the host device even when it is not yet programmed to the non-volatile memory or is being relocated.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If data is being programmed to non-volatile memory through volatile memory pipeline, then data programming operation is performed, but read latency increases because data location is not tracked in real time

Engineering Contradiction:
Improvedata programming throughputVSAvoidread latency
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The system performs preliminary tracking of data locations in the volatile memory pipeline during the programming operation. The controller maintains an active table that records the current location of data being programmed, so when a read request arrives, the data location is already known and can be immediately retrieved without waiting for the programming operation to complete.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system implements feedback by continuously updating the active table with the current location of data in the volatile memory pipeline. This feedback mechanism allows the controller to track data movement in real-time and provide accurate location information to read requests, resolving the latency issue caused by untracked data locations.

Inventive Principle:
Principle #23Feedback

2Productivity

If data is being relocated during garbage collection, then data is moved from one block to another, but read commands are stalled because data is unavailable

Engineering Contradiction:
Improvegarbage collection efficiencyVSAvoidread command latency
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The controller performs preliminary tracking of data locations during garbage collection operations. When data is being relocated from one block to another, the active table records the current location of the data. This allows read requests to be satisfied from the current location without waiting for the relocation to complete, improving both garbage collection efficiency and read performance.

Inventive Principle:
Principle #10Preliminary action

3Reliability

If data is locked during programming operation, then data integrity is maintained, but read access is blocked causing high latency

Engineering Contradiction:
Improvedata integrityVSAvoidread access time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The system segments the data access control by separating the programming operation from the read operation. The active table maintains a separate tracking mechanism that allows read requests to access data from volatile memory while programming operations complete in the background. This segmentation eliminates the need for data locking and enables concurrent read-write operations.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The active table serves as an intermediary that mediates between programming operations and read requests. It tracks the current location of data in the volatile memory pipeline and provides this information to read requests, allowing reads to proceed without waiting for programming to complete or data to be unlocked.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS12299289B2QoS optimization by using data tracking module
Publication Date: 2025.05.13 SANDISK TECHNOLOGIES LLC
  • US12299289B2 patent drawing
  • US12299289B2 patent drawing
  • US12299289B2 patent drawing

AI summary

A data storage device includes a memory device and a controller coupled to the memory device. When data received by the controller, from a host device or from a non-volatile memory of the data storage device, the controller maintains table tracking the location of the data. The table may include a current location of the data in a volatile memory of the controller or the data storage device as well as the current location of the data a latch of the non-volatile memory. The table may further associate the location with a logical block address, such that when the host device requests the data not yet programmed to the non-volatile memory or data that is part of a data relocation operation, the controller may utilize the table to locate the relevant data and provide the data to the host device.