US2017075843A1PendingUtilityA1

Unified systems and methods for interchip and intrachip node communication

Assignee: QUALCOMM INCPriority: Sep 10, 2015Filed: Sep 10, 2015Published: Mar 16, 2017
Est. expirySep 10, 2035(~9.1 yrs left)· nominal 20-yr term from priority
G06F 13/4068G06F 13/4027G06F 11/08G06F 13/1668G06F 13/385H04L 43/0817G06F 13/4022
49
PatentIndex Score
0
Cited by
0
References
0
Claims

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-modified
What 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.