IP Library Granted Patent US 9,361,240
Granted Patent B2
US 9,361,240 · App. 13/862,057 · Granted Jun 7, 2016

Dynamic reservations in a unified request queue

Inventors: Benjiman L. Goodman (Cedar Park, TX); Harrison M. McCreary (Austin, TX); Eric E. Retter (Austin, TX); Steven L. Roberts (Cedar Park, TX); Jeffrey A. Stuecheli (Austin, TX)
Assignee: International Business Machines Corporation
G06F12/121G06F12/123G06F13/4059G06F12/0831G06F2213/0038
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,361,240
App. No.
13/862,057
Granted
Jun 7, 2016
Kind
B2
Abstract

A unified request queue includes multiple entries for servicing multiple types of requests. Each of the entries of the unified request queue is generally allocable to requests of any of the multiple request types. A number of entries in the unified request queue is reserved for a first request type among the multiple types of requests. The number of entries reserved for the first request type is dynamically varied based on a number of requests of the first request type rejected by the unified request queue due to allocation of entries in the unified request queue to other requests.

Claims (32)

1. An integrated circuit, comprising:

a substrate;

circuitry fabricated on the substrate, wherein the circuitry includes a memory controller including:

a unified request queue including a total of N entries, wherein N is a positive integer greater than one and any of the N entries is allocable to a request of any of multiple request types; and

control logic that reserves a number of entries in the unified request queue for a first request type among the multiple request types and that dynamically varies the number of entries reserved for the first request type based on a number of requests of the first request type rejected by the unified request queue due to allocation of entries in the unified request queue to other requests, wherein the control logic dynamically varies the number of entries reserved for the first request type based on a number of Retry coherence responses provided for requests of the first request type within a predetermined period.

2. The integrated circuit of claim 1 , wherein the control logic initializes the number of entries that are reserved for the first request type to zero.

3. The integrated circuit of claim 1 , wherein the control logic bounds dynamic variation of the number of reserved entries with a maximum number that is less than N.

4. The integrated circuit of claim 1 , wherein the control logic dynamically varies a number of entries reserved for a second request type among the multiple request types based on a number of requests of the second request type rejected by the unified request queue due to allocation of entries in the unified request queue to other requests.

5. A data processing system comprising:

the memory controller of claim 1 ; and

a processor core coupled to the memory controller.

6. The integrated circuit of claim 1 , wherein the control logic rejects a request of a second request type without allocating a free entry of the unified request queue in response to the free entry being included among the number of entries reserved for the first request type.

7. The integrated circuit of claim 1 , wherein:

the control logic includes a plurality of counters that tracks the number of entries reserved for the first request type and a number of free entries available for allocation to requests of the first request type.

8. The integrated circuit of claim 7 , wherein the plurality of counters further includes a counter that tracks the number of requests of the first request type rejected by the unified request queue due to allocation of entries in the unified request queue to other requests.

9. A design structure tangibly embodied in a non-transitory machine-readable storage device for designing, manufacturing, or testing an integrated circuit, the design structure comprising:

a memory controller for controlling access to a system memory at a lowest level of a volatile memory hierarchy of the data processing system, the memory controller including:

a unified request queue including a total of N entries, wherein N is a positive integer greater than one and any of the N entries is allocable to a request of any of multiple request types; and

control logic that reserves a number of entries in the unified request queue for a first request type among the multiple request types and that dynamically varies the number of entries reserved for the first request type based on a number of requests of the first request type rejected by the unified request queue due to allocation of entries in the unified request queue to other requests, wherein the control logic dynamically varies the number of entries reserved for the first request type based on a number of Retry coherence responses provided for requests of the first request type within a predetermined period.

10. The design structure of claim 9 , wherein the design structure comprises a hardware description language (HDL) design structure.

11. The integrated circuit of claim 1 , wherein:

the control logic, responsive to a request, allocates a free entry of the N entries to the request in response to being able to allocate the free entry while preserving the number of entries then reserved for the first request type and does not allocate any free entry to the request in response to not being able to allocate the free entry while preserving the number of entries then reserved for the first request type.

12. The design structure of claim 9 , wherein the control logic initializes the number of entries that are reserved for the first request type to zero.

13. The design structure of claim 9 , wherein the control logic bounds dynamic variation of the number of reserved entries with a maximum number that is less than N.

14. The design structure of claim 9 , wherein the control logic dynamically varies a number of entries reserved for a second request type among the multiple request types based on a number of requests of the second request type rejected by the unified request queue due to allocation of entries in the unified request queue to other requests.

15. The design structure of claim 9 , wherein the circuitry comprises a memory controller including the unified request queue.

16. The design structure of claim 9 , wherein the control logic rejects a request of a second request type without allocating a free entry of the unified request queue in response to the free entry being included among the number of entries reserved for the first request type.

17. The design structure of claim 9 , wherein:

the control logic, responsive to a request, allocates a free entry of the N entries to the request in response to being able to allocate the free entry while preserving the number of entries then reserved for the first request type and does not allocate any free entry to the request in response to not being able to allocate the free entry while preserving the number of entries then reserved for the first request type.

18. The design structure of claim 9 , wherein:

the control logic includes a plurality of counters that tracks the number of entries reserved for the first request type and a number of free entries available for allocation to requests of the first request type.

19. The design structure of claim 18 , wherein the plurality of counters further includes a counter that tracks the number of requests of the first request type rejected by the unified request queue due to allocation of entries in the unified request queue to other requests.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 12, 2013
From: GOODMAN, BENJIMAN L.; MCCREARY, HARRISON M.; RETTER, ERIC E.; ROBERTS, STEVEN L.; STUECHELI, JEFFREY A.
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 030209/0156 →
Continuity (1)
Related Publication 20140310486A1 · Oct 16, 2014