SSD Read Buffer Segmentation for Ordered Multi-Die Reads
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In solid state drives (SSDs) with non-volatile memory, large data transfers lead to inefficient use of the read buffer due to out-of-order data parts remaining in the buffer, reducing performance.
Innovation Solution
A memory system that divides data into clusters, generates linked read requests, and manages these requests using a linked list manager to efficiently utilize the read buffer by specifying storage areas across multiple memory dies, ensuring data is transferred in logical order while minimizing buffer occupancy.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Speed
If data is read from multiple memory dies in parallel, then read speed is improved, but data parts cannot be transferred to host in logical order causing read buffer inefficiency
Solution Approach 1:
The patent segments the read buffer into multiple buffer regions, with each region corresponding to a specific memory die. This segmentation allows data parts from different memory dies to be stored in dedicated buffer regions, enabling parallel reads while maintaining the ability to transfer data to the host in logical order by controlling the release of data from each buffer region appropriately.
2Reliability
If data parts are stored in read buffer waiting for logical order transfer, then data integrity is maintained, but buffer capacity is reduced for subsequent read commands
Solution Approach 1:
By segmenting the read buffer into multiple buffer regions corresponding to different memory dies, the patent enables more efficient utilization of buffer capacity. Each buffer region can independently manage its data parts, allowing the system to maintain data integrity for logical order transfer while reducing the total amount of data that must be held in buffer, thereby increasing available buffer capacity for subsequent read commands.
Solution Approach 2:
The patent implements preliminary actions by pre-allocating specific buffer regions for data parts from each memory die before the actual read operation. This preliminary organization allows data parts to be directly placed in the correct buffer region upon reading, eliminating the need to hold all data parts in a single undifferentiated buffer space, thus optimizing buffer utilization.
Data Source
AI summary
A controller of a memory system issues a first memory read request for reading first data at a head of data to be read from a first memory die to the first memory die. When remaining data following the first data is included in the data to be read, the controller transfers a first identifier from a first command queue to a second command queue corresponding to a second memory die in which second data at a head of the remaining data is stored. The controller issues a second memory read request for reading the second data from the second memory die to the second memory die in response to transferring the first identifier to the second command queue.


