Splitting Sequential Read Commands for Non-Volatile Memory
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
The memory controller in non-volatile storage devices faces challenges in efficiently scheduling mixed random read and sequential read command sequences, leading to bottlenecks and idle planes due to the need for synchronized timing and restricted parallel operations.
Innovation Solution
The proposed solution involves splitting sequential read commands into plane read commands at boundaries and submitting them as asynchronous independent plane reads (AIPR) alongside random read commands, allowing for simultaneous execution and improved plane utilization, thereby reducing bottlenecks and increasing performance.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If sequential read commands are executed with synchronized timing across multiple planes, then read performance is improved through parallel operations, but plane utilization deteriorates due to idle planes during AIPR mode
Solution Approach 1:
The patent segments sequential read commands into multiple independent plane read commands that can be executed asynchronously across different planes. Instead of treating sequential reads as a single synchronized operation, the system divides them into separate commands for each plane, allowing independent execution and improving overall plane utilization while maintaining read performance.
2Quantity of substance
If asynchronous independent plane reads are used for random reads, then plane utilization is improved, but sequential read performance deteriorates due to blocking and idle planes
Solution Approach 1:
The patent implements dynamic scheduling that adapts the execution mode based on the type of read command. For sequential reads, the system dynamically coordinates plane operations to avoid blocking while maintaining throughput. For random reads, asynchronous independent plane reads are used. This dynamic approach allows the system to optimize for either plane utilization or sequential read performance depending on the workload characteristics.
3Productivity
If synchronized timing is required for multi-plane reads, then read performance is improved, but device complexity increases due to timing coordination overhead
Solution Approach 1:
The patent extracts the timing coordination requirement from the plane read operations themselves and handles it at the command scheduling level. By separating the timing coordination function from the actual plane execution, the system reduces the complexity burden on individual planes while maintaining overall synchronized performance when needed.
Data Source
AI summary
Technology is disclosed herein for handling of mixed random read and sequential read command sequences. Plane read commands are formed from one or more sequential read commands. A sequential read command may be split into multiple plane read commands at plane boundaries. The plane read commands are submitted to the respective planes as asynchronous independent plane read commands. Random read commands may be submitted to the planes as asynchronous independent plane read (AIPR) commands on par with the split sequential read commands. Therefore, AIPR may be used for both sequential read commands and random read commands. Submitting a split sequential read command to one or more planes while one or more other planes are performing a random read command can significantly improve performance.


