Packet aggregation method and device for improving block transmission performance

By introducing select routers, aggregators and unpackers into the block transmission channel, differentiated packet processing is achieved, low throughput and latency problems in frequent packet scenarios are solved, and channel utilization and transmission efficiency are improved.

CN120263747APending Publication Date: 2025-07-04NO 30 INST OF CHINA ELECTRONIC TECH GRP CORP
View PDF 0 Cites 1 Cited by

Patent Information

Application Number
CN202510529348.8
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-04-25
Publication Date
2025-07-04

AI Technical Summary

Technical Problem

The existing block transmission technology has low throughput in scenarios where frequent packet generation is generated, and the failure to effectively aggregate packets leads to waste of channel resources and increased latency.

Method used

The selection router, aggregator and unpacker are introduced into the block transmission channel, and packets are stored through length and priority classification, and differentiated processing is carried out at both ends of the channel, combining timers and cache strategies to optimize packet transmission.

Benefits of technology

It improves the throughput rate of small packets, balances the latency of sensitive small packets, makes full use of channel bandwidth, avoids excessive waiting, and enhances the adaptability of sender routing.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120263747A_ABST
    Figure CN120263747A_ABST
Patent Text Reader

Abstract

The invention relates to the technical field of communication, and provides a packet aggregation method and device for improving block transmission performance, and the method comprises the steps: a sender selects a router to classify packets according to length and priority, and transmits the packets to a dynamic transmission cache; the sending controller sends the various packets in the dynamic sending cache to a receiving controller; the receiving controller transmits the received packets to a dynamic receiving cache; and the receiver selects the router to classify and restore various packets in the dynamic receiving cache, and sends the packets. According to the invention, differentiated processing of the packets with different lengths and different priorities is completed, so that the delay of the sensitive packets is balanced while the throughput rate is ensured.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the field of communication technology, and in particular to a small packet aggregation method and device for improving block transmission performance. Background Art

[0002] At present, the commonly used block transmission in the communication field does not have the function of small packet aggregation, such as block transmission of USB, GPRS, PCIe, 5G and other channels. Indeed, compared with the "on-demand transmission" of a single byte, the fixed-length, packaged blocks (Block) are more efficient to transmit, because the channel protocol consumption is less when distributed to each byte. But this high efficiency is only for large packets with payloads that are almost the same length as the block length. In extreme cases, for small packets with a payload of a single byte, the transmission efficiency decreases instead of increases because blank data must be filled to fill a block before transmission. Not only is the channel protocol consumption all distributed to this one byte, but the transmission of overly long blocks leads to unnecessary occupation of channel bandwidth, artificially creating waiting and increased congestion. Tracing back to the source, block transmission is designed for efficient transmission of large volumes of data. On the contrary, for data-intensive applications that frequently generate small packets, the application should first encapsulate the small packets into large packets and then hand them over to the channel for block transmission (rather than direct channel transmission). However, the reality is contrary to expectations. Most block transmission devices are only responsible for channel transmission and are located at the bottom layer of the channel, such as the physical layer and the data link layer. They have extremely limited constraints on other devices outside the channel and within the subnet, as well as upper-layer applications. For example, a user in a subnet uses Telnet to access a server in another subnet. Since Telnet uses single-character mode transmission by default, every time the user types a character, the client generates a TCP packet containing this character and sends it to the server in another subnet through the bottom-layer block transmission channel. In this process, the block transmission channel will not stop implementing block transmission because this packet has only one byte of payload. As a result, this single-character transmission causes the sender to have a large number of data blocks to be transmitted, which not only occupies channel resources, but also prevents other applications from using the channel smoothly, even if other applications generate efficient large packets that match the block transmission size. Although system developers have provided a small packet merging solution for the Telnet single-character transmission problem at the transport layer, such as the Nagle algorithm, the Nagle algorithm still needs to be loaded manually, and similar problems are not limited to the Telnet application. How to constrain similar inefficiencies in other applications remains a problem.

