SSD Memory Command Scheduling via Historical Execution Data
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Solid State Disk (SSD) devices lack the performance enhancement techniques provided by Native Command Queuing (NCQ) due to their absence of mechanical moving parts, which are inherent in Hard Disk Drives (HDDs).
Innovation Solution
Implementing a memory system that maintains a queue of memory commands, compares local information associated with upcoming commands to previously executed commands, and selects the command with the shortest expected blocking time for execution, utilizing channel, way, Direct Memory Access (DMA) time, and address translation information to optimize command execution order.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If Native Command Queuing (NCQ) is used to optimize command execution order, then performance is improved in HDDs, but SSDs cannot benefit from this technology due to their lack of mechanical moving parts
Solution Approach 1:
The patent replaces the mechanical movement-based optimization of NCQ (designed for HDD head positioning) with a software-based command scheduling system that uses historical execution data and channel utilization information to optimize command ordering for SSDs, which have no mechanical moving parts
Solution Approach 2:
The patent changes the optimization parameters from mechanical positioning metrics (head movement distance) to SSD-relevant parameters such as channel utilization, command blocking time, and historical execution patterns, allowing the same command queuing concept to be adapted for different storage device architectures
2Productivity
If commands are executed in the order they are received, then implementation is simple, but waiting times increase and performance is reduced
Solution Approach 1:
The patent performs preliminary analysis of command characteristics and maintains a history of previously executed commands to predict optimal execution order, selecting commands with shortest expected blocking time before execution begins, thereby reducing waiting time and improving throughput
3Productivity
If command scheduling based on historical data is implemented, then execution efficiency is improved, but system complexity increases
Solution Approach 1:
The command scheduling system serves itself by automatically learning from historical execution patterns and making autonomous decisions about command ordering based on channel utilization and blocking time predictions, without requiring complex external control or manual configuration
Data Source
AI summary
A memory system is operated by maintaining a queue of memory commands to be executed, maintaining a list of previously executed memory commands, comparing local information associated with the commands to be executed with local information associated with the list of previously executed commands, and selecting one of the commands for execution from the queue of memory commands to be executed based on a result of the comparison.


