Method and apparatus for caching and retaining non-requested speculative
data from a storage array in an effort to accommodate future requests for
such data. A cache manager stores requested readback data from the
storage array to a cache memory, and selectively transfers speculative
non-requested readback data to the cache memory in relation to a time
parameter and a locality parameter associated with a data structure of
which the requested readback data forms a part. The locality parameter
preferably comprises a stream count as an incremented count of
consecutive read requests for a contiguous data range of the storage
array, and the time parameter preferably indicates a time range over
which said read requests have been issued. The speculative readback data
are transferred when both said parameters fall within a selected
threshold range. The data structure preferably comprises a RAID stripe on
a selected storage device of the array.