Unified systems and methods for interchip and intrachip node communication
Abstract
Unified systems and methods for interchip and intrachip node communication are disclosed. In one aspect, a single unified low-speed bus is provided that connects each of the chips within a computing device. The chips couple to the bus through a physical layer interface and associated gateway. The gateway includes memory that stores a status table summarizing statuses for every node in the interface fabric. As nodes experience state changes, the nodes provide updates to associated local gateways. The local gateways then message, using a scout message, remote gateways with information relating to the state changes. When a first node is preparing a signal to a second node, the first node checks the status table at the associated local gateway to determine a current status for the second node. Based on the status of the second node, the first node may send the message or take other appropriate action.
Claims
exact text as granted — not AI-modifiedWhat is claimed is:
1 . A method for populating a status table for network nodes within a computing device, the method comprising:
activating a first integrated circuit (IC) coupled to a bus; registering first nodes associated with the first IC with a first gateway; populating a first status table at the first gateway with information about the first nodes associated with the first IC; and permitting intrachip communication between the first nodes associated with the first IC based on availability as indicated in the first status table.
2 . The method of claim 1 , further comprising:
activating a second IC coupled to the bus; registering second nodes associated with the second IC with a second gateway; populating a second status table at the second gateway with information about the second nodes associated with the second IC; requesting, by the second gateway, configuration data from the first gateway; and populating the second status table at the second gateway with the information about the first nodes associated with the first IC based on the information about the first nodes associated with the first IC from the first status table at the first gateway.
3 . The method of claim 2 , further comprising broadcasting, from the second gateway, across the bus, the information about the second nodes associated with the second IC stored in the second status table.
4 . The method of claim 1 , further comprising, responsive to a first node changing state, updating the first status table to reflect a changed state for the first node.
5 . The method of claim 4 , further comprising:
generating a scout message at the first gateway with information related to the changed state for the first node; and sending the scout message from the first gateway to remote gateways communicatively coupled to the bus.
6 . The method of claim 5 , further comprising:
receiving the scout message at a second gateway; and updating a second status table based on the scout message.
7 . The method of claim 1 , wherein permitting the intrachip communication between the first nodes associated with the first IC based on the availability as indicated in the first status table comprises:
receiving, at the first gateway, a message request from an initial node within the first IC to a destination node within the first IC; determining if the destination node is available based on the information about the first nodes associated with the first IC in the first status table; and instructing the initial node to send a message associated with the message request if the destination node is available.
8 . The method of claim 7 , further comprising:
responsive to determining the destination node is not available, determining if the destination node is wakeable; responsive to determining the destination node is wakeable, sending a wake command to the destination node; and instructing the initial node to send the message associated with the message request after waking the destination node.
9 . The method of claim 1 , further comprising:
receiving a message request from an initial node within the first IC to a destination node at a second IC; determining if the destination node is available based on information about the destination node in the first status table; and instructing the initial node to send a message associated with the message request across the bus if the destination node is available.
10 . A method for populating a status table for network nodes within a computing device, the method comprising:
coupling a first integrated circuit (IC) with first nodes to a bus within a computing device; coupling a second IC with second nodes to the bus within the computing device; receiving, from a first gateway associated with the first IC, status and configuration information relating to the first nodes; and populating, with the status and configuration information relating to the first nodes, a status table at a second gateway associated with the second IC.
11 . The method of claim 10 , further comprising populating the status table at the second gateway with second status and configuration information relating to the second nodes.
12 . The method of claim 10 , further comprising receiving an update from the first gateway indicating a change in status of one of the first nodes.
13 . The method of claim 12 , further comprising updating the status table at the second gateway with the update indicating the change in the status of the one of the first nodes.
14 . The method of claim 10 , further comprising requesting, by the second IC, the status and configuration information relating to the first nodes responsive to the second IC being coupled to the bus.
15 . A method for updating a status table for network nodes within a computing device, the method comprising:
at a first gateway in a first integrated circuit (IC), receiving a state change indication from a first node in the first IC; responsive to the state change indication, updating a first status table at the first gateway to reflect a state change of the first node; and generating a scout message to a second gateway in a second IC, wherein the scout message indicates the state change of the first node.
16 . A method for updating a status table for network nodes within a computing device, the method comprising:
at a first gateway in a first integrated circuit (IC), receiving a scout message from a second gateway in a second IC, wherein the scout message indicates a state change of a node in the second IC; responsive to the scout message, updating a first status table at the first gateway to reflect the state change of the node.
17 . An integrated circuit (IC), comprising:
a node comprising a transmitter and a receiver; and a gateway comprising:
an external interface configured to be coupled to a bus and communicate thereover through a first protocol; and
an internal interface communicatively coupled to the node and configured to communicate therebetween through the first protocol.
18 . The IC of claim 17 , wherein the node is coupled to the internal interface of the gateway directly.
19 . The IC of claim 17 , wherein the node is coupled to the internal interface of the gateway through a network on chip (NoC).
20 . The IC of claim 17 , further comprising a control system configured to control the gateway.
21 . The IC of claim 20 , wherein the control system is positioned within the gateway.
22 . The IC of claim 20 , wherein the control system is external to the gateway.
23 . The IC of claim 20 , further comprising plural nodes coupled to the internal interface of the gateway.
24 . The IC of claim 23 , wherein the control system is configured to arbitrate between the plural nodes.
25 . The IC of claim 20 , wherein the control system is configured to execute the first protocol.
26 . The IC of claim 17 , wherein the node is configured to communicate with a second node within the IC.
27 . The IC of claim 17 , wherein the node is configured to communicate with a second node outside the IC.
28 . The IC of claim 17 , wherein the node comprises circuitry configured to operate as at least one of a navigation circuit, a sensor circuit, an Always On Processor (AOP) circuit, an audio circuit, and a modem circuit.
29 . An integrated circuit (IC) comprising:
a first node; a second node; a gateway comprising an external interface configured to couple to a bus and operative to control information from the first node and the second node; and common circuitry that communicatively couples the first node and the second node to the gateway.
30 . A computing system comprising:
a first integrated circuit (IC) comprising:
a first node comprising a first transmitter and a first receiver;
a first gateway comprising:
a first external interface; and
a first internal interface communicatively coupled to the first node and configured to communicate therebetween through a first protocol;
a second IC comprising:
a second node comprising a second transmitter and a second receiver;
a second gateway comprising:
a second external interface; and
a second internal interface communicatively coupled to the second node and configured to communicate therebetween through the first protocol; and
a bus coupled to the first gateway of the first IC and the second gateway of the second IC and configured to carry signals therebetween using the first protocol.
31 . The computing system of claim 30 wherein the computing system is a device selected from the group consisting of: a set top box; an entertainment unit; a navigation device; a communications device; a fixed location data unit; a mobile location data unit; a mobile phone; a cellular phone; a computer; a portable computer; a smart phone, a tablet, a phablet, a desktop computer; a personal digital assistant (PDA); a monitor; a computer monitor; a television; a tuner; a radio; a satellite radio; a music player; a digital music player; a portable music player; a digital video player; a video player; a digital video disc (DVD) player; a portable digital video player, and an automobile.
32 . An integrated circuit (IC) comprising:
a node; a gateway communicatively coupled to the node, the gateway comprising:
an interface configured to be coupled to a bus; and
a look-up table configured to store data relating to availability of nodes associated with the bus; and
a control system operatively coupled to the node and the gateway, the control system configured to:
receive a status update relating to a state of the node; and
send information relating to the state of the node to other gateways associated with the bus to promote reliability between node-to-node communication.
33 . The IC of claim 32 , further comprising a plurality of nodes communicatively coupled to the gateway.
34 . The IC of claim 32 , wherein the control system is positioned within the gateway.
35 . The IC of claim 32 , wherein the control system is positioned outside the gateway.
36 . The IC of claim 32 , wherein the control system is further configured to:
receive a message request from the node; compare a destination identifier from the message request to the look-up table; and determine availability of a receiving node based on the data in the look-up table.
37 . The IC of claim 36 , wherein the control system is further configured to preclude transmission of a message from the node if the control system determines the receiving node is not available based on the data in the look-up table.
38 . The IC of claim 32 , wherein the control system is further configured to:
receive a message request from the node; determine if the message request requires reliability; and if the message request does not require reliability, instruct the node to send a message associated with the message request to a second node.
39 . The IC of claim 36 , wherein the control system is further configured to:
determine a wake on command capability of the receiving node; and send a wake command to the receiving node.
40 . The IC of claim 36 , wherein the control system configured to determine the availability of the receiving node determines availability of a receiving node within the IC.
41 . The IC of claim 36 , wherein the control system configured to determine the availability of the receiving node determines availability of a receiving node positioned outside the IC.
42 . The IC of claim 32 , wherein the control system is further configured to receive a remote status update relating to a state of a second node positioned outside the IC.
43 . A method for facilitating node-to-node communication, comprising:
receiving a status update from a local node at a gateway; and broadcasting the status update to remote gateways.
44 . The method of claim 43 , wherein broadcasting the status update comprises informing the remote gateways the local node is unavailable.
45 . The method of claim 43 , wherein broadcasting the status update comprises informing the remote gateways the local node is asleep.
46 . The method of claim 45 , wherein informing the remote gateways the local node is asleep further comprises informing the remote gateways the local node is wakeable on command.
47 . The method of claim 43 , further comprising receiving a second status update from a remote gateway.
48 . The method of claim 47 , further comprising updating a look-up table with the second status update.
49 . The method of claim 47 , further comprising receiving a message request from the local node.
50 . The method of claim 49 , further comprising precluding sending a message from the local node if the second status update indicates that a destination node associated with the message request was unavailable.
51 . A method of forcing a system reset, comprising:
during an arbitration phase, asserting from a gateway a most urgent priority value to win arbitration; after winning the arbitration, sending no data from the gateway to force a bus timeout; and responsive to the bus timeout, initiating a system reset.
52 . The method of claim 51 , further comprising:
detecting an error between a node state and information in a status table at the gateway; and responsive to detecting the error, determining the system reset is needed.
53 . The method of claim 51 , wherein asserting the most urgent priority value comprises asserting all logical ones.
54 . The method of claim 51 , wherein asserting the most urgent priority value comprises asserting all logical zeros.
55 . The method of claim 51 , further comprising sending no clock signal from the gateway after winning the arbitration.
56 . The method of claim 51 , wherein asserting from the gateway the most urgent priority value to win the arbitration comprises asserting the most urgent priority value concurrently from multiple gateways.
57 . The method of claim 51 , further comprising running a timer to allow slow gateways to detect the bus timeout before initiating the system reset.
58 . An integrated circuit (IC) comprising:
a gateway comprising:
a bus interface configured to couple to a bus; and
a control system configured to:
during an arbitration phase, assert a most urgent priority value on the bus to win arbitration;
after winning the arbitration, send no data on the bus to force a bus timeout; and
responsive to the bus timeout, initiate a system reset.Join the waitlist — get patent alerts
Track US2017075843A1 — get alerts on status changes and closely related new filings.
We store only your email — no account needed. See our privacy policy.