Memory Controller Command Suspension for Execution Delay Reduction
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing memory systems face delays in processing commands due to the execution of commands handling large amounts of data, which can degrade performance and response times for other commands.
Innovation Solution
A memory system and operating method that allow a host to control the execution order of commands by suspending or aborting commands upon receiving a lock request, with the option to resume execution based on an unlock request or a predetermined suspend time, enabling prioritization of smaller data commands over larger ones.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If commands are processed in input order, then processing simplicity is maintained, but execution time for smaller commands is delayed due to large data commands
Solution Approach 1:
The system performs preliminary actions by checking for lock requests before executing commands. When a lock request is detected for a command handling large data, the system suspends that command's execution in advance, allowing smaller commands to be processed first. This preliminary suspension action prevents the time loss for smaller commands without disrupting the overall processing flow.
2Productivity
If large data commands are executed first, then data processing efficiency is maximized, but response time for subsequent smaller commands deteriorates
Solution Approach 1:
The system dynamically adjusts command execution order based on real-time lock request status. Instead of a fixed processing order, the memory controller continuously monitors for lock requests and dynamically suspends or aborts large data commands when needed. This dynamic adaptation allows the system to maintain high data processing efficiency for large commands while ensuring fast response times for smaller commands that may require suspension.
3Device complexity
If command execution order is fixed, then system complexity is reduced, but flexibility in managing command priorities is limited
Solution Approach 1:
The system introduces lock requests as an intermediary mechanism between the host and command execution. Instead of implementing a complex priority queue or scheduling algorithm, the host can simply issue lock requests for specific commands. The memory controller acts as a mediator that interprets these lock requests and automatically suspends or aborts the targeted commands. This intermediary approach provides flexible priority control while keeping the overall system complexity low.
Data Source
AI summary
Embodiments of the present disclosure relate to a memory system and an operating method thereof. According to the embodiments of the present disclosure, the memory system may fetch a first command from the host into a command queue, suspend execution of the first command when receiving a lock request for the first command from the host, and resume the execution of the first command when receiving an unlock request for the first command or after the first command is suspended for an amount of time corresponding to a suspend time value transmitted together with the lock request.


