Storage Controller Parallel Work Scheduling

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing storage device controllers face challenges in effectively scheduling commands, particularly when a command requires multiple resources, leading to resource starvation if its scheduling priority is not appropriately considered.

Innovation Solution

The proposed solution involves a controller that identifies simultaneous parallel work requests and modifies the corresponding packets with a simultaneous parallel identifier. These modified packets are then stored in virtual output queues and transmitted to the appropriate planes based on a scheduling policy that prioritizes resource allocation.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If a command is received that will occupy multiple resources without appropriate scheduling priority consideration, then resource utilization increases, but resource starvation occurs

Engineering Contradiction:
Improveresource utilizationVSAvoidresource starvation prevention
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent introduces a simultaneous parallel identifier as a new parameter to distinguish commands that occupy multiple resources from single-resource commands. This parameter change enables the scheduling policy to differentiate and prioritize appropriate resource allocation, preventing resource starvation while maintaining high utilization.

Inventive Principle:
Principle #35Parameter changes

Solution Approach 2:

The operation checker provides feedback by identifying and tagging simultaneous parallel work requests with a special identifier. This feedback mechanism allows the scheduler to adjust its behavior based on the resource occupation pattern of incoming commands, ensuring fair resource distribution.

Inventive Principle:
Principle #23Feedback

2Ease of operation

If scheduling policies ensure fairness among multiple hosts, then host fairness improves, but head-of-the-line blocking may occur

Engineering Contradiction:
Improvehost fairnessVSAvoidhead-of-the-line blocking
Core Design Contradiction:
Ease of operationVSLoss of time

Solution Approach 1:

The operation checker performs preliminary identification and tagging of simultaneous parallel work requests before they enter the scheduling queue. This preliminary action allows the scheduler to anticipate and prepare for multi-resource commands, reducing head-of-the-line blocking by pre-classifying commands that require special scheduling attention.

Inventive Principle:
Principle #10Preliminary action

3Device complexity

If commands are processed without considering simultaneous parallel work, then processing simplicity is maintained, but resource allocation fairness deteriorates

Engineering Contradiction:
Improveprocessing simplicityVSAvoidresource allocation fairness
Core Design Contradiction:
Device complexityVSEase of operation

Solution Approach 1:

The simultaneous parallel identifier acts as an intermediary element that bridges simple command processing and complex resource allocation requirements. By tagging commands with this identifier, the system maintains simple processing logic while enabling fair resource allocation through the scheduler's awareness of multi-resource occupation patterns.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS12223348B2Controller for performing command scheduling, storage device including the controller, and operating method of the controller
Publication Date: 2025.02.11 SAMSUNG ELECTRONICS CO LTD
  • US12223348B2 patent drawing
  • US12223348B2 patent drawing
  • US12223348B2 patent drawing

AI summary

A storage device communicates with a host device that generates an original packet. The storage device includes a memory device including a die having multiple planes, and a controller. The controller includes; an operation checker that receives the original packet indicating a simultaneous parallel work request that occupies at least two planes among the multiple planes, wherein the operation checker sets a simultaneous parallel identifier associated with the original packet to generate a modified packet, an operation distributor that stores the modified packet in at least one virtual output queue of a virtual queue cluster, and a scheduler that transmits the modified packet to at least one plane among the multiple planes occupied by the simultaneous parallel work request according to a scheduling policy.