Embodiments of the present disclosure relate to apparatus and method for wireless communication.
Wireless communication systems are widely deployed to provide various telecommunication services such as telephony, video, data, messaging, and broadcasts. In cellular communication, such as the 4th-generation (4G) Long Term Evolution (LTE) and the 5th-generation (5G) New Radio (NR), the 3rd Generation Partnership Project (3GPP) defines a Radio Layer 2 (referred to here as “Layer 2”) as part of the protocol stack structure corresponding to the user plane (also known as the “data plane”), which includes a Packet Data Convergence Protocol (PDCP) layer, a Radio Link Control (RLC) layer, and a Medium Access Control (MAC), from higher to lower in the stack. Layer 2 in 5G NR further includes a Service Data Adaptation Protocol (SDAP) layer.
In one aspect, a baseband chip includes a plurality of Layer 2 circuits and a microcontroller unit (MCU) operatively coupled to the Layer 2 circuits. The Layer 2 circuits are configured to receive Layer 1 transport blocks and generate Layer 3 data packets from the Layer 1 transport blocks in an in-line manner. The MCU is configured to control, through a data, at least one of the Layer 2 circuits to generate the Layer 3 data packets from the Layer 1 transport blocks.
In another aspect, a baseband chip includes a buffer, an MAC circuit, an RLC circuit, and a PDCP circuit. The buffer is configured to store Layer 1 transport blocks. The MAC circuit is configured to process MAC headers of the Layer 1 transport blocks received from the buffer. The RLC circuit is configured to process RLC headers of the Layer 1 transport blocks received from the MAC circuit. A PDCP circuit is configured to process PDCP headers of the Layer 1 transport blocks received from the RLC circuit, process payloads of the Layer 1 transport blocks received from the buffer, and generate Layer 3 data packets based on the processed PDCP headers and payloads of the Layer 1 transport blocks.
In still another aspect, a method for Layer 2 downlink data processing is disclosed. A first set of result statuses based on information related to Layer 1 transport blocks is received by an MCU. A first set of commands is provided by the MCU based on the first set of result statuses to control a MAC circuit to process MAC headers of the Layer 1 transport blocks. A second set of result statuses based on the processing result of the MAC circuit is received by the MCU. A second set of commands is provided by the MCU based on the second set of result statuses to control an RLC circuit to process RLC headers of the Layer 1 transport blocks. A third set of result statuses based on the processing result of the RLC circuit is received by the MCU. A third set of commands is provided by the MCU based on the third set of result statuses to control a PDCP circuit to process PDCP headers and payloads of the Layer 1 transport blocks, and generate Layer 3 data packets based on the processed PDCP headers and payloads of the Layer 1 transport blocks.
The accompanying drawings, which are incorporated herein and form a part of the specification, illustrate embodiments of the present disclosure and, together with the description, further serve to explain the principles of the present disclosure and to enable a person skilled in the pertinent art to make and use the present disclosure.
Embodiments of the present disclosure will be described with reference to the accompanying drawings.
Although specific configurations and arrangements are discussed, it should be understood that this is done for illustrative purposes only. A person skilled in the pertinent art will recognize that other configurations and arrangements can be used without departing from the spirit and scope of the present disclosure. It will be apparent to a person skilled in the pertinent art that the present disclosure can also be employed in a variety of other applications.
It is noted that references in the specification to “one embodiment,” “an embodiment,” “an example embodiment,” “some embodiments,” “certain embodiments,” etc., indicate that the embodiment described may include a particular feature, structure, or characteristic, but every embodiment may not necessarily include the particular feature, structure, or characteristic. Moreover, such phrases do not necessarily refer to the same embodiment. Further, when a particular feature, structure, or characteristic is described in connection with an embodiment, it would be within the knowledge of a person skilled in the pertinent art to effect such feature, structure, or characteristic in connection with other embodiments whether or not explicitly described.
In general, terminology may be understood at least in part from usage in context. For example, the term “one or more” as used herein, depending at least in part upon context, may be used to describe any feature, structure, or characteristic in a singular sense or may be used to describe combinations of features, structures or characteristics in a plural sense. Similarly, terms, such as “a,” “an,” or “the,” again, may be understood to convey a singular usage or to convey a plural usage, depending at least in part upon context. In addition, the term “based on” may be understood as not necessarily intended to convey an exclusive set of factors and may, instead, allow for existence of additional factors not necessarily expressly described, again, depending at least in part on context.
Various aspects of wireless communication systems will now be described with reference to various apparatus and methods. These apparatus and methods will be described in the following detailed description and illustrated in the accompanying drawings by various blocks, modules, units, components, circuits, steps, operations, processes, algorithms, etc. (collectively referred to as “elements”). These elements may be implemented using electronic hardware, firmware, computer software, or any combination thereof. Whether such elements are implemented as hardware, firmware, or software depends upon the particular application and design constraints imposed on the overall system.
The techniques described herein may be used for various wireless communication networks, such as code division multiple access (CDMA) system, time division multiple access (TDMA) system, frequency division multiple access (FDMA) system, orthogonal frequency division multiple access (OFDMA) system, single-carrier frequency division multiple access (SC-FDMA) system, and other networks. The terms “network” and “system” are often used interchangeably. A CDMA network may implement a radio access technology (RAT), such as Universal Terrestrial Radio Access (UTRA), evolved UTRA (E-UTRA), CDMA 2000, etc. A TDMA network may implement a RAT, such as GSM. An OFDMA network may implement a RAT, such as LTE or NR. The techniques described herein may be used for the wireless networks and RATs mentioned above, as well as other wireless networks and RATs.
In known solutions, Layer 2 data processing, for example, processing the transport blocks received from Layer 1 in the downlink user plane, is usually implemented using software modules executed on a generic baseband processor, such as a central processing unit (CPU) or a digital signal processor (DSP). During the processing, data needs to be frequently transferred between the generic baseband processor and external memory (e.g., the system memory), for example, for buffering between each layer. As a result, the known solutions for Layer 2 data processing suffer from high power consumption, large data buffer, and long process delays.
Various embodiments in accordance with the present disclosure provide an improved solution for implementing Layer 2 downlink data processing in an in-line manner using dedicated Layer 2 circuits, such as application-specific integrated circuits (ASICs), thereby achieving high performance, low cost, and low power Layer 2 downlink data processing and transmission. The dedicated Layer 2 circuits can process (e.g., formatting, mapping, error checking, etc.) the data on-the-fly at the real transmission time. That is, the hardware implementation disclosed herein can reduce processing delay, buffer size, and power consumption by processing downlink data in an in-line manner through each layer in the Layer 2 protocol stack, not having to access data in system memory frequently.
To adapt the Layer 1 data rate, the baseband chip having the dedicated Layer 2 circuits disclosed herein can work in either an interactive mode or in an automated mode. In the interactive mode, one or more of the Layer 2 circuits are controlled by an MCU, making the Layer 2 circuits programmable. For example, the data processing flow and operations may be modified by programming using the MCU. The Layer 2 circuits can also report the processing results back to the MCU, such that the MCU can dynamically generate or update the control commands, for example, by changing the priorities of the commands based on the process results from the lower layer in the Layer 2 protocol stack, i.e., the previous stage in downlink processing. In this way, the Layer 2 circuits can be very flexible to adapt to any changes in the protocol data flow requirements. In some embodiments, multiple MCUs are used in the interactive mode to improve data rate performance by dedicating each MCU to a respective Layer 2 circuit.
In case the Layer 1 data rate exceeds the processing capability of the interactive mode, the baseband chip can work in the automated mode in which the control commands of a Layer 2 circuit can be automatically generated by another Layer 2 circuit at the lower layer in the Layer 2 protocol stack, as opposed to the MCU. In some embodiments, the headers of one layer in the Layer 2 protocol stack are processed by the corresponding Layer 2 circuit, and the processed headers are used by the Layer 2 circuit to generate the control commands for controlling the other Layer 2 circuit in the upper layer, thereby eliminating the need for reporting the processing results to the MCU. As a result, automated hardware data processing can be realized for Layer 2 downlink data, which further increases the proceeding speed and reduce the die size and power consumption.
In some embodiments, the payload of each Layer 1 transport block is not pulled and read until it is ready to be processed by the PDCP circuit, and the MAC, RLC, and PDCP headers of the Layer 1 transport block are processed in-place without reading the entire transport block. By offloading the MAC and RLC circuits from processing the payloads of the Layer 1 transport blocks, the power consumption can be further reduced.
Moreover, the Layer 2 circuits are scalable based on the number of data flows, the throughput of each data flow, and the total data flows. The Layer 2 circuits can have a scalable number of data buffers and data paths that can be adapted to high-to-low data rate applications. In the interactive mode, the number of MCUs is scalable as well, by adding or removing MCUs as the system scales. Each MCU can communicate with the Layer 2 circuits through on-chip memory (e.g., for command and status queues), local bus, and interrupts on the baseband chip. Further, the clock frequency of the Layer 2 circuits and MCU is scalable as well. For example, lower clock frequencies may result in less die size, cost, and power consumption.
Access node 104 may be a device that communicates with user equipment 102, such as a wireless access point, a base station (BS), a Node B, an enhanced Node B (eNodeB or eNB), a next-generation NodeB (gNodeB or gNB), a cluster master node, or the like. Access node 104 may have a wired connection to user equipment 102, a wireless connection to user equipment 102, or any combination thereof. Access node 104 may be connected to user equipment 102 by multiple connections, and user equipment 102 may be connected to other access nodes in addition to access node 104. Access node 104 may also be connected to other user equipments. It is understood that access node 104 is illustrated by a radio tower by way of illustration and not by way of limitation.
Core network element 106 may serve access node 104 and user equipment 102 to provide core network services. Examples of core network element 106 may include a home subscriber server (HSS), a mobility management entity (MME), a serving gateway (SGW), or a packet data network gateway (PGW). These are examples of core network elements of an evolved packet core (EPC) system, which is a core network for the LTE system. Other core network elements may be used in LTE and in other communication systems. In some embodiments, core network element 106 includes an access and mobility management function (AMF) device, a session management function (SMF) device, or a user plane function (UPF) device, of a core network for the NR system. It is understood that core network element 106 is shown as a set of rack-mounted servers by way of illustration and not by way of limitation.
Core network element 106 may connect with a large network, such as the Internet 108, or another Internet Protocol (IP) network, to communicate packet data over any distance. In this way, data from user equipment 102 may be communicated to other user equipments connected to other access points, including, for example, a computer 110 connected to Internet 108, for example, using a wired connection or a wireless connection, or to a tablet 112 wirelessly connected to Internet 108 via a router 114. Thus, computer 110 and tablet 112 provide additional examples of possible user equipments, and router 114 provides an example of another possible access node.
A generic example of a rack-mounted server is provided as an illustration of core network element 106. However, there may be multiple elements in the core network including database servers, such as a database 116, and security and authentication servers, such as an authentication server 118. Database 116 may, for example, manage data related to user subscription to network services. A home location register (HLR) is an example of a standardized database of subscriber information for a cellular network. Likewise, authentication server 118 may handle authentication of users, sessions, and so on. In the NR system, an authentication server function (AUSF) device may be the specific entity to perform user equipment authentication. In some embodiments, a single server rack may handle multiple such functions, such that the connections between core network element 106, authentication server 118, and database 116, may be local connections within a single rack.
Each element in
Transceiver 706 may include any suitable device for sending and/or receiving data. Node 700 may include one or more transceivers, although only one transceiver 706 is shown for simplicity of illustration. An antenna 708 is shown as a possible communication mechanism for node 700. Multiple antennas and/or arrays of antennas may be utilized. Additionally, examples of node 700 may communicate using wired techniques rather than (or in addition to) wireless techniques. For example, access node 104 may communicate wirelessly to user equipment 102 and may communicate by a wired connection (for example, by optical or coaxial cable) to core network element 106. Other communication hardware, such as a network interface card (NIC), may be included as well.
As shown in
As shown in
Processor 702, memory 704, and transceiver 706 may be implemented in various forms in node 700 for performing wireless communication functions. In some embodiments, processor 702, memory 704, and transceiver 706 of node 700 are implemented (e.g., integrated) on one or more system-on-chips (SoCs). In one example, processor 702 and memory 704 may be integrated on an application processor (AP) SoC (sometimes known as a “host,” referred to herein as a “host chip”) that handles application processing in an operating system (OS) environment, including generating raw data to be transmitted. In another example, processor 702 and memory 704 may be integrated on a baseband processor (BP) SoC (sometimes known as a “modem,” referred to herein as a “baseband chip”) that converts the raw data, e.g., from the host chip, to signals that can be used to modulate the carrier frequency for transmission, and vice versa, which can run a real-time operating system (RTOS). In still another example, processor 702 and transceiver 706 (and memory 704 in some cases) may be integrated on an RF SoC (sometimes known as a “transceiver,” referred to herein as an “RF chip”) that transmits and receives RF signals with antenna 708. It is understood that in some examples, some or all of the host chip, baseband chip, and RF chip may be integrated as a single SoC. For example, a baseband chip and an RF chip may be integrated into a single SoC that manages all the radio functions for cellular communication.
Referring back to
In the uplink, host chip 206 may generate raw data and send it to baseband chip 202 for encoding, modulation, and mapping. Baseband chip 202 may also access the raw data generated by host chip 206 and stored in external memory 208, for example, using the direct memory access (DMA). Baseband chip 202 may first encode (e.g., by source coding and/or channel coding) the raw data and modulate the coded data using any suitable modulation techniques, such as multi-phase pre-shared key (MPSK) modulation or quadrature amplitude modulation (QAM). Baseband chip 202 may perform any other functions, such as symbol or layer mapping, to convert the raw data into a signal that can be used to modulate the carrier frequency for transmission. In the uplink, baseband chip 202 may send the modulated signal to RF chip 204. RF chip 204, through the transmitter (Tx), may convert the modulated signal in the digital form into analog signals, i.e., RF signals, and perform any suitable front-end RF functions, such as filtering, up-conversion, or sample-rate conversion. Antenna 210 (e.g., an antenna array) may transmit the RF signals provided by the transmitter of RF chip 204.
In the downlink, antenna 210 may receive RF signals and pass the RF signals to the receiver (Rx) of RF chip 204. RF chip 204 may perform any suitable front-end RF functions, such as filtering, down-conversion, or sample-rate conversion, and convert the RF signals into low-frequency digital signals (baseband signals) that can be processed by baseband chip 202. In the downlink, baseband chip 202 may demodulate and decode the baseband signals to extract raw data that can be processed by host chip 206. Baseband chip 202 may perform additional functions, such as error checking, de-mapping, channel estimation, descrambling, etc. The raw data provided by baseband chip 202 may be sent to host chip 206 directly or stored in external memory 208.
Layer 3 in LTE or NR user plane may include the IP layer in user equipment 302 for providing user data, for example, in the form of IP data packets. Layer 2 in LTE may consist of the PDCP layer, the RLC layer, and the MAC layer, from higher to lower in the protocol stack. Layer 2 in NR may further include a Service Data Adaptation Protocol (SDAP) layer. The SDAP layer may map between a Qualify of Service (QoS) flow and a data radio bearer (DRB) due to the new QoS framework. That is, the SDAP layer may classify the data packets in QoS flows into DRBs. The SDAP layer may also mark the QoS flow IDs (QFIs) in downlink data packets due to reflective QoS and in uplink data packets due to the new QoS framework.
The PDCP layer in the user plane may perform robust header compression (ROHC) and security functions, such as integrity checking and ciphering, in the uplink, and ROHC decompression and deciphering in the downlink. The PDCP layer may receive the data packets in the form of PDCP service data units (SDUs) from the upper layer, i.e., Layer 3, and pass the processed data in the form of PDCP protocol data units (PDCP PDUs) to the lower layer, e.g., the RLC layer. The PDCP layer may also perform sequence numbering, reordering, duplication detection, PDCP PDU routing, PDCP SDU discard, etc.
The RLC layer in the user plane may segment or concatenate the data packets received from the upper layer, e.g., the PDCP PDUs/RLC SDUs, into each RLC PDU. That is, the RLC layer may pack small data packets together to form a large data packet (e.g., in LTE) or break down a large data packet into multiple smaller data packets. Depending on the mode of operations (e.g., the transparent mode (TM), the unacknowledged mode (UM), or the acknowledged mode (AM)), the RLC layer may further perform error correction through automatic repeat request (ARQ) in the AM mode, reassembly of RLC SDUs in the UM and AM modes, duplication detection in the UM and AM modes, and RLC SDU discard in the UM and AM modes. In some embodiments, the RLC layer performs RLC re-transmission by inserting re-transmitted data packets.
The MAC layer in the user plane may map between logical channels and transport channels. In the uplink, the MAC layer may multiplex MAC SDUs from one or more logical channels onto MAC PDUs to be delivered to the lower layer, i.e., Layer 3, on transport channels. In the uplink, the MAC layer may de-multiplex MAC SDUs from one or different logical channels from transport blocks delivered from the lower layer on transport channels. The MAC layer may also perform scheduling, information reporting, error correction through hybrid ARQ (HARQ), priority handling between user equipments by dynamic scheduling, priority handling between logical channels by logical channel prioritization, and padding.
Layer 1 in LTE or NR includes a physical (PHY) layer, which carries all information received from the MAC layer transport channels, e.g., in the form of transport blocks (TBs), over the air interface in the uplink, and vice versa in the downlink. Layer 1 may also perform link adaptation, power control, cell search (for initial synchronization and handover purposes), and other measurements (inside the same network or between different networks) for the RRC layer.
As one example of known solutions implementing Layer 2 downlink data processing using software modules executed by a generic processor,
As shown in
In contrast,
Baseband chip 502 can work in an interactive mode in which one or more dedicated ICs (e.g., SDAP circuit 520, PDCP circuit 522, RLC circuit 524, and/or MAC circuit 526) are controlled by MCU 510, or work in an automated mode in which MCU 510 may not be involved in controlling the dedicated ICs. Different from Layer 2 uplink process in which the uplink data rate is determined and controlled by apparatus 500 (e.g., user equipment 102) having baseband chip 502, the downlink data rate in Layer 2 downlink process is not determined and controlled by apparatus 500 (e.g., a user equipment 102) having baseband chip 502, but is up to the base station (not shown, e.g., access node 104). Thus, baseband chip 502 of apparatus 500 needs to adapt to whatever speed the base station uses, e.g., the Layer 1 data rate. Otherwise, baseband chip 502 may lose packets and cause performance degradations. In some embodiments, baseband chip 502 works in the interactive mode in which one or more dedicated ICs (e.g., SDAP circuit 520, PDCP circuit 522, RLC circuit 524, and/or MAC circuit 526) and MCU 510 can interact with one another by exchanging control commands and result statuses. In some embodiments, baseband chip 502 works in the automation mode in which the dedicated ICs generate control commands without the intervention of MCU 510. Thus, baseband chip 502 can switch between the interactive mode when the Layer 1 data rate is relatively slow, and the automation mode when the Layer 1 data rate is relatively high.
Apparatus 500 may be any suitable node of wireless network 100 in
As shown in
As shown in
As shown in
Referring to Layer 2 circuits 508, Layer 2 circuits 508 may be configured to receive Layer 1 transport blocks (as the inputs of Layer 2 circuits 508) and generate Layer 3 data packets (as the outputs of Layer 2 circuits 508) from the Layer 1 transport blocks in an in-line manner. In some embodiments, Layer 2 circuits 508 are configured to pass data (e.g., the Layer 1 transport blocks) through each layer of Layer 2 circuits 508 without storing the data (e.g., the Layer 1 transport blocks) in external memory 506, as shown in
As shown in
As shown in
In some embodiments, each Layer 1 transport block is divided into a plurality of code blocks (CBs), and MAC-PHY interface 530 receives the Layer 1 transport blocks in the unit of each code block through code block-related signals, such as CB_DATA indicative of the data values of a code block, CB_START indicative of the start of a new code block, CB_LENGTH indicative of the length of the code block, and CB_INDEX indicative of the order number of the code block in the received transport block. MAC-PHY interface 530 may also receive status signals, for example, DATA_READY indicative of a valid cycle of received packet data and TB_ID indicative of the index of the transport block. In some embodiments, the interface control commands from MCU 510 are generated based at least in part on one or more of the signals received by MAC-PHY interface 530. MAC-PHY interface 530 may be further configured to obtain the processing result, for example, once the MAC-PHY interface processing is completed, halted, or interrupted, and store a set of result statuses indicative of the processing result into an interface status queue 536 in memory 512. For example, each Layer 1 transport block of each code block of a transport block received by MAC-PHY interface 530 may cause a trigger to MCU 510 to start control SDAP circuit 520, PDCP circuit 522, RLC circuit 524, and/or MAC circuit 526 to perform the corresponding Layer 2 downlink data process function.
As shown in
Besides Layer 1 data rate adaptation, flow control buffer 528 can be used for code block re-organization as well when the received code blocks are not in order. Moreover, as described below in detail, the payload and headers of each Layer 1 transport block can be processed separately to reduce the workload and power consumption of baseband chip 502. In some embodiments, the payload of a Layer 1 transport block is stored in flow control buffer 528 until the headers of the Layer 1 transport block have been processed by Layer 2 circuits 508 (e.g., MAC circuit 526, RLC circuit 524, and/or PDCP circuit 522).
As shown in
In some embodiments, the functions of MAC circuit 526 in processing the MAC headers are defined by the 3GPP standards as described above with respect to the MAC Layer in
As shown in
Similar to MAC circuit 526, in some embodiments, RLC circuit 524 is configured to process only the RLC header, but not the payload of a Layer 1 transport block stored in flow control buffer 528. For example, MAC circuit 526 may extract and read the MAC and RLC headers of the Layer 1 transport block stored in flow control buffer 528, and RLC circuit 524 may receive the RLC header from MAC circuit 526. It is understood that in some examples, RLC circuit 524 may extract and read the RLC header of the Layer 1 transport block from flow control buffer 528 directly. Nevertheless, RLC circuit 524 does not read the payload of the Layer 1 transport block, and does not process other headers, such as MAC header and PDCP headers, according to some embodiments. That is, in some embodiments, none of MAC circuit 526 and RLC circuit 524 processes the payloads of the Layer 1 transport blocks stored in flow control buffer 528.
In some embodiments, the functions of RLC circuit 524 in processing the RLC headers are defined by the 3GPP standards as described above with respect to the RLC Layer in
As shown in
In some embodiments, PDCP circuit 522 is configured to process the PDCP header before reading and processing the payload of a Layer 1 transport block received from flow control buffer 528. For example, MAC circuit 526 may extract and read the MAC, RLC, and PDCP headers of the Layer 1 transport block stored in flow control buffer 528, RLC circuit 524 may receive the RLC and PDCP headers from MAC circuit 526, and PDCP circuit 522 may receive the PDCP header from RLC circuit 524. It is understood that in some examples, PDCP circuit 522 may extract and read the PDCP header of the Layer 1 transport block from flow control buffer 528 directly.
After processing the PDCP header, PDCP circuit 522 may be configured to process the payload of the Layer 1 transport block received from flow control buffer 528. In some embodiments, the processing of the payload is based, at least in part, on the processed PDCP header of the Layer 1 transport block and thus, is performed after the processing of the PDCP header. In some embodiments, the processing of the payload is based, at least in part, on the processed RLC header and/or the processed MAC header of the Layer 1 transport block as well. It is understood that in some examples, the processing of the PDCP header and the processing of the RLC header may be performed independently and/or simultaneously. Nevertheless, PDCP circuit 522 is the driving stage that start to pull payloads out of flow control buffer 528 and is the only Layer 2 circuit 508 that processes the payloads of the Layer 1 transport blocks, according to some embodiments. In some embodiments, PDCP circuit 522 may be configured to generate a Layer 3 data packet based on the processed PDCP header and payloads of the Layer 1 transport block. In some embodiments, the Layer 3 data packet is generated based on the processed RLC header and/or MAC header as well.
In some embodiments, the functions of PDCP circuit 522 in processing the PDCP headers, payloads, and generating the Layer 3 data packets are defined by the 3GPP standards as described above with respect to the PDCP Layer in
As shown in
In NR, SDAP circuit 520 may be configured to cause PDCP circuit 522 to organize the Layer 3 data packets based on QoS. For example, SDAP circuit 520 may function as a lookup table (LUT) that maps between a QoS flow of the Layer 3 data packets and a DRB. That is, SDAP circuit 520 may classify the Layer 3 data packets in QoS flows into DRBs. SDAP circuit 520 may also mark the QoS flow ID (QFIs) in the Layer 3 data packets. As shown in
Moreover, any additional functions of Layer 2 downlink data processing implemented in known solutions using software modules executed by a generic processor may be replaced by a hardware component, such as an ASIC, as part of Layer 2 circuits 508 in baseband chip 502. In some embodiments, buffer management circuit 532 is configured to manage the logical partitions of local memory 514 by dynamically dividing, allocating, and releasing local memory 514 into buffers used as, for example, memory 512 or flow control buffer 528. In some embodiments, buffer management circuit 532 is also configured to manage the buffer for re-transmission.
By controlling the operations of Layer 2 circuits 508 based on the processing results at the lower layer using MCU 510, the operations of Layer 2 circuits 508 can be dynamically updated by MCU 510 in view of the real-time processing results in the interactive mode. Moreover, the functions of Layer 2 circuits 508 can also be easily expanded and updated by programming MCU 510 as needed in the interactive mode. On the other hand, to increase the peak processing capability of baseband chip 502 in handling a very high Layer 1 data rate, baseband chip 502 can work in the automated mode, as shown in
As shown in
As shown in
As shown in
It is understood that baseband chip 502 may work in a hybrid mode in which some of Layer 2 circuits 508 interact with MCU 510, like in the interactive mode, while some other Layer 2 circuits 508 are automated without interacting with MCU 510, like in the automated mode. For example, in
Referring to
Method 600 proceeds to operation 604, as illustrated in
Method 600 proceeds to operation 606, as illustrated in
Method 600 proceeds to operation 608, as illustrated in
Method 600 proceeds to operation 610, as illustrated in
Method 600 proceeds to operation 612, as illustrated in
In various aspects of the present disclosure, the functions described herein may be implemented in hardware, software, firmware, or any combination thereof. If implemented in software, the functions may be stored on or encoded as instructions or code on a non-transitory computer-readable medium. Computer-readable media includes computer storage media. Storage media may be any available media that can be accessed by a computing device, such as node 700 in
According to one aspect of the present disclosure, a baseband chip includes a plurality of Layer 2 circuits and an MCU operatively coupled to the Layer 2 circuits. The Layer 2 circuits are configured to receive Layer 1 transport blocks and generate Layer 3 data packets from the Layer 1 transport blocks in an in-line manner. The MCU is configured to control, through a plurality sets of commands, at least one of the Layer 2 circuits to generate the Layer 3 data packets from the Layer 1 transport blocks.
In some embodiments, the Layer 2 circuits include an interface configured to receive the Layer 1 transport blocks based on a set of interface commands from the MCU, and a buffer operatively coupled to the interface and configured to store the Layer 1 transport blocks.
In some embodiments, the buffer is further configured to buffer the Layer 1 transport blocks to be adapted to Layer 1 data rate.
In some embodiments, the Layer 2 circuits further include a MAC circuit operatively coupled to the buffer and configured to process MAC headers of the Layer 1 transport blocks received from the buffer based on a set of MAC commands from the MCU, and an RLC circuit operatively coupled to the MAC circuit and configured to process RLC headers of the Layer 1 transport blocks received from the MAC circuit based on a set of RLC commands from the MCU.
In some embodiments, none of the MAC circuit and the RLC circuit processes payloads of the Layer 1 transport blocks stored in the buffer.
In some embodiments, the Layer 2 circuits further include a PDCP circuit operatively coupled to the RLC circuit and the buffer and configured to, based on a set of PDCP commands from the MCU, process PDCP headers of the Layer 1 transport blocks received from the RLC circuit, process payloads of the Layer 1 transport blocks received from the buffer, and generate the Layer 3 data packets based on the processed PDCP headers and payloads of the Layer 1 transport blocks.
In some embodiments, the Layer 2 circuits further include an SDAP circuit configured to cause the PDCP circuit to organize the Layer 3 data packets based on QoS.
In some embodiments, each of the SDAP, PDCP, RLC, and MAC circuits is an ASIC.
In some embodiments, the baseband chip further includes a memory operatively coupled to the MCU and the Layer 2 circuits and configured to store the plurality sets of commands into a plurality of command queues to be fetched by the at least one of the Layer 2 circuits, respectively.
In some embodiments, the memory is further configured to receive a plurality sets of result statuses from the at least one of the Layer 2 circuits, and store the plurality sets of result statuses into a plurality of status queues, respectively.
In some embodiments, the MCU is further configured to retrieve the plurality sets of result statuses from the memory, and generate each set of the commands for controlling a respective one of the Layer 2 circuits based on a corresponding set of the result statuses. The corresponding set of the result status can be from another one of the Layer 2 circuits at a lower layer in Layer 2 protocol stack than the respective one of the Layer 2 circuits.
In some embodiments, the Layer 2 circuits are configured to pass the Layer 1 transport blocks through the Layer 2 circuits without storing the Layer 1 transport blocks in an external memory.
According to another aspect of the present disclosure, a baseband chip includes a buffer, a MAC circuit, an RLC circuit, and a PDCP circuit. The buffer is configured to store Layer 1 transport blocks. The MAC circuit is configured to process MAC headers of the Layer 1 transport blocks received from the buffer. The RLC circuit is configured to process RLC headers of the Layer 1 transport blocks received from the MAC circuit. A PDCP circuit is configured to process PDCP headers of the Layer 1 transport blocks received from the RLC circuit, process payloads of the Layer 1 transport blocks received from the buffer, and generate Layer 3 data packets based on the processed PDCP headers and payloads of the Layer 1 transport blocks.
In some embodiments, each of the PDCP, RLC, and MAC circuits is an ASIC.
In some embodiments, the baseband chip further includes an interface configured to receive the Layer 1 transport blocks, and forward the Layer 1 transport blocks to the buffer, and based on information related to the Layer 1 transport blocks and an interface LUT circuit, generate a set of MAC commands. In some embodiments, the MAC circuit is configured to process the MAC headers based on the set of MAC commands.
In some embodiments, the MAC circuit is further configured to, based on the processed MAC headers and a MAC LUT circuit, generate a set of RLC commands, and the RLC circuit is configured to process the RLC headers based on the set of RLC commands.
In some embodiments, the RLC circuit is further configured to, based on the processed RLC headers and a PDCP LUT circuit, generate a set of PDCP commands, and the PDCP circuit is configured to, based on the set of PDCP commands, process the PDCP headers and the payloads and generate the Layer 3 data packets.
In some embodiments, the baseband chip further includes an SDAP circuit configured to cause the PDCP circuit to organize the Layer 3 data packets based on QoS.
According to still another aspect of the present disclosure, a method for Layer 2 downlink data processing is disclosed. A first set of result statuses based on information related to Layer 1 transport blocks is received by an MCU. A first set of commands is provided by the MCU based on the first set of result statuses to control a MAC circuit to process MAC headers of the Layer 1 transport blocks. A second set of result statuses based on the processing result of the MAC circuit is received by the MCU. A second set of commands is provided by the MCU based on the second set of result statuses to control an RLC circuit to process RLC headers of the Layer 1 transport blocks. A third set of result statuses based on the processing result of the RLC circuit is received by the MCU. A third set of commands is provided by the MCU based on the third set of result statuses to control a PDCP circuit to process PDCP headers and payloads of the Layer 1 transport blocks, and generate Layer 3 data packets based on the processed PDCP headers and payloads of the Layer 1 transport blocks.
In some embodiments, to provide each set of the commands, the respective set of the commands are stored into a corresponding command queue in a memory. In some embodiments, to receive each set of the result statuses, the respective set of the result statuses are retrieved from a corresponding status queue in the memory.
The foregoing description of the specific embodiments will so reveal the general nature of the present disclosure that others can, by applying knowledge within the skill of the art, readily modify and/or adapt for various applications such specific embodiments, without undue experimentation, without departing from the general concept of the present disclosure. Therefore, such adaptations and modifications are intended to be within the meaning and range of equivalents of the disclosed embodiments, based on the teaching and guidance presented herein. It is to be understood that the phraseology or terminology herein is for the purpose of description and not of limitation, such that the terminology or phraseology of the present specification is to be interpreted by the skilled artisan in light of the teachings and guidance.
Embodiments of the present disclosure have been described above with the aid of functional building blocks illustrating the implementation of specified functions and relationships thereof. The boundaries of these functional building blocks have been arbitrarily defined herein for the convenience of the description. Alternate boundaries can be defined so long as the specified functions and relationships thereof are appropriately performed.
The Summary and Abstract sections may set forth one or more but not all exemplary embodiments of the present disclosure as contemplated by the inventor(s), and thus, are not intended to limit the present disclosure and the appended claims in any way.
Various functional blocks, modules, and steps are disclosed above. The particular arrangements provided are illustrative and without limitation. Accordingly, the functional blocks, modules, and steps may be re-ordered or combined in different ways than in the examples provided above. Likewise, certain embodiments include only a subset of the functional blocks, modules, and steps, and any such subset is permitted.
The breadth and scope of the present disclosure should not be limited by any of the above-described exemplary embodiments, but should be defined only in accordance with the following claims and their equivalents.
This application is a continuation of International Application No. PCT/IB2020/061306, filed Dec. 1, 2020, which claims priority to U.S. Provisional Patent Application No. 62/966,910, filed Jan. 28, 2020, the entire disclosures of which are incorporated herein by reference.
Number | Date | Country | |
---|---|---|---|
62966910 | Jan 2020 | US |
Number | Date | Country | |
---|---|---|---|
Parent | PCT/IB2020/061306 | Dec 2020 | US |
Child | 17813858 | US |