Patent ID: 8949547
Filing Date: 2015-02-03
Classification: G06F

Abstract:
1. A coherency controller for maintaining data coherency of data stored in a data processing apparatus comprising at least one initiator device and at least one recipient device, said coherency controller comprising: at least one port for receiving data access requests from said at least one initiator device and for transmitting said data access requests and snoop requests to at least one of said at least one initiator device and said at least one recipient device; a buffer configured to store pending data access requests; snoop request generating circuitry configured to generate said snoop requests in response to said pending data access requests, said snoop requests determining whether data to be accessed is stored locally in one or more of said at least one initiator device and said at least one recipient device; and coherency control circuitry, responsive to receipt of a first part of a write request comprising an indication that a write is to be performed to an address for which a read request is pending, configured to stall said write request by not responding to said first part of said write request until after the pending read request has completed, wherein said coherency control circuitry is responsive to receipt of a signal indicating completion of said read request to respond to said first part of said write request; and said coherency control circuitry, responsive to receipt of a second part of said write request received after the response to said first part of said write request and comprising said data and an indication of a state of said data prior to said write request, to write said data to said at least one recipient device.