Patent ID: 7620696

Claim:
A system comprising: a first node, which defines a first processor, provides a broadcast request for a copy of data, the first node including a conflict state machine for managing non-data responses to the broadcast request for the data provided from the first node, the first node receiving a read conflict response to the broadcast request from the first node, the read conflict response indicating that a second node, which defines a second processor, has a pending broadcast read request for the data, the conflict state machine transitioning to a conflict state based on the read conflict response being a highest non-data response in response to the first node receiving the read conflict response; a third node that provides the requested copy of the data to the first node in response to the broadcast request from the first node, the first node filling the copy of the data provided by the third node in a cache associated with the first node based on the state of the conflict state machine; and a hybrid cache coherency protocol including a broadcast source snoop protocol implemented in conjunction with a forward progress protocol, wherein each of the first and second processors employs the broadcast source snoop protocol to issue a snoop request for the data and provide responses for the data, and wherein if the snoop request fails in the broadcast source snoop protocol, the hybrid cache coherency protocol transitions to the forward progress protocol and each of the first and second processors reissues a request for the data using the forward progress protocol; the broadcast request provided by the first node is broadcast using a source broadcast cache coherency protocol, the source broadcast cache coherency protocol being chosen by the first node based on the state of the conflict state machine.