Write Completion Pacing with Size-Based Storage Command Queues

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing data storage devices face challenges in maintaining consistent quality of service (QoS) due to varying response times for completion messages based on command lengths, which do not conform to host device requirements.

Innovation Solution

Implementing a controller that separates commands into two queues based on size, executing commands from a first queue until a tracker value reaches a threshold, then switching to a second queue, ensuring completion messages are sent at specific intervals.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If completion messages are sent at constant intervals regardless of command length, then QoS requirement is met, but response time varies and QoS decreases

Engineering Contradiction:
ImproveQoS complianceVSAvoidresponse time variation
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent segments commands into two categories based on size: small commands (≤ threshold) and large commands (> threshold). This segmentation allows the system to handle different command types with different timing strategies, sending completion messages for small commands at constant intervals while allowing variable timing for large commands, thus resolving the contradiction between QoS compliance and response time variation.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent dynamically adjusts the completion message sending strategy based on command size. Instead of a static constant interval for all commands, the system adaptively applies constant intervals for small commands and variable timing for large commands. This dynamic approach maintains QoS compliance for time-sensitive operations while accommodating the longer processing time required for large commands.

Inventive Principle:
Principle #15Dynamics

2Reliability

If constant interval between completion messages is maintained, then host device requirements are met, but system productivity decreases due to waiting

Engineering Contradiction:
Improvecompletion message interval complianceVSAvoidcommand processing throughput
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

By segmenting commands into small and large categories, the patent enables parallel processing paths. Small commands can be processed and acknowledged at constant intervals without blocking large commands, which are handled with more flexible timing. This segmentation prevents small commands from becoming bottlenecks that reduce overall system productivity while still meeting the constant interval requirement for completion messages.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent changes the timing parameter for completion messages based on command size. For small commands, a constant interval parameter is applied to meet host requirements. For large commands, the interval parameter is relaxed to allow longer processing time. This parameter change strategy maintains compliance for time-sensitive operations while improving overall productivity by not artificially constraining large command processing.

Inventive Principle:
Principle #35Parameter changes

3Stability of the object's composition

If all commands are processed in FIFO order, then command ordering is preserved, but completion message intervals become inconsistent

Engineering Contradiction:
Improvecommand execution orderVSAvoidcompletion message interval consistency
Core Design Contradiction:
Stability of the object's compositionVSReliability

Solution Approach 1:

The patent segments the command processing stream into two separate queues: one for small commands and one for large commands. This segmentation allows the system to maintain FIFO ordering within each queue while applying different completion message timing strategies. Small commands in their dedicated queue receive constant interval acknowledgments, ensuring interval consistency, while large commands are handled separately without disrupting the timing pattern.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces an intermediary classification mechanism that separates commands based on size before processing. This intermediary step acts as a mediator between the incoming command stream and the execution queues, ensuring that commands are routed to appropriate queues based on their size characteristics. This mediation preserves overall command ordering while enabling consistent completion message intervals for small commands.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS12461648B2Write completion pacing for unbalanced command length
Publication Date: 2025.11.04 SANDISK TECHNOLOGIES LLC
  • US12461648B2 patent drawing
  • US12461648B2 patent drawing
  • US12461648B2 patent drawing

AI summary

A data storage device includes a memory device and a controller coupled to the memory device. When a command is received by the controller from a host device, the controller determines whether the command size is greater than a threshold size. If the command is not greater than the threshold size, the command is sent to a first queue, otherwise, the command is sent to a second queue. Commands are executed from the first queue until a command size tracker value, which increases by a size representative of each command executed from the first queue, equals or exceeds a threshold value. When the command size tracker value equals or exceeds the threshold value, a command from the second queue is executed and the command size tracker value decreases by a size representative of the command from the second queue. Completion messages are sent at specific intervals based on the executing.