[0003] If it is not possible to prevent "small packet occupying block" in advance at the upper layer (such as the transport layer or network layer mentioned above), can small packet aggregation be completed on the block transfer channel? This is the problem that the present invention attempts to solve. In the block transfer channel without the support of an external aggregation device, the small packet aggregation / unpacking function can be added to the channel driver to solve the problem of low small packet throughput. Summary of the Invention

[0004] In view of the block transfer scenario where small packets frequently appear, to solve the problems of decreased throughput and lack of differential treatment for time-sensitive small packets, the present invention provides a small packet aggregation method and device for improving block transfer performance.

[0005] In a first aspect, the present invention provides a small packet aggregation method for improving block transfer performance, including:

[0006] The sender selection router classifies incoming packets according to length and priority and conveys them to the dynamic transmission buffer;

[0007] The transmission controller sends various types of packets in the dynamic transmission buffer to the receiving controller;

[0008] The receiving controller conveys the received various types of packets to the dynamic receiving buffer;

[0009] The receiver selection router classifies, restores, and sends out packets in the dynamic receiving buffer.

[0010] In some embodiments, the sender selection router classifies incoming packets according to length and priority and conveys them to the dynamic transmission buffer, including:

[0011] Receiving data packets from the data source for the block transfer channel;

[0012] Conveying high-priority small packets to the priority packet buffer;

[0013] Conveying ordinary small packets to the aggregated packet buffer through an aggregator;

[0014] Conveying large packets that can be carried by one block transfer to the large packet buffer;

[0015] Splitting extra-large packets that cannot be carried by one block transfer into large packets and tagging them, and sending them to the large packet buffer respectively.

[0016] In some embodiments, the conveying ordinary small packets to the aggregated packet buffer through an aggregator includes:

[0017] The aggregator receives and caches ordinary small packets;

[0018] When multiple small packets have been spliced into a multi-packet with a qualified length, an aggregation header is added to the spliced multi-packet to generate an aggregated packet, and the aggregated packet is sent to the aggregated packet buffer.

[0019] In some embodiments, the step of transporting ordinary small packets to the aggregated packet cache via an aggregator further includes:

[0020] Set a timer for the aggregator. When a timer interrupt occurs, directly add an aggregation header to the multi-packet being spliced at this time to generate an aggregated packet, and send the aggregated packet to the aggregated packet cache.

[0021] In some embodiments, feedback the current load condition of the dynamic transmission cache to the sender-selected router to adjust the cache policy for dynamic transmission.

[0022] In some embodiments, the sending controller sends various types of packets in the dynamic transmission cache to the receiving controller, including:

[0023] Check whether there are small packets in the priority packet cache. If there are, transport and transmit the small packets in block transfer through the controller;

[0024] Check whether there are aggregated packets in the aggregated packet cache. If there are, transport and transmit the aggregated packets in block transfer through the controller;

[0025] Check whether there are large packets in the large packet cache. If there are, transport and transmit the large packets in block transfer through the controller;

[0026] Check whether the size of the dynamic transmission cache has changed. If so, send a command to adjust the window size.

[0027] In some embodiments, the receiving controller transports various types of received packets to the dynamic receiving cache, including:

[0028] Transport various types of packets received in block transfer to the dynamic receiving cache through the controller;

[0029] If a window size adjustment command is received, adjust the size of the dynamic receiving cache.

[0030] In some embodiments, the receiver-selected router classifies, restores, and sends packets of various types in the dynamic receiving cache, including:

[0031] Extract various types of received packets from the dynamic receiving cache;

[0032] Temporarily store the large packets with tags in the extra-large packet cache. When the recombination of the extra-large packets is completed, send the recombined extra-large packets to the data destination;

[0033] Transport the aggregated packets through a disassembler to the disassembly cache;

[0034] Send the small packets and the large packets without tags directly to the data destination;

