Patent ID: 8108618

Claim:
A method of maintaining cache coherency in a processor integrated circuit (IC), the method comprising: providing the processor IC with a plurality of master processor cores that each communicate with a respective cache memory; providing a processor bus controller (PBC) that couples to the master processor cores, the PBC being configured to couple to a system memory indirectly via a memory controller, the PBC being further configured to couple indirectly to a master I/O device and a slave I/O device via a respective master I/O device controller and slave I/O device controller; sending to the PBC, by a master processor core or a master I/O device, an initial command data request that references an address range in the system memory, thus determining a referenced address range; receiving, by the PBC, the initial command data request and in response sending a reflected command to any master processor core, system memory and I/O slave device that the PBC determines to be within the referenced address range; sending in response to the reflected command, by the master processor cores, system memory, and slave I/O device in the referenced address range, respective partial responses to the PBC; receiving, by the PBC, from the slave I/O device a signal that indicates that a particular partial response is a partial response from the slave device; blocking in response to the signal, by the PBC, the partial response of the memory controller, the master processor cores, and the master I/O device but not the particular partial response of the slave I/O device from inclusion in a combined response that the PBC sends to master processor cores, master I/O devices and system memory, thus enabling the slave I/O controller coupled to the slave I/O device to assume that the combined response of the PBC to the particular partial response of the slave I/O device is the same as the particular partial response of the slave I/O device, such that the PBC need not actually send a combined response to the slave I/O device.