Packet Processing Accelerator Buffer Management with Dummy Data Units
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing network devices face inefficiencies in packet processing due to the need for uniform data unit sizes and multiple memory accesses when handling variable-sized data units, which can lead to increased memory usage and processing overhead.
Innovation Solution
A packet processing accelerator and CPU system that uses a buffer with a fixed width to store data units of varying sizes, employing dummy data units to fill incomplete buffer lines and circular queues to manage data transfer efficiently, thereby reducing the need for multiple memory accesses.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Quantity of substance
If data units are stored in a buffer with fixed width, then storage efficiency is improved by avoiding padding, but variable-sized data units require complex management to fill incomplete buffer lines
Solution Approach 1:
The patent changes the parameter of data unit representation by introducing dummy data units with specific indication bits that transform how variable-sized data is managed in fixed-width buffers. Instead of padding with meaningless data, the system uses structured dummy data units that carry metadata about empty spaces, allowing efficient space utilization while maintaining fixed buffer width requirements.
Solution Approach 2:
Dummy data units serve as intermediaries between variable-sized actual data units and the fixed-width buffer structure. These dummy data units fill incomplete buffer lines and contain indications about empty spaces, mediating between the mismatched data size and buffer structure without requiring complex reallocation or padding management.
2Adaptability or versatility
If multiple memory accesses are used to handle variable-sized data units, then data transfer flexibility is improved, but processing overhead and time increase
Solution Approach 1:
The system performs preliminary action by pre-filling incomplete buffer lines with dummy data units that indicate empty spaces before actual data transfer occurs. This preliminary structuring of the buffer allows subsequent data operations to proceed efficiently without requiring multiple access cycles to determine data boundaries or allocate space dynamically.
Solution Approach 2:
The patent changes the parameter of data unit structure by embedding size and position information directly within the dummy data unit indications. This transformation allows the system to handle variable-sized data in a fixed-width buffer using single memory accesses, as the dummy data units carry all necessary metadata about empty spaces and data boundaries.
3Quantity of substance
If dummy data units are used to fill empty buffer spaces, then buffer utilization is improved, but data unit processing complexity increases due to indication handling
Solution Approach 1:
The patent transforms the parameter of empty space representation by using dummy data units with indication bits instead of simple padding. This change allows the system to track and manage empty buffer spaces efficiently, improving utilization while the indication mechanism provides a standardized way to handle the complexity of variable-sized data in fixed-width buffers.
Data Source
AI summary
A network device and method for packet processing are provided. A packet processing accelerator is configured to receive packets from a network and define for ones of the packets a data unit corresponding to the packet. The packet processing accelerator is configured to perform a first set of packet processing operations on the data unit. A central processing unit (CPU) is configured to perform a second set of packet processing operations on the data unit. A buffer is configured to pass data units from the packet processing accelerator to the CPU, and vice versa, where the buffer is configured to store data units in one or more lines of the buffer. Dummy data units fill a space in a buffer line that is not occupied by a data unit, and the dummy data units include an indication that the space occupied by the dummy data units is an empty space.


