WO2021165740A1 - Procédé et appareil de dé-segmentation et de réassemblage de paquets - Google Patents

Procédé et appareil de dé-segmentation et de réassemblage de paquets Download PDF

Info

Publication number
WO2021165740A1
WO2021165740A1 PCT/IB2020/062263 IB2020062263W WO2021165740A1 WO 2021165740 A1 WO2021165740 A1 WO 2021165740A1 IB 2020062263 W IB2020062263 W IB 2020062263W WO 2021165740 A1 WO2021165740 A1 WO 2021165740A1
Authority
WO
WIPO (PCT)
Prior art keywords
segment
packet
descriptor
offset value
segmentation
Prior art date
Application number
PCT/IB2020/062263
Other languages
English (en)
Inventor
Tianan Tim Ma
Su-Lin Low
Hausting Hong
Hong Kui Yang
Original Assignee
Zeku Inc.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Zeku Inc. filed Critical Zeku Inc.
Publication of WO2021165740A1 publication Critical patent/WO2021165740A1/fr

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • H04L69/166IP fragmentation; TCP segmentation

Definitions

  • Embodiments of the present disclosure relate to apparatuses and methods for packet de-segmentation and reassembly, which may be applicable to communication systems, such as wireless communication systems.
  • communication systems such as wireless communication systems (e.g., fourth-generation (4G) or fifth -generation (5G)
  • 4G fourth-generation
  • 5G fifth -generation
  • MAC medium access control
  • the MAC layer data packets may be broken up into pieces at the transmitter side and reassembled at the receiver side.
  • the receiver side processing is typically accomplished by using software to assemble segments into a complete service data unit (SDU).
  • SDU service data unit
  • Embodiments of apparatuses and methods for de-segmentation are disclosed herein.
  • the apparatuses may be variously implemented as user equipment, systems-on-chip, or the components or sub-components, such as the physical layer thereof.
  • a baseband chip can include at least one memory configured to store at least a descriptor of a first packet segment having a first segment offset value.
  • the baseband chip can also include a de segmentation circuit configured to compare a second segment offset value of a second packet segment to the first segment offset value.
  • the de-segmentation circuit can be configured to store a descriptor of the second packet segment in the at least one memory in a position relative to the descriptor of the first packet segment based on the comparison between the first segment offset value and the second segment offset value.
  • a baseband chip can include at least one memory configured to store at least a descriptor of a first packet segment having a first segment offset value.
  • the baseband chip can also include at least one processor configured to compare a second segment offset value of a second packet segment to the first segment offset value.
  • the at least one processor can be configured to store a descriptor of the second packet segment in the at least one memory in a position relative to the descriptor of the first packet segment based on the comparison between the first segment offset value and the second segment offset value.
  • a method for de-segmentation can include storing at least a descriptor of a first packet segment having a first segment offset value in at least one memory.
  • the method can also include comparing, by a de-segmentation circuit, a second segment offset value of a second packet segment to the first segment offset value.
  • the method can further include storing, by the de-segmentation circuit, a descriptor of the second packet segment in the at least one memory in a position relative to the descriptor of the first packet segment based on the comparison between the first segment offset value and the second segment offset value.
  • a non-transitory computer-readable medium can be encoded with instructions that, when executed in hardware, perform a process.
  • the process can include storing at least a descriptor of a first packet segment having a first segment offset value in at least one memory.
  • the process can further include comparing a second segment offset value of a second packet segment to the first segment offset value.
  • the process can additionally include storing a descriptor of the second packet segment in the at least one memory in a position relative to the descriptor of the first packet segment based on the comparison between the first segment offset value and the second segment offset value.
  • an apparatus for de-segmentation can include means for storing at least a descriptor of a first packet segment having a first segment offset value.
  • the apparatus can further include means for comparing a second segment offset value of a second packet segment to the first segment offset value.
  • the apparatus can additionally include means for storing a descriptor of the second packet segment in the means for storing in a position relative to the descriptor of the first packet segment based on the comparison between the first segment offset value and the second segment offset value.
  • FIG. 1A illustrates a long term evolution (LTE) radio link control (RLC) header format with 10 bit sequence number (SN) and 15 bit segment offset (SO), according to certain embodiments of the present disclosure.
  • LTE long term evolution
  • RLC radio link control
  • FIG. IB illustrates an LTE RLC header format with 16 bit SN and 16 bit segment offset SO, according to certain embodiments of the present disclosure.
  • FIG. 2 illustrates an example of a possible incoming packet flow with out of order segments for a given SN of an RLC protocol data unit (PDU) flow, according to certain embodiments of the present disclosure.
  • FIG. 3 A illustrates a descriptor format for an RLC segment having a 10-bit SN, according to certain embodiments of the present disclosure.
  • FIG. 3B illustrates a descriptor format for an RLC segment having a 16-bit SN, according to certain embodiments of the present disclosure.
  • FIG. 4 illustrates a de-segmentation linear memory, according to certain embodiments of the present disclosure.
  • FIG. 5 A illustrates a method for de-segmentation, according to certain embodiments of the present disclosure.
  • FIG. 5B illustrates a detailed block diagram of an example baseband chip implementing Layer 2 downlink data processing, such as de-segmentation, according to some embodiments of the present disclosure.
  • FIGs. 6A, 6B, 6C, 6D, 6E, 6F, and 6G illustrate various stages of a sorting approach, according to certain embodiments of the present disclosure.
  • FIG. 7A illustrates an example of a hardware function for de-segmentation checking, according to certain embodiments.
  • FIG. 7B illustrates another example of a hardware function for de-segmentation checking, according to certain embodiments.
  • FIG. 8 illustrates a block diagram of an apparatus including a baseband chip, a radio frequency chip, and a host chip, according to certain embodiments of the present disclosure.
  • FIG. 9 illustrates an exemplary wireless network that may incorporate packet de-segmentation, in which some aspects of the present disclosure may be implemented, according to certain embodiments of the present disclosure.
  • FIG. 10 illustrates a node that may implement packet de-segmentation, according to certain embodiments of the present disclosure.
  • references in the specification to “one embodiment,” “an embodiment,” “an example embodiment,” “some 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.
  • terminology may be understood at least in part from usage in context.
  • 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.
  • 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.
  • 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.
  • CDMA code division multiple access
  • TDMA time division multiple access
  • FDMA frequency division multiple access
  • OFDMA orthogonal frequency division multiple access
  • SC-FDMA single-carrier frequency division multiple access
  • a CDMA network may implement a radio access technology (RAT) such as Universal Terrestrial Radio Access (UTRA), evolved UTRA (E-UTRA), CDMA 2000, etc.
  • RAT radio access technology
  • UTRA Universal Terrestrial Radio Access
  • E-UTRA evolved UTRA
  • CDMA 2000 etc.
  • TDMA network may implement a RAT such as GSM.
  • An OFDMA network may implement a RAT, such as long term evolution (LTE) or new radio (NR).
  • LTE long term evolution
  • NR new radio
  • the techniques and system described herein may be used for the wireless networks and RATs mentioned above, as well as other wireless networks and RATs. Likewise, the techniques and systems described herein may also be applied to wired networks, such as networks based on optical fibers, coaxial cables, or twisted-pairs, or to satellite networks.
  • software may be used to locate segments to be assembled in the packet buffer. Since the sequence number (SN) can be 18 bits, the software may have to search through 2 L 17 memory locations to find the segments. This may be a very slow and power-consuming process.
  • Certain embodiments of the present disclosure include a hardware-based method and process that may effectively reassemble multiple radio link control (RLC) protocol data unit (PDU) segments into a whole RLC SDU.
  • RLC radio link control
  • PDU protocol data unit
  • Certain embodiments may have various benefits or advantages relative to a software-based approach including, but not limited to, a reduction of power consumption, reduction of data buffers, improved speed, and fewer processing delays.
  • Certain embodiments may be used in high performance, low cost, low power 4G/5G modem MAC layer design.
  • the 4G/5G standard systems are used as examples, as certain embodiments may also be applicable to other communication standards.
  • any communication system where reassembly of packets at a higher layer of the protocol stack is required because of limitations of a lower level of the protocol stack may benefit from certain embodiments of the present disclosure.
  • one acknowledged mode data (AMD) RLC SDU which can be a packet from the packet data convergence protocol (PDCP) layer, can be segmented into multiple segments or pieces.
  • 3GPP has defined RLC header information to identify each AMD segment.
  • FIGs. 1A and IB are two examples of the header formats for LTE. Other formats are equally applicable, such as the format for 5G new radio (NR). Certain embodiments are equally applicable to 5G NR design.
  • NR new radio
  • FIG. 1A illustrates an LTE RLC header format with 10 bit sequence number (SN) and 15 bit segment offset (SO).
  • FIG. IB illustrates an LTE RLC header format with 16 bit SN and 16 bit segment offset SO.
  • SN bit sequence number
  • SO bit segment offset
  • FIGs. 1A and IB there can be a one-bit indication of data or control (D/C), a re segmentation flag (RF), a one-bit polling request flag (P), two bits of framing indication (FI), a one-bit header format expansion enablement flag (E), and a one-bit last segment flag (LSF).
  • D/C data or control
  • RF re segmentation flag
  • P one-bit polling request flag
  • FI two bits of framing indication
  • E one-bit header format expansion enablement flag
  • LSF one-bit last segment flag
  • Rl reserved field
  • FIGs. 1A and IB are diagrams of 4G LTE.
  • 5G NR the diagrams are very similar.
  • the same segmentation parameters are likewise defined for 5G NR, namely SN and SO.
  • FIG. 2 illustrates an example of a possible incoming packet flow with out of order segments for a given SN of an RLC PDU flow.
  • segment SO_2 could arrive before segment SO_l.
  • segment SO_4 could arrive after segment SO_6, for example, and so on.
  • Finding the right segment at the right position may be done in one option, by relying on the segment offset value.
  • the segment offset may be a 16-bit value, there could be a large search range for segments. Certain embodiments avoid the need for such searching. For example, certain embodiments employ a segment order sorting mechanism, using a streaming hardware architecture to avoid the need for a large search range and associated software implementation.
  • data can come in from MAC in a streaming interface in which packets are sent to RLC one after another without assuming any sequence order.
  • the packet or segments could be completely out of order.
  • each data packet can be stored in a buffer allocated by a buffer manager.
  • a descriptor of each packet can be created by the MAC layer and sent to the RLC de segmentation module.
  • the de-segmentation module can be a part of the reassembly process that ultimately results in reassembled packets emerging from the protocol stack.
  • the descriptor can include information including the sequence number (SN), segment offset (SO), segment length of the packet payload in bytes, and any other related information for RLC processing.
  • FIGs. 3A and 3B illustrate examples of descriptors that could be used.
  • FIG. 3 A illustrates a descriptor format for an RLC segment having a 10-bit SN, according to certain embodiments of the present disclosure.
  • FIG. 3B illustrates a descriptor format for an RLC segment having a 16- bit SN, according to certain embodiments of the present disclosure.
  • the SN and SO may span two octets, and accordingly, the first bits of each may be in a first octet, and the remaining bits may be a second octet.
  • bits 15 through 8 may be in a first octet
  • bits 7 through 0 may be in a second octet.
  • Other arrangements of bits are also permitted.
  • the RLC PDU sessions may be configured such that each PDU stream has the same RLC PDU header format, which can be one of the two formats illustrated in FIGs. 1A and IB.
  • RLC PDU header format which can be one of the two formats illustrated in FIGs. 1A and IB.
  • 10 bit or 16 bit descriptor may be applicable in such circumstances.
  • NR may have similar requirements and may use the same approach.
  • the hardware of certain embodiments may use a reassembly memory to store the above-described descriptors.
  • the descriptors may be stored in a linear memory space in which each entry is 8 bytes, the size of the descriptors in FIGs. 3 A and 3B.
  • FIG. 4 illustrates a de-segmentation linear memory according to certain embodiments of the present disclosure.
  • all of the segments are shown stored in memory in sequence order.
  • all of the segments would be received and stored in order. In which case, no rearrangement of the segments would be necessary.
  • some of the segments may arrive out of order, and consequently, rearrangement of the segments may be necessary in order to achieve a sequentially ordered memory.
  • FIG. 5A illustrates a method for de-segmentation according to certain embodiments.
  • a method 550 can include, at 552, receiving a packet with an indication of SO. If the packet, for example, an RLC segment PDU, arrives out of order as shown in FIG. 2, the hardware of a system implementing certain embodiments (see, for example, apparatus 500 in FIG. 5B) may, at 554, compare the SO of the packet with the last segment in the de-segmentation memory to see which SO is bigger. If the current segment has a bigger SO, then at 556, the current segment descriptor may be stored at the end of the memory space. If the current segment’s SO is smaller than the last segment in memory, they will swap positions.
  • the current segment descriptor may be stored at the end of the memory space. If the current segment’s SO is smaller than the last segment in memory, they will swap positions.
  • the comparison of SO can serve to identify which segment is prior to the other segment in terms of sequence order.
  • a smaller SO implies that the segment having such an SO is prior to a segment having a larger SO.
  • This priority may simply be a priority in original position within the packet, not a priority of value, time, or anything else. Indeed, it is possible that the segments may be received out of order because they may be transmitted out of order.
  • the segment with the larger SO may have a greater significance or value.
  • Swapping positions can be accomplished by moving the last segment’s descriptor down in memory at 558, and then potentially saving the current segment’s descriptor at the place where the last segment’s descriptor had been saved.
  • Moving down the descriptor can be performed various ways. For example, a copy of the descriptor can be written immediately following the original of the descriptor in contiguous memory. Then the original of the descriptor can be dereferenced, erased, overwritten, or otherwise treated as available.
  • the system implementing method 550 can, at 560, compare the current segment’s SO to that of the next previous segment’s descriptor in memory.
  • the current segment’s descriptor can be saved at the current position. Otherwise, the next previous segment can be moved down at 564, and the comparison and swapping can continue until either the current segment’s SO becomes smaller than a previous segment’s SO or the top of the list is reached. If the top of the list and there is no smaller SO, the current segment’s descriptor can be stored at the top of the list.
  • FIG. 5B illustrates a detailed block diagram of an example baseband chip 502 implementing Layer 2 downlink data processing using Layer 2 circuits 508 and an MCU 510, according to some embodiments of the present disclosure.
  • the baseband chip 502 or components thereof may implement the method shown in FIG. 5A.
  • layer 2 circuits 508 include an SDAP circuit 520, a PDCP circuit 522, an RLC circuit 524, and a MAC circuit 526.
  • the approach of FIG. 5B may rely on integrated circuits (ICs) (e.g., SDAP circuit 520, PDCP circuit 522, RLC circuit 524, and MAC circuit 526) to conduct Layer 2 downlink data processing.
  • ICs integrated circuits
  • each of SDAP, PDCP, RLC, and MAC circuits 520, 522, 524, or 526 is an IC dedicated to performing the functions of the respective layer in Layer 2 user plane.
  • each of SDAP, PDCP, RLC, and MAC circuits 520, 522, 524, or 526 may be an ASIC, which is customized for a particular use, rather than intended for general-purpose use, and thus, is known for its high speed, small die size, and low power consumption compared with a generic processor.
  • Apparatus 500 may be any suitable node of wireless network 900 in FIG. 9, such as user equipment 902 or access node 904 (e.g., a base station including eNB in LTE or gNB in NR). As shown in FIG. 5B, apparatus 500 may include baseband chip 502, a host chip 504, an external memory 506, and a main bus 538 (also known as a “system bus”) operatively coupling baseband chip 502, host chip 504, and external memory 506. That is, baseband chip 502, host chip 504, and external memory 506 may exchange data through main bus 538.
  • main bus 538 also known as a “system bus”
  • External memory 506 can be shared by host chip 504, baseband chip 502, or any other suitable components in apparatus 500, such as a system memory (also known as a “main memory” or “primary memory”) of apparatus 500.
  • baseband chip 502 may also include a plurality of direct memory access (DMA) channels including a first DMA channel (DMA CHI) 516 and a second DMA channel (DMA CH2) 518.
  • DMA channel 516 or 518 can allow certain Layer 2 circuits 508 to access external memory 506 directly independent of host chip 504.
  • DMA channels 516 and 518 may include a DMA controller and any other suitable input/output (I/O) circuits. As shown in FIG.
  • baseband chip 502 may further include a local memory 514, such as an on-chip memory on baseband chip 502, which is distinguished from external memory 506 that is an off-chip memory not on baseband chip 502.
  • local memory 514 includes one or more LI, L2, L3, or L4 caches.
  • Layer 2 circuits 508 may access local memory 514 through main bus 538 as well.
  • the local memory 514 may be used to store and sort the packet descriptors discussed above and illustrated in a sorted form in FIG. 4.
  • baseband chip 502 may further include a memory 512 that can be shared by (e.g., both accessed by) Layer 2 circuits 508 and MCU 510.
  • memory 512 is shown as an individual memory separate from local memory 514, in some examples, memory 512 and local memory 514 may be local partitions of the same physical memory structure, for example, an SRAM.
  • a logical partition in local memory 514 may be dedicated to or dynamically allocated to Layer 2 circuits 508 and MCU 510 for exchanging control commands and result statuses when baseband chip 502 is in the interactive mode.
  • memory 512 includes a plurality of command queues 534 for storing a plurality sets of commands, respectively, and a plurality of status queues 536 for storing a plurality sets of result statuses, respectively.
  • Each pair of corresponding command queue 534 and status queue 536 may be dedicated to one of Layer 2 circuits 508.
  • baseband chip 502 may further include a local bus 540.
  • MCU 510 is operatively coupled to memory 512 and main bus 538 through local bus 540.
  • 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 inline manner.
  • Layer 2 circuits 508 are configured to pass data through each layer of Layer 2 circuits 508 without storing the data in external memory 506. The data may flow from lower to upper layers in Layer 2 (e.g., MAC circuit 526, RLC circuit 524, and PDCP circuit 522).
  • MCU 510 may be operatively coupled to Layer 2 circuits 508 and configured to control Layer 2 circuits 508 to generate Layer 3 data packets from the Layer 1 transport blocks through a plurality sets of commands.
  • Layer 2 circuits 508 includes additional hardware components including a flow control buffer 528, a MAC-PHY interface 530, and a buffer management (BM) circuit 532.
  • BM buffer management
  • MAC-PHY interface 530 may be operatively coupled to flow control buffer 528 and configured to receive the Layer 1 transport blocks from Layer 1 (e.g., the PHY layer). The operations of MAC-PHY interface 530 may be controlled based on a set of interface commands from MCU 510.
  • 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 LENGHT 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.
  • 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 LENGHT 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.
  • flow control buffer 528 may be operatively coupled to MAC-PHY interface 530 and configured store the Layer 1 transport blocks received by MAC-PHY interface 530.
  • Flow control buffer 528 may be a separate physical memory component or part of local memory 514 (e.g., a logical partition thereof) dedicated to Layer 2 downlink data processing.
  • flow control buffer 528 can be further configured to buffer the Layer 1 transport blocks to be adapted to Layer 1 data rate, for example, when the Layer 1 data rate exceeds the peak Layer 2 downlink data processing capability of baseband chip 502.
  • Layer 2 circuits 508 in baseband chip 502 can perform Layer 2 downlink data processing in an inline manner without access to external memory 506.
  • flow control buffer 528 may perform the MAC-PHY flow control function by buffering the Layer 1 transport blocks. It is understood that in some examples, second DMA channel 518 operatively coupled to flow control buffer 528 and MAC-PHY interface 530 may be configured to transmit some of the Layer 1 transport blocks from flow control buffer 528 or directly through MAC-PHY interface 530 to external memory 506 to overflow the Layer 1 transport blocks when the capacity of flow control buffer 528 is overloaded, for example, by an extremely high Layer 1 data rate.
  • 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).
  • Layer 2 circuits 508 e.g., MAC circuit 526, RLC circuit 524, and/or PDCP circuit 522).
  • MAC circuit 526 may be operatively coupled to flow control buffer 528 and RLC circuit 524 and configured to process the MAC headers of the Layer 1 transport blocks stored in flow control buffer 528.
  • the processing of the MAC headers by MAC circuit 526 may be controlled based on a set of MAC commands from MCU 510.
  • MCU 510 is configured to retrieve/read the set of interface result statuses (i.e., the result statues from MAC-PHY interface 530) from interface status queue 536, generate the set of MAC commands based on the set of interface result statuses, and store/write the set of MAC commands into a MAC command queue 534 in memory 512, such that MAC circuit 526 can retrieve/read the set of MAC commands from MAC command queue 534 according to the priorities assigned by MCU 510 to the MAC commands.
  • interface result statuses i.e., the result statues from MAC-PHY interface 530
  • MAC circuit 526 is configured to process only the MAC header, but not the payload of a Layer 1 transport block stored in flow control buffer 528. For example, MAC circuit 526 may extract the MAC header from the Layer 1 transport block and read only the MAC header, but not the payload, of the Layer 1 transport block. It is understood that in some examples, MAC circuit 526 may extract and read other headers of the Layer 1 transport block as well, such as RLC header and PDCP header. Nevertheless, MAC circuit 526 does not read the payload of the Layer 1 transport block, and does not process other headers, such as RLC header and PDCP headers, according to some embodiments.
  • the flow control buffer 528 may be an example of a memory that can be used to store the packet segment descriptors discussed above.
  • the organization of the packet descriptors in the flow control buffer 528 may be performed by circuitry, such as RLC circuit 524 or another processor or circuit, including an application-specific integrated circuit.
  • RLC circuit 524 may be operatively coupled to MAC circuit 526 and PDCP circuit 522 and configured to process the RLC headers of the Layer 1 transport blocks received from MAC circuit 526.
  • the processing of the RLC headers may be controlled based on a set of RLC commands from MCU 510.
  • the RLC circuit 524 may be configured to reorganize the packet segments received at the MAC layer.
  • the reorganizing leading to de-segmentation may be assisted by the MAC circuit 526 or another circuit or processor.
  • the RLC layer in uplink may be involved in segmenting or concatenating the data packets received from the upper layer, e.g., the PDCP PDUs/RLC SDUs, into each RLC PDU. That is, the RLC circuit 524 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.
  • the RLC circuit 524 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.
  • the RLC circuit 524 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.
  • ARQ automatic repeat request
  • the RLC circuit 524 can perform RLC re transmission by inserting re-transmitted data packets.
  • RLC circuit 524 in processing the RLC headers are defined by the 3GPP standards with respect to the RLC layer.
  • RLC circuit 524 may perform segmentation, reassembly (also known as de-segmentation), duplication detection, and/or in-order delivery in three modes by processing the RLC headers of the Layer 1 transport blocks, which are extracted and read from flow control buffer 528.
  • MCU 510 may reflect the update or change in its RLC commands to control RLC circuit 524 to act accordingly. As shown in FIG.
  • RLC circuit 524 may be further configured to obtain the processing result, for example, once the RLC Layer processing is completed, halted, or interrupted, and store a set of result statuses indicative of the processing result into an RLC status queue 536 in memory 512.
  • PDCP circuit 522 may be operatively coupled to RLC circuit 524 and SDAP circuit 520 and configured to process the PDCP headers of the Layer 1 transport blocks received from RLC circuit 524.
  • the processing of the PDCP headers may be controlled based on a set of PDCP commands from MCU 510.
  • FIG. 5A The practice of the approach of FIG. 5A, which may be implemented by the apparatus 500 of FIG. 5B can be seen through the following examples, which are merely illustrative of the principles.
  • FIGs. 6A, 6B, 6C, 6D, 6E, 6F, and 6G illustrate various stages of a sorting approach according to certain embodiments of the present disclosure.
  • the hardware can repeat these kinds of comparison and movement operations until the current segment RLC PDU is at the right de-segmentation memory location, where the current segment’s SO is smaller than the segment before it, and the current segment’s SO is bigger than the segment after it.
  • the next RLC PDU segment could do the same in the hardware.
  • SO_3 can come in next.
  • the hardware can compare the SO of SO_3 to the SO of the last segment descriptor in memory, which is SO_2. In this case, because the SO of SO_3 is greater than the SO of SO_2, as shown in FIG. 6D, SO_3 can be stored in the first empty slot, and the next empty slot can be the empty slot for the next incoming segment.
  • the hardware could alternatively move the entire group together. This may reduce memory access time, but may require an additional check to identify whether the incoming segments are sequential.
  • the hardware may keep track of consecutive segments and minimize the number of comparisons to the last segment in a consecutive set.
  • out of order segment SO_4 may arrive after consecutive segments SO_5 and SO_6.
  • the SO of SO_4 may be compared sequentially to each of segments SO_6, SO_5, and SO_3.
  • segment SO_4 can be inserted after SO_3, and SO_5 and SO_6 can be individually or collectively moved into lower slots such that ultimately the next empty slot becomes the new empty slot.
  • the de segmentation queue may look as shown in FIG. 4.
  • the sorting algorithm may discard the duplicated segment.
  • the hardware may assume duplication of the SO of the received packet is equal to the SO of a compared packet descriptor in the memory.
  • FIG. 7A illustrates an example of a hardware function for de segmentation checking according to certain embodiments.
  • the hardware function may check and validate if de segmentation is fully finished.
  • SO next can refer to the SO of the next segment to be read.
  • SO current can refer to the SO of the segment that is currently being examined. If this condition is valid for all segments from the first segment to the last segment, the de-segmentation can be declared to be completed. If at any point, this condition is not valid, then the de-segmentation can be declared un-finished and incomplete.
  • the hardware function which may be an integrated circuit such as an application-specific integrated circuit (ASIC), can do this check for every segment that is received after receiving the last segment of the same SN until de-segmentation complete is declared or a de-segmentation time out occurs.
  • ASIC application-specific integrated circuit
  • the hardware can set an interrupt to a software module (or a further hardware module) and pass the descriptor list to the software module (or further hardware module) for further processing of the fully reassembled RLC SDU.
  • FIG. 7B illustrates another example of a hardware function for de-segmentation checking according to certain embodiments.
  • FIG. 7B is like FIG. 7A, except that the hardware function may be checking up the memory instead of down the memory.
  • This option may have the advantage or benefit of allowing the checking to be done at the same time with the sorting processes so that no extra processing time is required.
  • any memory can be used as de-segmentation memory.
  • On-chip static random access memory SRAM
  • the hardware could use one cycle for one memory read and compare two more cycles to finish swapping two memory locations.
  • the hardware can use three clock cycles to sort every segment received.
  • the hardware would use 3N cycles following this example approach. For the de segmentation checking and reconciliation, if de -segmentation starts from the last segment, no extra cycles may be required.
  • the overall hardware worst-case clock cycle count is 3N for RLC SDUs with N segments.
  • the delay may be longer when there are more segments.
  • total hardware cycles may be less than 10 clock cycles for each segment received. This is okay because the de-segmentation process usually is branched offline and not in the timing critical path of hardware process.
  • Certain embodiments may have various benefits and/or advantages. For example, certain embodiments may have lower power consumption due to efficient hardware operations, which may be very important for mobile communication devices. Additionally, certain embodiments may have improved data processing speed due to the fast hardware process compared to slower software processes.
  • the software and hardware methods and systems disclosed herein, such as method 550 in FIG. 5 A, may be implemented by any suitable nodes in a wireless network.
  • FIG. 8 illustrates an apparatus 800
  • FIG. 9 illustrates an exemplary wireless network 900, in which some aspects of the present disclosure may be implemented, according to some embodiments of the present disclosure.
  • FIG. 8 illustrates a block diagram of an apparatus 800 including a baseband chip 802, a radio frequency chip 804, and a host chip 806, according to some embodiments of the present disclosure.
  • Apparatus 800 may be an example of any suitable node of wireless network 900 in FIG. 9, such as user equipment 902 or access node 904.
  • apparatus 800 may include baseband chip 802, radio frequency chip 804, host chip 806, and one or more antennas 810.
  • baseband chip 802 is implemented by processor 1002 and memory 1004, and radio frequency chip 804 is implemented by processor 1002, memory 1004, and transceiver 1006, as described below with respect to FIG. 10.
  • apparatus 800 may further include an external memory 808 (e.g., the system memory or main memory) that can be shared by each chip 802, 804, or 806 through the system/main bus.
  • external memory 808 e.g., the system memory or main memory
  • baseband chip 802 is illustrated as a standalone SoC in FIG. 8, it is understood that in one example, baseband chip 802 and radio frequency chip 804 may be integrated as one SoC; in another example, baseband chip 802 and host chip 806 may be integrated as one SoC; in still another example, baseband chip 802, radio frequency chip 804, and host chip 806 may be integrated as one SoC, as described above.
  • host chip 806 may generate raw data and send it to baseband chip 802 for encoding, modulation, and mapping.
  • Baseband chip 802 may also access the raw data generated by host chip 806 and stored in external memory 808, for example, using the direct memory access (DMA).
  • DMA direct memory access
  • Baseband chip 802 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).
  • MPSK multi - phase pre-shared key
  • QAM quadrature amplitude modulation
  • Baseband chip 802 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.
  • baseband chip 802 may send the modulated signal to radio frequency chip 804.
  • Radio frequency chip 804 through the transmitter (Tx), may convert the modulated signal in the digital form into analog signals, i.e., radio frequency signals, and perform any suitable front-end radio frequency functions, such as filtering, up- conversion, or sample-rate conversion.
  • Antenna 810 e.g., an antenna array
  • antenna 810 may receive radio frequency signals and pass the radio frequency signals to the receiver (Rx) of radio frequency chip 804.
  • Radio frequency chip 804 may perform any suitable front-end radio frequency functions, such as filtering, down-conversion, or sample-rate conversion, and convert the radio frequency signals into low-frequency digital signals (baseband signals) that can be processed by baseband chip 802.
  • baseband chip 802 may demodulate and decode the baseband signals to extract raw data that can be processed by host chip 806.
  • Baseband chip 802 may perform additional functions, such as error checking, de-mapping, channel estimation, descrambling, etc.
  • the raw data provided by baseband chip 802 may be sent to host chip 806 directly or stored in external memory 808.
  • wireless network 900 may include a network of nodes, such as a UE 902, an access node 904, and a core network element 906.
  • User equipment 902 may be any terminal device, such as a mobile phone, a desktop computer, a laptop computer, a tablet, a vehicle computer, a gaming console, a printer, a positioning device, a wearable electronic device, a smart sensor, or any other device capable of receiving, processing, and transmitting information, such as any member of a vehicle to everything (V2X) network, a cluster network, a smart grid node, or an Intemet-of-Things (IoT) node.
  • V2X vehicle to everything
  • IoT Intemet-of-Things
  • Access node 904 may be a device that communicates with user equipment 902, 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 904 may have a wired connection to user equipment 902, a wireless connection to user equipment 902, or any combination thereof. Access node 904 may be connected to user equipment 902 by multiple connections, and user equipment 902 may be connected to other access nodes in addition to access node 904. Access node 904 may also be connected to other UEs.
  • BS base station
  • eNodeB or eNB enhanced Node B
  • gNodeB or gNB next-generation NodeB
  • gNodeB next-generation NodeB
  • Core network element 906 may serve access node 904 and user equipment 902 to provide core network services.
  • core network element 906 may include a home subscriber server (HSS), a mobility management entity (MME), a serving gateway (SGW), or a packet data network gateway (PGW).
  • HSS home subscriber server
  • MME mobility management entity
  • SGW serving gateway
  • PGW packet data network gateway
  • EPC evolved packet core
  • Other core network elements may be used in LTE and in other communication systems.
  • core network element 906 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 906 is shown as a set of rack-mounted servers by way of illustration and not by way of limitation.
  • AMF access and mobility management function
  • SMF session management function
  • UPF user plane function
  • Core network element 906 may connect with a large network, such as the Internet 908, or another IP network, to communicate packet data over any distance.
  • data from user equipment 902 may be communicated to other UEs connected to other access points, including, for example, a computer 910 connected to Internet 908, for example, using a wired connection or a wireless connection, or to a tablet 912 wirelessly connected to Internet 908 via a router 914.
  • computer 910 and tablet 912 provide additional examples of possible UEs
  • router 914 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 906.
  • database servers such as a database 916
  • security and authentication servers such as an authentication server 918.
  • Database 916 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.
  • authentication server 918 may handle authentication of users, sessions, and so on.
  • an authentication server function (AUSF) device may be the specific entity to perform user equipment authentication.
  • a single server rack may handle multiple such functions, such that the connections between core network element 906, authentication server 918, and database 916, may be local connections within a single rack.
  • Each of the elements of FIG. 9 may be considered a node of wireless network 900. More detail regarding the possible implementation of a node is provided by way of example in the description of a node 1000 in FIG. 10 below.
  • Node 1000 may be configured as user equipment 902, access node 904, or core network element 906 in FIG. 9.
  • node 1000 may also be configured as computer 910, router 914, tablet 912, database 916, or authentication server 918 in FIG. 9.
  • node 1000 may include a processor 1002, a memory 1004, a transceiver 1006. These components are shown as connected to one another by bus 708, but other connection types are also permitted. When node 1000 is user equipment 902, additional components may also be included, such as a user interface (UI), sensors, and the like. Similarly, node 1000 may be implemented as a blade in a server system when node 1000 is configured as core network element 906. Other implementations are also possible.
  • Transceiver 1006 may include any suitable device for sending and/or receiving data.
  • Node 1000 may include one or more transceivers, although only one transceiver 1006 is shown for simplicity of illustration.
  • An antenna 1010 is shown as a possible communication mechanism for node 1000. Multiple antennas and/or arrays of antennas may be utilized. Additionally, examples of node 1000 may communicate using wired techniques rather than (or in addition to) wireless techniques.
  • access node 904 may communicate wirelessly to user equipment 902 and may communicate by a wired connection (for example, by optical or coaxial cable) to core network element 906.
  • Other communication hardware such as a network interface card (NIC), may be included as well.
  • NIC network interface card
  • node 1000 may include processor 1002. Although only one processor is shown, it is understood that multiple processors can be included.
  • Processor 1002 may include microprocessors, microcontrollers, DSPs, ASICs, field-programmable gate arrays (FPGAs), programmable logic devices (PLDs), state machines, gated logic, discrete hardware circuits, and other suitable hardware configured to perform the various functions described throughout the present disclosure.
  • Processor 1002 may be a hardware device having one or many processing cores.
  • Processor 1002 may execute software.
  • Processor 1002 may be a baseband chip, such as baseband chip 802 in FIG. 8.
  • the node 1000 may also include other processors, not shown, such as a central processing unit of the device, a graphics processor, or the like.
  • the processor 1002 may include internal memory (not shown in FIG. 10) that may serve as memory for L2 data.
  • Processor 1002 may include a radio frequency chip, for example, integrated into a baseband chip, or a radio frequency chip may be provided separately.
  • Processor 1002 may be configured to operate as a modem of node 1000, or may be one element or component of a modem. Other arrangements and configurations are also permitted.
  • node 1000 may also include memory 1004. Although only one memory is shown, it is understood that multiple memories can be included. Memory 1004 can broadly include both memory and storage.
  • memory 1004 may include random-access memory (RAM), read-only memory (ROM), SRAM, dynamic RAM (DRAM), ferro-electric RAM (FRAM), electrically erasable programmable ROM (EEPROM), CD-ROM or other optical disk storage, hard disk drive (HDD), such as magnetic disk storage or other magnetic storage devices, Flash drive, solid-state drive (SSD), or any other medium that can be used to carry or store desired program code in the form of instructions that can be accessed and executed by processor 1002.
  • RAM random-access memory
  • ROM read-only memory
  • SRAM dynamic RAM
  • FRAM ferro-electric RAM
  • EEPROM electrically erasable programmable ROM
  • CD-ROM or other optical disk storage such as hard disk drive (HDD), such as magnetic disk storage or other magnetic storage devices, Flash drive, solid-state drive (SSD), or any other medium that can be
  • memory 1004 may be embodied by any computer-readable medium, such as a non-transitory computer-readable medium.
  • the memory 1004 can be the external memory 808 in FIG. 8.
  • the memory 1004 may be shared by processor 1002 and other components of node 1000, such as the unillustrated graphic processor or central processing unit.
  • 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 1000 in FIG. 10.
  • such computer-readable media can include RAM, ROM, EEPROM, CD-ROM or other optical disk storage, HDD, such as magnetic disk storage or other magnetic storage devices, Flash drive, SSD, or any other medium that can be used to carry or store desired program code in the form of instructions or data structures and that can be accessed by a processing system, such as a mobile device or a computer.
  • Disk and disc includes CD, laser disc, optical disc, DVD, and floppy disk where disks usually reproduce data magnetically, while discs reproduce data optically with lasers. Combinations of the above should also be included within the scope of computer-readable media.
  • a baseband chip can include at least one memory configured to store at least a descriptor of a first packet segment having a first segment offset value.
  • the baseband chip can also include a de-segmentation circuit configured to compare a second segment offset value of a second packet segment to the first segment offset value.
  • the de-segmentation circuit can be configured to store a descriptor of the second packet segment in the at least one memory in a position relative to the descriptor of the first packet segment based on the comparison between the first segment offset value and the second segment offset value.
  • the de-segmentation circuit can be configured to, when the comparison of the first segment offset and the second segment offset indicates that the second packet segment is subsequent to the first packet segment, store the descriptor of the second packet segment after the descriptor of the first packet segment.
  • the de-segmentation circuit can be configured to, when the comparison of the first segment offset and the second segment offset indicates that the second packet segment is prior to the first packet segment within an order of segments of a packet comprising the first packet segment and the second packet segment, move down the descriptor of the first packet segment in the at least one memory.
  • the de-segmentation circuit can be configured to move down the descriptor of the first packet segment from a first location of the descriptor in a memory by writing the descriptor in a continguously next location following the first location and can be configured to treat the first location as available.
  • the de-segmentation circuit can be further configured to, when the comparison of the first segment offset and the second segment offset indicates that the second packet segment is prior to the first packet segment, compare the second segment offset value to a third segment offset value of a third packet segment stored in the memory immediately above the first packet segment.
  • the de-segmentation circuit can be configured to sort a plurality of segments including the first packet segment and the second packet segment based on comparisons of respective segment offsets of each of the plurality of segments.
  • the de-segmentation circuit is further configured to discard the descriptor of at least one further segment when a comparison of the descriptor of the at least one further segment indicates a duplicate segment to an already stored descriptor.
  • the de-segmentation circuit may be further configured to verify that de segmentation is complete based on segment offset and payload length fields of a plurality of descriptors of a plurality of packet segments comprising the first packet segment and the second packet segment.
  • the verification that de-segmentation is complete can be performed in parallel with comparisons of segment offset values for sorting packet descriptors including the descriptor of the first packet segment and the descriptor of the second packet segment.
  • the de-segmentation circuit can be further configured to pass an ordered list of a plurality of packet descriptors including the descriptor of the first packet segment and the descriptor of the second packet segment to a further module upon verification that de-segmentation is complete.
  • a method can include storing at least a descriptor of a first packet segment having a first segment offset value in at least one memory.
  • the method can also include comparing, by a de-segmentation circuit, a second segment offset value of a second packet segment to the first segment offset value.
  • the method can further include storing, by the de-segmentation circuit, a descriptor of the second packet segment in the at least one memory in a position relative to the descriptor of the first packet segment based on the comparison between the first segment offset value and the second segment offset value.
  • the method can include, when the comparison of the first segment offset and the second segment offset indicates that the second packet segment is subsequent to the first packet segment, storing, by the de-segmentation circuit, the descriptor of the second packet segment after the descriptor of the first packet segment.
  • the method can include, when the comparison of the first segment offset and the second segment offset indicates that the second packet segment is prior to the first packet segment, moving down, by the de-segmentation circuit, the descriptor of the first packet segment in the at least one memory.
  • the method can include, when the comparison of the first segment offset and the second segment offset indicates that the second packet segment is prior to the first packet segment, comparing, by the de-segmentation circuit, the second segment offset value to a third segment offset value of a third packet segment stored in the memory immediately above the first packet segment.
  • the method can include sorting, by the de-segmentation circuit, a plurality of segments including the first packet segment and the second packet segment based on comparisons of respective segment offsets of each of the plurality of segments.
  • the method can include discarding, by the de-segmentation circuit, a descriptor of at least one further segment when a comparison of the descriptor of the at least one further segment indicates a duplicate segment to an already stored descriptor.
  • the method can include verifying, by the de-segmentation circuit, that de segmentation is complete based on segment offset and payload length fields of a plurality of descriptors of a plurality of packet segments comprising the first packet segment and the second packet segment.
  • the verification that de-segmentation is complete can be performed in parallel with comparisons of segment offset values for sorting packet descriptors including the descriptor of the first packet segment and the descriptor of the second packet segment.
  • the method can include passing, by the de-segmentation circuit, an ordered list of a plurality of packet descriptors including the descriptor of the first packet segment and the descriptor of the second packet segment to a further module upon verification that de-segmentation is complete.
  • an apparatus for de-segmentation can include means for storing at least a descriptor of a first packet segment having a first segment offset value.
  • the apparatus can further include means for comparing a second segment offset value of a second packet segment to the first segment offset value.
  • the apparatus can additionally include means for storing a descriptor of the second packet segment in the means for storing in a position relative to the descriptor of the first packet segment based on the comparison between the first segment offset value and the second segment offset value.
  • a non-transitory computer-readable medium can be encoded with instructions that, when executed in hardware, perform a process.
  • the process can include storing at least a descriptor of a first packet segment having a first segment offset value in at least one memory.
  • the process can further include comparing a second segment offset value of a second packet segment to the first segment offset value.
  • the process can additionally include storing a descriptor of the second packet segment in the at least one memory in a position relative to the descriptor of the first packet segment based on the comparison between the first segment offset value and the second segment offset value.
  • a baseband chip can include at least one memory configured to store at least a descriptor of a first packet segment having a first segment offset value.
  • the baseband chip can also include at least one processor configured to compare a second segment offset value of a second packet segment to the first segment offset value.
  • the at least one processor can be configured to store a descriptor of the second packet segment in the at least one memory in a position relative to the descriptor of the first packet segment based on the comparison between the first segment offset value and the second segment offset value.
  • the at least one processor can be configured to, when the comparison of the first segment offset and the second segment offset indicates that the second packet segment is subsequent to the first packet segment, store the descriptor of the second packet segment after the descriptor of the first packet segment. [0117] In some embodiments, the at least one processor can be configured to, when the comparison of the first segment offset and the second segment offset indicates that the second packet segment is prior to the first packet segment, move down the descriptor of the first packet segment in the at least one memory.
  • the at least one processor can be further configured to, when the comparison of the first segment offset and the second segment offset indicates that the second packet segment is prior to the first packet segment, compare the second segment offset value to a third segment offset value of a third packet segment stored in the memory immediately above the first packet segment.
  • the at least one processor can be configured to sort a plurality of segments including the first packet segment and the second packet segment based on comparisons of respective segment offsets of each of the plurality of segments.
  • the at least one processor is further configured to discard the descriptor of at least one further segment when a comparison of the descriptor of the at least one further segment indicates a duplicate segment to an already stored descriptor.
  • the at least one processor may be further configured to verify that de segmentation is complete based on segment offset and payload length fields of a plurality of descriptors of a plurality of packet segments comprising the first packet segment and the second packet segment.
  • the verification that de-segmentation is complete can be performed in parallel with comparisons of segment offset values for sorting packet descriptors including the descriptor of the first packet segment and the descriptor of the second packet segment.
  • the at least one processor can be further configured to pass an ordered list of a plurality of packet descriptors including the descriptor of the first packet segment and the descriptor of the second packet segment to a further module upon verification that de-segmentation is complete.
  • a method can include storing at least a descriptor of a first packet segment having a first segment offset value in at least one memory.
  • the method can also include comparing, by at least one processor, a second segment offset value of a second packet segment to the first segment offset value.
  • the method can further include storing, by the at least one processor, a descriptor of the second packet segment in the at least one memory in a position relative to the descriptor of the first packet segment based on the comparison between the first segment offset value and the second segment offset value.
  • the method can include, when the comparison of the first segment offset and the second segment offset indicates that the second packet segment is subsequent to the first packet segment, storing, by the at least one processor, the descriptor of the second packet segment after the descriptor of the first packet segment.
  • the method can include, when the comparison of the first segment offset and the second segment offset indicates that the second packet segment is prior to the first packet segment, moving down, by the at least one processor, the descriptor of the first packet segment in the at least one memory.
  • the method can include, when the comparison of the first segment offset and the second segment offset indicates that the second packet segment is prior to the first packet segment, comparing, by the at least one processor, the second segment offset value to a third segment offset value of a third packet segment stored in the memory immediately above the first packet segment.
  • the method can include sorting, by the at least one processor, a plurality of segments including the first packet segment and the second packet segment based on comparisons of respective segment offsets of each of the plurality of segments.
  • the method can include discarding, by the at least one processor, a descriptor of at least one further segment when a comparison of the descriptor of the at least one further segment indicates a duplicate segment to an already stored descriptor.
  • the method can include verifying, by the at least one processor, that de segmentation is complete based on segment offset and payload length fields of a plurality of descriptors of a plurality of packet segments comprising the first packet segment and the second packet segment.
  • the verification that de-segmentation is complete can be performed in parallel with comparisons of segment offset values for sorting packet descriptors including the descriptor of the first packet segment and the descriptor of the second packet segment.
  • the method can include passing, by the at least one processor, an ordered list of a plurality of packet descriptors including the descriptor of the first packet segment and the descriptor of the second packet segment to a further module upon verification that de-segmentation is complete.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

