Storage Controller Parallel Work Scheduling
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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.
2Ease of operation
If scheduling policies ensure fairness among multiple hosts, then host fairness improves, but head-of-the-line blocking may occur
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.
3Device complexity
If commands are processed without considering simultaneous parallel work, then processing simplicity is maintained, but resource allocation fairness deteriorates
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.
Data Source
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.


