Patent ID: 7769956
Filing Date: 2010-08-03
Classification: G06F

Abstract:
1. An apparatus comprising: a pre-coherence channel; one or more cache agents coupled to the pre-coherence channel to communicate messages including requests, writebacks, snoop data hit messages, snoop no data messages, and data acknowledgements; a protocol agent that is separated from the one or more cache agents, the protocol agent coupled to the pre-coherence channel to receive the messages corresponding to cache operations at the one or more cache agents including the requests, the writebacks, the snoop data hit messages, the snoop no data messages, and the data acknowledgements, wherein the messages including a request followed by a writeback, the request followed by a snoop data hit message, and the request followed by a snoop no data message on the pre-coherence channel are re-ordered to avoid deadlock, wherein a data acknowledgment is capable to trigger a coherence protocol to enter a conflict phase, if earlier snoop responses have resulted in conflict, and wherein ordering the snoop responses versus the data acknowledgement including the snoop data hit message followed by the data acknowledgement, and the snoop no data message followed by the data acknowledgement is communicated on the pre-coherence channel to ensure conflicts are properly detected to allow entrance into the conflict phase wherein the pre-coherence channel transports the messages including the requests, the writebacks, the snoop data hit messages, the snoop no data messages, and the data acknowledgements to the protocol agent to provide the protocol agent with a view into an internal ordering with respect to the cache operations at the cache agents.