Dynamic Command Fetching in NVMe Storage Controllers

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current NVMe systems rely on static arbitration logic for selecting commands from submission queues, which may not optimize resource utilization when storage device resources are limited and host demands exceed processing capacity.

Innovation Solution

Implementing a method that collects submission queue command statistics and monitors resource state to dynamically select the next command from submission queues, allowing for intelligent fetching based on historical data and current resource availability.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Device complexity

If static arbitration logic (round robin or weighted round robin) is used to select commands from submission queues, then the system maintains simple selection mechanisms, but resource utilization deteriorates when storage device resources are limited and host demands exceed processing capacity

Engineering Contradiction:
Improvecommand selection mechanismVSAvoidresource utilization
Core Design Contradiction:
Device complexityVSProductivity

Solution Approach 1:

The patent implements dynamic command selection by transitioning from static round-robin arbitration to a mechanism that adapts selection based on real-time resource state. The device controller monitors resource availability and dynamically adjusts which submission queue to fetch commands from, ensuring optimal resource utilization under varying load conditions while maintaining manageable complexity through structured state monitoring and selection logic.

Inventive Principle:
Principle #15Dynamics

2Ease of operation

If static arbitration logic is used for command selection, then the system operates with fixed priority rules, but processing efficiency deteriorates when commands cannot be immediately processed

Engineering Contradiction:
Improvecommand selection ruleVSAvoidprocessing efficiency
Core Design Contradiction:
Ease of operationVSProductivity

Solution Approach 1:

The patent implements feedback mechanisms where the device controller continuously monitors the state of storage device resources and uses this information to dynamically adjust command selection. When resources are available, commands are fetched according to monitoring results; when resources are unavailable, the system adapts selection to prioritize commands that can be immediately processed, thereby improving processing efficiency while maintaining operational simplicity through structured feedback loops.

Inventive Principle:
Principle #23Feedback

3Device complexity

If the device fetches commands from submission queues without intelligent selection, then the system maintains simple fetching logic, but wait times increase when resources are unavailable

Engineering Contradiction:
Improvefetching logicVSAvoidcommand wait time
Core Design Contradiction:
Device complexityVSLoss of time

Solution Approach 1:

The patent applies preliminary action by having the device controller monitor resource state in advance before fetching commands. By proactively assessing resource availability and predicting which commands can be immediately processed, the system reduces wait times without significantly increasing fetching logic complexity. The monitoring and selection mechanism prepares the system ahead of time to make optimal fetching decisions.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS10261695B2Methods, systems and computer readable media for intelligent fetching of data storage device commands from submission queues
Publication Date: 2019.04.16 SANDISK TECHNOLOGIES LLC
  • US10261695B2 patent drawing
  • US10261695B2 patent drawing
  • US10261695B2 patent drawing

AI summary

Methods, systems, and computer readable media for intelligent fetching of storage device commands from submission queues are disclosed. On method is implemented in a data storage device including a controller and a memory. The method includes collecting submission queue command statistics; monitoring resource state of the data storage device. The method further includes using the submission queue command statistics and the resource state to select a submission queue from which a next data storage device command should be fetched. The method further includes fetching the command from the selected submission queue. The method further includes providing the command to command processing logic.