Disk Drive Command Reordering via Partial Evaluation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In storage devices with magnetic disks, efficiently executing a large number of random commands is challenging due to the significant computations required to determine the optimal order, leading to inefficiencies in head movement and disk rotation, especially when the number of commands is large.
Innovation Solution
A method where the controller calculates the time required for the head to access unexecuted commands after completing the current command, selecting the next command based on this calculation until a threshold is reached or the current command is completed, to optimize the execution order and reduce computational overhead.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If the controller considers all possible orders of executing commands to determine the optimal order, then the execution efficiency is improved, but the computational complexity and time required increase significantly
Solution Approach 1:
The patent divides the command queue into multiple segments or groups based on target position proximity. Instead of evaluating all N! permutations of individual commands, the controller segments commands into manageable groups and determines execution order at the segment level, dramatically reducing computational complexity while maintaining improved execution efficiency.
Solution Approach 2:
The patent extracts and prioritizes commands based on specific criteria (such as nearest neighbor distance or rotational position) without considering all possible command orderings. By extracting a subset of promising candidate commands and evaluating only those, the system achieves good execution efficiency without the factorial computational burden of exhaustive search.
2Productivity
If the controller evaluates all N unexecuted commands using the nearest neighbor algorithm to select the next command, then a good choice is made, but the number of computations becomes too large for large N
Solution Approach 1:
The patent applies partial evaluation by considering only a limited subset of unexecuted commands rather than all N commands. For example, it may evaluate only commands within a certain rotational window or those targeting nearby positions, performing enough evaluation to make good selections without the exhaustive computation of all candidates.
Solution Approach 2:
The patent performs preliminary sorting or pre-calculation of command parameters (such as rotational position, seek distance, or priority metrics) before the nearest neighbor selection. This preliminary organization allows the controller to quickly identify candidate commands without performing full evaluations of all N commands at selection time, reducing real-time computation requirements.
Data Source
AI summary
A storage device includes a disk, a head configured to write data to and read data from the disk, and a controller. The controller is configured to, for each of a plurality of unexecuted commands, carry out a calculation of an amount of time that is required for the head to start accessing the disk to begin execution of the non-executed command upon completion of a currently-executed command, until the earlier of i) a number of unexecuted commands for which the calculation has been carried out reaches a threshold value or ii) the completion of the currently-executed command, select a next command to be executed from one or more unexecuted commands for which the calculation has been carried out, based on the calculated amount of time for each of the one or more unexecuted commands, and execute the selected next command.


