IP Library Granted Patent US 10,216,633
Granted Patent B2
US 10,216,633 · App. 15/141,954 · Granted Feb 26, 2019

Hardware based coherency between a data processing device and interconnect

Inventors: Dominic William Brown (Ely, GB); Ashley John Crawford (Ashdon, GB)
Assignee: Arm Limited
G06F12/0815G06F12/0804G06F12/084G06F2212/62Y02D10/13
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,216,633
App. No.
15/141,954
Granted
Feb 26, 2019
Kind
B2
Abstract

There is provided a data processing device including an output port to transmit a request value to an interconnect arranged to implement a coherency protocol, to indicate a request to be subjected to the coherency protocol. An input port receives an acknowledgement value from the interconnect in response to the request value and coherency administration circuitry defines behavior rules for the data processing device in accordance with the coherency protocol and in dependence on the request value and the acknowledgement value. Storage circuitry administers data in accordance with the behavior rules. There is also provided an interconnect including an input port to receive a request value, issued by a data processing device having storage circuitry, to indicate a request for the data processing to be subjected to a coherency protocol. An output port transmits an acknowledgement value to the data processing device in response to the request value and coherency administration circuitry defines behavior rules for the interconnect in accordance with the coherency protocol and in dependence on the request value and the acknowledgement value.

Claims (72)

1. A data processing device comprising:

an output port to transmit a request value to an interconnect arranged to implement a coherency protocol, to indicate a request to be subjected to the coherency protocol;

an input port to receive an acknowledgement value from the interconnect in response to the request value;

coherency administration circuitry to define behaviour rules for the data processing device in accordance with the coherency protocol and in dependence on the request value and the acknowledgement value; and

storage circuitry to administer data in accordance with the behaviour rules.

2. A data processing device according to claim 1 ,

wherein the storage circuitry comprises a cache.

3. A data processing device according to claim 2 ,

wherein the coherency administration circuitry comprises cache flush circuitry to control the behaviour of the data processing device in accordance with the coherency protocol by enabling the cache to retain coherent data in dependence on the request value and the acknowledgement value.

4. A data processing device according to claim 3 ,

wherein the cache flush circuitry is responsive to the request value having a first request value and the acknowledgement value having a first acknowledgement value to enable the cache to retain coherent data,

and otherwise to prevent the cache from retaining coherent data.

5. A data processing device according to claim 2 ,

wherein the coherency administration circuitry comprises snoop control circuitry to control the behaviour of the data processing device in accordance with the coherency protocol by requiring the cache to respond to an unsolicited access request transmitted by the interconnect in dependence on the request value and the acknowledgement value.

6. A data processing device according to claim 5 ,

wherein the unsolicited access request is at least one of: a snoop request and a distributed virtual memory access request.

7. A data processing device according to claim 5 ,

wherein the snoop control circuitry is responsive to the request value having a second request value and the acknowledgement value having a second acknowledgement value to enable the cache to respond to the unsolicited access request transmitted by the interconnect,

and otherwise to require the cache to respond to the unsolicited access request transmitted by the interconnect.

8. A data processing device according to claim 1 , wherein

the coherency administration circuitry is to control the behaviour of the interconnect in accordance with the coherency protocol by allowing a data access request to data that is to be kept coherent in dependence on the first request value and the first acknowledgement value.

9. A data processing device according to claim 8 , wherein

the coherency administration circuitry is responsive to the request value having a first request value and the acknowledgement value having a first acknowledgement value to allow the data access request

and otherwise to disallow the data access request.

10. A data processing device according to claim 1 , wherein

the request value is dependent on component request values; and

the acknowledgement value is dependent on component acknowledgement values.

11. A data processing device according to claim 10 , wherein

the component request values comprise a connect request value and a disconnect request value; and

the component acknowledgement values comprise a connect acknowledgement value and a disconnect acknowledgement value.

12. An interconnect comprising:

an input port to receive a request value, issued by a data processing device, to indicate a request for the data processing device to be subjected to a coherency protocol;

an output port to transmit an acknowledgement value to the data processing device in response to the request value; and

coherency administration circuitry to define behaviour rules for the interconnect in accordance with the coherency protocol and in dependence on the request value and the acknowledgement value.

