Patent ID: 6910099

Claim:
A disk drive comprising: (a) a disk comprising a plurality of tracks, each track comprising a plurality of blocks; (b) a head actuated radially over the disk; (c) a semiconductor memory comprising a cache buffer for caching data written to the disk and data read from the disk; and (d) a disk controller for: receiving a read command from a host computer, the read command comprising a command size representing a number of blocks of read data to read from the disk; allocating M cache segments from the cache buffer, wherein: each of the M cache segment comprises N blocks; and the number M of allocated cache segments is computed by: summing the command size with a predetermined default number of read-ahead blocks to generate a summation; and integer dividing the summation by N which results in a residue number of default read-ahead blocks; reading the read data from the disk and storing the read data in part of the allocated cache segments; and adjusting a read-ahead operation in response to the residue number of default read-ahead blocks to read read-ahead data from the disk following the read data and storing the read-ahead data in a remainder of the allocated cache segments.