Patent ID: 8429351

Claim:
A method for processing a data operation in a data storage system comprising: receiving, by a front-end component of the data storage system, the data operation to read a data portion; and in response to receiving the data operation, performing first processing by the front-end component, said first processing including: determining whether the data operation is a read operation resulting in a cache hit to a prefetched data portion of a sequential stream; and if said determining determines that said data operation is a read operation resulting in a cache hit to a prefetched data portion of said sequential stream, performing processing in connection with prefetching additional data for said sequential stream, said processing including determining whether to prefetch additional data for said sequential stream and, if so, an amount of additional data to prefetch, said processing including using criteria to determine an amount of data to prefetch in a single prefetch request and a track ahead parameter, said amount of data to prefetch and said track ahead parameter being associated with said sequential stream, said track ahead parameter indicating a number of data portions prefetch processing should remain ahead of requests to read data associated with the sequential stream, wherein said criteria used in determining said amount of data to prefetch and said track ahead parameter include a current length of the sequential stream as detected by the data storage system in connection with previously received data operations of the sequential stream and a size indicating an amount of data currently requested by the data operation whereby when the current length of the sequential stream is more than a stream size denoting a short sequential sequence, the amount of data to prefetch and the track ahead parameter vary with said size.