Patent ID: 8131923

Claim:
A computer-implemented method of optimizing execution of Input/Output (I/O) requests for a disk drive in a computing system, the method comprising: receiving an I/O request specifying a plurality of disk blocks of the disk drive for access, each disk block characterized by a disk drive head, a cylinder, and a sector of the disk drive; determining a plurality of I/O sub-requests from the I/O request, each I/O sub-request specifying a set of one or more adjacent disk blocks of the plurality of disk blocks along the same cylinder; determining a plurality of execution sequences for performing the plurality of I/O sub-requests, wherein each of the plurality of execution sequences indicates a different order to perform the plurality of I/O sub-requests; calculating, for each of the plurality of execution sequences, a total estimated execution time for performing the I/O sub-requests according to the execution sequence; selecting one of the plurality of execution sequences for performing the I/O sub-requests based, at least in part, on the total estimated execution times for the plurality of execution sequences; and instructing a disk drive controller to perform the I/O sub-requests according to the selected execution sequence.