Probabilistic Aging Command Sorting for Storage Queues

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In computing devices with command queues, such as hard disc drives, commands can 'starve' due to non-uniform selection criteria, leading to timeouts that disrupt system performance, especially in workloads with high queue depth and low time-out limits, causing delays and re-submissions.

Innovation Solution

A probabilistic aging module calculates the probability of commands timing out and adjusts their access times, allowing for earlier execution to prevent timeouts, thereby optimizing system performance by reducing disruptions and delays.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If commands are executed based on standard queue ordering, then system throughput is maintained, but commands may timeout causing performance disruptions

Engineering Contradiction:
Improvecommand execution reliabilityVSAvoidsystem throughput
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The system performs preliminary action by calculating the probability of timeout for each command in the queue before execution. This allows the system to proactively identify commands at risk of timeout and adjust their execution priority accordingly, preventing timeouts before they occur rather than reacting after they happen.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The command selection mechanism is made dynamic by continuously recalculating timeout probabilities as commands are executed and queue conditions change. The system adapts execution priorities in real-time based on current queue depth, command ages, and timeout thresholds, rather than using static queue ordering.

Inventive Principle:
Principle #15Dynamics

2Reliability

If commands with high timeout probability are prioritized, then timeout disruptions are reduced, but access time variability increases

Engineering Contradiction:
Improvetimeout preventionVSAvoidaccess time variability
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The system calculates expected access times in advance for different command selection scenarios, incorporating timeout probability into the decision-making process. This allows comparison of time costs before committing to a command selection, enabling informed trade-offs between timeout prevention and access time optimization.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system changes the parameter used for command selection from simple queue position to a composite metric that includes timeout probability. By modifying the selection criterion to factor in timeout risk, the system can prioritize commands that are more likely to timeout while still considering access time implications.

Inventive Principle:
Principle #35Parameter changes

3Reliability

If probabilistic aging is implemented, then command timeout is reduced, but computational complexity increases

Engineering Contradiction:
Improvecommand completion rateVSAvoidqueue management complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The queue management system performs self-service by automatically calculating timeout probabilities and adjusting execution priorities without external intervention. The system monitors its own queue conditions, computes risk metrics, and makes autonomous decisions about command prioritization, reducing the need for complex external control mechanisms.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The system implements feedback by continuously monitoring command execution outcomes and using this information to refine timeout probability calculations. Actual timeout events and execution patterns feed back into the probabilistic model, allowing the system to learn and improve its predictions over time without increasing structural complexity.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS10310923B1Probabilistic aging command sorting
Publication Date: 2019.06.04 SEAGATE TECH LLC
  • US10310923B1 patent drawing
  • US10310923B1 patent drawing
  • US10310923B1 patent drawing

AI summary

Systems and methods are disclosed for probabilistic aging command sorting, including adjusting an execution order for a command based on a probability of the command reaching a time out threshold. Various example embodiments are directed to selecting a command for execution from a queue of commands awaiting execution, in which the commands have non-uniform attributes influencing their selection and a time limit within which to execute them. In some embodiments, an apparatus may comprise a circuit configured to calculate a first estimated access time to execute a selected command from a command queue, modify the first estimated access time based on a probability of the selected command reaching a time-out age threshold to determine a time out-adjusted access time, and execute the selected command in an order based on the time out-adjusted access time.