Satisfying memory ordering requirements between partial reads and non-snoop accesses
First Claim
1. An apparatus comprising:
- a requesting agent including,protocol layer logic to generate a first message associated with a read of a data element, wherein the first message is to indicate to a peer agent that a cache line associated with the data element is to be invalidated in the peer agent and the peer agent is not to forward the cache line directly to the requesting agent; and
physical layer logic coupled to the protocol layer logic to transmit the first message directed for the peer agent, wherein the first message is to comprise a Snoop Invalidate No Forward message and the Snoop Invalidate No Forward message is to cause the peer node to write back the data element to a home node associated with the data element in response to the data element being held in a modified cache coherency state in the peer node, invalidate the cache line, and not provide the data element directly to the requesting node.
1 Assignment
0 Petitions
Accused Products
Abstract
A method and apparatus for preserving memory ordering in a cache coherent link based interconnect in light of partial and non-coherent memory accesses is herein described. In one embodiment, partial memory accesses, such as a partial read, is implemented utilizing a Read Invalidate and/or Snoop Invalidate message. When a peer node receives a Snoop Invalidate message referencing data from a requesting node, the peer node is to invalidate a cache line associated with the data and is not to directly forward the data to the requesting node. In one embodiment, when the peer node holds the referenced cache line in a Modified coherency state, in response to receiving the Snoop Invalidate message, the peer node is to writeback the data to a home node associated with the data.
14 Citations
15 Claims
-
1. An apparatus comprising:
- a requesting agent including,
protocol layer logic to generate a first message associated with a read of a data element, wherein the first message is to indicate to a peer agent that a cache line associated with the data element is to be invalidated in the peer agent and the peer agent is not to forward the cache line directly to the requesting agent; and physical layer logic coupled to the protocol layer logic to transmit the first message directed for the peer agent, wherein the first message is to comprise a Snoop Invalidate No Forward message and the Snoop Invalidate No Forward message is to cause the peer node to write back the data element to a home node associated with the data element in response to the data element being held in a modified cache coherency state in the peer node, invalidate the cache line, and not provide the data element directly to the requesting node. - View Dependent Claims (2, 3, 4, 5, 6)
- a requesting agent including,
-
7. A method comprising:
-
generating a first message associated with a read of a data element in a requesting node; transmitting the first message to a peer agent; and invalidating a cache line in the peer agent associated with the data element and not forwarding the cache line directly from the peer agent to the requesting node in response to the peer agent receiving the first message and the cache line being held in a modified, exclusive, shared, or invalid coherency state, wherein the first message is to comprise a Snoop Invalidate No Forward message and the Snoop Invalidate No Forward message is to cause the peer node to write back the data element to a home node associated with the data element in response to the data element being held in a modified cache coherency state in the peer node, invalidate the cache line, and not provide the data element directly to the requesting node. - View Dependent Claims (8, 9, 10, 11)
-
-
12. A system comprising:
-
a requesting node adapted to generate a snoop message associated with a partial read of a cache line and to transmit the snoop message to be routed to a peer node; and a peer node coupled to the requesting node, the peer node being adapted to; receive the snoop message, invalidate the cache line in the peer agent, and not forward the cache line directly from the peer agent to the requesting node responsive to receiving the snoop message and the cache line being held in a modified, exclusive, shared, or invalid coherency state, wherein the first message is to comprise a Snoop Invalidate No Forward message and the Snoop Invalidate No Forward message is to cause the peer node to write back the data element to a home node associated with the data element in response to the data element being held in a modified cache coherency state in the peer node, invalidate the cache line, and not provide the data element directly to the requesting node. - View Dependent Claims (13, 14, 15)
-
Specification