[0035] Extract a group of disassembled small packets from the disassembly cache and send them to the data destination respectively.

[0036] In some embodiments, delivering the aggregated packet to the unpacking cache after unpacking by the unpacker includes:

[0037] The unpacker receives the aggregated packet and completes the disassembly;

[0038] Starting from the aggregation header for parsing, the correctly parsed small packets are transmitted to the unpacking cache, and when the parsing is incorrect, the remaining part of the aggregated packet is discarded.

[0039] In a second aspect, the present invention provides a small packet aggregation device for improving block transmission performance, which is used to execute the small packet aggregation method for improving block transmission performance described above;

[0040] The small packet aggregation device for improving block transmission performance includes a sender selection router, an aggregator, a dynamic transmission cache, a transmission controller, a reception controller, a dynamic reception cache, a receiver selection router, and an unpacker; the dynamic transmission cache includes a priority packet cache, an aggregated packet cache, and a large packet cache; the receiver selection router has an unpacking cache and an extra-large packet cache inside; the aggregator is provided with a timer;

[0041] On the one hand, the sender selection router is connected to the aggregated packet cache in the dynamic transmission cache via the aggregator, and on the other hand, it is connected to the receiver selection router via the dynamic transmission cache, the transmission controller, the reception controller, and the dynamic reception cache; the receiver selection router is also connected to the unpacker.

[0042] In summary, due to the adoption of the above technical solutions, the beneficial effects of the present invention are:

[0043] 1. By setting up caches, introducing selection routers, aggregators, and unpackers, the present invention completes the differential processing of incoming packets of different lengths and different priorities at both ends of the block transmission channel, thereby balancing the latency of sensitive small packets while ensuring the throughput rate.

[0044] 2. In the present invention, the sender realizes the differential storage of different incoming packets by introducing a selection router and multiple caches, laying a foundation for the efficient packet transmission of the transmission controller. At the same time, by introducing an aggregator to splice ordinary small packets, the throughput rate of the channel during the block transmission of small packets is improved. Opposite to the sender aggregator, the receiver introduces an unpacker, and finally completes the differential restoration and delivery of different received packets through the selection router.

[0045] 3. By setting a timer, the present invention can set the earliest / latest aggregation cut-off time, avoiding the excessive sending waiting of occasional small packets while making full use of the bandwidth of the block transmission channel;

[0046] 4. The introduction of the dynamic cache in the present invention supports a flexible "delay-throughput" balance.

[0047] 5. The present invention enhances the adaptive characteristics of the sender routing selection by introducing the sender cache load feedback. Description of the Drawings

[0048] Figure 1 It is a schematic diagram of a small packet aggregation method and device for improving block transmission performance provided by an embodiment of the present invention.

[0049] Figure 2 It is a flowchart of the operation of the sender selection router in the embodiment of the present invention.

[0050] Figure 3 It is a flowchart of the operation of the aggregator in the embodiment of the present invention.

[0051] Figure 4 It is a flowchart of the operation of the sending controller in the embodiment of the present invention.

[0052] Figure 5 It is a flowchart of the operation of the receiving controller in the embodiment of the present invention.

[0053] Figure 6 It is a flowchart of the operation of the receiver selection router in the embodiment of the present invention.

[0054] Figure 7 It is a flowchart of the operation of the unpacker in the embodiment of the present invention.

[0055] Figure 8 It is a schematic diagram of a small packet aggregation device for improving block transmission performance and cache allocation therein provided by an embodiment of the present invention. Detailed Embodiments

[0056] To make the objectives, technical solutions, and advantages of the embodiments of the present invention clearer, the technical solutions in the embodiments of the present invention will be clearly and completely described below with reference to the accompanying drawings in the embodiments of the present invention. Apparently, the described embodiments are some, but not all, of the embodiments of the present invention. Generally, the components of the embodiments of the present invention described and illustrated herein can be arranged and designed in various different configurations.

