Nonvolatile Memory Read Scheduling for Ordered Die Parallelism
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
There is a need to improve the throughput of read processes in memory systems with nonvolatile memory, particularly in solid state drives (SSDs), and to efficiently transfer read target data to hosts in the order of leading to last data.
Innovation Solution
A memory system with a controller that manages multiple dies, utilizing a first and second queue for read commands, along with a command buffer, to efficiently schedule and transfer data from nonvolatile memory in the order specified by the host, optimizing parallel read operations and data transfer.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If parallel read operations are implemented across multiple dies, then read throughput is improved, but data transfer order control becomes more complex
Solution Approach 1:
The patent segments read commands into two distinct queues: a first queue for leading read commands and a second queue for subsequent read commands. This segmentation allows the controller to manage parallel read operations across multiple dies while maintaining proper data transfer order, as each queue handles specific command types independently.
Solution Approach 2:
The patent introduces a command buffer as an intermediary component between the queues and the dies. The command buffer receives commands from either queue and coordinates the actual read operations, acting as a mediator that simplifies the control logic by centralizing command dispatch while enabling parallel operations across multiple dies.
2Speed
If data is read from multiple dies in parallel, then read speed is improved, but ensuring data arrives in correct order becomes difficult
Solution Approach 1:
By dividing read commands into leading commands (first queue) and subsequent commands (second queue), the system ensures that leading data is always read first from any die, while subsequent data is read after. This segmentation guarantees that data arrives at the host in the correct order (leading to last) even when parallel reads occur across multiple dies.
Solution Approach 2:
The system performs preliminary classification of read commands into two categories before execution. By pre-organizing commands in separate queues based on whether they are leading or subsequent, the system establishes the correct execution order beforehand, ensuring data integrity without requiring complex post-processing or reordering mechanisms.
Data Source
AI summary
According to one embodiment, a memory system includes a nonvolatile memory including dies, a controller, and a first queue, a second queue, and a command buffer provided for each die. In response to a read command to be executed being stored in the command buffer corresponding to a first die, the controller determines whether or not a next read command needs to be issued. In response to determining that the next read command needs to be issued, the controller identifies a second die in which second data subsequent to first data corresponding to the read command to be executed is stored, and stores a read command to read the second data in the second queue corresponding to the second die.


