Patent ID: 7620776
Filing Date: 2009-11-17
Classification: G06F

Abstract:
1. A data processing apparatus for reducing the number of unnecessarily broadcast global requests to reduce access latency when accessing data from local nodes and to reduce global traffic in an SMP computer system, said data processing apparatus including a memory and further comprising: a modified invalid cache coherency protocol state that predicts whether a memory write request to write a cache line of particular modified data can be satisfied within a local node; a memory write request to write a cache line, of said data, that is not currently in said modified invalid state being broadcast first to remote nodes and to said local node; a memory write request to write a cache line, of said data, that is currently in said modified invalid state being broadcast first to a local node; and in response to being unable to satisfy said memory write request within said local node, said memory write request being broadcast to said remote nodes, wherein said modified invalid cache coherency protocol state is determined by: (i) snooping, by a processor, a memory access request to access said data; (ii) determining whether a cache line of said data exists within said processor's local cache; (iii) in response to determining that said cache line of said data exists within said processor's local cache, determining whether said memory access request indicates that all valid copies of said data exists within a local node that includes said processor; (iv) in response to said cache line of said data existing within said processor's local cache, determining a current protocol state of said cache line; (v) in response to determining that said memory access request indicates that all valid copies of said data exist within said local node and said current protocol state being an invalid state, transitioning said current state of said cache line to said modified invalid state from said invalid state; and (vi) in response to determining that said memory access request indicates that not all valid copies of said data exist within said local node and said current protocol state being a modified invalid state, transitioning said current state of said cache line to said invalid state from said modified invalid state.