Storage Command Scheduling via Software Token Pools

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing storage systems face challenges in scheduling commands effectively due to limited hardware resources, leading to quality of service (QoS) violations and increased jitter.

Innovation Solution

A method and system for scheduling commands that involves receiving and storing commands in a software queue, obtaining information on hardware resources, synchronizing software resources with hardware resources, allocating them into shared and reserved pools, and determining the allocation of software resources based on the condition of the shared and reserved pools.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If commands are processed using available hardware resources, then processing speed increases, but QoS requirements cannot be met when resources are insufficient, resulting in jitter

Engineering Contradiction:
Improvecommand processing speedVSAvoidQoS compliance
Core Design Contradiction:
SpeedVSReliability

Solution Approach 1:

The system performs preliminary actions by synchronizing software resources with hardware resources before command processing begins. The software token manager pre-allocates and tracks software tokens that mirror hardware resource availability, ensuring that commands can be scheduled and processed without waiting for real-time hardware status checks, thus maintaining both speed and QoS compliance

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system implements feedback mechanisms where the software token manager continuously monitors hardware resource availability and updates software token states accordingly. This feedback loop ensures that command scheduling decisions are based on current resource status, preventing QoS violations while maintaining efficient processing by avoiding unnecessary waits

Inventive Principle:
Principle #23Feedback

2Productivity

If hardware resources are allocated to process commands, then productivity increases, but resource exhaustion occurs leading to increased jitter

Engineering Contradiction:
Improvecommand processing throughputVSAvoidjitter
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent introduces software tokens as an intermediary layer between hardware resources and command processing. These software tokens act as proxies that track and represent hardware resource availability without directly consuming hardware resources. The software token manager mediates between command submission and hardware allocation, enabling high throughput while preventing resource exhaustion by maintaining virtual resource bookkeeping

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The system creates virtual copies of hardware resources in the form of software tokens. Each software token represents a unit of hardware resource capacity, allowing the system to simulate resource allocation and tracking without actually consuming physical hardware resources. This copying mechanism enables unlimited command scheduling decisions while hardware resources are used efficiently, reducing jitter caused by resource contention

Inventive Principle:
Principle #26Copying

3Measurement precision

If software resources are synchronized with hardware resources, then resource management accuracy improves, but system complexity increases

Engineering Contradiction:
Improveresource availability tracking accuracyVSAvoidscheduling system complexity
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The patent applies homogeneity by making software tokens uniform in structure and behavior - each token represents an identical unit of resource capacity with consistent properties. This standardization simplifies the synchronization logic, as the software token manager only needs to track token counts and states rather than managing complex, heterogeneous resource descriptors, thereby reducing system complexity while maintaining tracking accuracy

Inventive Principle:
Principle #33Homogeneity

Data Source

PatentEP3945419B1Systems and methods for resource-based scheduling of commands
Publication Date: 2025.06.11 SAMSUNG ELECTRONICS CO LTD
  • EP3945419B1 patent drawingFigure 1
  • EP3945419B1 patent drawingFigure 2
  • EP3945419B1 patent drawingFigure 3

AI summary

A system and method are disclosed for scheduling commands for processing by a storage device. A command is received from an application and stored in a first queue. Information is obtained on a first set of resources managed by the storage device. A second set of resources is synchronized based on the information on the first set of resources. The second set of resources is allocated into a first pool and a second pool. A condition of the second set of resources in the first pool is determined. One of the second set of resources in the first pool is allocated to the command based on a first determination of the condition, and one of the second set of resources in the second pool is allocated to the command based on a second determination of the condition.