Packet Processing Architecture with Hardware Acceleration

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current packet processing methods in communication systems face challenges in achieving both speed and flexible programmability, as solely processor-based approaches are slow and custom hardware solutions are expensive and area-intensive.

Innovation Solution

A packet processing architecture that combines programmable processors with custom hardware acceleration blocks, allowing for flexible processing and efficient packet handling by separating header and payload processing and utilizing shared and private memories for optimized performance.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If packet processing is performed solely by a processor, then flexible programmability is achieved, but processing speed becomes slow

Engineering Contradiction:
ImproveprogrammabilityVSAvoidpacket processing speed
Core Design Contradiction:
Adaptability or versatilityVSSpeed

Solution Approach 1:

The packet processing system is divided into multiple independent packet processing engines, each capable of handling specific packet processing tasks. This segmentation allows parallel processing of packets, thereby increasing overall processing speed while maintaining programmability through configurable engine behaviors.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

A shared memory structure serves as an intermediary between packet processing engines and custom hardware acceleration blocks. This intermediary enables efficient data exchange and coordination, allowing processors to leverage hardware acceleration for specific tasks while maintaining flexible control through programmable interfaces.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Speed

If custom dedicated hardware is used for packet processing, then processing speed is improved, but cost and chip area increase

Engineering Contradiction:
Improvepacket processing speedVSAvoidhardware customization cost
Core Design Contradiction:
SpeedVSDevice complexity

Solution Approach 1:

Custom hardware acceleration blocks are designed to be universally applicable across multiple packet processing scenarios. These blocks can be dynamically configured to handle different packet types and processing requirements, providing hardware-speed performance without requiring separate custom hardware for each packet type, thereby reducing overall system cost and complexity.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Solution Approach 2:

The system employs dynamic configuration of hardware acceleration blocks through programmable control, allowing the same hardware resources to be adaptively allocated to different processing tasks based on real-time requirements. This dynamic approach enables hardware-level speed with software-level flexibility, avoiding the need for expensive fixed-function hardware customization.

Inventive Principle:
Principle #15Dynamics

3Adaptability or versatility

If packet processing is performed solely by a processor, then customization capability is maintained, but processing efficiency decreases

Engineering Contradiction:
Improvecustomization capabilityVSAvoidpacket processing efficiency
Core Design Contradiction:
Adaptability or versatilityVSProductivity

Solution Approach 1:

The system replaces pure software-based packet processing with a hybrid architecture that substitutes hardware acceleration blocks for specific processing tasks. This substitution maintains customization capability through programmable control interfaces while dramatically improving processing efficiency by offloading computationally intensive operations to hardware-accelerated paths.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

Data Source

PatentUS9344377B2Packet processing architecture
Publication Date: 2016.05.17 AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE LTD
  • US9344377B2 patent drawing
  • US9344377B2 patent drawing
  • US9344377B2 patent drawing

AI summary

A method to process a packet is described herein. The method comprises receiving a packet including a header and a payload. The header is parsed using a packet processor to determine type and priority of the packet. The header is then processed using a hardware acceleration block based on one or more of incoming bandwidth, priority and type of the packet. The custom hardware acceleration block generates header modification data that is sent to the packet processor. The header is modified using the packet processor, based on the header modification data, to generate a modified header. The modified header is appended to the payload and transmitted.