Patent ID: 7437593

Claim:
An apparatus for managing errors in prefetched data, the apparatus comprising: a prefetch module comprising executable code stored on a storage device, executed by a processor, and configured to prefetch a data packet from a first location into a second location in anticipation of receiving a request for the prefetched data packet and prior to receiving the request; a validation module comprising executable code stored on the storage device, executed by the processor, and configured to correct single bit errors in the prefetched data packet, determine that the prefetched data packet contains an uncollectable error, and store a first location address for the prefetched data packet with the uncollectable error, wherein the address is stored in the second location and no address is stored for prefetched data packets without uncorrectable errors; an identification module comprising executable code stored on the storage device, executed by the processor, and configured to associate an identifier with the prefetched data packet prior to receiving the request if the prefetched data packet contains the uncollectable error, wherein the identifier is stored in the second location with the prefetched data packet; a transfer module comprising executable code stored on the storage device, executed by the processor, and configured to transfer the prefetched data packet from the second location if the request is received; an error recovery module comprising executable code stored on the storage device, executed by the processor, and configured to selectively initiate an error recovery process for the transferred prefetched data packet that has been determined to contain an uncorrectable error if the identifier is associated with the prefetched data packet by setting a flag; and the validation module is further configured to signal an interrupt to initiate the error recovery process in response to the set flag, wherein the error recovery process comprises re-retrieving the data packet from the first location using the address.