Memory Controller Abort Logic for Read Command Queue Optimization
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current semiconductor memory device controllers face inefficiencies in managing command queues, leading to increased operating time due to the need to stop and restart operations when read commands fail, which can prolong the processing time for identifying data from selected pages.
Innovation Solution
Implementing a controller with a command queue managed on a first-in first-out basis, where successful read commands abort remaining commands, and using ECC decoding to determine pass or fail, allowing for efficient re-attempting of failed commands and parameter setting operations, thereby optimizing the operating time by canceling subsequent commands when a read command succeeds.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If the controller continuously processes read commands from the command queue without aborting remaining commands, then the command queue can be fully utilized and data can be read from all selected pages, but the operating time increases due to the need to stop and restart operations when read commands fail
Solution Approach 1:
The controller performs preliminary actions by aborting remaining read commands in the command queue when a command passes, before those commands can be executed. This prevents wasted time on commands that will never be executed, thereby reducing operating time while maintaining data reading reliability through ECC decoding.
Solution Approach 2:
The controller uses feedback from ECC decoding results to determine whether a read command passes or fails. When a command passes, the controller receives feedback to abort remaining commands in the queue. This feedback mechanism optimizes operating time by preventing execution of unnecessary commands while ensuring reliable data reading through proper error correction.
2Loss of time
If the controller aborts remaining read commands when a command passes, then the operating time is reduced by avoiding unnecessary processing, but the command queue management becomes more complex
Solution Approach 1:
The command queue management system becomes dynamic by continuously monitoring the status of read commands and adjusting its behavior accordingly. When a command passes, the system dynamically aborts remaining commands in the queue. This dynamic approach reduces operating time while managing complexity through automated status-based decision making.
Solution Approach 2:
The command queue management system performs self-service by automatically determining when to abort remaining commands based on ECC decoding results. The system monitors command status and autonomously manages the queue without external intervention, reducing operating time while containing complexity within the automated control logic.
3Measurement precision
If the controller uses ECC decoding to determine pass or fail of read commands, then data accuracy is improved, but the processing time for error correction increases
Solution Approach 1:
The controller skips or rushes through the ECC decoding process for commands that will be aborted anyway. By determining command pass/fail status through ECC decoding and then aborting remaining commands, the system avoids the time cost of processing commands that will not be executed, thereby reducing overall processing time while maintaining data accuracy where needed.
Solution Approach 2:
The system discards remaining read commands in the queue when a command passes, after having recovered the necessary data through successful ECC decoding. This approach ensures data accuracy for successfully decoded commands while avoiding the time consumption of processing commands that will be discarded, optimizing the balance between accuracy and processing time.
Data Source
AI summary
An operating method for controlling a semiconductor memory device according to an embodiment may include storing read commands in a command queue managed on first-in first-out basis; providing one of the read commands to the semiconductor memory device; determining whether the provided read command passes or fails based on read data, which is provided from the semiconductor memory device in response to the provided read command; and aborting remaining read commands in the command queue when the provided read command passes.


