Storage Controller Command Readiness Factor for Latency Reduction

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Flash storage devices experience inefficiencies in executing read commands when data is scattered across multiple blocks, leading to increased latency and reduced quality of service due to the sequential execution of commands, where slower commands delay faster ones.

Innovation Solution

A storage device controller calculates a command readiness factor for each read command based on metadata, such as fragment length and state, to dynamically select and execute the command with the highest readiness, transferring data units accordingly to minimize latency and improve QoS.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Loss of time

If commands are executed in the order they are received, then command execution simplicity is maintained, but latency increases when data is scattered across multiple blocks

Engineering Contradiction:
Improvecommand execution latencyVSAvoidcommand execution control complexity
Core Design Contradiction:
Loss of timeVSDevice complexity

Solution Approach 1:

The controller pre-calculates a command readiness factor for each queued command based on metadata (data fragmentation state, block availability) before execution. This preliminary assessment allows the controller to prioritize commands that are ready to execute quickly, rather than waiting for scattered data to become available, thereby reducing overall latency without requiring complex real-time decisions during execution.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The command execution order is made dynamic rather than static. The controller continuously evaluates command readiness factors and adjusts the execution sequence based on current system state, data fragmentation patterns, and block availability. This dynamic reordering optimizes latency by executing ready commands first while maintaining manageable complexity through systematic evaluation criteria.

Inventive Principle:
Principle #15Dynamics

2Speed

If data is stored contiguously in one block, then read speed is improved, but data fragmentation occurs when data is scattered across various blocks

Engineering Contradiction:
Improvedata read speedVSAvoiddata transfer time
Core Design Contradiction:
SpeedVSLoss of time

Solution Approach 1:

The controller applies different handling strategies to different data units based on their fragmentation characteristics. For contiguous data units, standard fast read operations are used. For scattered data units, the controller identifies which portions are ready (contiguous and available) versus which require waiting, and executes ready portions immediately while preparing for subsequent transfers. This localized quality approach optimizes speed for ready data without delaying overall command execution.

Inventive Principle:
Principle #3Local quality

3Reliability

If the controller waits for all data to be ready before executing commands, then data completeness is ensured, but productivity decreases due to idle waiting time

Engineering Contradiction:
Improvedata transfer completenessVSAvoidcommand execution throughput
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The controller maintains continuous productive operation by executing commands as soon as their data becomes ready, rather than waiting for all data to be fully prepared. The command readiness factor identifies which commands can proceed immediately with available data portions. This ensures productivity continues without idle waiting time while reliability is maintained through systematic tracking and completion of all data transfers for each command.

Inventive Principle:
Principle #20Continuity of useful action

Solution Approach 2:

The controller uses feedback from metadata and system state monitoring to dynamically determine command execution timing. By continuously assessing data readiness, block availability, and command queue status, the controller makes informed decisions about which commands to execute next. This feedback mechanism ensures data completeness is maintained while maximizing productivity by avoiding unnecessary waiting periods.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS11256423B2Efficiently identifying command readiness based on system state and data spread in multi queue depth environment
Publication Date: 2022.02.22 SANDISK TECHNOLOGIES LLC
  • US11256423B2 patent drawing
  • US11256423B2 patent drawing
  • US11256423B2 patent drawing

AI summary

Aspects of a storage device are provided which allow a read command to be identified for execution from multiple read commands received from a host. The storage device includes a memory configured to store a plurality of data units each comprising one or more data fragments, and metadata associated with the data units. A controller is configured to receive from the host a plurality of read commands each requesting one of the data units. The controller is further configured to identify one of the read commands based on the metadata, and to transfer the data unit associated with the identified read command to the host before transferring the data unit associated with the other read commands.