SSD Controller Data Tracking for Read Latency
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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.
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
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.
3Reliability
If data is locked during programming operation, then data integrity is maintained, but read access is blocked causing high latency
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.
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.
Data Source
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.


