Network Packet Processing Indirect Buffer Addressing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional network processors spend a significant amount of time managing the ring buffer, which affects the overall processing efficiency of packet forwarding due to the high number of memory cycles required for read and write operations.

Innovation Solution

The proposed network packet processing apparatus uses indirect addressing in a packet descriptor to indicate a buffer address and employs a DMA controller to request available buffer addresses and write address-related information into the packet descriptor, thereby reducing the time spent on managing the ring buffer.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If the network processor directly reads packet descriptors from the ring buffer using static random access memory (SRAM), then the buffer address can be acquired, but it consumes 28 memory cycles for two read operations

Engineering Contradiction:
Improvebuffer address acquisitionVSAvoidmemory cycles
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The patent introduces an intermediary mechanism where the packet descriptor in the ring buffer stores an offset value rather than a direct buffer address. The network processor reads this offset (consuming fewer memory cycles) and then calculates the actual buffer address by adding the offset to a base address, thereby reducing the time consumption of memory operations while still achieving accurate buffer address acquisition.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Ease of operation

If the conventional network processor requests available buffer addresses from the packet buffer management circuit and updates packet descriptors, then the ring buffer can be managed, but it consumes at least 34 memory cycles for read and write operations

Engineering Contradiction:
Improvering buffer managementVSAvoidmemory cycles
Core Design Contradiction:
Ease of operationVSLoss of time

Solution Approach 1:

The patent extracts the time-consuming ring buffer management operations from the network processor's workload. By storing only offset values in the packet descriptors and using the network processor's existing base address register to calculate actual buffer addresses, the system eliminates the need for the network processor to perform frequent read and write operations to the ring buffer, thereby reducing memory cycle consumption while maintaining ease of operation.

Inventive Principle:
Principle #2Taking out (Extraction)

3Loss of information

If the network processor manages the ring buffer with direct buffer address recording, then the packet descriptor contains complete address information, but the processing efficiency of packet forwarding is significantly affected

Engineering Contradiction:
Improvebuffer address informationVSAvoidpacket forwarding efficiency
Core Design Contradiction:
Loss of informationVSProductivity

Solution Approach 1:

The patent changes the parameter representation in the packet descriptor from storing complete direct buffer addresses to storing compact offset values. This parameter transformation reduces the memory access overhead and increases packet forwarding efficiency, while the network processor can still retrieve the complete buffer address information by combining the offset with the base address stored in its base address register, thus preserving all necessary address information.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS20250190382A1Network packet processing apparatus
Publication Date: 2025.06.12 AIROHA TECH (SUZHOU) LTD
  • US20250190382A1 patent drawing
  • US20250190382A1 patent drawing
  • US20250190382A1 patent drawing

AI summary

A network packet processing apparatus includes a packet buffer, a ring buffer and a network processing unit (NPU). The packet buffer is used for storing a network packet. The ring buffer is used for storing a packet descriptor of the network buffer, where the packet descriptor includes a first field, and the first field is used for indirectly indicating a buffer address in the packet buffer at which the network packet is stored. The NPU is used for reading the packet descriptor from the ring buffer, and performing predetermined packet processing of the network packet according to the packet descriptor.