[0057] Therefore, the following detailed description of the embodiments of the present invention provided in the drawings is not intended to limit the scope of the claimed present invention, but merely represents selected embodiments of the present invention. All other embodiments obtained by those of ordinary skill in the art based on the embodiments of the present invention without creative efforts fall within the scope of protection of the present invention.

[0058] As Figure 1 shown, an embodiment of the present invention proposes a small packet aggregation method for improving block transmission performance, including:

[0059] S1. The sender selects a router to classify packets by length and priority and deliver them to the dynamic transmission buffer.

[0060] S2. The transmission controller sends various types of packets in the dynamic transmission buffer to the receiving controller.

[0061] S3. The receiving controller delivers the received various types of packets to the dynamic receiving buffer.

[0062] S4. The receiver selects a router to classify, restore, and send packets from the various types of packets in the dynamic receiving buffer.

[0063] Specifically as follows:

[0064] In some embodiments, as Figure 2 shown, the sender selects a router to classify packets by length and priority and deliver them to the dynamic transmission buffer, including:

[0065] S11. Receive packets from the data source for the block transfer channel.

[0066] S12. Deliver small high-priority packets to the priority packet buffer.

[0067] S13. Deliver ordinary small packets to the aggregated packet buffer through an aggregator.

[0068] S14. Deliver large packets that can be carried by one block transfer to the large packet buffer.

[0069] S15. Split extra-large packets that cannot be carried by one block transfer into large packets, label them, and send them to the large packet buffer respectively.

[0070] S16. Feedback the current load condition of the dynamic transmission buffer to the sender selection router to adjust the cache policy for dynamic transmission.

[0071] It should be noted that large packets and small packets are distinguished by length, and this length can be set according to experience and actual requirements and is not limited here. In addition, the priority is also preset.

[0072] In some embodiments, as Figure 3 shown, the delivering ordinary small packets to the aggregated packet buffer through an aggregator includes:

[0073] S131. The aggregator receives and caches ordinary small packets.

[0074] S132. When multiple small packets have been spliced into a multi-packet with a qualified length, add an aggregation header to the spliced multi-packet to generate an aggregated packet, and send the aggregated packet to the aggregated packet buffer; among them, the qualified length can refer to the aforementioned distinction length between large packets and small packets, or can be other lengths set according to experience and actual requirements.

[0075] S133. Set a timer for the aggregator. When a timer interrupt occurs, directly add an aggregation header to the multi-packets spliced at this time to generate an aggregated packet, and send the aggregated packet to the aggregated packet cache. Among them, the interrupt time of the timer can be set according to experience and actual requirements.

[0076] In some embodiments, as Figure 4 shown, the sending controller sends various types of packets in the dynamic sending cache to the receiving controller, including:

[0077] S21. Check whether there are small packets in the priority packet cache. If so, transfer and block-transmit the small packets through a controller (DMA (Direct Memory Access) controller or other controller);

[0078] S22. Check whether there are aggregated packets in the aggregated packet cache. If so, transfer and block-transmit the aggregated packets through a controller (DMA controller or other controller);

[0079] S23. Check whether there are large packets in the large packet cache. If so, transfer and block-transmit the large packets through a controller (DMA controller or other controller);

[0080] S24. Check whether the size of the dynamic sending cache has changed. If so, send a command to adjust the sending window size.

[0081] In some embodiments, as Figure 5 shown, the receiving controller delivers the received various types of packets to the dynamic receiving cache, including:

[0082] S31. Transfer the various types of packets received by block transfer to the dynamic receiving cache through a controller (DMA controller or other controller);

[0083] S32. If a command to adjust the window size is received, adjust the size of the dynamic receiving cache.

[0084] In some embodiments, as Figure 6 shown, the receiving party's selected router classifies and restores the various types of packets in the dynamic receiving cache and sends out packets, including:

[0085] S41. Extract the various types of received packets from the dynamic receiving cache;

