Patent ID: 7991948

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, by an I/O optimization module, one or more I/O requests 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, by the I/O optimization module, a plurality of I/O sub-requests from the I/O requests, each I/O sub-request specifying a set of one or more adjacent disk blocks specified by the I/O requests along the same cylinder; determining, by the I/O optimization module, all possible execution sequences for performing the I/O sub-requests; calculating, by the I/O optimization module for each execution sequence, a total estimated execution time for performing the I/O sub-requests according to that execution sequence; selecting, by the I/O optimization module, one of the execution sequences for performing the I/O sub-requests in dependence upon the total estimated execution times for the execution sequences; and instructing, by the I/O optimization module, a disk drive controller to perform the I/O requests by performing the I/O sub-requests according to the selected execution sequence.