Memory Controller Smart Scheduling for High Queue-Depth SSD Commands
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In high queue-depth situations, SSDs experience lengthy wait times for commands, leading to performance degradation and quality-of-service (QoS) issues due to the lack of efficient scheduling mechanisms for processing commands by decoders in memory systems.
Innovation Solution
Implementing a smart scheduling scheme that utilizes queues with different priority levels and a scheduler to reorder commands based on predicted execution times and dynamic priority updates, ensuring that commands with shorter predicted execution times are processed first, thereby reducing overall processing time and improving QoS.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Loss of time
If commands are processed in traditional FIFO order in high queue-depth situations, then queue management is simple, but execution time increases and performance degrades
Solution Approach 1:
The patent implements dynamic priority scheduling where command priorities are not fixed but change over time based on predicted execution times. The scheduler continuously recalculates priorities using a metric function that considers current system state, allowing the scheduling policy to adapt dynamically rather than using static FIFO ordering. This resolves the contradiction by introducing time-varying priority adjustments that reduce execution time without requiring complex real-time reconfiguration.
Solution Approach 2:
The patent performs preliminary estimation of command execution times before actual execution. The metric function predicts execution times based on command characteristics and current decoder state, allowing the scheduler to pre-determine optimal execution order. This preliminary action enables the system to avoid lengthy wait times by proactively scheduling shorter commands first, rather than reacting to queue depth after commands have already been queued.
2Adaptability or versatility
If multiple decoders serve multiple NAND channels, then channel coverage is improved, but command queue depth increases and wait times lengthen
Solution Approach 1:
The patent applies different priority levels and scheduling treatments to different command types and decoder contexts. Rather than uniform scheduling across all decoders and channels, the metric function evaluates each command individually based on its specific characteristics, the particular decoder's current state, and channel-specific conditions. This local quality approach allows the system to optimize scheduling decisions for each command-decoder pair, reducing overall wait times while maintaining versatile multi-channel coverage.
3Productivity
If commands are scheduled based on predicted execution times, then overall processing time is reduced, but scheduling complexity increases
Solution Approach 1:
The patent implements a self-service scheduling mechanism where the metric function automatically evaluates commands and determines priorities without requiring complex external control or manual intervention. The scheduler uses the metric function to autonomously assess command characteristics, predict execution times, and assign priorities based on current system state. This self-service approach reduces scheduling complexity by eliminating the need for complex external scheduling logic while maintaining high productivity through automated priority-based scheduling.
Data Source
AI summary
Memory controllers and decoders of memory systems and methods for operating the same, which employ smart scheduling of commands to be processed to reduce overall execution time. A metric function is applied to determine or update the priority of each of the multiple commands in multiple queues based on expected execution time and expected wait time such that the smart scheduling scheme provides significant improvement in terms of quality-of-service (QoS) of the memory system.


