Method and apparatus for dynamic arbitration between a first queue and a second queue based on a high priority transaction type
AssigneeIntel Corporation
InventorRussell W. Dyer
Life of this patent
Estimating the term…
Abstract
Dynamic arbitration based on a high priority transaction type. A first memory access request is received at a first request queue. If the first memory access request is of a first type, the priority of the first request queue is dynamically raised over the priority of a second request queue. The priority of the second request queue is dynamically raised over that of the first request queue when requests of the first type in the first request queue, up to a maximum predetermined number of requests, have been serviced.
Claims29
A method for arbitrating memory access requests, the method comprising:
- receiving a first memory access request at a first request queue;
- dynamically raising the priority of the first request queue over a second request queue if the first memory access request is of a first type;
- and
- dynamically raising the priority of the second request queue over the first request queue before all requests of the first type in the first request queue have been serviced in response to a predetermined maximum number of requests of the first type being serviced.
A method for processing memory access requests, the method comprising:
- dynamically configuring an arbiter to prioritize a first request queue above a second request queue if the first request queue receives a memory access request of a first type;
- and
- dynamically configuring the arbiter to prioritize the second request queue before all memory access requests of the first type have been serviced in response to a first predetermined maximum number of memory access requests of the first type being serviced.
A method for processing memory requests comprising:
- at each arbitration point in a memory request pipe,
- dynamically prioritizing a first request queue that includes a memory access request of a first type;
- and
- dynamically prioritizing a second request queue over the first request queue before all memory access requests of the first type have been processed in response to a predetermined maximum number of requests of the first type being processed.
An apparatus comprising:
- first and second request queues to receive memory access requests;
- and
- a configurable arbiter coupled to the first and second request queues, the configurable arbiter to dynamically raise the priority of the first request queue relative to the priority of the second request queue in response to the first request queue receiving a memory access request of a first type, the configurable arbiter further to dynamically raise the priority of the second request queue relative to the priority of the first request queue before all of the requests of the first type have been serviced in response to a predetermined maximum number of requests of the first type being serviced.
A memory controller comprising:
- a first memory access request queue to temporarily store memory access requests of a first high priority request type;
- a second memory access request queue to temporarily store memory access requests of a second lower priority request type;
- and
- a first configurable arbiter coupled to the first and second memory access request queues, the first configurable arbiter to dynamically prioritize the first memory access request queue above the second memory access request queue until a first predetermined maximum number of memory access requests of the first type have been serviced.
A computer system comprising:
- a processor bus;
- a dynamic random access memory (DRAM);
- a memory controller coupled to the processor bus and the DRAM, the memory controller comprising
- first and second request queues to store memory access requests directed to the DRAM, and
- a configurable arbiter to dynamically prioritize the first request queue over the second request queue if the first request queue stores a memory access request of a first type, the configurable arbiter further to dynamically prioritize the second request queue over the first request queue before all memory access requests of the first type have been serviced in response to a first predetermined maximum number of memory access requests of the first type being serviced.
Dependencies are inferred from the claim text.