Des modes de réalisation d'appareils et de procédés de dé-segmentation peuvent être applicables à des systèmes de communication, tels que des systèmes de communication sans fil. Dans un exemple, une puce de bande de base peut comprendre au moins une mémoire configurée pour stocker au moins un descripteur d'un premier segment de paquet ayant une première valeur de décalage de segment. La puce de bande de base peut également comprendre un circuit de dé-segmentation configuré pour comparer une seconde valeur de décalage de segment d'un second segment de paquet à la première valeur de décalage de segment. Le circuit de dé-segmentation peut être configuré pour stocker un descripteur du second segment de paquet dans la ou les mémoires dans une position par rapport au descripteur du premier segment de paquet sur la base de la comparaison entre la première valeur de décalage de segment et la seconde valeur de décalage de segment.
PCT/IB2020/062263 2020-02-20 2020-12-21 Procédé et appareil de dé-segmentation et de réassemblage de paquets WO2021165740A1 (fr)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US202062979059P 2020-02-20 2020-02-20
US62/979,059 2020-02-20

Publications (1)

Publication Number Publication Date
WO2021165740A1 true WO2021165740A1 (fr) 2021-08-26

Family

ID=77390539

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/IB2020/062263 WO2021165740A1 (fr) 2020-02-20 2020-12-21 Procédé et appareil de dé-segmentation et de réassemblage de paquets

