IP Library Granted Patent US 11,960,945
Granted Patent B2
US 11,960,945 · App. 17/225,674 · Granted Apr 16, 2024

Message passing circuitry and method

Inventors: Jonathan Curtis Beard (Austin, TX); Curtis Glenn Dunham (Austin, TX); Andreas Lars Sandberg (Cambridge, GB); Roxana Rusitoru (Cambridge, GB)
Assignee: Arm Limited
G06F9/546G06F9/542G06F12/023G06F12/1009G06F15/7817
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 11,960,945
App. No.
17/225,674
Granted
Apr 16, 2024
Kind
B2
Abstract

Message passing circuitry comprises lookup circuitry responsive to a producer request indicating message data provided on a target message channel by a producer node of a system-on-chip, to obtain, from a channel consumer information structure, selected channel consumer information associated with a given consumer node subscribing to the target message channel. Control circuitry writes the message data to a location associated with an address in a consumer-defined region of address space determined based on the selected channel consumer information. When an event notification condition is satisfied for the target message channel and the given consumer node, and an event notification channel is to be used, event notification data is written to a location associated with an address in a consumer-defined region of address space determined based on event notification channel consumer information associated with the event notification channel.

Claims (44)

1. Message passing circuitry for message passing between circuit nodes; the message passing circuitry comprising:

lookup circuitry responsive to a producer request indicating message data provided on a target message channel by a producer node of the circuit nodes, to obtain, from a channel consumer information structure for specifying channel consumer information for a plurality of message channels and one or more consumer nodes of the circuit nodes subscribing to the message channels, selected channel consumer information associated with a given consumer node subscribing to the target message channel; and

control circuitry to:

write the message data indicated by the producer request to a location associated with an address in a consumer-defined region of address space determined based on the selected channel consumer information; and

when an event notification condition is satisfied for the target message channel and the given consumer node:

when event notifications for the target message channel are to be provided to the given consumer node in response to the event notification condition, provide the event notification to the given consumer node; and

when event notifications for the target message channel are to be provided on an event notification channel of said plurality of message channels, cause event notification data to be written to a location associated with an address in a consumer-defined region of address space determined based on event notification channel consumer information associated with the event notification channel.

2. The message passing circuitry according to claim 1 , in which the control circuitry and the lookup circuitry are configured to support the channel consumer information indicating that a plurality of message channels share the same event notification channel.

3. The message passing circuitry according to claim 1 , in which when an event notification condition is satisfied for the event notification channel, the control circuitry is configured to provide an event notification to the given consumer node.

4. The message passing circuitry according to claim 1 , in which the control circuitry is configured to provide the event notification to the given consumer node by issuing a write request requesting a write to a location associated with an event notification address indicated in the selected channel consumer information.

5. The message passing circuitry according to claim 1 , in which the event notification data comprises a consumer-defined value specified in the selected channel consumer information associated with the given consumer node subscribing to the target message channel.

6. The message passing circuitry according to claim 1 , in which the event notification condition comprises detection that a number of messages provided on the target message channel has reached or exceeded a threshold value.

7. The message passing circuitry according to claim 6 , in which the threshold value is a consumer-defined threshold value specified by the given consumer node.

8. The message passing circuitry according to claim 1 , in which the control circuitry and the lookup circuitry are configured to support a plurality of consumer nodes subscribing to a same message channel, with each of the plurality of consumer nodes associated with respective channel consumer information specifying a respective consumer-defined region of address space to which message data is to be written in response to a producer request for that message channel.

9. The message passing circuitry according to claim 1 , in which the producer request comprises a write request issued by the producer node specifying, as a target address, an address mapped to a message interface associated with the message passing circuitry.

10. The message passing circuitry according to claim 1 , in which when the control circuitry is unable to process the message indicated by a given producer request, the control circuitry is configured to cause a failure indication to be returned to the producer node in response to the producer request.

11. The message passing circuitry according to claim 1 , in which the control circuitry is configured to write the message data indicated by the producer request to the location associated with the address in the consumer-defined region of address space, by issuing a cache stash request to request that the message data is stashed in a cache associated with the given consumer node.

12. The message passing circuitry according to claim 11 , in which the cache stash request specifies a virtual address within the consumer-defined region of address space and an address space identifier indicative of a translation regime for translating the virtual address into a physical address at the given consumer node.

