Patent ID: 7238218

Claim:
A method of prefetching data from a memory across a bus to a remote agent in response to memory read calls from the remote agent, comprising: monitoring the bus for memory reads; upon detecting a memory read, determining if the memory read is a first memory read, and if the memory read is a first memory read, storing the address of the memory read; predicting an address of data to be read based upon previous memory reads; loading a memory read prefetch buffer with data of the predicted address of data to be read; if the memory read is not a first memory read, comparing the memory read to a previous memory read; if the memory read is contiguous to a previous memory read, servicing the memory read, prefetching a second data chunk, storing the second data chunk in a memory read prefetch buffer; comparing an address of a second read request to an address of the second data chunk; and if the comparison indicates a match then moving the second data chunk across the bus, leaving a prefetch bit at 1, and prefetching another data chunk.