Modem hardware abstraction layer (MHAL) on-chip bus packet router
First Claim
1. A full-duplex Modem Hardware Abstraction Layer (MHAL) routing system, comprising:
- a first system-on-chip (SoC) device;
at least one second SoC device;
a third SoC device; and
at least one packet router communicatively coupled to the first SoC device and to the at least one second SoC device via a MHAL On-Chip Bus (MOCB) crossbar, wherein the at least one packet router includes;
a router bridge communicatively coupling the at least one packet router to the first SoC device via the MOCB crossbar, the router bridge including;
a type director communicatively coupled to a quick router of the at least one packet router, the type director configured to a) receive the at least one inbound data packet from the quick router;
b) determine whether the at least one inbound data packet is at least one first command data packet or at least one first response data packet;
c) forward the at least one first response data packet to a first interface of the router bridge; and
d) forward the at least one first command data packet to a second interface of the router bridge;
the first interface configured to a) generate at least one second response based on the at least one first response data packet, the at least one second response including at least one of a first return response and a first invalid address response;
b) forward the at least one of the first return response and the first invalid address response to the first SoC device;
c) receive the first command from the first SoC device;
d) generate the at least one second data packet based on the first command; and
e) forward the at least one second data packet to a source selector of the router bridge;
the second interface configured to a) receive the first response from the first SoC device, the first response including at least one of a second return response and a second invalid address response;
b) generate the at least one second data packet based on the first response;
c) forward the at least one second data packet to the source selector;
d) generate at least one second command based on the at least one first command data packet; and
e) forward the at least one second command to the first SoC device; and
the source selector configured to forward the at least one second data packet to an arbiter of the at least one packet router;
the arbiter communicatively coupling the at least one packet router to the at least one second SoC device and configured to;
receive the at least one second data packet from the router bridge;
receive at least one third data packet from the at least one SoC device other than the third SoC device, the at least one third data packet having a destination associated with the third SoC device; and
forward at least one of the at least one second data packet and the at least one third data packet to the third SoC device; and
the quick router communicatively coupled to the third SoC device and configured to;
receive the at least one first data packet from the third SoC device;
determine whether the at least one first data packet is the at least one inbound data packet having a destination associated with the first SoC device or the at least one bypass data packet having a destination associated with the at least one SoC device other than the third SoC device;
forward the at least one inbound data packet to the router bridge; and
forward the at least one bypass data packet to the at least one SoC device other than the third SoC device, the at least one packet router configured to;
receive from the third SoC device at least one first data packet having a destination;
determine whether the at least one first data packet is at least one inbound data packet having a destination associated with the first SoC device or at least one bypass data packet having a destination associated with at least one SoC device other than the third SoC device based on an initial word of the at least one first data packet;
receive from the first SoC device, via the MOCB crossbar, at least one of a first command and a first response;
generate at least one second data packet based on the at least one of a first command and a first response, the at least one second data packet having a destination associated with the third SoC device;
generate at least one of a second command and a second response based on the at least one inbound data packet;
forward, via the MOCB crossbar, at least one of a) the at least one second data packet to the third SoC device and b) the at least one bypass data packet to the at least one SoC device other than the third SoC device; and
forward, via the MOCB crossbar, the at least one of a second command and a second response to the first SoC device.
1 Assignment
0 Petitions
Accused Products
Abstract
A system and related method for routing Modem Hardware Abstraction Layer (MHAL) On-Chip Bus (MOCB) protocol data communications between a first system on a chip (SoC) device and at least one second SoC device abstracts the physical layer across one or more physical devices via one or more packet routers, the packet routers capable of receiving MOCB commands and responses and generating data packets based on the commands and responses, the data packets having a first word indicating the destination device. Other packet routers determine the destination of inbound data packets, and whether to bypass or receive the data packets, based on the first word (without having to fully decode the data packets) and deserialize received packets into MOCB commands and responses, forwarding the commands or responses to the intended destination SoC device.
-
Citations
18 Claims
-
1. A full-duplex Modem Hardware Abstraction Layer (MHAL) routing system, comprising:
-
a first system-on-chip (SoC) device; at least one second SoC device; a third SoC device; and at least one packet router communicatively coupled to the first SoC device and to the at least one second SoC device via a MHAL On-Chip Bus (MOCB) crossbar, wherein the at least one packet router includes; a router bridge communicatively coupling the at least one packet router to the first SoC device via the MOCB crossbar, the router bridge including; a type director communicatively coupled to a quick router of the at least one packet router, the type director configured to a) receive the at least one inbound data packet from the quick router;
b) determine whether the at least one inbound data packet is at least one first command data packet or at least one first response data packet;
c) forward the at least one first response data packet to a first interface of the router bridge; and
d) forward the at least one first command data packet to a second interface of the router bridge;the first interface configured to a) generate at least one second response based on the at least one first response data packet, the at least one second response including at least one of a first return response and a first invalid address response;
b) forward the at least one of the first return response and the first invalid address response to the first SoC device;
c) receive the first command from the first SoC device;
d) generate the at least one second data packet based on the first command; and
e) forward the at least one second data packet to a source selector of the router bridge;the second interface configured to a) receive the first response from the first SoC device, the first response including at least one of a second return response and a second invalid address response;
b) generate the at least one second data packet based on the first response;
c) forward the at least one second data packet to the source selector;
d) generate at least one second command based on the at least one first command data packet; and
e) forward the at least one second command to the first SoC device; andthe source selector configured to forward the at least one second data packet to an arbiter of the at least one packet router; the arbiter communicatively coupling the at least one packet router to the at least one second SoC device and configured to; receive the at least one second data packet from the router bridge; receive at least one third data packet from the at least one SoC device other than the third SoC device, the at least one third data packet having a destination associated with the third SoC device; and forward at least one of the at least one second data packet and the at least one third data packet to the third SoC device; and the quick router communicatively coupled to the third SoC device and configured to; receive the at least one first data packet from the third SoC device; determine whether the at least one first data packet is the at least one inbound data packet having a destination associated with the first SoC device or the at least one bypass data packet having a destination associated with the at least one SoC device other than the third SoC device; forward the at least one inbound data packet to the router bridge; and forward the at least one bypass data packet to the at least one SoC device other than the third SoC device, the at least one packet router configured to; receive from the third SoC device at least one first data packet having a destination; determine whether the at least one first data packet is at least one inbound data packet having a destination associated with the first SoC device or at least one bypass data packet having a destination associated with at least one SoC device other than the third SoC device based on an initial word of the at least one first data packet; receive from the first SoC device, via the MOCB crossbar, at least one of a first command and a first response; generate at least one second data packet based on the at least one of a first command and a first response, the at least one second data packet having a destination associated with the third SoC device; generate at least one of a second command and a second response based on the at least one inbound data packet; forward, via the MOCB crossbar, at least one of a) the at least one second data packet to the third SoC device and b) the at least one bypass data packet to the at least one SoC device other than the third SoC device; and forward, via the MOCB crossbar, the at least one of a second command and a second response to the first SoC device. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A system, comprising:
-
a first system-on-chip (SoC) device; at least one second SoC device; a third SoC device; first circuitry, comprising; circuitry for receiving from the third SoC device at least one first data packet having a destination; circuitry for determining whether the at least one first data packet is at least one inbound data packet having a destination associated with the first SoC device or at least one bypass data packet having a destination associated with at least one SoC device other than the third SoC device based on an initial word of the at least one first data packet; circuitry for receiving from the first SoC device at least one of a first command and a first response; circuitry for generating at least one second data packet based on the at least one of a first command and a first response, the at least one second data packet having a destination associated with the third SoC device; circuitry for generating at least one of a second command and a second response based on the at least one inbound data packet; circuitry for forwarding at least one of a) the at least one second data packet to the third SoC device and b) the at least one bypass data packet to the at least one SoC device other than the third SoC device; and circuitry for forwarding the at least one of a second command and a second response to the first SoC device; and second circuitry, comprising; circuitry for communicatively coupling the first circuitry to the first SoC device, the circuitry for communicatively coupling the first circuitry to the first SoC device including; a type director communicatively coupled to a quick router of the first circuitry, the type director configured to a) receive the at least one inbound data packet from the quick router;
b) determine whether the at least one inbound data packet is at least one first command data packet or at least one first response data packet;
c) forward the at least one first response data packet to a first interface of the second circuitry; and
d) forward the at least one first command data packet to a second interface of the second circuitry. - View Dependent Claims (10, 11, 12, 13, 14, 15)
-
-
16. A method for full-duplex Modem Hardware Abstraction Layer (MHAL) routing between a first system-on-a-chip (SoC) device and at least one second SoC device including a third SoC device, the method comprising:
-
receiving from the third SoC device at least one first data packet having a destination, the receiving via a MHAL On-Chip Bus (MOCB) crossbar; determining whether the at least one first data packet is at least one inbound data packet having a destination associated with the first SoC device or at least one bypass data packet having a destination associated with at least one SoC device other than the third SoC device based on an initial word of the at least one first data packet, wherein determining whether the at least one first data packet is at least one inbound data packet having a destination associated with the first SoC device or at least one bypass data packet having a destination associated with at least one SoC device other than the third SoC device includes determining if the at least one inbound data packet is at least one command data packet or at least one response data packet; generating at least one of a second command and a second response based on the at least one inbound data packet includes generating at least one of a first return response and a first invalid address response based on the at least one response data packet; generating at least one of a second command and a second response based on the at least one inbound data packet includes generating at least one second command based on the at least one command data packet; and forwarding the at least one of a second command and a second response to the first SoC device includes forwarding, via the MOCB crossbar, the at least one of a first return response and a first invalid address response to the first SoC device; receiving from the first SoC device, via the MOCB crossbar, at least one of a first command and a first response; generating at least one second data packet based on the at least one of a first command and a first response, the at least one second data packet having a destination associated with the third SoC device; generating at least one of a second command and a second response based on the at least one inbound data packet; forwarding, via the MOCB crossbar, at least one of a) the at least one second data packet to the third SoC device and b) the at least one bypass data packet to the at least one SoC device other than the third SoC device; and forwarding, via the MOCB crossbar, the at least one of a second command and a second response to the first SoC device. - View Dependent Claims (17, 18)
-
Specification