Method and apparatus for wireless communication

By introducing a CB-level granular data packet processing method, the problems of large memory consumption and long processing time under the TB-level granular processing method are solved, achieving more efficient data packet processing and meeting the transmission requirements of URLLC.

CN116017738BActive Publication Date: 2025-11-21伟光有限公司(CN)
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202211600756.0
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2022-12-12
Publication Date
2025-11-21
Estimated Expiration
2042-12-12

AI Technical Summary

Technical Problem

In existing technologies, downlink data packet processing based on TB granularity requires buffering the entire TB before processing the MAC PDU, which consumes a large amount of memory and has a large latency, and cannot meet the transmission requirements of ultra-reliable low-latency communication (URLLC).

Method used

A packet processing approach based on CB granularity is adopted. The CB manager ensures that CB packets are arranged in order and decoded before L2 processing, thereby reducing the memory space occupied by cached data, reducing the system's memory access load, and improving the packet processing speed.

Benefits of technology

It reduces the memory space occupied by cached data, lowers the system's memory access load, accelerates the packet processing process, reduces processing latency, and meets the transmission requirements of URLLC.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN116017738B_ABST
    Figure CN116017738B_ABST
Patent Text Reader

Abstract

The application provides a method and device for wireless communication, which introduces CB granularity-based downlink data packet processing mode at L2, can reduce memory space occupied by buffered data, reduce system memory access load, accelerate data packet processing process, and reduce data packet processing delay. The method for wireless communication comprises the following steps: receiving a first CB data packet; decoding the first CB data packet to obtain at least one CB data packet descriptor; updating a state variable of a target window or discarding the first CB data packet according to an LCID corresponding to the first CB data packet; wherein the state variable of the target window is updated based on the at least one CB data packet descriptor.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to the field of communications, and more specifically, to a method and apparatus for wireless communication. Background Technology

[0002] Currently, downlink data packets are processed at Layer 2 (L2) based on the Transmission Block (TB) granularity. Specifically, this TB-based downlink data packet processing method has the following problems: the Media Access Control (MAC) layer must buffer the entire TB before processing the Media Access Control Protocol Data Unit (MAC PDU), consuming significant memory space and incurring substantial processing latency. Furthermore, if the TB contains Ultra-Reliable and Low-Latency Communication (URLLC) packets with a latency requirement less than a Transmission Time Interval (TTI), TB-based processing cannot meet the transmission requirements of such downlink data packets. Summary of the Invention

[0003] This application provides a wireless communication method and device, which introduces a downlink data packet processing mode based on CB granularity at L2, which can reduce the memory space occupied by cached data, reduce the system's memory access load, accelerate the data packet processing process, and reduce data packet processing latency.

[0004] Firstly, a wireless communication method is provided, comprising:

[0005] Receive the first CB data packet;

[0006] Decode the first CB packet to obtain at least one CB packet descriptor;

[0007] Based on the LCID corresponding to the first CB packet, update the state variable of the target window or discard the first CB packet; wherein the state variable of the target window is updated based on the at least one CB packet descriptor.

[0008] Secondly, a wireless communication device is provided, comprising:

[0009] The communication unit is used to receive the first coded block (CB) data packet;

[0010] The processing unit is used to decode the first CB data packet to obtain at least one CB data packet descriptor;

[0011] The processing unit is further configured to update the state variables of the target window or discard the first CB data packet based on the logical channel identifier (LCID) corresponding to the first CB data packet; wherein the state variables of the target window are updated based on the at least one CB data packet descriptor.

[0012] Thirdly, a communication device is provided, comprising: a transceiver and a processor; wherein,

[0013] The transceiver is configured to receive the first coded block (CB) data packet.

[0014] The processor is configured to: decode the first CB packet to obtain at least one CB packet descriptor; and update the state variable of the target window or discard the first CB packet according to the logical channel identifier (LCID) corresponding to the first CB packet; wherein the state variable of the target window is updated based on the at least one CB packet descriptor.

[0015] Fourthly, a communication device is provided for performing the methods described in the first aspect or its various implementations.

[0016] Specifically, the communication device includes a functional module for performing the methods described in the first aspect or its various implementations.

[0017] Fifthly, a communication device is provided, including a processor and a memory; wherein the memory is used to store a computer program, and the processor is used to call and run the computer program stored in the memory to perform the methods in the first aspect or its various implementations described above.

[0018] In a sixth aspect, an apparatus is provided for implementing the method in the first aspect or any of its implementations.

[0019] Specifically, the device includes a processor for calling and running a computer program from memory, causing a device equipped with the device to perform the methods described in the first aspect or its various implementations above.

[0020] In a seventh aspect, a chip is provided for implementing the methods in the first aspect or their various implementations described above.

[0021] Specifically, the chip includes a processor for calling and running a computer program from memory, causing a device on which the chip is mounted to perform the methods described in the first aspect or its various implementations above.

[0022] Eighthly, a computer-readable storage medium is provided for storing a computer program that causes a computer to perform the methods described in the first aspect or its implementations.

[0023] The above technical solution introduces a downlink packet processing method based on CB granularity in L2, which can reduce the memory space occupied by cached data, reduce the system's memory access load, accelerate the packet processing process, and reduce packet processing latency. Attached Figure Description

[0024] Figure 1 This is a schematic diagram of a communication system architecture provided in an embodiment of this application.

[0025] Figure 2 This is a schematic diagram of a packet processing architecture based on TB granularity provided in this application.

[0026] Figure 3 This is a schematic diagram of a packet processing architecture based on CB granularity provided in an embodiment of this application.

[0027] Figure 4 This is a schematic flowchart of a wireless communication method provided according to an embodiment of this application.

[0028] Figure 5 This is a schematic flowchart of packet processing based on CB granularity provided in an embodiment of this application.

[0029] Figure 6 This is a schematic diagram of an SSCL provided according to an embodiment of this application.

[0030] Figure 7 This is a schematic diagram of an RSCL provided according to an embodiment of this application.

[0031] Figure 8 This is a schematic block diagram of a wireless communication device provided according to an embodiment of this application.

[0032] Figure 9 This is a schematic block diagram of a communication device provided according to an embodiment of this application.

[0033] Figure 10 This is a schematic block diagram of an apparatus provided according to an embodiment of this application.

[0034] Figure 11 This is a schematic block diagram of a communication system provided according to an embodiment of this application. Detailed Implementation

[0035] The technical solutions of the embodiments of this application will now be described with reference to the accompanying drawings. Obviously, the described embodiments are only a part of the embodiments of this application, and not all of them. All other embodiments obtained by those skilled in the art without creative effort regarding the embodiments of this application are within the scope of protection of this application.

[0036] The technical solutions of this application embodiment can be applied to various communication systems, such as: Global System for Mobile Communication (GSM) system, Code Division Multiple Access (CDMA) system, Wideband Code Division Multiple Access (WCDMA) system, General Packet Radio Service (GPRS), Long Term Evolution (LTE) system, Advanced Long Term Evolution (LTE-A) system, New Radio (NR) system, evolution of NR system, LTE-based access to unlicensed spectrum (LTE-U) system, NR-based access to unlicensed spectrum (NR-U) system, Non-Terrestrial Networks (NTN) system, Universal Mobile Telecommunication System (UMTS), Wireless Local Area Networks (WLAN), and Wireless Fidelity (WF). Fidelity (WiFi), 5th-Generation (5G) communication systems, or other communication systems.

[0037] Traditional communication systems typically support a limited number of connections and are easy to implement. However, with the development of communication technology, mobile communication systems will not only support traditional communication but also, for example, device-to-device (D2D) communication, machine-to-machine (M2M) communication, machine-type communication (MTC), vehicle-to-vehicle (V2V) communication, or vehicle-to-everything (V2X) communication. The embodiments of this application can also be applied to these communication systems.

[0038] Optionally, the communication system in this application embodiment can be applied to a carrier aggregation (CA) scenario, a dual connectivity (DC) scenario, or a standalone (SA) network deployment scenario.

[0039] Optionally, the communication system in this application embodiment can be applied to unlicensed spectrum, wherein unlicensed spectrum can also be considered as shared spectrum; or, the communication system in this application embodiment can also be applied to licensed spectrum, wherein licensed spectrum can also be considered as non-shared spectrum.

