P
US9304922B2ActiveUtilityPatentIndex 60

Inter-queue anti-starvation mechanism with dynamic deadlock avoidance in a retry based pipeline

Assignee: INTEL CORPPriority: Dec 26, 2009Filed: Jun 17, 2014Granted: Apr 5, 2016
Est. expiryDec 26, 2029(~3.5 yrs left)· nominal 20-yr term from priority
Inventors:VASH JAMES RJUNG BONGJINAHUJA PRITPAL S
G06F 13/1642G06F 2212/621G06F 12/0815
60
PatentIndex Score
1
Cited by
5
References
21
Claims

Abstract

Methods and apparatus relating to an inter-queue anti-starvation mechanism with dynamic deadlock avoidance in a retry based pipeline are described. In one embodiment, logic may arbitrate between two queues based on various rules. The queues may store data including local or remote requests, data responses, non-data responses, external interrupts, etc. Other embodiments are also disclosed.

Claims

exact text as granted — not AI-modified
The invention claimed is: 
     
       1. An apparatus comprising:
 logic to block a remote snoop request in response to a local request and absence of an entry, corresponding to a local request and a last level cache victim, in a miss address file. 
 
     
     
       2. The apparatus of  claim 1 , wherein the logic is to block the remote snoop request in response to availability of one or more credits for one or more coherent snoop requests, one or more non-coherent posted requests, and one more non-coherent non-posted requests. 
     
     
       3. The apparatus of  claim 1 , wherein the logic is to block the remote snoop request in response to a first queue, storing one or more remote snoop requests, having left a starving state since a second queue, storing one or more local requests, started starving. 
     
     
       4. The apparatus of  claim 1 , comprising logic to block the local request in response the remote snoop request unless an entry, corresponding to the local request and the last level cache victim, is absent from the miss address file and the availability of the one or more credits for the one or more coherent snoop requests, the one or more non-coherent posted requests, and the one more non-coherent non-posted requests. 
     
     
       5. The apparatus of  claim 4 , wherein the logic to block the local request is to block the local request in response to a first queue, storing one or more remote snoop requests, having left a starving state since a second queue, storing one or more local requests, started starving. 
     
     
       6. The apparatus of  claim 1 , comprising logic to block the local request in response to one or more of: the last level cache victim, a data response from local agents or remote agents, a non-data response from the remote agents, or a non-data response from the local agents. 
     
     
       7. The apparatus of  claim 1 , wherein no age-based information is to be used to guarantee forward progress in a queue that stores one or more of the remote snoop request or the local request, other than designating which entries within the queue are old at the time the queue enters starvation. 
     
     
       8. The apparatus of  claim 1 , further comprising a retry based pipeline coupled to the logic to service requests. 
     
     
       9. The apparatus of  claim 1 , further comprising a first agent to generate the local request and a second agent to generate the remote request. 
     
     
       10. The apparatus of  claim 9 , further comprising a serial link to couple the first agent and second agent. 
     
     
       11. The apparatus of  claim 9 , wherein the first agent and the second agent are on a same integrated circuit die. 
     
     
       12. An apparatus comprising:
 logic to block a local request in response to one or more of: a last level cache victim, a data response from local agents or remote agents, a non-data response from the remote agents, or a non-data response from the local agents; and 
 a retry based pipeline coupled to the logic to service requests. 
 
     
     
       13. The apparatus of  claim 12 , comprising logic to block a remote snoop request in response to the local request and absence of an entry, corresponding to a local request and a last level cache victim, in a miss address file. 
     
     
       14. The apparatus of  claim 13 , wherein the logic to block the remote snoop request is to block the remote snoop request in response to availability of one or more credits for one or more coherent snoop requests, one or more non-coherent posted requests, and one more non-coherent non-posted requests. 
     
     
       15. The apparatus of  claim 13 , wherein the logic to block the remote snoop request is to block the remote snoop request in response to a first queue, storing one or more remote snoop requests, having left a starving state since a second queue, storing one or more local requests, started starving. 
     
     
       16. The apparatus of  claim 14 , wherein the logic is to block the local request in response the remote snoop request unless an entry, corresponding to the local request and the last level cache victim, is absent from the miss address file and the availability of the one or more credits for the one or more coherent snoop requests, the one or more non-coherent posted requests, and the one more non-coherent non-posted requests. 
     
     
       17. The apparatus of  claim 12 , wherein no age-based information is to be used to guarantee forward progress in a queue that stores one or more of a remote snoop request or the local request, other than designating which entries within the queue are old at the time the queue enters starvation. 
     
     
       18. The apparatus of  claim 12 , wherein a first agent is to generate the local request and a second agent is to generate the remote request, wherein a serial link is to couple the first agent and second agent. 
     
     
       19. The apparatus of  claim 18 , wherein the first agent and the second agent are on a same integrated circuit die. 
     
     
       20. The apparatus of  claim 1 , further comprising memory to store data corresponding to the local request or the remote snoop request. 
     
     
       21. The apparatus of  claim 12 , further comprising memory to store data corresponding to the local request.

Cited by (0)

No later patents cite this yet.

References (0)

No backward citations on record.