A method for cache coherency in a network of a plurality of caching agents includes storing a plurality of miss requests, transmitting the miss requests into the network, sending a probe message on a probe channel and a request message on a second channel from one of the plurality of caching agents, and maintaining an open status for the miss request until the requesting cache agent receives the data or an ownership indicator.
Legal claims defining the scope of protection, as filed with the USPTO.
1. A system having a messaging protocol for a plurality of caching agents and a plurality of home agents each guards a piece of coherent memory coupled via a network fabric, the system comprising: an interface circuit supports the plurality of caching agents supports modified, exclusive, shared, invalid and forward (MESIF) cache states and a home agent determining a winner of a conflict corresponding to a conflict message received by the home agent for an address among at least two of the plurality of caching agents and the home agent requests the data from a requester to be sent to the winner of the conflict responsive to a release forward message from the home agent to the requester and causes the requester to send a latest copy of the data to the winner of the conflict and to downgrade and maintain the latest copy of the data until a final release message is received, and causes a victim message to be sent to the home agent and a block victim message to be sent to the winner, the release forward message is selected from a plurality of release messages based on a request type; and the interface circuit to allow at least one of the plurality of home agents to sink all request, acknowledgement, and response messages without a dependency on a forward progress of any other message.
2. The system of claim 1 wherein the network fabric adheres to a layered protocol scheme.
3. The system of claim 2 wherein the layered protocol scheme comprises at least one of a link layer, a protocol layer, a routing layer, a transport layer, and a physical layer.
4. A system comprising: a dynamic random access memory (DRAM) coupled to a processor configuration of at least one processor supporting network fabric links to a network fabric of a plurality of caching agents; the plurality of caching agents supports modified, exclusive, shared, invalid and forward (MESIF) cache states, wherein one of the plurality of caching agents sends a probe message on a probe channel and a request message on a second channel, and wherein one of the plurality of caching agents is designated as a home agents which determines a winner of a conflict corresponding to a conflict message received by the home agent for an address among at least two of the plurality of caching agents; the home agent requests the data from a requester to be sent to the winner of the conflict responsive to a release forward message from the home agent to the requester to cause the requester to send a latest copy of the data to the winner and to downgrade and maintain the latest copy of the data until a final release message is received, and causes a victim message to be sent to the home agent and a block victim message to be sent to the winner, the release forward message is selected from a plurality of release messages based on a request type; and a miss address file entry to be maintained for each miss request.
5. The system of claim 4 wherein the network fabric links communicate via an interface that adheres to a layered protocol scheme.
6. The system of claim 4 wherein at least one processor has multiple cores with either split or shared caches.
7. The system of claim 4 wherein the network fabric links adhere to a layered protocol scheme comprises at least-one of a link layer, a protocol layer, a routing layer, a transport layer, and a physical layer.
8. The system of claim 4 wherein a Miss Address File (MAF) controller transmits the miss requests into the network.
9. The system of claim 8 wherein the MAF controller transmits the miss requests into the network on an individual basis.
10. A system comprising: a dynamic random access memory (DRAM) coupled to a processor configuration of at least one processor supporting network fabric links to a network fabric of a plurality of caching agents; the plurality of caching agents supports modified, exclusive, shared, invalid and forward (MESIF) cache states, wherein one of the plurality of caching agents sends a probe message on a probe channel and a request message on a second channel, and wherein one of the plurality of caching agents is designated as a home agents which determines a winner of a conflict corresponding to a conflict message received by the home agent for an address among at least two of the plurality of caching agents, and the home agent requests the data from a requester to be sent to the winner of the conflict responsive to a release forward message from the home agent to the requester to cause the requester to send a latest copy of the data to the winner and to downgrade and maintain the latest copy of the data until a final release message is received, and causes a victim message to be sent to the home agent and a block victim message to be sent to the winner, the release forward message is selected from a plurality of release messages based on a request type; and a home virtual channel is strictly ordered per address from each of the plurality of caching agents to the home agent.
11. The system of claim 10 wherein the network fabric links communicate via an interface that adheres to a layered protocol scheme.
12. The system of claim 10 wherein at least one processor has multiple cores with either split or shared caches.
13. The system of claim 10 wherein the network fabric links adhere to a layered protocol scheme comprises at least one of a link layer, a protocol layer, a routing layer, a transport layer, and a physical layer.
Cooperative Patent Classification codes for this invention. Click any code to explore related patents in that topic.
January 13, 2006
June 2, 2009
Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.