Disk apparatus and control method therefor
First Claim
1. A disk apparatus, comprising:
- interface means for receiving commands from an external apparatus and transferring data to and from said external apparatus;
command storage means for storing one or more of said received commands;
data storage means for holding data; and
control means for selecting a command to be next executed from among said one or more commands, for dispatching said selected command for execution, for determine whether an error relating to accessing said data storage means has arisen during execution of said selected command, for discontinuing execution of said selected command upon a determination that said error has arisen, and for re-storing said selected command in said command storage means in response to said determination that said error has arise, wherein after said selected command has been restored to said command storage means, said control means selects a subsequent command to be next executed from among said one or more commands in said command storage means; and
said control means thereafter dispatches said selected subsequent command for execution before retrying an execution of said restored selected command.
3 Assignments
0 Petitions
Accused Products
Abstract
In a novel method for controlling a disk apparatus having an interface, command storage, and data storage, one or more commands are received from an external apparatus via the interface, and the one or more commands are held in the command storage. A command to be next executed is selected from among the one or more commands and dispatched for execution. It is determined whether an error relating to accessing the data storage has arisen during execution of the selected command. If so, the selected command is restored to the command storage. A subsequent command to be next executed may then be selected. In one described embodiment, an estimated seek time for the selected command is determined, and it is judged that an error has arisen if actual seek time of the selected command exceeds the estimated seek time.
27 Citations
13 Claims
-
1. A disk apparatus, comprising:
-
interface means for receiving commands from an external apparatus and transferring data to and from said external apparatus;
command storage means for storing one or more of said received commands;
data storage means for holding data; and
control means for selecting a command to be next executed from among said one or more commands, for dispatching said selected command for execution, for determine whether an error relating to accessing said data storage means has arisen during execution of said selected command, for discontinuing execution of said selected command upon a determination that said error has arisen, and for re-storing said selected command in said command storage means in response to said determination that said error has arise, wherein after said selected command has been restored to said command storage means, said control means selects a subsequent command to be next executed from among said one or more commands in said command storage means; and
said control means thereafter dispatches said selected subsequent command for execution before retrying an execution of said restored selected command.- View Dependent Claims (2, 3, 4, 5)
drive means for driving an access mechanism to access said data storage means;
drive monitor means for determining whether said error has arisen; and
command execution means for controlling said drive means and interface means in accordance with said selected command and for restoring said selected command to said command storage means in response to a determination that said error has arisen.
-
-
3. A disk apparatus according to claim 1, wherein said command storage means comprises a command queue.
-
4. A disk apparatus according to claim 1, wherein:
-
said control means determines an estimated seek time for said selected command, seek time being an amount of time from starting execution of said selected command to positioning an access mechanism over a target track on said data storage means; and
when said selected command is executed, said control means judges that said error has arisen if actual seek time of said selected command exceeds said estimated seek time.
-
-
5. A disk apparatus according to claim 1, wherein:
-
said control means estimates seek/latency time of each of said one or more commands in said command storage means, seek/latency time being an amount of time from starting execution of said s elected command to positioning an access mechanism over a target sector on said data storage means; and
said control means selects said selected command from among said one or more commands in said command storage means based on said estimated seek/latency time or times of said one or more commands.
-
-
6. A method for controlling a disk apparatus having an interface, command storage, and data storage, said method comprising:
-
receiving one or more commands from an external apparatus via said interface;
storing said one or more commands in said command storage;
selecting a command to be next executed from among said one or more commands;
dispatching said selected command for execution;
determining whether an error relating to accessing said data storage has arisen during execution of said selected command;
upon determining that said error has occurred, discontinuing execution of said selected command; and
re-storing said selected command in said command storage in response to said determination that said error has arisen;
after said selected command has been restored to said command storage, selecting a subsequent command to be next executed from among said one or more commands in said command storage; and
thereafter dispatching said selected subsequent command for execution before retrying an execution of said restored selected command. - View Dependent Claims (7, 8, 9, 10)
driving an access mechanism of said disk apparatus in accordance with said selected command; and
determining that an error relating to disk access has arisen; and
restoring said selected command to said command storage means in response to determining that said error has arisen.
-
-
8. The method of claim 6, wherein said step of holding said one or more commands in said command storage comprises storing said one or more commands in a command queue.
-
9. The method of claim 7, wherein:
-
said method further comprises determining an estimated seek time for said selected command, seek time being an amount of time from starting execution of said selected command to positioning an access mechanism over a target track on said data storage means; and
said step of determining whether said error has arisen comprises judging that said error has arisen if actual seek time of said selected command exceeds said estimated seek time.
-
-
10. The method of claim 6, wherein:
-
said method further comprises estimating a seek/latency time for each of said one or more commands in said command storage means, seek/latency time being an amount of time from starting execution of said selected command to positioning an access mechanism over a target sector on said data storage means; and
said step of selecting a command to be next executed from among said one or more commands comprises selecting said selected command from among said one or more commands in said command storage based on said estimated seek/latency time or times of said one or more commands.
-
-
11. A program product, stored on a computer-usable medium, for controlling a disk apparatus having an interface, command storage, and data storage, said program product comprising:
-
computer program code for selecting a command to be next executed from among one or more commands in said command storage;
computer program code for dispatching said selected command for execution;
computer program code for discontinuing execution of and restoring said selected command to said command storage in response to a determination that an error relating to accessing said data storage has arisen during execution of said selected command; and
computer program code for, after said selected command has been restored to said command storage, selecting a subsequent command to be next executed from among said one or more commands in said command storage, and thereafter dispatching said selected subsequent command for execution before retrying an execution of said restored selected command. - View Dependent Claims (12, 13)
said computer program code determines an estimated seek time for said selected command, seek time being an amount of time from starting execution of said selected command to positioning an access mechanism over a target track on said data storage; and
when said selected command is executed, said control logic judges that s aid error has arisen if actual seek time of said selected command exceeds said estimated seek time.
-
-
13. A program product according to claim 11, wherein:
-
said computer program code estimates seek/latency time of each of said one or more commands in said command storage, seek/latency time being an amount of time from starting execution of said selected command to positioning an access mechanism over a target sector on said data storage; and
said computer program code selects said selected command from among said one or more commands in said command storage means based on said estimated seek/latency time or times of said one or more commands.
-
Specification