Data Storage Device Priority Queue Controller
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current data storage systems face inefficiencies in processing jobs with varying priorities, leading to potential starvation of low-priority jobs due to processing delays and missed response deadlines in near-pooled memory processing systems.
Innovation Solution
A data storage device with a shared command queue and queue controller that classifies jobs into priority levels and assigns them to processors, using interrupt mechanisms to manage context switching and processing, allowing for efficient handling of jobs based on priority and deadlines, preventing starvation through dynamic reclassification of jobs.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If jobs are processed sequentially according to priority, then high priority jobs are handled efficiently, but low priority jobs may experience starvation and missed deadlines
Solution Approach 1:
The system dynamically adjusts job priority levels based on waiting time thresholds. When a low-priority job exceeds its threshold waiting time, its priority is upgraded to prevent starvation. This dynamic reclassification ensures that both high-priority processing efficiency and low-priority deadline reliability are maintained through adaptive priority management.
2Reliability
If context switching is implemented for priority jobs, then response deadlines are met, but processing delays occur for already running jobs
Solution Approach 1:
The system changes the parameter of job priority classification based on waiting time thresholds. By monitoring how long jobs wait in the queue and reclassifying them when thresholds are exceeded, the system balances deadline compliance with minimal processing disruption, reducing unnecessary context switching while ensuring reliability.
3Adaptability or versatility
If multiple priority levels are implemented, then job scheduling flexibility improves, but system complexity increases
Solution Approach 1:
The system segments jobs into multiple priority levels (first, second, third priority) with distinct waiting time thresholds for each level. This segmentation provides scheduling flexibility while managing complexity through clear, hierarchical classification rules that are easier to implement and maintain than a single complex priority system.
Data Source
AI summary
A data storage device includes a shared command queue, a queue controller, a processor, and a memory. The command queue is configured to queue a plurality of jobs transmitted from a plurality of host processors. The queue controller is configured to classify the plurality of jobs into a plurality of levels of jobs according to priority threshold values and assign jobs of the plurality of levels of jobs the processor. The processor is configured to process the jobs assigned by the queue controller. The memory may store data needed to process the job.


