1. An article of manufacture including code to communicate with a storage and a cache in a computer readable memory and cause operations, the operations comprising: adding data units from the storage to the cache, wherein requested data from the storage is returned from the cache; processing a degree of prefetch indicating a number of data units to prefetch into the cache; processing a trigger distance indicating a prefetched trigger data unit in the cache; prefetching the number of data units indicated by the degree of prefetch in response to processing the trigger data unit; adjusting the degree of prefetch and the trigger distance based on a rate at which data units are accessed from the cache; and maintaining one degree of prefetch and trigger distance values for each stream independently sequentially accessing data units in the storage, wherein the prefetched data units comprise sequential data units, and wherein different streams are capable of having different degree and trigger distance values based on the rate at which sequential data units are accessed by the stream.