Country Status (1)

Country Link
WO (1) WO2021165740A1 (fr)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5495298A (en) * 1993-03-24 1996-02-27 Sony Corporation Apparatus for concealing detected erroneous data in a digital image signal
US20050147126A1 (en) * 2004-01-06 2005-07-07 Jack Qiu Method and system for transmission control packet (TCP) segmentation offload
US20060282749A1 (en) * 2005-05-18 2006-12-14 Shaori Guo Erasure generation in a forward-error-correcting communication system
US20160173283A1 (en) * 2010-07-08 2016-06-16 Texas Instruments Incorporated Security processing engines, circuits and systems and adaptive processes and other processes
US9602636B1 (en) * 2009-09-09 2017-03-21 Amazon Technologies, Inc. Stateless packet segmentation and processing

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5495298A (en) * 1993-03-24 1996-02-27 Sony Corporation Apparatus for concealing detected erroneous data in a digital image signal
US20050147126A1 (en) * 2004-01-06 2005-07-07 Jack Qiu Method and system for transmission control packet (TCP) segmentation offload
US20060282749A1 (en) * 2005-05-18 2006-12-14 Shaori Guo Erasure generation in a forward-error-correcting communication system
US9602636B1 (en) * 2009-09-09 2017-03-21 Amazon Technologies, Inc. Stateless packet segmentation and processing
US20160173283A1 (en) * 2010-07-08 2016-06-16 Texas Instruments Incorporated Security processing engines, circuits and systems and adaptive processes and other processes

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
CALZOLARI ET AL.: "Channel coding for future space missions: New requirements and trends", PROCEEDINGS OF THE IEEE, vol. 95.11, 27 November 2007 (2007-11-27), pages 2157 - 2170, XP011197944, Retrieved from the Internet <URL:https://ieeexplore.ieee.org/abstract/document/4390033> [retrieved on 20210425], DOI: 10.1109/JPROC.2007.905134 *

