US2015089161A1PendingUtilityA1

High performance interconnect coherence protocol

Assignee: BEERS ROBERTPriority: Oct 22, 2012Filed: Nov 26, 2014Published: Mar 26, 2015
Est. expiryOct 22, 2032(~6.2 yrs left)· nominal 20-yr term from priority
G06F 2212/621G06F 12/0828G06F 12/0831
55
PatentIndex Score
0
Cited by
0
References
0
Claims

Abstract

A coherence protocol message is sent corresponding to a particular cache line. A potential conflict involving the particular cache line is identified and a forward request is sent to a home agent to identify the potential conflict. A forward response can be received in response to the forward request from the home agent and a response to the conflict can be determined.

Claims

exact text as granted — not AI-modified
1 .- 35 . (canceled) 
     
     
         36 . An apparatus comprising:
 protocol circuitry to:
 receive a snoop request related to a particular address; 
 determine that a particular coherence agent has a conflicting request to the particular address; and 
 send a forward request to another coherence agent to notify a conflict. 
   
     
     
         37 . The apparatus of  claim 36 , wherein the protocol circuitry is to send forward requests in response to detection of incoming snoop requests to a same cache line as an outstanding read or invalidation request. 
     
     
         38 . The apparatus of  claim 36 , wherein the other coherence agent comprises a home agent. 
     
     
         39 . The apparatus of  claim 36 , wherein the conflicting request comprises a particular request to the particular address by the particular coherence agent that is still outstanding when the snoop request is received. 
     
     
         40 . The apparatus of  claim 36 , wherein the particular coherence agent is further to receive a forward response from the other coherence agent based on the forward request. 
     
     
         41 . The apparatus of  claim 40 , wherein the particular coherence agent is further to determine a response to the forward response based at least in part on attributes of the snoop request. 
     
     
         42 . The apparatus of  claim 41 , wherein the other coherence agent comprises a second coherency agent, the snoop request corresponds to another coherence protocol message by a third coherence agent related to the particular address, and the attributes of the snoop request include identification of the third coherence agent, identification of a command included in the other coherence protocol message, and a transaction identifier of the other coherence protocol message. 
     
     
         43 . The apparatus of  claim 41 , wherein the forward response is to be sent after a completion is received, and the other coherence agent comprises a home agent. 
     
     
         44 . The apparatus of  claim 41 , wherein the response comprises performing a writeback to memory prior to sending a snoop response to the other agent. 
     
     
         45 . The apparatus of  claim 44 , wherein a particular cache line associated with the particular address is partially modified at the particular coherence agent. 
     
     
         46 . The apparatus of  claim 40 , wherein the protocol circuitry is further to receive a completion after receiving the forward response. 
     
     
         47 . The apparatus of  claim 40 , wherein the protocol circuitry is further to receive a completion before receiving the forward response. 
     
     
         48 . The apparatus of  claim 36 , wherein the protocol circuitry is further to allocate a forward resource for the forward request. 
     
     
         49 . The apparatus of  claim 48 , wherein the protocol circuitry is to determine whether the particular coherence agent has an available forward resource to respond to the snoop request. 
     
     
         50 . The apparatus of  claim 49 , wherein the protocol circuitry is further to block the snoop request when insufficient forward resources are available. 
     
     
         51 . The apparatus of  claim 48 , wherein the protocol circuitry is further to reserve a forward resource for a forward response to the forward request. 
     
     
         52 . The apparatus of  claim 36 , wherein the forward request is to comprise a command field, a destination node identifier field, a home transaction identifier field, and a peer node identifier field. 
     
     
         53 . An apparatus comprising:
 a snoop receiver to receive a snoop request that references a particular address;   a conflict identifier to determine that a coherence agent has an active request to an address matching the particular address;   a response generator to generate a conflict forward request, wherein the conflict forward request is to include a command field, a destination node identifier field, a home transaction identifier field, and a peer node identifier field;   a transmitter to send a forward request to a home agent to identify a conflict related to the snoop request;   a resource manager to reserve a forward resource for a response to the forward request; and   a response receiver to receive a forward response from the home agent, wherein the forward response is to identify a transaction identifier associated with the snoop request.   
     
     
         54 . An apparatus comprising:
 protocol circuitry to:
 receive a conflict forward request from a coherence agent, wherein the conflict forward request is associated with a snoop request; 
 generate a forward response to the conflict forward request, wherein the forward response is to comprise a node identifier (NID) of the coherence agent and a home agent transaction identifier (TID) associated with a home agent associated with the snoop request; and 
 send the forward response to the coherence agent. 
   
     
     
         55 . The apparatus of  claim 54 , wherein a home agent directory of the home agent is not to be altered in response to the conflict forward request. 
     
     
         56 . The apparatus of  claim 54 , wherein the conflict forward request is to include a node identifier of the coherence agent. 
     
     
         57 . The apparatus of  claim 56 , wherein the conflict forward request is to further include the home transaction identifier field. 
     
     
         58 . A method comprising:
 receiving, at a coherence agent of a block of a computing device, a snoop request related to a particular address;   determining that the coherence agent has a conflicting request to the particular address; and   send a forward request to another coherence agent to identify a conflict.   
     
     
         59 . The method of  claim 58 , further comprising receiving a forward response to the foreward request from the other coherence agent. 
     
     
         60 . The method of  claim 59 , further comprising:
 determining a response to the forward response; and   sending a snoop response to the other coherence agent associated with the forward response.   
     
     
         61 . The method of  claim 58 , further comprising reserving a forward resource for received responses to the forward request. 
     
     
         62 . An apparatus comprising:
 a controller to interface between at least a first processor to recognize a first instruction set and second processor to recognize a second instruction set that is different from the first instruction set, the controller comprising interface logic to couple to a link comprising a plurality of lanes;   the interface logic to:
 receive a snoop request related to a particular address; 
 determine that a particular coherence agent has a conflicting request to the particular address; and 
 send a forward request to another coherence agent to notify a conflict. 
   
     
     
         63 . A system comprising:
 an interconnect fabric;   a home agent; and   a coherence agent communicatively coupled to the home agent via the interconnect fabric, the coherence agent to:
 receive a snoop request related to a particular address; 
 determine that the coherence agent has a conflicting request to the particular address; and 
 send a forward request over the interconnect fabric to the home agent to identify a conflict. 
   
     
     
         64 . The system of  claim 63 , wherein the home agent is to:
 receive another coherence protocol request from another coherence agent;   send the snoop request to the coherence agent, wherein the snoop corresponds to the other coherence protocol request;   receive the forward request;   send a forward response to the coherence agent in response to the forward request;   generate a complete for the conflicting request; and   generate a complete for the other coherency protocol request.   
     
     
         65 . The system of  claim 63 , wherein the home agent has a set of resources and the set of resources are not pre-allocated to coherence agents in the system.

Join the waitlist — get patent alerts

Track US2015089161A1 — get alerts on status changes and closely related new filings.

We store only your email — no account needed. See our privacy policy.