1. A computing environment having a processing unit, first level cache, pre-fetch cache apparatus forming a second level cache, and a third level cache, said pre-fetch cache apparatus comprising: a plurality of data lines to store cache data, each storing data from the third level cache; a plurality of counters, each data line of the plurality of data lines associated with a respective one counter; means to determine if requested data are in the pre-fetch cache apparatus, means to send said requested data to the first level cache when requested data is in the pre-fetch cache apparatus, and means to increment the one counter associated with the data line that contains the requested data, when requested data is in the pre-fetch cache apparatus; means to determine if any one of the plurality of counters associated with the plurality of data lines in the pre-fetch cache apparatus reached a given value; and means to evict data from one data line associated with said one of the counters which reached a given value; and wherein the given value of a counter associated with one of the data lines which marks said one data line as a candidate for eviction is determined during pre-fetch cache operation by a stream detection engine.