13. An interconnect according to claim 12 , wherein

the coherency administration circuitry is to control the behaviour of the interconnect in accordance with the coherency protocol by responding to a data access request from the data processing device to data that is to be kept coherent across a plurality of data processing devices,

wherein the behaviour of the interconnect is controlled in dependence on the request value and the acknowledgement value.

14. An interconnect according to claim 13 , wherein

the coherency administration circuitry is responsive to the request value having a first request value and the acknowledgement value having a first acknowledgement value to allow the data access request

and otherwise to refuse the data access request.

15. An interconnect according to claim 12 , wherein

the coherency administration circuitry comprises snoop circuitry, responsive to a data access request transmitted by one of the plurality of data processing devices other than the data processing device, to control the behaviour of the interconnect in accordance with the coherency protocol by generating and transmitting a snoop request to the data processing device in dependence on the request value and the acknowledgement value.

16. An interconnect according to claim 15 , wherein

the snoop circuitry is responsive to the request value having a first request value to allow the snoop request to be generated and transmitted to the data processing device; and

and the snoop circuitry is responsive to the request value having a second request value and the acknowledgement value having a second acknowledgement value to suppress the snoop request from being transmitted to the data processing device, and otherwise to allow the snoop request to be transmitted to the data processing device on the condition that the snoop request has already been generated.

17. An interconnect according to claim 12 , wherein

a subset of the plurality of data processing devices have access to a shared cache, independent of the interconnect.

18. An interconnect according to claim 12 , wherein

the input port is further to receive an associated request value from each of a plurality of data processing devices; and

the output port is further to transmit an associated acknowledgement value to each of the plurality of data processing devices; and

the coherency administration circuitry is to define behaviour rules for the interconnect in respect of each data processing device in the plurality of data processing devices in accordance with the coherency protocol and in dependence on the associated request value and the associated acknowledgement value of that data processing device.

19. A system comprising:

an interconnect; and

a plurality of data processing devices,

the interconnect comprising:

an input port of the interconnect to receive a request value, issued by a data processing device of the plurality of data processing devices, to indicate a request for the data processing device of the plurality of data processing devices to be subjected to a coherency protocol;

an output port of the interconnect to transmit an acknowledgement value to the data processing device of the plurality of data processing devices in response to the request value; and

coherency administration circuitry of the interconnect to define behaviour rules for the interconnect in accordance with the coherency protocol and in dependence on the request value and the acknowledgement value;

the data processing device of the plurality of data processing devices comprising:

an output port of the data processing device of the plurality of data processing devices to transmit the request value to the interconnect arranged to implement the coherency protocol, to indicate a request to be subjected to the coherency protocol;

an input port of the data processing device of the plurality of data processing devices to receive an acknowledgement value from the interconnect in response to the request value;

coherency administration circuitry of the data processing device of the plurality of data processing devices to define behaviour rules for the data processing device of the plurality of data processing devices in accordance with the coherency protocol and in dependence on the request value and the acknowledgement value; and

storage circuitry to administer data in accordance with the behaviour rules.

20. A method of operating a data processing apparatus, comprising:

transmitting a request value to an interconnect arranged to implement a coherency protocol, to indicate a request to be subjected to the coherency protocol;

receiving an acknowledgement value from the interconnect in response to the request value;

defining behaviour rules for the data processing device in accordance with the coherency protocol and in dependence on the request value and the acknowledgement value; and

administering data in accordance with the behaviour rules.

21. A method of operating an interconnect, comprising:

receiving a request value, issued by a data processing device, to indicate a request for the data processing to be subjected to a coherency protocol;

transmitting an acknowledgement value to the data processing device in response to the request value;

defining behaviour rules for the interconnect in accordance with the coherency protocol and in dependence on the request value and the acknowledgement value.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 29, 2016
From: BROWN, DOMINIC WILLIAM; CRAWFORD, ASHLEY JOHN
To: ARM LIMITED
Reel/Frame 038570/0799 →
Priority Claims (1)
GB 1510185 · Jun 11, 2015 · national
Continuity (1)
Related Publication 20160364333A1 · Dec 15, 2016