I/O Command Scheduling Using Resource Thresholds for QoS Stability

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Storage devices face challenges in meeting quality of service (QoS) requirements due to insufficient hardware resources, leading to traffic collisions and bandwidth issues, resulting in jitter and delayed processing of I/O commands.

Innovation Solution

A system and method for resource-based scheduling of I/O commands that monitor and synchronize hardware and software resources, allocating tokens and buffers based on availability and QoS expectations, using a software token manager to manage resource allocation and adjust thresholds dynamically.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If I/O commands are scheduled without considering hardware resource availability, then command processing speed may be increased, but QoS requirements cannot be met due to traffic collisions and bandwidth collisions

Engineering Contradiction:
Improvecommand processing speedVSAvoidQoS requirement compliance
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The system performs preliminary checks of hardware resource availability (tokens, buffers, DMA descriptors) before scheduling I/O commands. The traffic controller evaluates current resource states and predicts future availability to determine whether to accept or reject incoming commands, preventing resource exhaustion and ensuring QoS compliance.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system continuously monitors hardware resource utilization and uses this feedback to dynamically adjust scheduling decisions. The traffic controller receives real-time information about token availability, buffer states, and DMA descriptor status, and uses this feedback to make informed scheduling decisions that balance throughput with QoS requirements.

Inventive Principle:
Principle #23Feedback

2Productivity

If multiple I/O commands are scheduled simultaneously, then system throughput is improved, but traffic collisions increase causing jitter

Engineering Contradiction:
Improvesystem throughputVSAvoidjitter
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The system dynamically adjusts the traffic threshold value based on current hardware resource availability and observed collision patterns. When resources are abundant, the threshold allows higher traffic rates; when resources are constrained or collisions are detected, the threshold is reduced to maintain stable processing and minimize jitter.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system changes the parameter of traffic threshold dynamically based on resource conditions. The traffic controller monitors resource utilization and adjusts the threshold parameter to optimize the balance between throughput and jitter, allowing the system to adapt to varying workloads and resource availability.

Inventive Principle:
Principle #35Parameter changes

3Reliability

If hardware resources are allocated conservatively to meet QoS requirements, then QoS compliance is improved, but resource utilization efficiency decreases

Engineering Contradiction:
ImproveQoS complianceVSAvoidresource utilization efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The system uses partial resource allocation by implementing a traffic threshold that allows only a portion of incoming I/O commands to be scheduled when resources are constrained. This partial action ensures that critical QoS requirements are met while still allowing some system throughput, rather than completely blocking traffic when resources are limited.

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentEP4080341B1Systems and methods for I/O command scheduling based on multiple resource parameters
Publication Date: 2026.01.21 SAMSUNG ELECTRONICS CO LTD
  • EP4080341B1 patent drawingFigure 1
  • EP4080341B1 patent drawingFigure 2
  • EP4080341B1 patent drawingFigure 3

AI summary

A method for scheduling input/output, I/O, commands is described. The method includes receiving, by an I/O scheduler, an I/O command from an application; generating, by the I/O controller, an I/O resource requirement based on the I/O command; determining, by a traffic controller, that an amount of available resources satisfies a criteria based on the I/O resource requirement; and sending, by the traffic controller, the I/O command to a queue in response to the criteria being satisfied.