[0086] S42. Temporarily store the large packets with tags in the extra-large packet cache. When the recombination of the extra-large packets is completed, send the recombined extra-large packets to the data destination;

[0087] S43. After unpacking the aggregated packets through an unpacker, deliver them to the unpacking cache;

[0088] S44. Send the small packets and the large packets without tags directly to the data destination;

[0089] S45. Extract the disassembled set of small packets from the unpacking cache and send them to the data destination respectively.

[0090] In some embodiments, as Figure 7 shown, the conveying of the aggregated packet to the unpacking cache after unpacking by the unpacker includes:

[0091] S431. The unpacker receives the aggregated packet and completes the disassembly.

[0092] S432. Start parsing from the aggregation header, and transfer the correctly parsed small packets to the unpacking cache. When the parsing is incorrect, discard the remaining part of the aggregated packet.

[0093] Based on the same inventive concept, as Figure 1 and 8 shown, an embodiment of the present invention provides a small packet aggregation device for improving block transfer performance, which is used to execute the above-mentioned small packet aggregation method for improving block transfer performance.

[0094] The small packet aggregation device for improving block transfer performance includes a sender selection router, an aggregator, a dynamic sending cache, a sending controller, a receiving controller, a dynamic receiving cache, a receiver selection router, and an unpacker; the dynamic sending cache includes a priority packet cache, an aggregated packet cache, and a large packet cache; the receiver selection router has an unpacking cache and an extra-large packet cache; the aggregator is provided with a timer.

[0095] On the one hand, the sender selection router is connected to the aggregated packet cache in the dynamic sending cache through the aggregator, and on the other hand, it is connected to the receiver selection router through the dynamic sending cache, the sending controller, the receiving controller, and the dynamic receiving cache; the receiver selection router is also connected to the unpacker.

[0096] For each device in the above device, reference can be made to the description in the method of the foregoing embodiments, and details will not be repeated here. Among them, the priority packet cache, the aggregated packet cache, and the large packet cache in the dynamic sending cache, the unpacking cache and the extra-large packet cache in the receiver selection router, and the dynamic receiving cache, a total of 6 caches in these three major parts, can all be distributed in the same memory area of the same processor, or even concentratedly distributed on a continuous section of memory addresses in the memory area, such as Figure 8 the memory addresses 1 to 7 shown.

[0097] Except that the sending controller and the receiving controller need to correspond to the hardware controller of the block transfer channel, the sender selection router, the aggregator, the receiver selection router, and the unpacker can all be implemented only by software. The sender selection router is used for small packet discovery, extra-large packet disassembly, and classification caching, the aggregator is used for small packet aggregation and time-limited conveying, the receiver selection router is used for aggregated packet discovery, extra-large packet restoration, and classification caching, and the unpacker is used for disassembling small packet aggregated packets.

[0098] The above are only the preferred embodiments of the present invention and are not intended to limit the present invention. For those skilled in the art, the present invention may have various modifications and variations. Any modification, equivalent replacement, improvement, etc. made within the spirit and principle of the present invention shall be included within the protection scope of the present invention.

Claims

1. A small packet aggregation method for improving block transfer performance, characterized in that Including: The sender selection router classifies packets according to length and priority and transports them to the dynamic transmission buffer; The transmission controller sends various types of packets in the dynamic transmission buffer to the receiving controller; The receiving controller transports the received various types of packets to the dynamic receiving buffer; The receiver selection router classifies, restores and sends packets from the various types of packets in the dynamic receiving buffer.

2. The small packet aggregation method for improving block transmission performance according to claim 1, wherein The sender selection router classifies packets according to length and priority and transports them to the dynamic transmission buffer, including: Receiving the incoming packets from the data source to the block transfer channel; Transporting the high-priority small packets to the priority packet buffer; Transporting the ordinary small packets to the aggregated packet buffer through the aggregator; Transporting the large packets that can be carried by one block transfer to the large packet buffer; Splitting the extra-large packets that cannot be carried by one block transfer into large packets and tagging them, and sending them to the large packet buffer respectively.

