Storage Controller Priority Command Fetch Interruption
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current storage device architectures lack a system to indicate priority within IO command queues, leading to increased latency as high priority commands must wait for normal priority commands to complete, even if the normal priority command data transfer takes a long time.
Innovation Solution
Implementing a mechanism within storage devices to interrupt and prioritize the processing of high priority commands by analyzing the current state of operations and determining if interrupting the normal priority command fetch or processing is necessary to minimize latency, allowing immediate processing of high priority commands.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If normal priority command data transfer is processed first, then data transfer completeness is ensured, but high priority command latency increases
Solution Approach 1:
The system performs preliminary actions by detecting high priority commands in advance and preparing to interrupt the normal command data transfer. The controller monitors incoming commands and identifies high priority ones before they fully block the queue, allowing proactive interruption decisions to be made that minimize latency while maintaining data integrity.
Solution Approach 2:
The system dynamically adjusts command processing priorities based on real-time conditions. When a high priority command is detected, the system dynamically interrupts the normal data transfer process and reallocates resources to handle the high priority command immediately, then resumes the normal transfer afterward, creating a flexible adaptive processing schedule.
2Loss of time
If high priority commands are processed immediately, then command latency is reduced, but data transfer efficiency decreases
Solution Approach 1:
The system applies partial action by interrupting the normal command data transfer only for the duration necessary to process the high priority command. Rather than completely halting all transfers, the system pauses the normal transfer, processes the high priority command, and then resumes the normal transfer, applying excessive action only when absolutely necessary to meet priority requirements.
Solution Approach 2:
The system implements periodic action by alternating between normal command processing and high priority command processing based on detected needs. The controller periodically checks for high priority commands and interrupts normal processing only when such commands are present, creating a rhythmic pattern of interrupted and resumed transfers that maintains overall efficiency while responding to priority demands.
Data Source
AI summary
Storage devices are often configured to receive and process commands from a host-computing device. These commands can vary in size and priority with larger sizes of command data being processed by storage devices more frequently. As these sizes increase, more situations occur when newly received high priority commands are received and ready for processing, but must wait for the current data associated with a normal priority command to be fetched and/or processed. Traditionally, the high priority command must wait, no matter how long, until the currently underway normal priority command is fetched and/or completed. However, methods and system described herein allow for the interruption of normal priority data fetching prior to completion. In this way, lower latencies may be achieved as high priority commands are not required to wait for processing. The previously fetched data may be dumped and re-fetched again or may be stored until normal operations can resume.


