Storage Command Scheduling via Force-Based Priority Weights

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current scheduling methods in data storage devices are not efficient in terms of latency, throughput, and performance, as they often rely on first-come, first-served or round-robin execution orders without considering the specific characteristics of commands.

Innovation Solution

A scheduling system determines an execution order for commands based on a 'force' calculated from command parameters such as data attributes, location, and attributes, prioritizing commands with higher execution weights, which are proportional to these parameters.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If first-come, first-served scheduling is used, then implementation is simple, but latency and throughput are suboptimal

Engineering Contradiction:
ImprovethroughputVSAvoidscheduling complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent changes the scheduling parameter from simple FIFO ordering to a force-based priority system where commands are assigned execution weights based on multiple parameters (data attributes, location, command attributes). This allows the system to dynamically adjust scheduling decisions based on command characteristics, improving throughput while maintaining manageable complexity through systematic parameter evaluation.

Inventive Principle:
Principle #35Parameter changes

Solution Approach 2:

The scheduling system transitions from a static first-come, first-served approach to a dynamic force-based scheduling mechanism. The execution order is no longer fixed by arrival time but is dynamically determined by calculating forces based on command parameters, allowing the system to adapt to different command types and optimize performance in real-time.

Inventive Principle:
Principle #15Dynamics

2Loss of time

If round-robin scheduling is used, then fairness is improved, but latency increases

Engineering Contradiction:
ImprovelatencyVSAvoidscheduling fairness
Core Design Contradiction:
Loss of timeVSEase of operation

Solution Approach 1:

The patent changes the scheduling criterion from round-robin time-slicing to force-based priority ordering. Commands are evaluated based on multiple parameters including data attributes, location information, and command attributes, with execution weights assigned to each parameter. This allows urgent or important commands to be executed sooner, reducing latency while maintaining a systematic approach to fairness.

Inventive Principle:
Principle #35Parameter changes

3Productivity

If priority queues are used, then performance is improved, but device complexity increases

Engineering Contradiction:
ImproveperformanceVSAvoidqueue management complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent merges multiple scheduling considerations (data attributes, location information, command attributes) into a single force-based priority system. Instead of managing separate priority queues for different command types, the system evaluates all commands using the same force calculation mechanism, combining multiple factors into one unified scheduling decision process that improves performance without proportionally increasing complexity.

Inventive Principle:
Principle #5Merging (Combining)

Data Source

PatentUS20250103381A1Scheduling execution of commands in a data storage device based on command parameters
Publication Date: 2025.03.27 SANDISK TECHNOLOGIES LLC
  • US20250103381A1 patent drawing
  • US20250103381A1 patent drawing
  • US20250103381A1 patent drawing

AI summary

A scheduling system of a computing device analyzes a received command to identify one or more command parameters associated with the command. The command parameters include data attributes associated with the command, data location information associated with the command and command attributes associated with the command. The scheduling system also determines an execution weight of each command parameter associated with the command. A force for the command is also determined. The force is proportional to the execution weight of each command parameter that is associated with the command. The scheduling system orders the command in a command queue based, at least in part, on the determined force.