Memory Controller Command Queue Suspend Handling
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current memory systems face challenges in managing command execution, particularly when a suspend command is received during ongoing operations, leading to potential delays or interruptions of normal commands without ensuring adequate operation time.
Innovation Solution
A memory interface and controller system that includes a command queue controller, a command time controller, and a command time manager to determine the execution order of normal and suspend commands, providing additional operation time for normal commands and delaying the execution of suspend commands accordingly to prevent interruptions.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Speed
If a suspend command is immediately executed when received, then the system responds quickly to suspension requests, but normal commands may be interrupted before completing their required operation time
Solution Approach 1:
The system pre-allocates additional operation time to normal commands before suspend commands are executed. This preliminary time allocation ensures that normal commands have guaranteed execution time even when suspend commands are received, preventing interruptions while maintaining quick suspend response.
Solution Approach 2:
The command execution system dynamically adjusts the execution order and timing of commands based on received suspend requests. The controller can flexibly delay suspend command execution until the pre-allocated time for normal commands elapses, creating a dynamic balance between quick suspension response and normal command completion.
2Reliability
If normal commands are always prioritized over suspend commands, then normal commands complete their operations, but the system cannot respond timely to suspension requests
Solution Approach 1:
The system changes the time parameter allocation for normal commands by adding a predetermined additional operation time. This parameter modification allows the system to guarantee normal command completion while limiting the maximum delay for suspend commands to just this predetermined time period.
Solution Approach 2:
The controller acts as an intermediary between normal commands and suspend commands, managing their execution order. It mediates by allowing normal commands to use their pre-allocated time first, then executing suspend commands, thus balancing the needs of both command types without complete prioritization of either.
3Device complexity
If no additional operation time is provided to normal commands, then the command execution is simple and fast, but normal commands may be indefinitely delayed by suspend commands
Solution Approach 1:
The system performs preliminary allocation of operation time to normal commands before any suspend commands are processed. This advance time assignment prevents indefinite delays without requiring complex real-time arbitration, as the execution order is predetermined based on the additional time allocation.
Solution Approach 2:
By modifying the time parameter of normal commands (adding predetermined additional operation time), the system creates a simple yet effective mechanism to prevent indefinite delays. This parameter change alone is sufficient to ensure normal command completion while maintaining relatively simple command management logic.
Data Source
AI summary
There are provided a memory interface, a command queue controller configured to determine an execution order of normal commands and a suspend command; a command time controller configured to receive the normal commands, and output command and time information by providing a corresponding additional operation time to each of the normal commands; a command time manager configured to match the command and time information to each of the normal commands to be stored therein, and output an end signal; and an input/output interface configured to receive the normal commands and the suspend command, and transmit the normal commands and the suspend command to a memory device through a channel.


