A disk drive capable of supporting speculative data transfers. Requested
first data are read from the disk drive. Before the first data are read,
a determination is made as to whether there are un-requested second data
that are likely to be requested at a later time as part of a data stream.
If so, then a determination is made as to whether the second data and the
first data are stored in locations that are physically/logically
proximate on the same disk. If the second data are close to the first
data, then the second data are speculatively read and stored in a local
disk cache. If a subsequent request comes to the disk drive for the
second data, then the second data are quickly produced from the disk
cache rather than being slowly read off the disk.