Patent ID: 7120737

Claim:
A disk drive comprising: (a) a disk comprising a plurality of tracks, wherein each track comprises a plurality of data sectors and each data sector is operable to store a data block; (b) a head actuated radially over the disk; (c) a plurality of disk command data structures, wherein a first one of the disk command data structures comprises a pointer to a plurality of data blocks to be written to a corresponding plurality of target data sectors; (d) a dirty queue for queuing disk command data structures associated with write commands comprising write data to be written to the disk, including write commands received from a host; (e) a write verify queue for storing disk command data structures associated with write commands comprising write data to be verified; (f) an available queue for storing disk command data structures associated with write commands comprising write data written to the disk and verified; and (g) a microprocessor for executing a first write command received from the host and associated with the first disk command data structure by: inserting the first disk command data structure into the dirty queue; selecting the first disk command data structure from the dirty queue; executing the write command using the first disk command data structure by writing the data blocks to the plurality of target data sectors; inserting the first disk command data structure into the write verify queue after executing the write command; selecting the first disk command data structure from the write verify queue; using the first disk command data structure to perform a write verify operation to verify recoverability of each of the target data sectors; inserting the first disk command data structure into the available queue if the target data sectors pass the write verify operation; and if at least one of the target data sectors fails the write verify operation: (i) inserting the first disk command data structure back into the dirty queue; (ii) selecting between the first disk command data structure and a second disk command data structure from the dirty queue, wherein the second disk command data structure is associated with a second write command received from the host; and (iii) executing the first or second write command associated with the selected disk command data structure.