Patent ID: 8055851

Claim:
A method comprising: receiving, at a snoop filter, a request for data from a processor of a plurality of processors; determining a cache entry location based, at least in part, on the request; storing the data in a cache corresponding to the processor at the cache entry location; storing a coherency record corresponding to the data in an affinity corresponding to the cache; and determining an occurrence of a cache hit at another cache entry location of another cache corresponding to another processor of the plurality of processors, wherein storing the coherency record corresponding to the data in the affinity is to comprise: storing the data in an affinity corresponding to the cache at a cache entry location selected in accordance with a way-hint replacement policy; and swapping the coherency record in the affinity at the cache entry location with a coherency record in the affinity corresponding to the other cache at the other cache entry location, wherein evicted data is to be temporarily stored in a buffer until an invalidation message is sent to an originating processor to ensure that the requesting processor does not rely on data that was not already invalidated.