Prefetch buffer allocation and filtering system
AssigneeIntel Corporation
InventorsZohar Bogin, Steven Clohset
Life of this patent
Estimating the term…
Abstract
A system is described for prefetching data from a main memory before the data is requested by a processor. The system includes a prefetch buffer having a number of entries to store prefetch reads. Each entry in the prefetch buffer includes a storage area designated for data and address. The system also includes a number of state machines, each state machine to track data phase for each entry in the prefetch buffer. A read request controller is coupled to the prefetch buffer and is configured to receive a read request from the processor or I/O devices and controls dispatching of prefetch requests to a main memory.
Claims21
A system comprising:
- a prefetch buffer having a plurality of entries to store prefetch reads, each entry including a storage area for data and address;
- a plurality of state machines, each state machine to track data phase for each entry in said prefetch buffer;
- and
- a read request controller coupled to said prefetch buffer, wherein said read request controller receives a read request from a processor or I/O devices and controls dispatching of prefetch requests to a main memory.
A method comprising:
- receiving a read request from a processor;
- comparing address specified in said read request against addresses stored in a plurality of entries in a prefetch buffer;
- forwarding data specified in said read request from the prefetch buffer to the processor in response to a read hit from said processor;
- dispatching a prefetch request to prefetch the next sequential address in response to a read hit from said processor;
- dispatching a read request to a memory controller to fetch data specified in said read request in response to a read miss from said processor;
- and
- determining whether or not a prefetch request will be dispatched based on at least one factor indicating if a memory bus will be busy retrieving non-speculative fetch requests in response to a read miss from said processor.
A computer system comprising:
- a processor coupled to a processor bus;
- a main memory;
- and
- a memory controller subsystem coupled between said processor bus and said main memory to coordinate data transfer to and from the main memory at the request of the processor, wherein said memory controller subsystem includes a prefetch buffer having a plurality of entries to store prefetch reads, each entry including a storage area for data and address, a read request controller coupled to said prefetch buffer, wherein said read request controller receives a read request from a processor or I/O devices and controls dispatching of prefetch requests to said main memory, and a read request queue to hold read requests dispatched from the read request controller.
Dependencies are inferred from the claim text.