Data transmission method and equipment
By using hardware resources to accelerate data processing at the uplink media access control layer, forming a code stream and transmitting it to the physical layer, the resource occupation problem caused by changes in wireless channel quality is solved, and the performance of the communication system is improved.
Patent Information
- Application Number
- CN202510506798.5
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-04-21
- Publication Date
- 2025-08-15
AI Technical Summary
Data transmission resources are instability caused by dynamic changes in wireless channel quality, and PDCP layer data transmission occupies a large amount of software instruction resources and hardware resources, affecting the performance of the communication system.
Drive the uplink media access control layer to accelerate the processing of data to be transmitted using hardware resources, form a code stream in the internal random memory, and submit it to the physical layer for transmission, reducing the use of software and hardware resources.
In the scenario of integrating 4G and 5G communication systems, the hardware and software resource usage in the data transmission process will be reduced and the performance of the communication system will be improved.
Smart Images

Figure CN120498611A_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of communication technology, and in particular to a data transmission method and device. Background Art
[0002] Wireless channel quality is susceptible to dynamic changes due to a variety of factors. Transmission resources at different times and frequencies have different data carrying capacities. Therefore, network equipment and terminal devices need to understand channel conditions through physical layer measurements and channel estimation. These factors, combined with service quality (QoS) and priority information, data cache status reports, and other factors, comprehensively determine the data transmission method and format.
[0003] The data transmission process of the packet data convergence protocol (PDCP) layer consumes a large amount of software instruction resources, and the frequent interaction with hardware will also cause a large amount of hardware resources to be occupied, thus affecting the performance of the entire communication system. Summary of the Invention
[0004] The present application provides a data transmission method and device, which can help improve the performance of a communication system.
[0005] In the first aspect, the present application provides a data transmission method, which can be executed by a terminal device, or can also be executed by a chip (or chip system) or other functional module. The chip or functional module can realize the function of the terminal device, which is not limited in the embodiments of the present application.
[0006] Exemplarily, the above data transmission method includes:
[0007] receiving a command request from a software end, the command request including a hybrid automatic repeat request;
[0008] Driving the uplink media access control layer to accelerate processing of the data to be transmitted corresponding to the above command request using hardware resources to form a code stream in the internal random access memory; the data to be transmitted includes data of the first communication system and the second communication system in a converged scenario;
[0009] The code stream formed in the internal random access memory is delivered to the physical layer for transmission.
[0010] In some implementations, the driving of the uplink media access control layer to accelerate processing of the to-be-transmitted data corresponding to the command request using hardware resources includes:
[0011] The uplink media access control layer is driven to utilize hardware resources to copy and paste the data to be transmitted from the double rate synchronous dynamic random access memory to a designated storage location in the internal random access memory.
[0012] In some implementations, the driving of the uplink media access control layer to accelerate processing of the to-be-transmitted data corresponding to the command request using hardware resources includes:
[0013] driving the uplink media access control layer to utilize hardware resources to truncate the data to be transmitted in the double rate synchronous dynamic random access memory;
[0014] Adding media access control and radio link control header information to the truncated data to be transmitted;
[0015] The data to be transmitted with the media access control and radio link control header information added thereto is copied and pasted from the double rate synchronous dynamic random access memory to a designated storage location in the internal random access memory.
[0016] In some implementations, the driving of the uplink media access control layer to accelerate processing of the to-be-transmitted data corresponding to the command request using hardware resources includes:
[0017] Drive the uplink media access control layer to use hardware resources to pre-process the data to be transmitted in the double rate synchronous dynamic random access memory; the pre-processing includes adding header information, integrity protection processing and encryption processing;
[0018] Truncate the pre-processed data to be transmitted;
[0019] Adding media access control and radio link control header information to the truncated data to be transmitted;
[0020] The data to be transmitted with the media access control and radio link control header information added thereto is copied and pasted from the double rate synchronous dynamic random access memory to a designated storage location in the internal random access memory.
[0021] In some embodiments, the uplink media access control layer includes a security configuration table and a radio bearer information configuration table; the security configuration table includes keys and algorithms required for encryption processing and integrity protection processing; different types of communication networks correspond to different security configuration tables; and the method further includes:
[0022] According to the radio bearer information configuration table, search for the security configuration table corresponding to the data to be transmitted.
[0023] In some embodiments, the above method further comprises:
[0024] Determine a descriptor array based on the type of each data packet corresponding to the data to be transmitted;
[0025] The above-mentioned descriptor array includes at least one first descriptor and / or at least one second descriptor; the first descriptor is applied to any of the following types of data packets: media access control layer control elements, radio link control status reports, common control channels, media access control and radio link control header information; the second descriptor includes packet data convergence protocol control protocol data unit descriptors and / or security-specific descriptors.
[0026] In some embodiments, the above method further comprises:
[0027] Get the preset automatic mode configuration parameters;
[0028] Determine whether the descriptor array includes a security-specific descriptor based on the value of the automatic mode configuration parameter; when the value of the automatic mode configuration parameter is a first value, the above-mentioned descriptor array includes the security-specific descriptor, and when the value of the automatic mode configuration parameter is a second value, the above-mentioned descriptor array does not include the security-specific descriptor.
[0029] In some embodiments, the above method further comprises:
[0030] When a transport block is retransmitted, determine the descriptor corresponding to the retransmitted code block;
[0031] A secondary truncation process is performed on the retransmitted code blocks corresponding to the first and last descriptors, wherein the truncation position and length of the secondary truncation process are calculated by the uplink medium access control layer.
[0032] In a second aspect, the present application provides a data transmission device. The data transmission device includes a transceiver module. The data transmission device can be used to implement the functions of a terminal device, for example, a component in the terminal device, such as a chip, a chip system, a processor, etc. The transceiver module is used to:
[0033] receiving a command request from a software end, the command request including a hybrid automatic repeat request;
[0034] Driving the uplink media access control layer to accelerate processing of the data to be transmitted corresponding to the above command request using hardware resources to form a code stream in the internal random access memory; the data to be transmitted includes data of the first communication system and the second communication system in a converged scenario;
[0035] The code stream formed in the internal random access memory is delivered to the physical layer for transmission.
[0036] In a third aspect, an embodiment of the present application provides a communication device, including: a processor, a memory, and a communication interface;
[0037] The above-mentioned memory is used to store programs or instructions.
[0038] The communication interface is used to receive signals from other communication devices and transmit them to the processor, or to send signals from the processor to other communication devices;
[0039] The above-mentioned processor is used to execute the above-mentioned program or instruction to enable the communication device to implement the data transmission method provided in the first aspect.
[0040] In a fourth aspect, an embodiment of the present application provides a chip, which includes at least one processor for executing program instructions to perform the data transmission method involved in the first aspect above.
[0041] In one possible design, the chip further includes a memory for storing computer programs and data, and the memory is located inside or outside the processor.
[0042] In a fifth aspect, an embodiment of the present application provides a computer-readable storage medium, which stores a computer program. When the computer program is executed by a computer, it implements the data transmission method provided in the first aspect.
[0043] In a sixth aspect, an embodiment of the present application provides a computer program product, comprising a computer program, which, when executed, enables a computer to execute the data transmission method provided in the first aspect.
[0044] The data transmission method and device provided in the embodiments of the present application, in response to a command request from the software side, drive the uplink media access control layer to use hardware resources to accelerate the processing of the data to be transmitted corresponding to the above command request, so as to form a code stream in the internal random access memory, and submit the code stream formed in the internal random access memory to the physical layer for transmission. In this way, in the scenario where the first communication system and the second communication system are integrated, the software and hardware resources occupied by the data transmission process can be reduced, and the performance of the entire communication system can be improved. BRIEF DESCRIPTION OF THE DRAWINGS
[0045] Figure 1 A schematic diagram of a communication system architecture provided in an embodiment of the present application;
[0046] Figure 2 A schematic diagram of the hierarchical structure of a communication protocol stack provided in an embodiment of the present application;
[0047] Figure 3 A flowchart of a data transmission method provided in an embodiment of the present application is shown;
[0048] Figure 4a A schematic diagram of data transmission provided in an embodiment of the present application;
[0049] Figure 4b This is another data transmission schematic diagram provided in an embodiment of the present application;
[0050] Figure 4c This is another data transmission schematic diagram provided in an embodiment of the present application;
[0051] Figure 5 A data processing flow diagram provided in an embodiment of the present application;
[0052] Figure 6 This is another data processing flow diagram provided in an embodiment of the present application;
[0053] Figure 7 A schematic diagram of a program module of a data transmission device provided in an embodiment of the present application;
[0054] Figure 8 A schematic diagram of the hardware structure of a communication device provided in an embodiment of the present application. DETAILED DESCRIPTION
[0055] In the embodiments of this application, words such as "exemplary" or "for example" are used to indicate examples, illustrations, or descriptions. Any embodiment or design described in this application as "exemplary" or "for example" should not be construed as being preferred or advantageous over other embodiments or designs. Rather, the use of words such as "exemplary" or "for example" is intended to present the relevant concepts in a concrete manner.
[0056] In the embodiments of the present application, terms such as "first" and "second" are used to distinguish between identical or similar items with substantially the same functions and effects. For example, the first information and the second information are merely used to distinguish different information and do not limit their order. Those skilled in the art will understand that terms such as "first" and "second" do not limit the quantity or execution order, and that terms such as "first" and "second" do not necessarily define differences.
[0057] In the embodiments of the present application, "at least one" refers to one or more, and "more" refers to two or more. "And / or" describes the association relationship of associated objects, indicating that three relationships may exist. For example, A and / or B can represent: the existence of A alone, the existence of A and B at the same time, and the existence of B alone, where A and B can be singular or plural. The character " / " generally indicates that the previous and next associated objects are in an "or" relationship. "At least one of the following items" or similar expressions refers to any combination of these items, including any combination of single items or plural items. For example, at least one of a, b, or c can represent: a, b, c, ab, ac, bc, or abc.
[0058] The following is a brief introduction to some of the terms and technologies involved in the embodiments of this application:
[0059] 1. Network equipment
[0060] The network equipment in the embodiments of the present application may refer to public mobile communication network equipment, including a base station (BS), which may also be referred to as a base station device, and is a device deployed in a radio access network (RAN) to provide wireless communication functions. For example, the equipment providing base station functions in the third generation (3G) mobile communication system includes a node B (NodeB), the equipment providing base station functions in the fourth generation (4G) mobile communication system includes an evolved node B (eNB), and the equipment providing base station functions in the new radio technology (NR) of the fifth generation (5G) mobile communication system includes a 5G base station (generation node B, gNB), and a next generation-evolved node B (ng-eNB). The network equipment in the embodiments of the present application also includes equipment that provides base station functions in future new communication systems, etc.
[0061] In an embodiment of the present application, the device for implementing the function of the network device may be a network device, or a device that can support the network device to implement the function, such as a chip system, which may be installed in the network device.
[0062] 2. Terminal equipment:
[0063] The terminal device of the embodiment of the present application may include a handheld device, a vehicle-mounted device, etc. with wireless communication function. For example, some terminal devices include: mobile phones, tablet computers, PDAs, laptop computers, mobile internet devices (MIDs), virtual reality (VR) devices, augmented reality (AR) devices, wireless terminal devices in industrial control, wireless terminal devices in self-driving, wireless terminal devices in remote medical surgery, wireless terminal devices in smart grids, wireless terminal devices in transportation safety, wireless terminal devices in smart cities, wireless terminal devices in smart homes, cellular phones, cordless phones, session initiation protocol (SIP) phones, wireless local loop (WLL) stations, personal digital assistants (PDAs), handheld devices with wireless communication capabilities, computing devices or other processing devices connected to wireless modems, vehicle-mounted devices, wearable devices, terminal devices in 5G communication systems or future evolved public land mobile communication networks (PLMNs). The terminal equipment in the network, PLMN, etc. is not limited to this in the embodiments of the present application.
[0064] As an example and not a limitation, in the embodiments of the present application, the terminal device may also be a wearable device. Wearable devices, also known as wearable smart devices, are a general term for wearable devices that are intelligently designed and developed using wearable technology for everyday wear, such as glasses, gloves, watches, clothing, and shoes.
[0065] The terminal device in the embodiments of the present application may also be referred to as user equipment (UE), mobile station (MS), mobile terminal (MT), access terminal, user unit, user station, mobile station, mobile station, remote terminal, mobile device, user terminal, wireless communication device, user agent or user device, etc.
[0066] In the embodiment of the present application, the device used to implement the function of the terminal device may be the terminal device; or it may be a device that can support the terminal device to implement the function, such as a chip system, which may be installed in the terminal device.
[0067] 3. Packet Data Convergence Protocol (PDCP)
[0068] The PDCP layer is responsible for processing network layer data in wireless communication systems. It provides data compression, encryption, decryption, and authentication, ensuring the security and confidentiality of transmitted data within wireless networks.
[0069] 4. Radio link control (RLC)
[0070] The RLC layer is responsible for reliable data transmission in wireless communication systems. It provides data segmentation, reassembly, error detection, and retransmission during wireless transmission, ensuring data reliability and integrity.
[0071] 5. Medium access control (MAC)
[0072] The MAC layer is responsible for managing the allocation and sharing of radio resources in wireless communication systems. It facilitates wireless communication between multiple devices by controlling the underlying physical layer medium (baseband time-frequency resources) to transmit data. The MAC layer maps logical channel data onto transport channels and passes the mapped transport block (TB) to the physical layer.
[0073] 6. Physical layer (PHY)
[0074] The physical layer is responsible for transmitting digital signals in wireless communication systems. Its primary function is to convert digital data into analog signals for transmission over wireless channels. The physical layer is responsible for functions such as modulation and demodulation, channel coding and decoding, signal transmission, and power control, ensuring reliable data transmission and reception.
[0075] 7. Radio Resource Control (RRC)
[0076] The RRC layer is responsible for controlling radio resources in wireless communication systems. Its role is to implement wireless access and handover, including cell search, frequency selection, cell selection, measurement reporting, and system information exchange, ensuring efficient connectivity and seamless handover between user devices and wireless networks.
[0077] 8. Service Data Adaptation Protocol (SDAP)
[0078] The SDAP layer is responsible for handling quality of service (QoS) mapping and transmission control for user data in wireless communication systems. Its role is to ensure reliable data transmission and QoS guarantees between different devices.
[0079] 9. Hybrid automatic repeat request (HARQ)
[0080] A technology that combines forward error correction (FEC) and automatic repeat request (ARQ) to improve the accuracy and efficiency of data transmission.
[0081] 10. Uplink medium access control (UL MAC)
[0082] The UL MAC layer is the protocol layer responsible for managing and controlling uplink (from user equipment to base station) data transmission in wireless communication systems. Its functions include:
[0083] Resource allocation: Allocate uplink radio resources, such as time slots and frequency blocks, to user equipment to ensure that multiple user equipment can access the radio channel in an orderly manner.
[0084] Scheduling management: Based on the QoS requirements of the user equipment and network conditions, the UL MAC schedules and manages uplink data transmission to optimize resource utilization and improve system performance.
[0085] Error control and retransmission: When an uplink data transmission error is detected, the UL MAC triggers the Automatic Repeat Request (ARQ) mechanism, requiring the user equipment to retransmit the data to ensure data integrity and accuracy.
[0086] The following describes the communication system architecture that may be involved in the embodiments of the present application.
[0087] For example, refer to Figure 1 , Figure 1 This is a schematic diagram of a communication system architecture provided in an embodiment of the present application. Figure 1 As shown, the communication system 100 includes a terminal device 101 and a network device 102, and the terminal device 101 and the network device 102 communicate with each other wirelessly through a network.
[0088] In the embodiments of the present application, the wireless communication between the terminal device 101 and the network device 102 may also be referred to as "communication." The term "communication" may also be described as "data transmission," "information transmission," or "transmission." Those skilled in the art may apply the technical solutions provided in the embodiments of the present application to wireless communication between network devices and terminal devices, such as wireless communication between access network devices and terminal devices, or wireless communication between core network elements and terminal devices.
[0089] To meet the increasing demand for wireless data services since the deployment of 4G and 5G communication systems, as well as the development of the Internet of Things (IoT), in which distributed entities such as things exchange and process information without human intervention, various attempts have been made to apply 5G communication systems to IoT networks. Therefore, the data transmission process under the convergence of 4G and 5G communication systems has become a technical direction that urgently needs breakthroughs.
[0090] Reference Figure 2 , Figure 2 This is a schematic diagram of the hierarchical structure of a communication protocol stack provided in an embodiment of the present application. Figure 2 A brief analysis of each layer:
[0091] The non-access stratum (NAS) includes:
[0092] EPS session management (ESM) is responsible for Evolved Packet System (EPS) session management, including session establishment, modification, and release.
[0093] EPS mobility management (EMM) is responsible for EPS mobility management, including attach, detach, and location update.
[0094] The IP layer is responsible for the transmission of IP data packets at the network layer.
[0095] The RRC layer includes: RRC, which is responsible for the control and management of radio resources, including connection establishment, release, radio resource configuration, etc.
[0096] The PDCP layer includes:
[0097] Integrity protection ensures that data is not tampered with during transmission.
[0098] Robust header compression (ROHC) is responsible for compressing the header of IP packets to reduce the amount of transmitted data.
[0099] Encryption processing is used to encrypt data packets to ensure data confidentiality.
[0100] The RLC layer includes:
[0101] Transparent mode (TM) means no segmentation or reassembly is performed.
[0102] Unacknowledged mode (UM) is used for data that is sensitive to latency but does not require reliable transmission.
[0103] Acknowledged mode (AM) provides reliable data transmission, including segmentation, reassembly, and retransmission.
[0104] The MAC layer includes:
[0105] Common control channel (CCCH) is used to transmit control information.
[0106] Dedicated control channel (DCCH) is used to transmit control information for specific users.
[0107] Dedicated traffic channel (DTCH) is used for the transmission of user data.
[0108] Random access channel (RACH) is used for user equipment to initially access the network.
[0109] The uplink shared channel (UL-SCH) is used for user equipment to transmit data to the base station.
[0110] The PHY layer includes:
[0111] Physical random access channel (PRACH) is used for random access procedure.
[0112] The physical uplink control channel (PUCCH) is used to transmit control information.
[0113] The physical uplink shared channel (PUSCH) is used to transmit user data.
[0114] L2 (Data Link Layer), also known as the wireless network layer, is used to transmit packet data between terminal devices and network devices over wireless channels (logical channels). It includes PDCP, RLC, and MAC.
[0115] The PDCP layer is the second layer of the radio interface protocol stack and is used to process RRC messages on the control plane and IP data packets on the user plane. When transmitting IP packet service data between the terminal device and the core network data gateway, the following operations are performed on the IP data packets transmitted between the terminal device and the network device in the uplink direction:
[0116] Add a sequence number (SN) to the IP data packet; if the data is an IP service data packet, compress the IP header (ROHC); if the data is RRC control data, perform data integrity protection; encrypt the data; and add a PDCP header to the encrypted data so that the encrypted data can be transmitted over the air interface via PDCP.
[0117] The purpose of RRC signaling data integrity protection is to protect data from unauthorized modification, including unauthorized creation and deletion of data, and to prevent data tampering during transmission. The data packet format of the PDCP control plane is the Message Authentication Code-Integrity (MAC-I).
[0118] MAC-I primarily protects message integrity. It performs a hash operation on the message content and some key information to generate a short authentication code. Upon receiving the message, the receiver recalculates the authentication code using the same key and algorithm and compares it with the authentication code provided by the sender to verify message integrity.
[0119] Aggregation and separation at the PDCP layer means that the terminal device establishes its own RRC connection with two base stations (such as a 4G base station and a 5G base station) at the same time, that is, two RRC connections are established at the same time, but the control signaling bearer with the core network is established only on the primary base station. In addition, data bearers with the core network can be established on each of the two base stations. In order to circumvent the extremely high latency and synchronization requirements in the MAC layer scheduling process, the data is segmented and merged at the PDCP layer, and then the user data stream is transmitted to the physical layer for hardware processing, which helps to improve user performance and is helpful for the overall user throughput and switching latency.
[0120] Wireless channel quality changes dynamically due to the influence of various factors. Resources at different times and frequencies have different data carrying capacities. Therefore, network equipment and terminal devices need to understand channel conditions through physical layer measurements and channel estimation. They then combine information such as service QoS and priority, and data cache status reports to comprehensively determine the data transmission method and format.
[0121] The data transmission process at the PDCP layer consumes a significant amount of software instruction resources, and frequent interaction with hardware also results in significant bandwidth usage. If data processing is performed directly by software, it will result in processing delays, consume software and hardware resources, and degrade the performance of the entire communication system.
[0122] In response to the above technical problems, an embodiment of the present application provides a data transmission method, which drives the UL MAC layer to perform hardware acceleration processing for the command request corresponding to the HARQ input from the software side, forms a code stream on the memory, and submits it to the physical layer for transmission. In this way, in the scenario where the 4G communication system and the 5G communication system are integrated, the software and hardware resources occupied by the data transmission process can be reduced, and the performance of the entire communication system can be improved.
[0123] The following is a detailed description of the technical solutions provided by this application through specific embodiments. It should be noted that the following embodiments can exist independently or in combination with each other, and the same or similar contents will not be repeated in different embodiments.
[0124] Reference Figure 3 , Figure 3 Schematic diagram of a data transmission method provided in an embodiment of the present application. In some embodiments of the present application, the data transmission method includes:
[0125] S301: Receive a command request from a software end.
[0126] In some embodiments, the communication device may receive a command request from a software end (such as an upper-layer application or protocol stack). The command request may include instructions for specific operations to be performed or data transmission.
[0127] Optionally, the command request may include HARQ.
[0128] S302: Drive the uplink media access control layer to accelerate the processing of the to-be-transmitted data corresponding to the command request using hardware resources, so as to form a code stream in the IRAM.
[0129] In some implementations, the uplink media access control layer (UL MAC) handles uplink data transmission. Upon receiving a command request from the software side, the UL MAC layer can utilize hardware resources to accelerate the processing of the data to be transmitted corresponding to the command request and form a bitstream in the IRAM for subsequent transmission to the physical layer.
[0130] Optionally, the UL MAC layer can use hardware resources to perform header addition, integrity protection, encryption, etc. on the data to be transmitted to ensure correct data transmission and security. In some cases, the data to be processed can also be truncated to meet specific transmission requirements.
[0131] In some implementations, the data to be transmitted includes data of the first communication system and the second communication system in a converged scenario.
[0132] Optionally, the first communication system may be a 4G communication system, and the second communication system may be a 5G communication system.
[0133] Optionally, the terminal device can be connected to both the 4G and 5G networks simultaneously, using dual connectivity technology to achieve parallel data transmission. In addition, carrier aggregation technology can also combine 4G and 5G carriers to increase data transmission speeds.
[0134] S303: Submit the code stream formed in the IRAM to the physical layer for transmission.
[0135] In some implementations, once the code stream is formed in the IRAM, it is handed over to the physical layer for actual transmission.
[0136] In some implementations, the physical layer may further process the code stream (such as modulation, filtering, amplification, etc.) based on the current wireless environment, channel conditions, and upper-layer configuration (such as modulation mode, coding rate, transmission power, etc.) and then send it out.
[0137] The data transmission method provided in the embodiment of the present application drives the uplink media access control layer to use hardware resources to accelerate the processing of the data to be transmitted corresponding to the command request from the software side, so as to form a code stream in the internal random access memory, and submit the code stream formed in the internal random access memory to the physical layer for transmission. In this way, in the scenario where the first communication system and the second communication system are integrated, the software and hardware resources occupied by the data transmission process can be reduced, and the performance of the entire communication system can be improved.
[0138] For example, refer to Figure 4a , Figure 4a A data transmission diagram provided in an embodiment of the present application.
[0139] In some implementations, the physical layer drives the UL MAC layer to utilize hardware resources to accelerate processing of the to-be-transmitted data corresponding to the command request, including:
[0140] Drive the UL MAC layer to use hardware resources to copy and paste the data to be transmitted from the DDR to the specified storage location in the IRAM.
[0141] DDR is an external memory that offers large storage capacity but relatively slow access speeds. IRAM is an internal memory that can be integrated within the chip and offers very fast access speeds, but limited storage capacity. Data to be transmitted is first stored in DDR. The PHY then drives the UL MAC layer, utilizing hardware resources to perform data copy and paste operations from DDR to a specified storage location in IRAM.
[0142] Alternatively, direct memory access (DMA) can be used to copy and paste data from DDR to a specific location in IRAM. DMA allows some hardware subsystems to read and write data directly between memories without requiring direct intervention from the central processing unit (CPU). This technology significantly improves data transfer efficiency and reduces the burden on the CPU.
[0143] For example, refer to Figure 4b , Figure 4b This is another data transmission diagram provided in an embodiment of the present application.
[0144] In some implementations, the physical layer drives the UL MAC layer to utilize hardware resources to accelerate processing of the to-be-transmitted data corresponding to the command request, including:
[0145] The UL MAC layer is driven to utilize hardware resources (such as a processing module) to truncate the data to be transmitted in the DDR, and to add media access control and radio link control (hereinafter referred to as MAC_RLC) header information to the truncated data to be transmitted.
[0146] Furthermore, the data to be transmitted with the MAC_RLC header information added thereto is copied and pasted from the DDR to a designated storage location in the IRAM.
[0147] Data truncation refers to segmenting the data to be transmitted into blocks of appropriate size based on wireless transmission protocol requirements or resource constraints. The UL MAC layer determines the truncation location of the data to be transmitted based on wireless transmission protocol requirements (such as maximum transmission unit and radio resource allocation). Alternatively, the truncation location can be determined based on block size, transmission time constraints, or other protocol parameters.
[0148] Adding header information refers to adding the necessary protocol headers to the truncated data block so that the receiving end can correctly parse and process the data. Optionally, the MAC_RLC header information may include key information such as the data block identifier, length, sequence number, and transmission format.
[0149] In some implementations, the UL MAC layer may generate corresponding MAC_RLC header information based on the truncated data block. The header information may include a MAC subheader (such as a logical channel identifier, a length indicator, etc.) and an RLC subheader (such as a sequence number, a polling bit, etc.).
[0150] For example, refer to Figure 4c , Figure 4c This is another data transmission diagram provided in an embodiment of the present application.
[0151] The physical layer drives the UL MAC layer to utilize hardware resources to accelerate the processing of the data to be transmitted corresponding to the above command request, including:
[0152] Drive the UL MAC layer to use hardware resources (such as the SEC processing module) to pre-process the data to be transmitted in the DDR; this pre-processing includes adding header information, integrity protection processing, and encryption processing;
[0153] Truncate the pre-processed data to be transmitted;
[0154] Add MAC_RLC header information to the data to be transmitted after truncation;
[0155] The data to be transmitted with the MAC_RLC header information added is copied and pasted from the DDR to the specified storage location in the IRAM.
[0156] Adding header information refers to adding necessary protocol headers to the data to be transmitted so that the receiving end can correctly parse and process the data.
[0157] Integrity protection involves performing an integrity check on the data being transmitted to ensure that it has not been tampered with during transmission. Optionally, this can be achieved by adding an integrity check code.
[0158] Encryption refers to encrypting data to ensure confidentiality during transmission. This can be achieved through encryption algorithms.
[0159] In the above embodiment, by driving the UL MAC layer to utilize hardware resources to accelerate the processing of data to be transmitted, the software and hardware resources occupied by the data transmission process can be effectively reduced, thereby improving the performance of the entire communication system.
[0160] In some embodiments, the UL MAC layer includes a security configuration table (hereinafter referred to as a SEC configuration table) and a radio bearer (RB) information configuration table.
[0161] The above SEC configuration table includes the keys and algorithms required for encryption processing and integrity protection processing; the UL MAC layer can search the security configuration table corresponding to the data to be transmitted according to the RB information configuration table.
[0162] The same RB corresponds to one SEC configuration table, and different types of communication networks correspond to different SEC configuration tables.
[0163] For PDCP and SDAP, the RB information configuration table is configured according to RB, and the established RB configuration table can be updated based on RRC signaling. For SDAP RB, the keys and algorithms used for uplink transmission to different base stations can be different, while the RB configuration can be the same.
[0164] In some embodiments, the SEC processing module may be used for operations such as header addition, integrity protection / verification, encryption / decryption, etc. of data in a fusion scenario between the first communication system and the second communication system.
[0165] Reference Figure 5 , Figure 5 A data processing flow diagram provided in an embodiment of the present application;
[0166] In some embodiments, the SEC processing module comprises:
[0167] Data input buffer (data_in_buf): used to store the original code stream data required for the calculation process.
[0168] Buffer interface (Buf_intf): used to implement data from the data input buffer to cache c (c_buf) and cache i (ibuf). Considering that the data fields required for encryption and integrity protection are different and may be performed simultaneously, c_buf and i_buf are used to store the data required for encryption and integrity protection calculations respectively. When MAC-I requires encryption, or the code stream is encrypted before integrity protection, it can also receive data from the encryption and decryption control module (Cipher_top) and the integrity protection control module (Intg_top).
[0169] Buffer alignment unit (Buf_align): used to read the data in c_buf and i_buf, and store the data not needed for encryption, decryption and integrity protection verification into the data output buffer or discard it.
[0170] Encryption module: used to generate the key stream. The encryption and integrity protection processes then calculate and process the key stream and plaintext respectively to obtain the final processed data.
[0171] Data output buffer (data out buf): used to store processed data.
[0172] It's understandable that RLC is a protocol designed to ensure reliable QoS for data transmission services. This is because the data transmission channel conditions in mobile communications radio propagation environments are very poor, resulting in extremely high bit error rates for transmitted data. Therefore, the RLC protocol introduces several new automatic repeat request mechanisms in the data link control (DLC) layer to address these QoS requirements.
[0173] The contents of the packets to be sent uplink are as follows:
[0174] (1) SDAP control PDU: not encrypted, may be integrity protected, has a Packet Data Convergence Protocol sequence number (hereinafter referred to as PDCP SN) and a Radio Link Control sequence number (hereinafter referred to as RLC SN).
[0175] (2) PDCP data PDU: May be encrypted, may be integrity protected, and has PDCP SN and RLC SN.
[0176] (3) PDCP control PDU: not encrypted, not integrity protected, no PDCP SN, but with RLC SN.
[0177] (4) RLC control PDU / MAC CE / CCCH: No encryption, no integrity protection, no PDCP SN, no RLC SN.
[0178] In some implementations, a descriptor array may be determined based on the type of each data packet corresponding to the data to be transmitted. The descriptor array includes at least one first descriptor and / or at least one second descriptor; the first descriptor applies to any of the following types of data packets: MAC CE, RLC status report, CCCH, MAC_RLC header information; and the second descriptor includes a PDCP_PDU descriptor and a SEC-specific descriptor.
[0179] In the above implementation, the input descriptor is designed according to the type of data packet to be sent and is presented in the form of an array, thereby being able to clearly represent the characteristics of each data packet type, facilitating subsequent data packet processing and transmission.
[0180] In some embodiments, a preset automatic mode configuration parameter (hereinafter referred to as auto_mode) may be obtained; and according to the value of auto_mode, it is determined whether the descriptor array includes a security-specific descriptor.
[0181] For example, if auto_mode=0, the SEC dedicated descriptor needs to be included; if auto_mode=1, the SEC dedicated descriptor is not required. This can save SEC dedicated descriptors and reduce DDR delay when there are many data packets on the uplink radio bearer.
[0182] In some implementations, if auto_mode=0, the following conditions may exist:
[0183] (1) Non-full packet: The b2 field can be extracted from the SEC dedicated descriptor, which directly carries the code stream of the MAC_RLC header information.
[0184] (2) Full packet: The b1 field can be extracted from the SEC-specific descriptor. The SEC-specific descriptor provides all the information required by the hardware resources to generate the MAC_RLC header information, rather than directly providing the code stream of the MAC_RLC header information. The ULMAC layer needs to save the SDAP header, RB entity index, count value, logical channel identifier (LCID), RLC type, extended logical channel identifier (ELCID Flag), extended logical channel identifier (ELCID), RLC SN, etc. to facilitate the generation of the information required for subsequent data packets.
[0185] (3) The SEC dedicated descriptor may not provide MAC_RLC header information. In this case, the MAC_RLC header information is placed in the first descriptor.
[0186] If auto_mode = 1, it indicates a full packet. The count value previously saved by the UL MAC is incremented by 1, and the RLC SN is incremented by 1. To facilitate code block (CB) retransmission and location, the real_length field needs to be filled with the actual length ultimately output to the IRAM.
[0187] For example, assuming an RB has 2 non-full packets at the head and tail, and 98 full packets in the middle, a total of 100 SEC-specific descriptors are required in traditional technology, but only 3 SEC-specific descriptors are required in the embodiment of the present application, that is, the 1st, 2nd, and 100th descriptors need to be set to auto_mode==0, and each is paired with 1 SEC-specific descriptor. The 97 full packets from the 3rd to the 99th need to be set to auto_mode==1 and do not need to be paired with a SEC-specific descriptor, thereby reducing the DDR delay.
[0188] In some embodiments, when a transmission block (TB) is retransmitted, a descriptor corresponding to the retransmitted CB is determined, and the retransmitted CB corresponding to the first and last descriptors is subjected to secondary truncation processing, wherein the truncation position and length of the secondary truncation processing are calculated by the UL MAC layer.
[0189] Among them, if the TB is retransmitted, the retransmission is performed based on the divided CB. After finding the descriptor corresponding to the retransmitted CB, the output corresponding to the first and last descriptors can be truncated twice.
[0190] For example, refer to Figure 6 , Figure 6 This is another data processing flow diagram provided in an embodiment of the present application;
[0191] In some implementations, since the CB boundary of the NR is byte-aligned, the secondary truncation is also performed at the byte level, wherein the truncation offset (offset) and length (length) of the secondary truncation process can be calculated by the UL MAC layer.
[0192] In some embodiments, if the data to be processed is sent to the SEC processing module, it can refer to Figure 6 The processing flow shown.
[0193] If the data to be processed is PDCP control PDU, it does not need to be sent to the SEC processing module, but it needs to be headered, integrity protected, and encrypted (such as Figure 6 If it is a PDCP data PDU, it needs to be sent to the SEC processing module. The UL MAC constructs a descriptor to be sent to the SEC processing module and finally truncates the result output by the SEC processing module.
[0194] In some implementations, if the data to be processed is an SDAP control PDU, the encryption process may be skipped.
[0195] The filter_offset specifies the position in the packet to start truncating, and the filter_length specifies the length of the packet after truncating.
[0196] In some implementations, MAC_RLC header information may be added to the truncated PDCP data SDU.
[0197] Through the above processing, data packets can be correctly transmitted on the wireless link.
[0198] The data transmission method provided in the embodiments of the present application has been described above. The following describes an apparatus for performing the above-described data transmission method provided in the embodiments of the present application. Those skilled in the art will appreciate that the method and apparatus may be combined and referenced with each other, and that the relevant apparatus provided in the embodiments of the present application may perform the steps in the above-described data transmission method.
[0199] Reference Figure 7 , Figure 7 Schematic diagram of a program module of a data transmission device provided in an embodiment of the present application. The data transmission device can be used to implement the functions of a terminal device, for example, a component in the terminal device, such as a chip, a chip system, a processor, etc.
[0200] Exemplarily, the data transmission device 70 includes a transceiver module 701 configured to:
[0201] receiving a command request from a software end, the command request including a hybrid automatic repeat request;
[0202] Driving the uplink media access control layer to accelerate processing of the data to be transmitted corresponding to the above command request using hardware resources to form a code stream in the internal random access memory; the data to be transmitted includes data of the first communication system and the second communication system in a converged scenario;
[0203] The code stream formed in the internal random access memory is delivered to the physical layer for transmission.
[0204] In some implementations, the transceiver module 701 is specifically configured to:
[0205] The uplink media access control layer is driven to utilize hardware resources to copy and paste the data to be transmitted from the double rate synchronous dynamic random access memory to a designated storage location in the internal random access memory.
[0206] In some implementations, the transceiver module 701 is specifically configured to:
[0207] driving the uplink media access control layer to utilize hardware resources to truncate the data to be transmitted in the double rate synchronous dynamic random access memory;
[0208] Adding media access control and radio link control header information to the truncated data to be transmitted;
[0209] The data to be transmitted with the media access control and radio link control header information added thereto is copied and pasted from the double rate synchronous dynamic random access memory to a designated storage location in the internal random access memory.
[0210] In some implementations, the transceiver module 701 is specifically configured to:
[0211] Drive the uplink media access control layer to use hardware resources to pre-process the data to be transmitted in the double rate synchronous dynamic random access memory; the pre-processing includes adding header information, integrity protection processing and encryption processing;
[0212] Truncate the pre-processed data to be transmitted;
[0213] Adding media access control and radio link control header information to the truncated data to be transmitted;
[0214] The data to be transmitted with the media access control and radio link control header information added thereto is copied and pasted from the double rate synchronous dynamic random access memory to a designated storage location in the internal random access memory.
[0215] In some embodiments, the uplink media access control layer includes a security configuration table and a radio bearer information configuration table; the security configuration table includes keys and algorithms required for encryption processing and integrity protection processing; different types of communication networks correspond to different security configuration tables; the transceiver module 701 is further configured to:
[0216] According to the radio bearer information configuration table, search for the security configuration table corresponding to the data to be transmitted.
[0217] In some implementations, the transceiver module 701 is further configured to:
[0218] Determine a descriptor array based on the type of each data packet corresponding to the data to be transmitted;
[0219] The above-mentioned descriptor array includes at least one first descriptor and / or at least one second descriptor; the first descriptor is applied to any of the following types of data packets: media access control layer control elements, radio link control status reports, common control channels, media access control and radio link control header information; the second descriptor includes packet data convergence protocol control protocol data unit descriptors and / or security-specific descriptors.
[0220] In some implementations, the transceiver module 701 is further configured to:
[0221] Get the preset automatic mode configuration parameters;
[0222] Determine whether the descriptor array includes a security-specific descriptor based on the value of the automatic mode configuration parameter; when the value of the automatic mode configuration parameter is a first value, the above-mentioned descriptor array includes the security-specific descriptor, and when the value of the automatic mode configuration parameter is a second value, the above-mentioned descriptor array does not include the security-specific descriptor.
[0223] In some implementations, the transceiver module 701 is further configured to:
[0224] When a transport block is retransmitted, determine the descriptor corresponding to the retransmitted code block;
[0225] A secondary truncation process is performed on the retransmitted code blocks corresponding to the first and last descriptors, wherein the truncation position and length of the secondary truncation process are calculated by the uplink medium access control layer.
[0226] Reference Figure 8 , Figure 8 Schematic diagram of the hardware structure of a communication device provided in an embodiment of the present application. The embodiment of the present application provides a communication device, the communication device 80 including: a processor 801, a memory 802 and a communication interface 803.
[0227] The memory 802 is used to store programs or instructions.
[0228] The communication interface 803 is configured to receive signals from other communication devices and transmit the signals to the processor 801 , or to send signals from the processor 801 to other communication devices.
[0229] The processor 801 is configured to execute programs or instructions so that the communication device implements the data transmission method provided in the above embodiments.
[0230] The present application also provides a chip including a processor configured to call a computer program stored in a memory to execute the technical solution in the above embodiment. The implementation principle and technical effects are similar to those in the above embodiment and will not be further described here.
[0231] The embodiments of the present application also provide a computer-readable storage medium. The computer-readable storage medium stores a computer program. When the computer program is executed by a computer, the above-mentioned data transmission method is implemented. The data transmission method described in the above embodiment can be implemented in whole or in part by software, hardware, firmware, or any combination thereof. If implemented in software, the function can be stored as one or more instructions or codes on a computer-readable medium or transmitted on a computer-readable medium. Computer-readable media can include computer storage media and communication media, and can also include any medium that can transfer a computer program from one place to another. The storage medium can be any target medium that can be accessed by a computer.
[0232] In one possible implementation, computer-readable media may include RAM, ROM, compact disc read-only memory (CD-ROM) or other optical disk storage, magnetic disk storage or other magnetic storage devices, or any other medium designed to carry or store the desired program code in the form of instructions or data structures and accessible by a computer. Moreover, any connection is appropriately referred to as a computer-readable medium. For example, if software is transmitted from a website, server or other remote source using a coaxial cable, fiber optic cable, twisted pair, digital subscriber line (DSL) or wireless technologies such as infrared, radio and microwave, then the coaxial cable, fiber optic cable, twisted pair, DSL or wireless technologies such as infrared, radio and microwave are included in the definition of medium. Disk and optical disk as used herein include optical disk, laser disk, optical disk, digital versatile disk (DVD), floppy disk and Blu-ray disk, where disks generally reproduce data magnetically, while optical disks reproduce data using laser optical principles. Combinations of the above should also be included within the scope of computer-readable media.
[0233] An embodiment of the present application provides a computer program product, which includes a computer program. When the computer program is executed, the computer executes the above-mentioned data transmission method.
[0234] The above specific implementation methods further illustrate the purpose, technical solutions and beneficial effects of this application in detail. It should be understood that the above are only specific implementation methods of this application and are not intended to limit the scope of protection of this application. Any modifications, equivalent replacements, improvements, etc. made on the basis of the technical solutions of this application should be included in the scope of protection of this application.
Claims
1. A data transmission method, characterized in that: The method comprises: receiving a command request from a software end, wherein the command request includes a hybrid automatic repeat request; Driving the uplink media access control layer to accelerate processing of the data to be transmitted corresponding to the command request using hardware resources to form a code stream in an internal random access memory; the data to be transmitted includes data of the first communication system and the second communication system in a converged scenario; The code stream formed in the internal random access memory is delivered to the physical layer for transmission.
2. The method according to claim 1, characterized in that The driving uplink media access control layer to accelerate processing of the to-be-transmitted data corresponding to the command request using hardware resources includes: The uplink media access control layer is driven to utilize hardware resources to copy and paste the data to be transmitted from the double rate synchronous dynamic random access memory to a designated storage location in the internal random access memory.
3. The method according to claim 1, characterized in that The driving uplink media access control layer to accelerate processing of the to-be-transmitted data corresponding to the command request using hardware resources includes: driving the uplink media access control layer to utilize hardware resources to truncate the data to be transmitted in the double rate synchronous dynamic random access memory; Adding media access control and radio link control header information to the truncated data to be transmitted; The data to be transmitted with the media access control and radio link control header information added thereto is copied and pasted from the double rate synchronous dynamic random access memory to a designated storage location in the internal random access memory.
4. The method according to claim 1, wherein The driving uplink media access control layer to accelerate processing of the to-be-transmitted data corresponding to the command request using hardware resources includes: Driving the uplink media access control layer to utilize hardware resources to pre-process the data to be transmitted in the double rate synchronous dynamic random access memory; the pre-processing includes adding header information, integrity protection processing, and encryption processing; performing truncation processing on the pre-processed data to be transmitted; Adding media access control and radio link control header information to the truncated data to be transmitted; The data to be transmitted with the media access control and radio link control header information added thereto is copied and pasted from the double rate synchronous dynamic random access memory to a designated storage location in the internal random access memory.
5. The method according to claim 4, characterized in that The uplink media access control layer includes a security configuration table and a radio bearer information configuration table; the security configuration table includes keys and algorithms required for encryption processing and integrity protection processing; Different types of communication networks correspond to different security configuration tables; the method further includes: According to the radio bearer information configuration table, a security configuration table corresponding to the data to be transmitted is searched.
6. The method according to claim 1, characterized in that The method further comprises: Determining a descriptor array based on the type of each data packet corresponding to the data to be transmitted; The descriptor array includes at least one first descriptor and / or at least one second descriptor; the first descriptor is applied to any of the following types of data packets: media access control layer control elements, radio link control status reports, common control channels, media access control and radio link control header information; the second descriptor includes a packet data convergence protocol control protocol data unit descriptor and / or a security-specific descriptor.
7. The method according to claim 6, characterized in that The method further comprises: Get the preset automatic mode configuration parameters; Determine whether the descriptor array includes the security-specific descriptor based on the value of the automatic mode configuration parameter; wherein, when the value of the automatic mode configuration parameter is a first value, the descriptor array includes the security-specific descriptor, and when the value of the automatic mode configuration parameter is a second value, the descriptor array does not include the security-specific descriptor.
8. The method according to claim 6 or 7, characterized in that The method further comprises: When a transport block is retransmitted, determine the descriptor corresponding to the retransmitted code block; A secondary truncation process is performed on the retransmitted code blocks corresponding to the first and last descriptors, wherein the truncation position and length of the secondary truncation process are calculated by the uplink medium access control layer.
9. A communication device, characterized in that: include: including a processor, memory, and communication interface; The memory is used to store programs or instructions; The communication interface is used to receive signals from other communication devices and transmit them to the processor, or to send signals from the processor to other communication devices; The processor is configured to execute the program or instruction so as to enable the communication device to implement the data transmission method according to any one of claims 1 to 8.
10. A chip, characterized in that: The chip includes at least one processor, and the processor is used to execute program instructions to perform the data transmission method according to any one of claims 1 to 8.
11. A computer-readable storage medium storing a computer program, characterized in that: When the computer program is executed by a processor, the data transmission method according to any one of claims 1 to 8 is implemented.
12. A computer program product, characterized in that The invention comprises a computer program, which, when being executed, enables a computer to execute the data transmission method according to any one of claims 1 to 8.
Citation Information
Patent Citations
Method for data transmission at mobile terminal user side in third-generation mobile communication system
CN101610548A
Access network equipment and data transmission method
CN113141284A
Relay communication method and related equipment
CN113498142A
Method and apparatus for generic multi-stage nested hash processing
US20090141887A1
Wireless communications apparatus and method for performing low latency high throughput layer 2 operations
US20190082040A1