3. The small packet aggregation method for improving block transmission performance according to claim 2, characterized in that, The transporting the ordinary small packets to the aggregated packet buffer through the aggregator includes: The aggregator receives and caches the ordinary small packets; When multiple small packets have been spliced into a multi-packet with qualified length, add an aggregation header to the spliced multi-packet to generate an aggregated packet, and send the aggregated packet to the aggregated packet buffer.

4. The small packet aggregation method for improving block transmission performance according to claim 3, characterized in that, The transporting the ordinary small packets to the aggregated packet buffer through the aggregator further includes: Setting a timer for the aggregator. When a timer interrupt occurs, directly add an aggregation header to the multi-packet spliced at this time to generate an aggregated packet, and send the aggregated packet to the aggregated packet buffer.

5. The small packet aggregation method for improving block transmission performance according to claim 2, characterized in that, Feeding back the current load condition of the dynamic transmission buffer to the sender selection router to adjust the caching policy for dynamic transmission.

6. The small packet aggregation method for improving block transmission performance according to claim 2, wherein The transmission controller sending various types of packets in the dynamic transmission buffer to the receiving controller includes: Checking whether there are small packets in the priority packet buffer. If so, transporting and sending the small packets through the block transfer by the controller; Checking whether there are aggregated packets in the aggregated packet buffer. If so, transporting and sending the aggregated packets through the block transfer by the controller; Checking whether there are large packets in the large packet buffer. If so, transporting and sending the large packets through the block transfer by the controller; Checking whether the size of the dynamic transmission buffer has changed. If so, sending a command to adjust the window size.

7. The small packet aggregation method for improving block transmission performance according to claim 6, wherein The receiving controller transporting the received various types of packets to the dynamic receiving buffer includes: Transporting various types of packets received by block transfer to the dynamic receiving buffer through the controller; If a window size adjustment command is received, adjusting the size of the dynamic receiving buffer.

8. The small packet aggregation method for improving block transmission performance according to claim 2, wherein The receiver selection router classifying, restoring and sending packets from the various types of packets in the dynamic receiving buffer includes: Extracting the received various types of packets from the dynamic receiving buffer; Temporarily storing the large packets with tags in the extra-large packet buffer. When the extra-large packet is completely reorganized, sending the reorganized extra-large packet to the data destination; Transporting the aggregated packets to the disassembly buffer after disassembling by the disassembler; Directly sending the small packets and the large packets without tags to the data destination; Extracting a group of disassembled small packets from the disassembly buffer and sending them to the data destination respectively.

9. The small packet aggregation method for improving block transmission performance according to claim 8, characterized in that, The transporting the aggregated packets to the disassembly buffer after disassembling by the disassembler includes: The disassembler receives the aggregated packet and completes the disassembly; Starting from the aggregation header for parsing, transporting the correctly parsed small packets to the disassembly buffer, and discarding the remaining part of the aggregated packet when the parsing is incorrect.

10. A small packet aggregation device for improving block transfer performance, characterized in that, For executing the small packet aggregation method for improving block transfer performance as described in any one of claims 1-9; The small packet aggregation device for improving block transfer performance includes a sender selection router, an aggregator, a dynamic transmission cache, a transmission controller, a reception controller, a dynamic reception cache, a receiver selection router, and a packet disassembler; the dynamic transmission cache includes a priority packet cache, an aggregated packet cache, and a large packet cache; the receiver selection router has a packet disassembly cache and an extra-large packet cache; the aggregator is provided with a timer; The sender selection router is connected to the aggregated packet cache in the dynamic transmission cache through the aggregator on one hand, and is connected to the receiver selection router through the dynamic transmission cache, the transmission controller, the reception controller, and the dynamic reception cache on the other hand; the receiver selection router is also connected to the packet disassembler.

Citation Information

Cited By

  • Data packet inter-chip transmission method and device

    CN121125021A