Method and apparatus for selecting enqueued data access operations for execution in a disk drive data storage device
First Claim
1. A rotating magnetic disk drive data storage device, comprising:
- a disk drive base;
a rotatably mounted disk and spindle assembly, said disk and spindle assembly comprising at least one rigid disk for recording magnetically encoded data on at least one surface of said at least one rigid disk;
a movable actuator supporting at least one transducer head, said actuator positioning said at least one transducer head to access said magnetically encoded data on said at least one surface of said at least one rotatably mounted disk;
a controller for controlling the operation of said disk drive data storage device, said controller maintaining a queue of data access operations and selecting operations for execution from said queue according to an estimated access time of the respective operations, said controller accessing a seek profile table and an index table, said seek profile table containing a plurality of entries, each entry corresponding to a respective seek profile, and said index table containing a plurality of entries, each entry corresponding to a respective set of access operation parameter values and containing a value indexing an entry in said seek probability profile table corresponding to said respective set of access operation parameter values;
wherein said controller estimates said access time of a data access operation by;
(a) accessing the index table entry corresponding to the respective set of access operation parameter values, (b) using the value of the index entry to determine the corresponding seek profile table entry, and (c) using the corresponding seek profile table entry to estimate the access time.
4 Assignments
0 Petitions
Accused Products
Abstract
In accordance with one aspect of the present invention, a seek profile table used by a disk controller contains multiple profiles for seek operations, and is accessed by a separate index table containing, for each permutation of key parameters, an index to a corresponding profile. In operation, the estimated seek time for an enqueued data access operation is obtained by accessing the applicable index table entry, using the value of the index entry to determine the corresponding profile, and using the profile to estimate the access time. Preferably, a “time-based relocation expected access time” algorithm is used, in which a nominal seek time is established, and profile table entries express a probability that an operation with a given latency above the nominal seek time will complete within the latency period.. The expected access time is the latency plus the product of this probability and the time cost of a miss, i.e., the time of a single disk revolution.
-
Citations
17 Claims
-
1. A rotating magnetic disk drive data storage device, comprising:
-
a disk drive base;
a rotatably mounted disk and spindle assembly, said disk and spindle assembly comprising at least one rigid disk for recording magnetically encoded data on at least one surface of said at least one rigid disk;
a movable actuator supporting at least one transducer head, said actuator positioning said at least one transducer head to access said magnetically encoded data on said at least one surface of said at least one rotatably mounted disk;
a controller for controlling the operation of said disk drive data storage device, said controller maintaining a queue of data access operations and selecting operations for execution from said queue according to an estimated access time of the respective operations, said controller accessing a seek profile table and an index table, said seek profile table containing a plurality of entries, each entry corresponding to a respective seek profile, and said index table containing a plurality of entries, each entry corresponding to a respective set of access operation parameter values and containing a value indexing an entry in said seek probability profile table corresponding to said respective set of access operation parameter values;
wherein said controller estimates said access time of a data access operation by;
(a) accessing the index table entry corresponding to the respective set of access operation parameter values, (b) using the value of the index entry to determine the corresponding seek profile table entry, and (c) using the corresponding seek profile table entry to estimate the access time. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A method of operating a disk drive data storage device, comprising:
-
maintaining a queue of data access operations for execution;
for a plurality of data access operations on said queue, determining a respective estimated access time by;
(a) accessing a respective entry in an index table corresponding to a set of access operation parameter values of the corresponding data access operation on said queue, said index table containing a plurality of entries, each entry corresponding to a respective set of access operation parameter values and containing a value indexing an entry in a seek probability profile table, each entry in said seek probability profile table containing a respective seek profile;
(b) using the value of the index entry to determine the corresponding seek profile table entry, and (c) using the corresponding seek profile table entry to estimate the access time of the corresponding data access operation; and
selecting one of said plurality of data access operations on said queue for execution based on said estimated access time of the data access operation. - View Dependent Claims (10, 11, 12, 13, 14, 15, 16)
-
-
17. A control program product for a disk drive data storage device, comprising:
-
a plurality of processor-executable instructions recorded on signal-bearing media, wherein said instructions, when executed by a processor of said disk drive, cause the drive to perform the steps of;
maintaining a queue of data access operations for execution;
for a plurality of data access operations on said queue, determining a respective estimated access time by;
(a) accessing a respective entry in an index table corresponding to a set of access operation parameter values of the corresponding data access operation on said queue, said index table containing a plurality of entries, each entry corresponding to a respective set of access operation parameter values and containing a value indexing an entry in a seek probability profile table, each entry in said seek probability profile table containing a respective seek profile;
(b) using the value of the index entry to determine the corresponding seek profile table entry, and (c) using the corresponding seek profile table entry to estimate the access time of the corresponding data access operation; and
selecting one of said plurality of data access operations on said queue for execution based on said estimated access time of the data access operation.
-
Specification