Memory Controller Smart Scheduling for High Queue-Depth SSD Commands

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
Improvecommand execution timeVSAvoidscheduling mechanism complexity
Core Design Contradiction:
Loss of timeVSDevice complexity

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.

Inventive Principle:
Principle #15Dynamics

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.

Inventive Principle:
Principle #10Preliminary action

2Adaptability or versatility

If multiple decoders serve multiple NAND channels, then channel coverage is improved, but command queue depth increases and wait times lengthen

Engineering Contradiction:
Improvedecoder channel coverageVSAvoidcommand wait time
Core Design Contradiction:
Adaptability or versatilityVSLoss of time

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.

Inventive Principle:
Principle #3Local quality

3Productivity

If commands are scheduled based on predicted execution times, then overall processing time is reduced, but scheduling complexity increases

Engineering Contradiction:
Improvecommand processing throughputVSAvoidscheduler complexity
Core Design Contradiction:
ProductivityVSDevice complexity

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.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS12093562B2Controller with smart scheduling and method of operating the controller
Publication Date: 2024.09.17 SK HYNIX INC
  • US12093562B2 patent drawing
  • US12093562B2 patent drawing
  • US12093562B2 patent drawing

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.