[0040] This application describes various embodiments in conjunction with network devices and terminal devices. The terminal device may also be referred to as user equipment (UE), access terminal, user unit, user station, mobile station, mobile station, remote station, remote terminal, mobile device, user terminal, terminal, wireless communication device, user agent, or user device, etc.

[0041] Terminal devices can be stations (STAION, ST) in WLANs, cellular phones, cordless phones, Session Initiation Protocol (SIP) phones, Wireless Local Loop (WLL) stations, Personal Digital Assistant (PDA) devices, handheld devices with wireless communication capabilities, computing devices or other processing devices connected to a wireless modem, in-vehicle devices, wearable devices, terminal devices in next-generation communication systems such as NR networks, or terminal devices in future evolved Public Land Mobile Network (PLMN) networks, etc.

[0042] In the embodiments of this application, the terminal device can be deployed on land, including indoor or outdoor, handheld, wearable or vehicle-mounted; it can also be deployed on water (such as ships); and it can also be deployed in the air (such as airplanes, balloons and satellites).

[0043] In the embodiments of this application, the terminal device may be a mobile phone, a tablet computer, a computer with wireless transceiver capabilities, a virtual reality (VR) terminal device, an augmented reality (AR) terminal device, a wireless terminal device in industrial control, a wireless terminal device in self-driving, a wireless terminal device in remote medical care, a wireless terminal device in a smart grid, a wireless terminal device in transportation safety, a wireless terminal device in a smart city, or a wireless terminal device in a smart home, etc.

[0044] By way of example and not limitation, in this embodiment, the terminal device can also be a wearable device. Wearable devices, also known as wearable smart devices, are a general term for devices that utilize wearable technology to intelligently design and develop everyday wearables, such as glasses, gloves, watches, clothing, and shoes. Wearable devices are portable devices that are worn directly on the body or integrated into the user's clothing or accessories. Wearable devices are not merely hardware devices, but also achieve powerful functions through software support, data interaction, and cloud interaction. Broadly speaking, wearable smart devices include those that are feature-rich, large in size, and can achieve complete or partial functions without relying on a smartphone, such as smartwatches or smart glasses, as well as those that focus on a specific type of application function and require the use of other devices such as smartphones, such as various smart bracelets and smart jewelry for vital sign monitoring.

[0045] In the embodiments of this application, the network device can be a device for communicating with mobile devices. The network device can be an access point (AP) in WLAN, a base station (BTS) in GSM or CDMA, a base station (NodeB, NB) in WCDMA, an evolved Node B (eNB or eNodeB) in LTE, a relay station or access point, or a vehicle-mounted device, wearable device, or a network device (gNB) in an NR network, or a network device in a future evolved PLMN network or an NTN network, etc.

[0046] By way of example and not limitation, in this embodiment, the network device may have mobility characteristics; for example, the network device may be a mobile device. Optionally, the network device may be a satellite or a balloon station. For example, the satellite may be a low Earth orbit (LEO) satellite, a medium Earth orbit (MEO) satellite, a geostationary earth orbit (GEO) satellite, a high elliptical orbit (HEO) satellite, etc. Optionally, the network device may also be a base station located on land, water, or other similar locations.

[0047] In this embodiment, the network device can provide services to a cell. The terminal device communicates with the network device through the transmission resources (e.g., frequency domain resources, or spectrum resources) used by the cell. The cell can be the cell corresponding to the network device (e.g., a base station). The cell can belong to a macro base station or to a base station corresponding to a small cell. The small cell can include: metro cell, micro cell, pico cell, femto cell, etc. These small cells have the characteristics of small coverage area and low transmission power, and are suitable for providing high-speed data transmission services.

[0048] For example, the communication system 100 used in the embodiments of this application is as follows: Figure 1 As shown. The communication system 100 may include a network device 110, which may be a device that communicates with a terminal device 120 (or a communication terminal, terminal). The network device 110 can provide communication coverage for a specific geographical area and can communicate with terminal devices located within that coverage area.

[0049] Figure 1An exemplary embodiment shows a network device and two terminal devices. Optionally, the communication system 100 may include multiple network devices and each network device may include other numbers of terminal devices within its coverage area. This application embodiment does not limit this.

[0050] Optionally, the communication system 100 may also include other network entities such as a network controller and a mobility management entity, which is not limited in this embodiment.

[0051] It should be understood that devices with communication functions in the network / system of this application embodiment can be referred to as communication devices. Figure 1 Taking the communication system 100 shown as an example, the communication equipment may include a network device 110 and a terminal device 120 with communication functions. The network device 110 and the terminal device 120 may be the specific devices described above, which will not be repeated here. The communication equipment may also include other devices in the communication system 100, such as network controllers, mobility management entities and other network entities. This application embodiment does not limit this.

[0052] It should be understood that the terms "system" and "network" are often used interchangeably in this document. The term "and / or" in this document merely describes the relationship between related objects, indicating that three relationships can exist. For example, A and / or B can represent: A alone, A and B simultaneously, or B alone. Furthermore, the character " / " in this document generally indicates that the preceding and following related objects have an "or" relationship.

[0053] It should be understood that the term "instruction" mentioned in the embodiments of this application can be a direct instruction, an indirect instruction, or an indication of a relationship. For example, A instructing B can mean that A directly instructs B, such as B being able to obtain information through A; it can also mean that A indirectly instructs B, such as A instructing C, so B can obtain information through C; or it can mean that there is a relationship between A and B.

[0054] In the description of the embodiments of this application, the term "correspondence" may indicate that there is a direct or indirect correspondence between two things, or that there is an association between two things, or that there is a relationship of instruction and being instructed, configuration and being configured, etc.

[0055] In this embodiment of the application, "predefined" can be implemented by pre-storing corresponding codes, tables, or other means that can be used to indicate relevant information in the device (e.g., including terminal devices and network devices). This application does not limit the specific implementation method. For example, predefined can refer to what is defined in the protocol.

[0056] In this application embodiment, the "protocol" may refer to a standard protocol in the field of communication, such as the LTE protocol, the NR protocol, and related protocols applied to future communication systems. This application does not limit this.

[0057] To facilitate understanding of the technical solutions of the embodiments of this application, the technical solutions of this application are described in detail below through specific embodiments. The following related technologies are optional solutions and can be arbitrarily combined with the technical solutions of the embodiments of this application, all of which fall within the protection scope of the embodiments of this application. The embodiments of this application include at least some of the following contents.

[0058] With the development of mobile communications, data throughput is increasing rapidly. According to the 3rd Generation Partnership Project (3GPP), downlink data speeds can reach over 10Gbps while latency is reduced to below 1ms. Layer 2 (L2) downlink packet processing is triggered by transport block (TB) granular packets submitted by the physical layer within a transmission time interval (TTI). This TB-based packet processing approach has two limitations: firstly, the MAC layer must buffer the entire TB before processing the MAC PDU; secondly, if the TB contains ultra-reliable low-latency communication (URLLC) packets with latency requirements less than one TTI, TB-based processing cannot meet these requirements.

