SSD Memory Controller Read Command Selection Algorithm

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing methods for optimizing data access in solid state drives (SSDs) face challenges due to unpredictable latencies and interference between operations, making it difficult to achieve performance improvements using Native Command Queueing (NCQ) or NVMe queueing, as these systems differ significantly from hard disk drives (HDDs).

Innovation Solution

A solid state drive memory system optimizes data access by monitoring the completion status of read commands and sub-commands, selecting the next read command to return data in an order that minimizes delays and interruptions, allowing for efficient processing of queued commands through a selection algorithm that prioritizes completed and partially completed commands.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Loss of time

If read commands are processed in the order they are queued, then command processing simplicity is maintained, but access latency increases due to unpredictable operation completion times

Engineering Contradiction:
Improveaccess latencyVSAvoidcommand processing complexity
Core Design Contradiction:
Loss of timeVSDevice complexity

Solution Approach 1:

The patent implements dynamic command selection by monitoring the completion status of multiple read sub-commands and selecting the next command to return data based on real-time status rather than fixed queue order. This allows the system to adapt to varying operation completion times and minimize access latency while managing complexity through structured status tracking

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system continuously monitors the completion status of read sub-commands and uses this feedback information to dynamically determine which command to service next. This feedback mechanism enables the controller to optimize command processing order based on actual operation progress, reducing overall access latency

Inventive Principle:
Principle #23Feedback

2Productivity

If multiple read commands are processed in parallel, then data transfer throughput increases, but bus utilization efficiency decreases due to frequent interruptions and switches

Engineering Contradiction:
Improvedata transfer throughputVSAvoidbus utilization efficiency
Core Design Contradiction:
ProductivityVSLoss of energy

Solution Approach 1:

The patent initiates multiple read sub-commands in parallel before the data transfer phase begins, allowing the memory device to prepare data in advance. The controller then selects commands for data transfer based on completion status, enabling efficient bus utilization by transferring data in larger continuous blocks rather than frequent small transfers

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

By monitoring command completion status and selecting the next command to return data based on which sub-commands have completed, the system maintains continuous data transfer activity on the bus. This reduces bus idle time and improves utilization efficiency while preserving the throughput benefits of parallel command processing

Inventive Principle:
Principle #20Continuity of useful action

3Productivity

If data is returned in queue order, then implementation simplicity is maintained, but data transfer efficiency decreases due to delays from incomplete commands

Engineering Contradiction:
Improvedata transfer efficiencyVSAvoiddata return logic complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The system uses the natural completion status of read sub-commands to automatically determine which command is ready for data transfer. This self-service approach eliminates the need for complex predictive algorithms while improving data transfer efficiency by always selecting commands that have actually completed their read operations

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The patent replaces the mechanical constraint of fixed queue-order processing with a status-based selection mechanism. Instead of physically or logically enforcing queue order, the system uses completion status monitoring to dynamically determine data return order, substituting a simpler status-checking mechanism for complex ordering logic

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

Data Source

PatentUS9720860B2System and method for efficient processing of queued read commands in a memory system
Publication Date: 2017.08.01 KIOXIA CORP
  • US9720860B2 patent drawing
  • US9720860B2 patent drawing
  • US9720860B2 patent drawing

AI summary

A solid state drive (SSD) storage system includes a memory controller, host interface, memory channels and solid state memories as storage elements. The completion status of sub-commands of individual read commands is monitored and used to determine an optimal selection for returning data for individual read commands. The completion of a read command may be dependent on the completion of multiple individual memory accesses at various times. The queueing of multiple read commands which may proceed in parallel or out of order causes interleaving of multiple memory accesses from different commands to individual memories. A system and method is disclosed which enables the selection, firstly of completed read commands, independent of the order they were queued and, secondly, of partially completed read commands which are most likely to complete with the least interruption or delay, for data transfer, which in turn improves the efficiency of the data transfer interface.