Hard Disk Command Queueing for I/O Read Latency
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
The existing solid state disk (SSD) technologies face delays and reduced communication efficiency due to the limited number of program/erase (P/E) cycles in physical blocks, leading to increased delays in I/O read commands as other operation commands need to be processed first, causing inefficiencies.
Innovation Solution
The method involves determining a target logical unit (LUN) with an idle state and a low queue threshold, selecting a target physical block from it, and storing the operation command, thereby reducing the delay of I/O read commands and improving communication efficiency by minimizing other operation commands in the processing queue.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If the solid state disk sequentially processes operation commands in the processing waiting queue, then the processing order is maintained and system stability is ensured, but the I/O read command delay increases and communication efficiency decreases
Solution Approach 1:
The system performs preliminary classification of operation commands into different types (I/O read, I/O write, GC read, GC write) and pre-organizes them in the processing waiting queue. By identifying and prioritizing I/O read commands before execution, the system ensures that time-sensitive operations are handled promptly while maintaining overall processing order stability.
Solution Approach 2:
The processing mechanism dynamically adjusts the execution sequence based on command types. Instead of a fixed sequential processing approach, the system flexibly reorders commands within the processing waiting queue, allowing I/O read commands to be executed with higher priority when they are present, thereby reducing delay while preserving system reliability.
2Productivity
If multiple operation commands are stored in the processing waiting queue, then the disk can handle batch operations efficiently, but the I/O read command experiences increased delay due to other commands being processed first
Solution Approach 1:
The processing waiting queue is segmented into different command type categories (I/O read, I/O write, GC read, GC write). This segmentation allows the system to process commands in batches while simultaneously enabling priority-based execution within each segment, so I/O read commands can be identified and executed promptly without compromising overall batch processing efficiency.
Solution Approach 2:
The system dynamically adjusts the processing sequence within the batch operations based on command type. While maintaining the ability to handle multiple commands efficiently, the processor can prioritize I/O read commands within the batch, reducing their delay without sacrificing the productivity benefits of batch processing.
3Ease of operation
If the controller processes operation commands sequentially in the processing waiting queue, then system complexity is reduced and ease of operation is improved, but communication efficiency deteriorates
Solution Approach 1:
The controller maintains a simple sequential processing framework for ease of operation, but introduces dynamic prioritization logic that automatically identifies and accelerates I/O read commands within the sequence. This dynamic adjustment improves communication efficiency without significantly complicating the controller's operation, as the prioritization is handled through automated command classification and sequencing.
Data Source
AI summary
A method for executing a hard disk operation command, a hard disk, and a storage medium. After an operation command is received, a target LUN in an idle state is determined; a target physical block that is to be accessed when the operation command is executed is determined from the target LUN; the operation command is stored in a processing waiting queue corresponding to a flash memory chip to which the target physical block belongs; and a working state of the target LUN is changed to a non-idle state when a quantity of operation commands that wait to be processed in a processing waiting queue respectively corresponding to each flash memory chip in the target LUN is greater than a preset threshold.