13. Message passing circuitry for message passing between circuit nodes; the message passing circuitry comprising:

lookup circuitry responsive to a producer request indicating message data provided on a target message channel by a producer node of the circuit nodes, to obtain, from a channel consumer information structure for specifying channel consumer information for a plurality of message channels and one or more consumer nodes of the circuit nodes subscribing to the message channels, selected channel consumer information associated with a given consumer node subscribing to the target message channel; and

control circuitry to:

write the message data indicated by the producer request to a location associated with an address in a consumer-defined region of address space determined based on the selected channel consumer information; and

when an event notification condition is satisfied for the target message channel and the given consumer node:

when event notifications for the target message channel are to be provided to the given consumer node in response to the event notification condition, provide the event notification to the given consumer node; and

when event notifications for the target message channel are to be provided on an event notification channel of said plurality of message channels, cause event notification data to be written to a location associated with an address in a consumer-defined region of address space determined based on event notification channel consumer information associated with the event notification channel;

in which in response to a channel subscription request from a subscribing consumer node specifying an identifier associated with a given message channel, the control circuitry is configured to update the channel consumer information structure to specify channel consumer information for the subscribing consumer node subscribing to the given message channel.

14. The message passing circuitry according to claim 13 , in which the channel subscription request specifies at least one of:

the address of the consumer-defined region of address space to be specified in the channel consumer information for the subscribing consumer node subscribing to the given message channel;

a consumer-defined event notification condition to be specified in the channel consumer information for the subscribing consumer node subscribing to the given message channel; and

an event notification address to which the control circuitry is to write when providing the event notification to the subscribing consumer node for the given message channel.

15. The message passing circuitry according to claim 13 , in which the channel subscription request specifies whether the subscribing consumer node is requesting subscription to an event notification channel or a message channel other than the event notification channel.

16. The message passing circuitry according to claim 13 , in which when the channel subscription request specifies that the subscribing consumer node is requesting subscription to a given message channel other than the event notification channel, for which event notifications are to be provided on the event notification channel, the channel subscription request specifies a consumer-defined value to be provided as the event notification data on the event notification channel when the event notification condition is satisfied for the given message channel.

17. The message passing circuitry according to claim 13 , in which the channel subscription request specifies an event notification address field for specifying an event notification address to which the control circuitry is to write when providing the event notification to the subscribing consumer node for the given message channel; and

following processing of an event channel subscription request which specifies that the subscribing consumer node is requesting subscription to the event notification channel, in response to receipt of a channel subscription request for the given message channel for which the event notification address field specifies a same address as the event notification address field of the event channel subscription request, the control circuitry is configured to set the channel consumer information for the subscribing consumer node subscribing to the given message channel to indicate that event notifications for the given message channel are to be provided on the event notification channel.

18. The message passing circuitry according to claim 13 , in which the channel subscription request comprises a write request issued by the subscribing consumer node specifying, as a target address, an address mapped to a command interface associated with the message pas sing circuitry.

19. A system-on-chip comprising:

a plurality of nodes; and

message passing circuitry to pass messages between the nodes, the message passing circuitry comprising:

lookup circuitry responsive to a producer request indicating message data provided on a target message channel by a producer node of the system-on-chip, to obtain, from a channel consumer information structure for specifying channel consumer information for a plurality of message channels and one or more consumer nodes of the system-on-chip subscribing to the message channels, selected channel consumer information associated with a given consumer node subscribing to the target message channel; and

control circuitry to:

write the message data indicated by the producer request to a location associated with an address in a consumer-defined region of address space indicated by the selected channel consumer information; and

when an event notification condition is satisfied for the target message channel and the given consumer node:

when event notifications for the target message channel are to be provided to the given consumer node in response to the event notification condition, provide the event notification to the given consumer node; and

when event notifications for the target message channel are to be provided on an event notification channel of said plurality of message channels, cause event notification data to be written to a location associated with an address in a consumer-defined region of address space determined based on event notification channel consumer information associated with the event notification channel.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 8, 2021
From: BEARD, JONATHAN CURTIS; DUNHAM, CURTIS GLENN; SANDBERG, ANDREAS LARS; RUSITORU, ROXANA
To: ARM LIMITED
Reel/Frame 055868/0070 →
Continuity (1)
Related Publication 20220327009A1 · Oct 13, 2022
Cited By (1)
US 12,360,829