Disk drive executing part of a linked disk command
AssigneeWestern Digital Technologies, Inc.
InventorGregory B. Thelin
Life of this patent
Estimating the term…
Abstract
A disk drive is disclosed which links disk commands that access near sequential data sectors. The linked and non-linked disk commands are inserted into an input/output queue and selected for execution according to a rotational position optimization (RPO) algorithm. If an error occurs while executing a linked disk command, the disk commands are unlinked and at least one of the unlinked disk commands is executed. The residual unlinked disk commands are inserted back into the input/output queue for later execution in an order determined by the RPO algorithm.
Claims26
A disk drive comprising:
- (a) a disk comprising a plurality of concentric tracks, each track comprising a plurality of data sectors;
- (b) a head actuated radially over the disk;
- (c) an input/output queue for storing disk commands associated with host commands received from a host computer;
- (d) a disk controller for executing the disk commands stored in the input/output queue in an order determined from a rotational positioning optimization (RPO) algorithm, the disk controller for performing the steps of:
- linking together first disk command and a second disk command stored in the input/output queue to generate a linked disk command if the first and second disk commands access near sequential data sectors;
- computing an access latency for the linked disk command and at least one other disk command in the command queue, wherein the access latency for the linked disk command is computed as an access latency for the first disk command without computing an access latency for the second disk command;
- selecting a current disk command from the input/output queue according to the access latencies, the current disk command identifying a plurality of target data sectors;
- seeking the head to a first target track comprising the target data sectors;
- and
- if an error occurs while executing the current disk command and the current disk command is the linked disk command:
- executing at least one of the disk commands of the linked disk command by accessing at least one of the target data sectors;
- and
- inserting at least one of the unexecuted disk commands of the linked disk command into the input/output queue.
A method for accessing a disk in a disk drive, the disk comprising a plurality of concentric tracks, each track comprising a plurality of data sectors, the disk drive comprising a head actuated radially over the disk, and an input/output queue for storing disk commands associated with host commands received from a host computer, the method comprising the steps of:
- (a) linking together a first disk command and a second disk command stored in the input/output queue to generate a linked disk command if the first and second disk commands access near sequential data sectors;
- (b) computing an access latency for the linked disk command and at least one other disk command in the command queue, wherein the access latency for the linked disk command is computed as an access latency for the first disk command without computing an access latency for the second disk command;
- (c) selecting a current disk command from the input/output queue according to a access latencies, the current disk command identifying a plurality of target data sectors;
- (d) seeking the head to a first target track comprising the target data sectors;
- and
- (e) if an error occurs while executing the current disk command and the current disk command is the linked disk command:
- executing at least one of the disk commands of the linked disk command by accessing at least one of the target data sectors;
- and
- inserting at least one of the unexecuted disk commands of the linked disk command into the input/output queue.
Dependencies are inferred from the claim text.