Patent ID: 8635410

Claim:
A method for removing data from processor caches in a distributed multi-processor computer system, comprising: receiving at a processor interface of a node controller a request to remove a particular cache line issued by a local processor coupled to the processor interface, the request operable to initiate removal of the particular cache line from any cache in the distributed multiprocessor computer system; responding to the request with a negative acknowledgement when a request cannot be serviced; determining whether the particular cache line is maintained locally in a cache of any of one or more local processors associated with the node controller; determining that the particular cache line has been modified by the one or more local processors in response to determining that the particular cache line is maintained locally; initiating removal of the particular cache line from the cache of the one or more local processors in response to determining that the particular cache line is maintained locally and has been modified; responding to the request with a purge response when the request is an exclusive read only request; self-invalidating the cache line when the request is a timed read and the cache line is an exclusive read only cache line; and forwarding the request in response to determining that the particular cache line has not been modified to a memory directory interface of a remote node controller coupled to a memory at a home location of the particular cache line when the cache line is not in the exclusive read only state.