US2015089161A1PendingUtilityA1
High performance interconnect coherence protocol
Est. expiryOct 22, 2032(~6.2 yrs left)· nominal 20-yr term from priority
Inventors:Robert BeersRobert G. BlankenshipRobert J. SafranekJeff WilleyRobert A. MaddoxAaron T. Spink
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-modified1 .- 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.