Similar Documents

Publication Publication Date Title
EP1594284B1 (fr) Compression des entêtes et son utilisation avec l&#39;aggrégation des trames
EP1722516B1 (fr) Procédé et système de gestion des segments de protocole de transport désordonnés dans un système sans fil au moyen de placement direct des données
US8897293B1 (en) MAC processor architecture
US11159981B2 (en) Congestion processing method and apparatus
US8589586B2 (en) Method and apparatus for managing transmission of TCP data segments
EP2181540A2 (fr) Procédé de transmission efficace de blocs de données utilisant un indicateur d&#39;en-tête
US20220368494A1 (en) Uplink re-transmission with compact memory usage
US20220368782A1 (en) Baseband chip and method for layer 2 downlink data processing
WO2021152369A1 (fr) Schéma de transfert dynamique de données de bout en bout en liaison montante avec trajet de mémoire optimisé
CN116420346A (zh) 使用灵活的层2电路的层2数据处理装置和方法
US20230101531A1 (en) Uplink medium access control token scheduling for multiple-carrier packet data transmission
WO2021165740A1 (fr) Procédé et appareil de dé-segmentation et de réassemblage de paquets
WO2021042089A2 (fr) Traitement de paquet en liaison descendante
JP2023517081A (ja) 通信方法および装置
US9794930B1 (en) Method and apparatus for packet data unit processing for retransmission
US9843655B1 (en) Method and apparatus for packet data unit processing
WO2021152363A2 (fr) Traitement en ligne de données de liaison montante de couche 2 à l&#39;aide de circuits intégrés
WO2023030440A1 (fr) Procédé et appareil de traitement de données appliqués à une couche de commande d&#39;accès au support (mac)
WO2023091125A1 (fr) Appareil et procédé d&#39;un mécanisme de récupération de couche 2 servant à maintenir une synchronisation pour une communication sans fil
TW201021492A (en) Apparatus for performing a downlink or uplink processing in a wireless communication system, and method for processing data
WO2022197288A1 (fr) Mécanismes et procédés de gestion du nombre d&#39;hyper-trames pour traitement de paquets de démarrage précoce
CN116017738A (zh) 无线通信的方法及设备
CN115136727A (zh) 下行链路协议对齐和解码

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 20920405

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 20920405

Country of ref document: EP

Kind code of ref document: A1