[0059] Data packet processing based on TB granularity suffers from poor real-time performance and is not optimal in terms of space utilization. In NR systems, with a subcarrier spacing of 15kHz and a TTI of 1ms, the maximum TB size can exceed 10 when the data rate reaches 10Gbps. 7 Bits. In practice, a TB is divided into many smaller code blocks (CBs) (N). cb (Typical value is 132), 24-bit CB-level Cyclic Redundancy Check (CRC) has an error rate comparable to TB CRC (CB err Even with a CB false detection miss rate (CB... err-TB The probability of not detecting TB errors may increase, but through special design, it can be controlled to a level that does not negatively affect the performance of higher-layer protocols.

[0060] A packet processing architecture based on TB granularity can be as follows: Figure 2As shown. In TB processing, the complete TB block is sent to L2. L2 first decodes the MAC layer header. When a complete MAC sub-PDU is available, it is further decoded by the Radio Link Control (RLC) header decoder. If the Protocol Data Unit (PDU) is long enough to contain the complete RLC PDU, it is further decoded by the Packet Data Convergence Protocol (PDCP) header decoder. When the L2 header decoder has finished its work, it forms a packet descriptor containing header information and the source address of the packet payload. The packet descriptor is passed to the RLC window checker to identify duplicate or out-of-window packets. If a packet passes the RLC window check, the RLC window state variable is updated. The PDCP count is then derived, and decryption is performed in the next step. Finally, if the PDU is within the PDCP window and is not a duplicate, the PDCP window state variable is updated.

[0061] During decryption, the security engine reads the payload from the source address in the packet descriptor and outputs the decrypted data to a buffer that can be read by layer 3 (L3). If integrity verification is configured, the output also includes a message checksum (such as X-MAC), which is compared with a message checksum (such as integrity checksum (MAC-I)) in the PDCP PDU. If the X-MAC matches the MAC-I, the integrity verification is passed, and the packet is handed over to L3 for further processing. In TB mode, L3 Transmission Control Protocol (TCP) / Internet Protocol (IP) packet checksum verification can be performed on either L2 or L3.

[0062] The downlink packet processing method based on TB granularity has the following problems: the MAC layer must buffer the entire TB before processing the MAC PDU, which occupies a large amount of memory space and has a large processing latency; on the other hand, if there are URLLC packets in the TB and the latency requirement is less than one TTI, the TB-based processing will not be able to meet the transmission requirements of such downlink packets.

[0063] To address the aforementioned issues, this application proposes a CB-based L2 end-to-end packet processing scheme. CB-based downlink packet processing can first reduce the buffer allocated to storing data packets (e.g., a TB data packet is divided into N...). cb If there are N CB packets, then the buffer required to allocate for one CB packet is 1 / N. cbMore importantly, compared to TB-level data processing, CB-level data processing has a smaller granularity, which helps reduce bursty data accesses and thus balances the system's memory access load. The peak bandwidth of Double Data Rate (DDR) access is averaged, and the processing latency is reduced to 1 / N of that of TB processing. cb Therefore, CB-granular processing is beneficial for power saving and reducing chip storage area without introducing performance degradation. When there are multiple MAC sub-PDUs (as well as multiple RLCPDUs and PDCP PDUs) in a TB, CB-granular downlink packet processing also helps reduce the on-chip memory footprint used to store packet descriptors, which can typically be in the hundreds.

[0064] In some embodiments, a CB-based packet processing architecture can be as follows: Figure 3 As shown. Compared to the above Figure 2 The illustrated packet processing architecture based on TB granularity introduces a new functional component, the CB manager, when TB is changed to CB. Compared to TB mode, the CB manager can reside in the physical layer. The CB manager's role is to ensure that CB packets submitted to Layer 2 (L2) are ordered. When L2 receives a CB packet in the sequence (i.e., the CB CRC check passes), similar to receiving a complete TB, the CB packet immediately triggers L2 processing. L2 attempts to decode the CB packet to obtain at least one CB packet descriptor, which contains header information and the CB packet payload source address. The CB packet undergoes an RLC window check, but the RLC window state variable is not immediately updated based on the new sequence number. Then, the CB packet descriptor is fed into the Security Strategy Component Logic (SSCL). Various security policies are checked in the SSCL, thus partially identifying the correctness of the CB packet at this stage. Even if the packet is correct, caution must be exercised because CB... errThis may exceed the carrier's service packet error rate (PER). Therefore, this involves a new component called the Reliability Strategy Component Logic (RSCL), which defines the policy for submitting the current CB packet to the upper layer. After the CB packet passes all checks, the RLC window state variable or the PDCP window state variable is ultimately updated based on the sequence number (SN) in the CB packet descriptor. The RLC window state variable is updated if at least one CB packet descriptor contains an RLC header; or the PDCP window state variable is updated if at least one CB packet descriptor contains a PDCP header.

[0065] It's important to note that in TB-level packet processing, the Low Density Parity Check Code (LDPC) / TURBO decoder transmits the MAC TB to L2 processing. In CB-level packet processing, the MAC PDU is dynamically processed by the CB. The difference between these two granularities is that CB-level processing improves latency performance and saves more on-chip memory, while TB-level processing forces the TURBO / LDPC decoder to store the MAC TB in DDR before delivering it to L2 processing (which would be costly if the TB were stored in on-chip memory), and incurs twice the DDR read / write (R / W) overhead.

[0066] CB-level granular processing is the best choice from a system design perspective. One issue with CB-level design is that CB CRC is 24 bits, which has relatively weak reliability. Therefore, it's possible that the CB CRC might be correct, but the CB content is actually incorrect (i.e., the final TB CRC fails). Thus, RSCL is needed to enhance reliability.

[0067] Figure 4 This is a schematic flowchart of a wireless communication method 200 according to an embodiment of this application, such as... Figure 4 As shown, the wireless communication method 200 may include, but is not limited to, the following:

[0068] S210, Receive the first CB data packet;

[0069] S220, decode the first CB data packet to obtain at least one CB data packet descriptor;

[0070] S230, update the state variable of the target window or discard the first CB packet according to the LCID corresponding to the first CB packet; wherein the state variable of the target window is updated based on the at least one CB packet descriptor.

[0071] In the embodiments of this application, the wireless communication method 200 can be applied to a device for receiving and processing CB data packets, or a terminal device integrating such a device; or, the wireless communication method 200 can be applied to a Layer 2 entity, or a terminal device integrating such a Layer 2 entity. That is, the executing entity of the embodiments of this application can be a terminal device, and the terminal device includes at least an RLC layer and a PDCP layer.

[0072] The following explanation uses method 200, which involves performing wireless communication on a layer 2 entity, as an example.

[0073] In the embodiments of this application, in packet processing based on CB granularity, the terminal device does not wait for TB CRC but preprocesses CB packets, thereby reducing the memory space occupied by cached data, reducing the load on system memory access, accelerating the packet processing process, and reducing packet processing latency.

[0074] In some embodiments, in S210 above, the first CB data packet can be received from the CB manager. Specifically, the CB manager can be deployed at the physical layer and can ensure that the CB data packets submitted to layer 2 are arranged in order. For example, a TB can be split into multiple CB data packets, and the CB manager can check the order of these multiple CB data packets to ensure that the CB data packets submitted to layer 2 are arranged in order.

[0075] In some embodiments, the CB packet descriptor in the at least one CB packet descriptor may include header information and the source address of the CB packet payload.

[0076] It should be noted that after a PDU session is established, the logical channel identity (LCID) corresponding to the downlink data packets transmitted in that PDU session can be determined.

[0077] In some embodiments, the target window is one of the following: an RLC window, a PDCP window.

[0078] In some embodiments, where the at least one CB packet descriptor contains an RLC header, the target window is an RLC window.

[0079] In some embodiments, where the at least one CB packet descriptor contains a PDCP header, the target window is a PDCP window.

[0080] In some embodiments, after the first CB packet is discarded, the at least one CB packet descriptor is discarded or deleted.

[0081] In some embodiments, the above-mentioned S230 may specifically include:

[0082] If the LCID corresponding to the first CB data packet does not match the locally stored LCID, the first CB data packet is discarded.

[0083] In other words, in packet processing based on CB granularity, it is necessary to ensure that the LCID is correct.

[0084] In some embodiments, the above-mentioned S230 may specifically include:

[0085] If the LCID corresponding to the first CB packet matches the locally stored LCID, and the LCID corresponding to the first CB packet indicates that a MAC CE exists after the LCID corresponding to the first CB packet, then store the at least one CB packet descriptor. Furthermore, after the TB CRC check of the first CB packet is completed, if the TB CRC check of the first CB packet is successful, update the state variable of the target window; or...

[0086] If the LCID corresponding to the first CB data packet matches the locally stored LCID, and the LCID corresponding to the first CB data packet indicates that there is a MAC CE after the LCID corresponding to the first CB data packet, then the at least one CB data packet descriptor is stored. And if the TB CRC check of the first CB data packet fails after the TB CRC check of the first CB data packet is completed, then the first CB data packet is discarded.

[0087] That is, in this embodiment, if the LCID corresponding to the first CB data packet indicates that there is a MAC CE after the LCID corresponding to the first CB data packet, in order to ensure the transmission of the MAC CE, it is necessary to decide whether to update the state variable of the target window or discard the first CB data packet based on the end of the TB CRC check.

[0088] It should be noted that the TB CRC corresponding to the first CB data packet can be the CRC of the TB to which the first CB data packet belongs. For example, if TB x is divided into multiple CB data packets, and these multiple CB data packets include the first CB data packet, then the TB CRC corresponding to the first CB data packet is the CRC of TB x.

[0089] In some embodiments, the above-mentioned S230 may specifically include:

[0090] If the LCID corresponding to the first CB packet matches the locally stored LCID, and the LCID corresponding to the first CB packet indicates that there is no MAC CE after the LCID corresponding to the first CB packet, the state variable of the target window is updated or the first CB packet is discarded based on the at least one CB packet descriptor.

[0091] In some embodiments, updating the state variable of the target window or discarding the first CB packet based on the at least one CB packet descriptor includes:

[0092] If the PDU SN in at least one CB packet descriptor is outside the target window, discard the first CB packet; or,

[0093] If the PDU SN in at least one CB packet descriptor is within the target window, the state variable of the target window is updated or the first CB packet is discarded based on the integrity check result corresponding to the first CB packet and / or whether the payload of the first CB packet is corrupted.

[0094] Therefore, in packet processing based on CB granularity, it is necessary to ensure that the PDU SN is within the target window, so that PDUs outside the target window or duplicates can be discarded.

[0095] In some embodiments, updating the state variable of the target window or discarding the first CB packet based on the integrity check result corresponding to the first CB packet and / or whether the payload of the first CB packet is corrupted includes:

[0096] With integrity verification enabled, if the integrity verification of the first CB data packet fails, the first CB data packet is discarded; or,

[0097] With integrity verification enabled, if the integrity verification of the first CB data packet is successful, the target window's status variable is updated or the first CB data packet is discarded, depending on whether the payload of the first CB data packet is corrupted; or...

[0098] If integrity verification is not enabled, the target window's status variable is updated or the first CB packet is discarded, depending on whether the payload of the first CB packet is corrupted.

[0099] For example, with integrity verification enabled, the at least one CB packet descriptor also includes a message verification code (such as X-MAC), which is compared with a message verification code (such as MAC-I) determined based on the payload of the first CB packet. If X-MAC matches MAC-I, then integrity verification is successful.

[0100] It should be noted that in NR systems, the PDCP SN is 18 bits, and SN looping is almost impossible; therefore, the PDCP hyperframe number (HFN) is a fixed value. In LTE systems, SN looping is more likely to occur, so the decrypted output data packet may be incorrect. Therefore, whether to discard the first CB data packet can be determined by checking if its payload is corrupted.

[0101] In some embodiments, updating the state variable of the target window or discarding the first CB packet based on whether the payload of the first CB packet is corrupted includes:

[0102] If the PDU session corresponding to the first CB packet is of type IP, and the checksum verification corresponding to the first CB packet is successful, update the status variable of the target window; or,

[0103] If the PDU session corresponding to the first CB packet is of type IP, and the checksum verification of the first CB packet fails, the target window's status variable is updated or the first CB packet is discarded based on the Quality of Service (QoS) information corresponding to the first CB packet; or,

[0104] If the PDU session corresponding to the first CB packet is of Ethernet type, and the CRC check of the first CB packet is successful, update the status variable of the target window; or,

[0105] If the PDU session corresponding to the first CB packet is of Ethernet type, and the CRC check of the first CB packet fails, the state variable of the target window is updated or the first CB packet is discarded according to the QoS information corresponding to the first CB packet.

[0106] For example, for IPv4 packets, the checksum can correspond to the header and payload; for IPv6 packets, the checksum can correspond to the payload.

[0107] For example, if the PDU session corresponding to the first CB packet is of type IP, the checksum corresponding to the first CB packet can be a 16-bit two's complement sum calculated from the IP pseudo header and the IP packet data. The IP pseudo header consists of the source IP address, the destination IP address, the IP protocol number, and the IP length (in bytes).

[0108] For example, if the PDU session corresponding to the first CB packet is of type IP, and the first CB packet is a User Data Protocol (UDP) packet within the IP type, the checksum corresponding to the first CB packet can be a 16-bit two's complement sum calculated from the IP pseudo-header and the UDP packet data. The IP pseudo-header consists of the source IP address, the destination IP address, the UDP protocol number, and the UDP length (in bytes).

[0109] In some embodiments, updating the state variable of the target window or discarding the first CB packet based on the QoS information corresponding to the first CB packet includes:

[0110] The first PER is determined based on the QoS information corresponding to the first CB data packet;

[0111] If the error rate of the CB CRC is less than the first PER, update the state variable of the target window; or...

[0112] If the error rate of the CB CRC is greater than or equal to the first PER, the first CB data packet is buffered, and if the TB CRC check of the transport block corresponding to the first CB data packet is successful after the check is completed, the state variable of the target window is updated; or...

[0113] If the error rate of the CB CRC is greater than or equal to the first PER, the first CB data packet is buffered, and if the TB CRC check corresponding to the first CB data packet fails after the TB CRC check of the first CB data packet is completed, the first CB data packet is discarded.

[0114] Specifically, the Packet Error Rate (PER) defines the upper limit of the number of PDUs (e.g., IP packets) that are not correctly received. These PDUs have been processed by the sender of the link layer protocol (e.g., the RLC entity), but the corresponding receiver failed to successfully transmit them to the upper layer (PDCP entity). In the NR case, since the PDCP COUNT is a fixed value, the packet errors detected after SSCL must be caused by physical layer demodulation errors in the CB.

[0115] It should be noted that if the error rate of CB CRC is less than that of the first PER, it means that the first CB packet is likely correct and should not need to wait for TB CRC; it can be submitted to the upper layer normally. If the error rate of CB CRC is greater than or equal to that of the first PER, it means that the error rate of CB CRC is insufficient to detect errors, and further processing is needed after receiving the result of TB CRC.

[0116] Optionally, the error rate of CB CRC is a theoretically relatively fixed value, such as 10. -6 .

[0117] In some embodiments, updating the state variable of the target window or discarding the first CB packet based on the QoS information corresponding to the first CB packet includes:

[0118] The first PER is determined based on the QoS information corresponding to the first CB data packet, and the first PDB is determined based on the QoS information corresponding to the first CB data packet;

[0119] If the error rate of the CB CRC is greater than or equal to the first PER, and if SRTT < β * the first PDB, discard the first CB packet; or,

[0120] If the error rate of the CB CRC is greater than or equal to the first PER, and if SRTT ≥ β * the first PDB, buffer the first CB data packet. After the TB CRC check of the first CB data packet is completed, if the TB CRC check of the first CB data packet is successful, update the state variable of the target window; or...

[0121] If the error rate of the CB CRC is greater than or equal to the first PER, and if SRTT≥β*the first PDB, the first CB data packet is buffered. If the TB CRC check of the first CB data packet fails after the TB CRC check of the first CB data packet is completed, the first CB data packet is discarded.

[0122] Where β≥2.

[0123] Specifically, the Packet Delay Budget (PDB) defines the upper limit of the possible delay of data packets between the UE and the User Plane Function (UPF) entity. The PDB can include: the delay between the UE end-to-end (between the Access Point (AP) and the physical layer), the air interface (between the UE and the Access Network (AN)), and the delay between the AN and the UPF entity (N3 interface).

[0124] It should be noted that if SRTT < β * first PDB, it means that the application layer has left enough time for the protocol stack to retransmit, so it is okay for the protocol stack to discard the first CB data packet.

[0125] Within Layer 2 at the UE, end-to-end latency largely depends on the UE functions provided by the system architecture, including latency caused by Hybrid Automatic Repeat reQuest (HARQ). Due to significant variations in radio conditions, it is difficult to calculate the Round Trip Time (RTT) directly from the data plane (L2). On the other hand, when establishing a TCP / IP connection, the RTT value is adjusted based on smooth RTT (SRTT). That is, a smoothing factor is applied to the RTT to create a predicted round-trip time that is beneficial for ensuring packet delivery.

[0126] Alternatively, SRTT can be calculated based on the following formula 1.

[0127] SRTT= SRTT(α* SRTT) + ((1-α) * RTT) Formula 1

[0128] Where α represents a smoothing factor between 0.8 RTT and 0.9 RTT.

[0129] Optionally, RTT can be a parameter obtained from the L3 IP layer.

[0130] In some embodiments, the first PER is determined from preset QoS template information based on the QoS information corresponding to the first CB data packet;

[0131] The preset QoS template information includes at least multiple QoS information and PER corresponding to the multiple QoS information, and the multiple QoS information includes the QoS information corresponding to the first CB data packet.

[0132] In some embodiments, the first PDB is determined from preset QoS template information based on the QoS information corresponding to the first CB data packet;

[0133] The preset QoS template information includes at least multiple QoS information and PDBs corresponding to the multiple QoS information, and the multiple QoS information includes the QoS information corresponding to the first CB data packet.

[0134] In some embodiments, the preset QoS template information can be obtained from the Non-Access Stratum (NAS) Session Management (SM) layer.

[0135] In some embodiments, the preset QoS template information may be as shown in Table 1.

[0136] Table 1

[0137]

[0138]

[0139] It should be noted that in Table 1 above, QoS can be represented by a 5G QoS Indicator (5QI), and resource types may include Guaranteed Bit Rate (GBR), Non-GBR, and Delay Critical (GBR). The parameters in Table 1 are merely examples and do not constitute a limitation on this application. Furthermore, the preset QoS template information may also include other parameters, which are not limited in this embodiment.

[0140] In some embodiments, an optional process for packet processing based on CB granularity can be as follows: Figure 5 As shown, it may specifically include the following steps 0 to 12.

[0141] Step 0: Receive a first CB data packet, wherein the first CB data packet is decoded to obtain at least one CB data packet descriptor, and the TB to which the first CB data packet belongs detects a complete MAC sub-PDU.

[0142] Step 1: If the LCID corresponding to the first CB data packet matches the locally stored LCID, and the LCID corresponding to the first CB data packet indicates that a MAC CE exists after the LCID corresponding to the first CB data packet, store at least one CB data packet descriptor until the TB CRC check ends to trigger actual processing. For example, if the TBCRC check of the first CB data packet is successful, update the state variable of the target window; if the TB CRC check of the first CB data packet fails, discard the first CB data packet.

[0143] Step 1: If the LCID corresponding to the first CB data packet does not match the LCID stored locally, discard the first CB data packet.

[0144] If the LCID corresponding to the first CB packet matches the locally stored LCID, and the LCID corresponding to the first CB packet indicates that there is no MAC CE after the LCID corresponding to the first CB packet, then proceed to step 2.

[0145] Step 2: Perform Layer 2 header decoding. In the Security Policy Component Logic (SSCL), if the PDU SN is not in the receive window, discard the first CB packet; otherwise, proceed to Step 3.

[0146] Step 3: Calculate the PDCP count (PDCP COUNT), which includes the HFN and PDCP SN, and then perform decryption and integrity verification.

[0147] Step 4: If the integrity check fails, discard the first CB data packet; if the integrity check passes, proceed to step 11 or execute step 5 or step 6; if the integrity check is not enabled, execute step 5 or step 6.

[0148] Step 5: If the PDU session corresponding to the first CB data packet is of Ethernet type, then calculate the CRC of the Ethernet frame.

[0149] otherwise

[0150] Step 6: If the PDU session corresponding to the first CB packet is of type IP, calculate the IPv4 IP header and payload checksum, or calculate the IPv6 payload checksum.

[0151] Step 7: If the CRC check of the Ethernet frame passes or the checksum check of the IP passes, proceed to step 11, update the RLC / PDCP window status variables and receive the status bitmap, and the process ends; otherwise, execute step 8.

[0152] Step 8: The first CB packet is decoded to obtain at least one CB packet descriptor, which is then checked in the Reliability Policy Component Logic (RSCL) to examine the QoS parameters of the current service.

[0153] Step 9: If the QoS requirement of the PDU session corresponding to the first CB data packet is less than that of the CB... err If so, the payload of the first CB packet can be discarded, and at least one CB packet descriptor flows to step 11; otherwise, step 10 is executed.

[0154] Step 10: At least one CB packet descriptor is buffered until the TB CRC ends at the physical layer PHY. If the TB CRC passes, proceed to step 11; otherwise, proceed to step 12.

[0155] Step 11: Update the RLC / PDCP window status variables and the receive status bitmap, and the process ends.

[0156] Step 12: Discard at least one CB packet descriptor in the buffer.

[0157] It should be understood that Figure 5 The steps or operations for packet processing based on CB granularity are illustrated, but these steps or operations are merely examples, and other operations may be performed in the embodiments of this application. Figure 5 Variations of various operations within it.

[0158] In some embodiments, the Security Policy Component Logic (SSCL) can be as follows: Figure 6 As shown, by connecting the security engine with the checksum / CRC check engine, error detection is extended not only by performing integrity checks defined in the 3GPP data plane, but also by performing corruption checks in Ethernet / IP communications. Packets can be pipelined through the hardware implementation of the security engine and the checksum / CRC check engine. If no error is detected, the packet is trusted (PDCP HFN is also trusted), and the RLC window state variable or PDCP window state variable is updated, completing packet processing in Layer 2. However, if the SSCL detects an error, further policy processing is performed in the Reliability Policy Component Logic (RSCL) before the packet is ultimately discarded.

[0159] In some embodiments, the Reliability Strategy Component Logic (RSCL) can be as follows: Figure 7 As shown, when the SSCL detects an error in a data packet, the packet is further fed into the RSCL. Packet errors arise from two factors: first, the PDCP HFN may be an incorrect value in LTE; second, there may be errors in the CB that are not detected by the security engine and checksum / CRC check engine. In either case, reliability is ensured through the RSCL.

[0160] Optionally, in RSCL, the first PER is determined based on the QoS information corresponding to the first CB data packet;

[0161] If the error rate of the CB CRC is less than the first PER, update the state variable of the target window; or...

[0162] If the error rate of the CB CRC is greater than or equal to the first PER, the first CB data packet is buffered, and if the TB CRC check of the transport block corresponding to the first CB data packet is successful after the check is completed, the state variable of the target window is updated; or...

[0163] If the error rate of the CB CRC is greater than or equal to the first PER, the first CB data packet is buffered, and if the TB CRC check corresponding to the first CB data packet fails after the TB CRC check of the first CB data packet is completed, the first CB data packet is discarded.

[0164] Optionally, in RSCL, a first PER is determined based on the QoS information corresponding to the first CB data packet, and a first PDB is determined based on the QoS information corresponding to the first CB data packet;

[0165] If the error rate of the CB CRC is greater than or equal to the first PER, and if SRTT < β * the first PDB, discard the first CB packet; or,

[0166] If the error rate of the CB CRC is greater than or equal to the first PER, and if SRTT ≥ β * the first PDB, buffer the first CB data packet. After the TB CRC check of the first CB data packet is completed, if the TB CRC check of the first CB data packet is successful, update the state variable of the target window; or...

[0167] If the error rate of the CB CRC is greater than or equal to the first PER, and if SRTT≥β*the first PDB, the first CB data packet is buffered. If the TB CRC check of the first CB data packet fails after the TB CRC check of the first CB data packet is completed, the first CB data packet is discarded.

[0168] Where β≥2.

[0169] Optionally, the first PER is determined from preset QoS template information based on the QoS information corresponding to the first CB data packet; wherein the preset QoS template information includes at least multiple QoS information and PERs corresponding to the multiple QoS information, and the multiple QoS information includes the QoS information corresponding to the first CB data packet.

[0170] Optionally, the first PDB is determined from preset QoS template information based on the QoS information corresponding to the first CB data packet; wherein the preset QoS template information includes at least multiple QoS information and PDBs corresponding to the multiple QoS information, and the multiple QoS information includes the QoS information corresponding to the first CB data packet.

[0171] Therefore, in this embodiment of the application, a downlink packet processing method based on CB granularity is introduced in L2, which can reduce the memory space occupied by cached data, reduce the load on system memory access, accelerate the packet processing process, and reduce packet processing latency.

[0172] Furthermore, the CB-based downlink packet processing method can reduce the memory consumption of physical layer storage (TB) and forwarding to the data plane. Because the CB-based downlink packet processing method reduces one memory read and write operation, the modem power consumption is lower. The minimum latency is reduced from 1ms (or 1 TTI) to 1 / Ncb (e.g., 1 / 132ms when Ncb = 132). The CB-based downlink packet processing method facilitates high-speed, high-throughput data processing.

[0173] The above text combined Figure 4 and Figure 7 The method embodiments of this application are described in detail below, in conjunction with... Figures 8 to 11 The present application describes the device embodiments in detail. It should be understood that the device embodiments correspond to the method embodiments, and similar descriptions can be referred to the method embodiments.

[0174] Figure 8 A schematic block diagram of a wireless communication device 300 according to an embodiment of this application is shown. Figure 8 As shown, the wireless communication device 300 includes: a communication unit 310 and a processing unit 320;

[0175] The communication unit 310 is used to receive the first coded block (CB) data packet;

[0176] The processing unit 320 is used to decode the first CB data packet to obtain at least one CB data packet descriptor;

[0177] The processing unit 320 is further configured to update the state variable of the target window or discard the first CB data packet according to the logical channel identifier (LCID) corresponding to the first CB data packet; wherein the state variable of the target window is updated based on the at least one CB data packet descriptor.

[0178] In some embodiments, the processing unit 320 is specifically used for:

[0179] If the LCID corresponding to the first CB data packet matches the locally stored LCID, and the LCID corresponding to the first CB data packet indicates that there is no Media Access Control (MAC) CE after the LCID corresponding to the first CB data packet, then based on the at least one CB data packet descriptor, the state variable of the target window is updated or the first CB data packet is discarded; or,

[0180] If the LCID corresponding to the first CB packet matches the locally stored LCID, and the LCID corresponding to the first CB packet indicates that a MAC CE exists after the LCID corresponding to the first CB packet, then store the at least one CB packet descriptor. Furthermore, after the TB CRC check of the first CB packet is completed, if the TB CRC check of the first CB packet is successful, update the state variable of the target window; or...

[0181] If the LCID corresponding to the first CB packet matches the locally stored LCID, and the LCID corresponding to the first CB packet indicates that a MAC CE exists after the LCID corresponding to the first CB packet, then the at least one CB packet descriptor is stored. Furthermore, if the TB CRC check of the first CB packet fails after the TB CRC check of the first CB packet is completed, the first CB packet is discarded; or...

[0182] If the LCID corresponding to the first CB data packet does not match the locally stored LCID, the first CB data packet is discarded.

[0183] In some embodiments, the processing unit 320 is specifically used for:

[0184] If the Protocol Data Unit (PDU) sequence number (SN) in at least one CB packet descriptor is outside the target window, the first CB packet is discarded; or...

[0185] If the PDU SN in at least one CB packet descriptor is within the target window, the state variable of the target window is updated or the first CB packet is discarded based on the integrity check result corresponding to the first CB packet and / or whether the payload of the first CB packet is corrupted.

[0186] In some embodiments, the processing unit 320 is specifically used for:

[0187] If integrity verification fails when integrity check is enabled, the first CB data packet is discarded; or,

[0188] With integrity verification enabled, if the integrity verification of the first CB data packet is successful, the state variable of the target window is updated or the first CB data packet is discarded, depending on whether the payload of the first CB data packet is corrupted; or...

[0189] If integrity verification is not enabled, the target window's status variable is updated or the first CB packet is discarded, depending on whether the payload of the first CB packet is corrupted.

[0190] In some embodiments, the processing unit 320 is specifically used for:

[0191] If the PDU session corresponding to the first CB packet is of type Internet Protocol (IP), and the checksum verification corresponding to the first CB packet is successful, update the status variable of the target window; or,

[0192] If the PDU session corresponding to the first CB packet is of type IP, and the checksum verification of the first CB packet fails, the target window's status variable is updated or the first CB packet is discarded based on the QoS information corresponding to the first CB packet; or,

[0193] If the PDU session corresponding to the first CB packet is of Ethernet type, and the CRC check of the first CB packet is successful, update the status variable of the target window; or,

[0194] If the PDU session corresponding to the first CB packet is of Ethernet type, and the CRC check of the first CB packet fails, the state variable of the target window is updated or the first CB packet is discarded according to the QoS information corresponding to the first CB packet.

[0195] In some embodiments, the processing unit 320 is specifically used for:

[0196] The error rate PER of the first data packet is determined based on the QoS information corresponding to the first CB data packet.

[0197] If the error rate of the CB CRC is less than the first PER, update the state variable of the target window; or...

[0198] If the error rate of the CB CRC is greater than or equal to the first PER, the first CB data packet is buffered, and if the TB CRC check of the transport block corresponding to the first CB data packet is successful after the check is completed, the state variable of the target window is updated; or...

[0199] If the error rate of the CB CRC is greater than or equal to the first PER, the first CB data packet is buffered, and if the TB CRC check corresponding to the first CB data packet fails after the TB CRC check of the first CB data packet is completed, the first CB data packet is discarded.

[0200] In some embodiments, the processing unit 320 is specifically used for:

[0201] The first PER is determined based on the QoS information corresponding to the first CB data packet, and the first data packet delay budget (PDB) is determined based on the QoS information corresponding to the first CB data packet.

[0202] If the error rate of the CB CRC is greater than or equal to the first PER, and the smooth round-trip time SRTT < β * the first PDB, then the first CB data packet is discarded; or,

[0203] If the error rate of the CB CRC is greater than or equal to the first PER, and if SRTT ≥ β * the first PDB, buffer the first CB data packet. After the TB CRC check of the first CB data packet is completed, if the TB CRC check of the first CB data packet is successful, update the state variable of the target window; or...

[0204] If the error rate of the CB CRC is greater than or equal to the first PER, and if SRTT≥β*the first PDB, the first CB data packet is buffered. If the TB CRC check of the first CB data packet fails after the TB CRC check of the first CB data packet is completed, the first CB data packet is discarded.

[0205] Where β≥2.

[0206] In some embodiments, the processing unit 320 is specifically used for:

[0207] The first PER is determined from the preset QoS template information based on the QoS information corresponding to the first CB data packet;

[0208] The preset QoS template information includes at least multiple QoS information and PER corresponding to the multiple QoS information, and the multiple QoS information includes the QoS information corresponding to the first CB data packet.

[0209] In some embodiments, the processing unit 320 is specifically used for:

[0210] The first PDB is determined from the preset QoS template information based on the QoS information corresponding to the first CB data packet;

[0211] The preset QoS template information includes at least multiple QoS information and PDBs corresponding to the multiple QoS information, and the multiple QoS information includes the QoS information corresponding to the first CB data packet.

[0212] In some embodiments, the target window is one of the following: Radio Link Control (RLC) window, Packet Data Convergence Protocol (PDCP) window.

[0213] In some embodiments, if the at least one CB packet descriptor contains an RLC header, the target window is an RLC window; or, if the at least one CB packet descriptor contains a PDCP header, the target window is a PDCP window.

[0214] In some embodiments, the communication unit may be a communication interface or transceiver, or an input / output interface of a communication chip or system-on-a-chip. The processing unit may be one or more processors.

[0215] It should be understood that the wireless communication device 300 according to the embodiments of this application may correspond to the method embodiments of this application, and the above and other operations and / or functions of each unit in the wireless communication device 300 are respectively for implementing Figure 4 The corresponding process in method 200 shown will not be described in detail here for the sake of brevity.

[0216] Figure 9 This is a schematic structural diagram of a communication device 400 provided in an embodiment of this application. Figure 9 The communication device 400 shown includes a processor 410, which can call and run computer programs from memory to implement the methods in the embodiments of this application.

[0217] In some embodiments, such as Figure 9 As shown, the communication device 400 may further include a memory 420. The processor 410 can retrieve and run computer programs from the memory 420 to implement the methods described in this embodiment.

[0218] The memory 420 can be a separate device independent of the processor 410, or it can be integrated into the processor 410.

[0219] In some embodiments, such as Figure 9 As shown, the communication device 400 may also include a transceiver 430, and the processor 410 may control the transceiver 430 to communicate with other devices. Specifically, it may send information or data to other devices or receive information or data sent by other devices.

[0220] The transceiver 430 may include a transmitter and a receiver. The transceiver 430 may further include an antenna, and the number of antennas may be one or more.

[0221] In some embodiments, the processor 410 can implement the functions of the processing unit in the terminal device, which will not be described in detail here for the sake of brevity.

[0222] In some embodiments, the transceiver 430 can perform the functions of a communication unit in a terminal device, which will not be described in detail here for the sake of brevity.

[0223] In some embodiments, the communication device 400 may specifically be a terminal device in the embodiments of this application, and the communication device 400 may implement the corresponding processes implemented by the terminal device in the various methods of the embodiments of this application. For the sake of brevity, it will not be described in detail here.

[0224] Figure 10 This is a schematic structural diagram of the device according to an embodiment of this application. Figure 10The illustrated apparatus 500 includes a processor 510, which can call and run computer programs from memory to implement the methods in the embodiments of this application.

[0225] In some embodiments, such as Figure 10 As shown, the device 500 may further include a memory 520. The processor 510 can retrieve and run computer programs from the memory 520 to implement the methods described in the embodiments of this application.

[0226] The memory 520 can be a separate device independent of the processor 510, or it can be integrated into the processor 510.

[0227] In some embodiments, the processor 510 can implement the functions of the processing unit in the terminal device, which will not be described in detail here for the sake of brevity.

[0228] In some embodiments, the device 500 may further include an input interface 530. The processor 510 can control the input interface 530 to communicate with other devices or chips; specifically, it can acquire information or data sent by other devices or chips. Optionally, the processor 510 may be located inside or outside the chip.

[0229] In some embodiments, the input interface 530 can implement the function of a communication unit in a terminal device.

[0230] In some embodiments, the device 500 may further include an output interface 540. The processor 510 can control the output interface 540 to communicate with other devices or chips; specifically, it can output information or data to other devices or chips. Optionally, the processor 510 may be located inside or outside the chip.

[0231] In some embodiments, the output interface 540 can implement the function of a communication unit in a terminal device.

[0232] In some embodiments, the device can be applied to the network device in the embodiments of this application, and the device can implement the corresponding processes implemented by the network device in the various methods of the embodiments of this application. For the sake of brevity, it will not be described in detail here.

[0233] In some embodiments, the device can be applied to the terminal device in the embodiments of this application, and the device can implement the corresponding processes implemented by the terminal device in the various methods of the embodiments of this application. For the sake of brevity, it will not be described in detail here.

[0234] In some embodiments, the apparatus mentioned in the present application may also be a chip. For example, it may be a system-on-a-chip, a system-on-a-chip, a chip system, or a system-on-a-chip, etc.

[0235] Figure 11 This is a schematic block diagram of a communication system 600 provided in an embodiment of this application. Figure 11 As shown, the communication system 600 includes a terminal device 610 and a network device 620.

[0236] The terminal device 610 can be used to implement the corresponding functions implemented by the terminal device in the above method, and the network device 620 can be used to implement the corresponding functions implemented by the network device in the above method. For the sake of brevity, they will not be described in detail here.

[0237] It should be understood that the processor in the embodiments of this application may be an integrated circuit chip with signal processing capabilities. In implementation, the steps of the above method embodiments can be completed by integrated logic circuits in the processor's hardware or by instructions in software form. The processor described above can be a general-purpose processor, a digital signal processor (DSP), an application-specific integrated circuit (ASIC), a field-programmable gate array (FPGA), or other programmable logic devices, discrete gate or transistor logic devices, or discrete hardware components. It can implement or execute the methods, steps, and logic block diagrams disclosed in the embodiments of this application. The general-purpose processor can be a microprocessor or any conventional processor. The steps of the methods disclosed in the embodiments of this application can be directly embodied in the execution of a hardware decoding processor, or executed by a combination of hardware and software modules in the decoding processor. The software modules can be located in random access memory, flash memory, read-only memory, programmable read-only memory, electrically erasable programmable memory, registers, or other mature storage media in the art. The storage medium is located in memory, and the processor reads information from the memory and, in conjunction with its hardware, completes the steps of the above method.

[0238] It is understood that the memory in the embodiments of this application can be volatile memory or non-volatile memory, or may include both volatile and non-volatile memory. The non-volatile memory can be read-only memory (ROM), programmable read-only memory (PROM), erasable programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM), or flash memory. The volatile memory can be random access memory (RAM), which is used as an external cache. By way of example, but not limitation, many forms of RAM are available, such as Static Random Access Memory (SRAM), Dynamic Random Access Memory (DRAM), Synchronous DRAM (SDRAM), Double Data Rate SDRAM (DDR SDRAM), Enhanced Synchronous DRAM (ESDRAM), Synchlink DRAM (SLDRAM), and Direct Rambus RAM (DR RAM). It should be noted that the memory used in the systems and methods described herein is intended to include, but is not limited to, these and any other suitable types of memory.

[0239] It should be understood that the above-described memory is exemplary and not a limiting description. For example, the memory in the embodiments of this application may also be static random access memory (SRAM), dynamic random access memory (DRAM), synchronous dynamic random access memory (SDRAM), double data rate synchronous dynamic random access memory (DDR SDRAM), enhanced synchronous dynamic random access memory (ESDRAM), synchronous link dynamic random access memory (SLDRAM), and direct memory bus RAM (DR RAM), etc. That is to say, the memory in the embodiments of this application is intended to include, but is not limited to, these and any other suitable types of memory.

[0240] This application also provides a computer-readable storage medium for storing computer programs.

[0241] In some embodiments, the computer-readable storage medium can be applied to the terminal device in the embodiments of this application, and the computer program causes the computer to execute the corresponding processes implemented by the terminal device in the various methods of the embodiments of this application. For the sake of brevity, it will not be described in detail here.

[0242] Those skilled in the art will recognize that the units and algorithm steps of the various examples described in conjunction with the embodiments disclosed herein can be implemented in electronic hardware, or a combination of computer software and electronic hardware. Whether these functions are implemented in hardware or software depends on the specific application and design constraints of the technical solution. Those skilled in the art can use different methods to implement the described functions for each specific application, but such implementation should not be considered beyond the scope of this application.

[0243] Those skilled in the art will clearly understand that, for the sake of convenience and brevity, the specific working processes of the systems, devices, and units described above can be referred to the corresponding processes in the foregoing method embodiments, and will not be repeated here.

[0244] In the several embodiments provided in this application, it should be understood that the disclosed systems, apparatuses, and methods can be implemented in other ways. For example, the apparatus embodiments described above are merely illustrative; for instance, the division of units is only a logical functional division, and in actual implementation, there may be other division methods. For example, multiple units or components may be combined or integrated into another system, or some features may be ignored or not executed. Furthermore, the coupling or direct coupling or communication connection shown or discussed may be through some interfaces; the indirect coupling or communication connection between apparatuses or units may be electrical, mechanical, or other forms.

[0245] The units described as separate components may or may not be physically separate. The components shown as units may or may not be physical units; that is, they may be located in one place or distributed across multiple network units. Some or all of the units can be selected to achieve the purpose of this embodiment according to actual needs.

[0246] In addition, the functional units in the various embodiments of this application can be integrated into one processing unit, or each unit can exist physically separately, or two or more units can be integrated into one unit.

[0247] If the aforementioned functions are implemented as software functional units and sold or used as independent products, they can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of this application, in essence, or the part that contributes to the prior art, or a portion of the technical solution, can be embodied in the form of a software product. This computer software product is stored in a storage medium and includes several instructions to cause a computer device (which may be a personal computer, server, or network device, etc.) to execute all or part of the steps of the methods described in the various embodiments of this application. The aforementioned storage medium includes various media capable of storing program code, such as USB flash drives, portable hard drives, read-only memory (ROM), random access memory (RAM), magnetic disks, or optical disks.

[0248] The above description is merely a specific embodiment of this application, but the scope of protection of this application is not limited thereto. Any variations or substitutions that can be easily conceived by those skilled in the art within the scope of the technology disclosed in this application should be included within the scope of protection of this application. Therefore, the scope of protection of this application should be determined by the scope of the claims.

Claims

1. A method for wireless communication, characterized in that, include: Receive the first coded block (CB) data packet; The first CB data packet is decoded to obtain at least one CB data packet descriptor; Based on the Logical Channel Identifier (LCID) corresponding to the first CB data packet, update the state variable of the target window or discard the first CB data packet; wherein, the state variable of the target window is updated based on the at least one CB data packet descriptor.

2. The method according to claim 1, characterized in that, The step of updating the target window's state variable or discarding the first CB data packet based on the Logical Channel Identifier (LCID) corresponding to the first CB data packet includes: If the LCID corresponding to the first CB packet matches the locally stored LCID, and the LCID corresponding to the first CB packet indicates that there is no Media Access Control (MAC) CE after the LCID corresponding to the first CB packet, then based on the at least one CB packet descriptor, the state variable of the target window is updated or the first CB packet is discarded; or... If the LCID corresponding to the first CB packet matches the locally stored LCID, and the LCID corresponding to the first CB packet indicates that a MAC CE exists after the LCID corresponding to the first CB packet, then store the at least one CB packet descriptor. Furthermore, if the TB CRC check of the first CB packet is successful after completion, update the state variable of the target window; or... If the LCID corresponding to the first CB data packet matches the locally stored LCID, and the LCID corresponding to the first CB data packet indicates that a MAC CE exists after the LCID corresponding to the first CB data packet, then store the at least one CB data packet descriptor. Furthermore, if the TB CRC check of the first CB data packet fails after the TB CRC check of the first CB data packet is completed, discard the first CB data packet; or... If the LCID corresponding to the first CB data packet does not match the locally stored LCID, the first CB data packet is discarded.

3. The method according to claim 2, characterized in that, The step of updating the state variable of the target window or discarding the first CB packet based on the at least one CB packet descriptor includes: If the Protocol Data Unit (PDU) sequence number (SN) in the at least one CB packet descriptor is outside the target window, the first CB packet is discarded; or... If the PDU SN in the at least one CB packet descriptor is within the target window, the state variable of the target window is updated or the first CB packet is discarded based on the integrity check result corresponding to the first CB packet and / or whether the payload of the first CB packet is corrupted.

4. The method according to claim 3, characterized in that, The step of updating the state variable of the target window or discarding the first CB data packet based on the integrity verification result corresponding to the first CB data packet and / or whether the payload of the first CB data packet is corrupted includes: If integrity verification fails when integrity check is enabled, the first CB data packet is discarded; or, With integrity verification enabled, if the integrity verification of the first CB data packet is successful, the state variable of the target window is updated or the first CB data packet is discarded, depending on whether the payload of the first CB data packet is corrupted; or... If integrity verification is not enabled, the target window's status variable is updated or the first CB packet is discarded, depending on whether the payload of the first CB packet is corrupted.

5. The method according to claim 4, characterized in that, The step of updating the target window's state variable or discarding the first CB data packet based on whether its payload is corrupted includes: If the PDU session corresponding to the first CB data packet is of type Internet Protocol (IP), and the checksum of the first CB data packet is successful, update the state variable of the target window; or... If the PDU session corresponding to the first CB packet is of type IP, and the checksum verification of the first CB packet fails, the state variable of the target window is updated or the first CB packet is discarded based on the QoS information corresponding to the first CB packet; or... If the PDU session corresponding to the first CB data packet is of Ethernet type, and the cyclic redundancy check (CRC) check of the first CB data packet is successful, update the state variable of the target window; or... If the PDU session corresponding to the first CB packet is of Ethernet type, and the CRC check of the first CB packet fails, the state variable of the target window is updated or the first CB packet is discarded according to the QoS information corresponding to the first CB packet.

6. The method according to claim 5, characterized in that, The step of updating the target window's state variable or discarding the first CB data packet based on the QoS information corresponding to the first CB data packet includes: The error rate PER of the first data packet is determined based on the QoS information corresponding to the first CB data packet. If the error rate of the CB CRC is less than the first PER, update the state variable of the target window; or... If the error rate of the CB CRC is greater than or equal to the first PER, the first CB data packet is buffered, and if the TB CRC check of the transport block corresponding to the first CB data packet is successful after the check is completed, the state variable of the target window is updated; or... If the error rate of the CB CRC is greater than or equal to the first PER, the first CB data packet is buffered, and if the TB CRC check corresponding to the first CB data packet fails after the TB CRC check of the first CB data packet is completed, the first CB data packet is discarded.

7. The method according to claim 5, characterized in that, The step of updating the target window's state variable or discarding the first CB data packet based on the QoS information corresponding to the first CB data packet includes: The first PER is determined based on the QoS information corresponding to the first CB data packet, and the first data packet delay budget (PDB) is determined based on the QoS information corresponding to the first CB data packet. If the error rate of the CB CRC is greater than or equal to the first PER, and the smooth round-trip time SRTT < β * the first PDB, discard the first CB data packet; or, If the error rate of the CB CRC is greater than or equal to the first PER, and if SRTT ≥ β * the first PDB, the first CB data packet is buffered. Furthermore, if the TB CRC check of the first CB data packet is successful after the TB CRC check of the first CB data packet is completed, the state variable of the target window is updated; or... If the error rate of CB CRC is greater than or equal to the first PER, and if SRTT≥β*the first PDB, the first CB data packet is buffered, and if the TB CRC check of the first CB data packet fails after the TB CRC check of the first CB data packet is completed, the first CB data packet is discarded. Where β≥2.

8. The method according to claim 6 or 7, characterized in that, The step of determining the first PER based on the QoS information corresponding to the first CB data packet includes: The first PER is determined from the preset QoS template information based on the QoS information corresponding to the first CB data packet; The preset QoS template information includes at least multiple QoS information and PER corresponding to the multiple QoS information, wherein the multiple QoS information includes the QoS information corresponding to the first CB data packet.

9. The method according to claim 7, characterized in that, Determining the first PDB based on the QoS information corresponding to the first CB data packet includes: The first PDB is determined from the preset QoS template information based on the QoS information corresponding to the first CB data packet; The preset QoS template information includes at least multiple QoS information and PDBs corresponding to the multiple QoS information, wherein the multiple QoS information includes the QoS information corresponding to the first CB data packet.

10. The method according to any one of claims 1 to 7, characterized in that, The target window is one of the following: Radio Link Control (RLC) window, Packet Data Convergence Protocol (PDCP) window.

11. The method according to claim 10, characterized in that, If the at least one CB packet descriptor contains an RLC header, the target window is an RLC window; or, When the at least one CB packet descriptor contains a PDCP header, the target window is a PDCP window.

12. A wireless communication device, characterized in that, include: The communication unit is used to receive the first coded block (CB) data packet; The processing unit is used to decode the first CB data packet to obtain at least one CB data packet descriptor; The processing unit is further configured to update the state variable of the target window or discard the first CB data packet according to the logical channel identifier (LCID) corresponding to the first CB data packet; wherein the state variable of the target window is updated based on the at least one CB data packet descriptor.

13. A communication device, characterized in that, include: Transceiver and processor; among which, The transceiver is configured to receive a first coded block (CB) data packet; The processor is configured to: decode the first CB packet to obtain at least one CB packet descriptor; and update the state variable of the target window or discard the first CB packet according to the logical channel identifier (LCID) corresponding to the first CB packet; wherein the state variable of the target window is updated based on the at least one CB packet descriptor.

14. A communication device, characterized in that, include: A processor and a memory, the memory being used to store a computer program, the processor being used to invoke and run the computer program stored in the memory to perform the method as described in any one of claims 1 to 11.

15. A chip, characterized in that, Includes: a processor for retrieving and running a computer program from memory, such that the processor performs the method as described in any one of claims 1 to 11.

16. A computer-readable storage medium, characterized in that, Used to store a computer program that causes a computer to perform the method as described in any one of claims 1 to 11.

Citation Information

Patent Citations

  • Data transmission method and device

    CN108023721A

  • Packet communications

    WO2020120825A1