Storage Controller Queue Threshold Flow Control

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Flash storage devices face performance issues due to queue overflow when handling large sequential read commands, which prevents error handling requests from being processed, leading to command timeouts and the need for a power cycle.

Innovation Solution

The storage device controller dynamically divides large read commands into manageable chunks based on queue utilization and workload, refraining from processing additional read requests when the queue reaches a threshold to prevent overflow, allowing for simultaneous handling of short random commands.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Quantity of substance

If the queue size is increased to accommodate all read requests for large read commands, then the queue can handle more data, but error handling requests cannot be processed and the device requires power cycling

Engineering Contradiction:
Improvequeue capacityVSAvoiderror handling capability
Core Design Contradiction:
Quantity of substanceVSReliability

Solution Approach 1:

The patent segments the queue into multiple separate queues: a read request queue for data read operations and an error handling queue for error status reporting and parity information requests. This segmentation allows error handling requests to be processed independently without being blocked by the volume of read requests, resolving the contradiction between queue capacity and error handling capability.

Inventive Principle:
Principle #1Segmentation

2Productivity

If the queue is filled with read requests for large sequential commands, then read throughput is improved, but command timeout and blocked processing occur

Engineering Contradiction:
Improveread throughputVSAvoidcommand completion reliability
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent implements dynamic queue management where the controller monitors queue status and dynamically adjusts read request processing. When the read request queue reaches a threshold capacity, the controller pauses accepting new read requests and prioritizes error handling requests. This dynamic adjustment maintains high read throughput during normal operation while preventing command timeouts and blocked processing when the queue is full.

Inventive Principle:
Principle #15Dynamics

3Adaptability or versatility

If the queue is shared between read requests and error handling requests, then resource utilization is improved, but error handling requests are blocked when the queue is full

Engineering Contradiction:
Improvequeue utilization flexibilityVSAvoiderror handling priority
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The patent segments the shared queue into separate dedicated queues: one for read requests and another for error handling requests. This segmentation maintains the adaptability of resource utilization while ensuring that error handling requests have dedicated queue space and are not blocked by the volume of read requests, thereby preserving error handling priority.

Inventive Principle:
Principle #1Segmentation

4Productivity

If large sequential read commands are processed continuously, then data transfer efficiency is improved, but the device stalls and requires reset

Engineering Contradiction:
Improvedata transfer efficiencyVSAvoiddevice operational continuity
Core Design Contradiction:
ProductivityVSDuration of action of stationary object

Solution Approach 1:

The patent implements periodic checks of the read request queue status during continuous processing of large sequential read commands. When the queue reaches a threshold capacity, the controller periodically pauses read request acceptance to allow error handling requests to be processed. This periodic action maintains high data transfer efficiency during normal operation while preventing device stalls and ensuring operational continuity.

Inventive Principle:
Principle #19Periodic action

Data Source

PatentUS11379151B2Flow control of large sequential host read commands based on a queue threshold
Publication Date: 2022.07.05 SANDISK TECHNOLOGIES LLC
  • US11379151B2 patent drawing
  • US11379151B2 patent drawing
  • US11379151B2 patent drawing

AI summary

Aspects of a storage device are provided which use flow control to prevent stalling during processing of read requests for a large read command. A controller of the storage device receives a read command for data from a host device, stores in a queue read requests for a portion of the data, and reads the portion of the data from a memory based on the read requests. The controller may store other read requests in the queue for other portions of the data when a number of read requests in the queue does not meet a threshold. Otherwise, the controller refrains from storing other read requests in the queue for other portions of the data when the number of read requests in the queue meets the threshold. The controller may operate similarly with subsequent sequential commands, but may continue to store read requests in the queue for subsequent random commands.