Programmable Packet Processor Pipeline for Rapid Protocol Iteration

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The development of network packet processors requires expertise from multiple fields, leading to time-consuming and costly hardware implementation processes, hindering rapid prototyping and iteration.

Innovation Solution

A packet processor with a programmable compute pipeline and microcode that specifies elementary operations for each packet type, allowing for concurrent processing and easy modification of operations without regenerating the pipeline.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If a hardware implementation of a network packet processor is created to comply with protocol specifications, then the processor can reliably process packets according to the protocol, but the development process becomes time-consuming and expensive due to requiring specialized knowledge from multiple fields

Engineering Contradiction:
Improveprotocol complianceVSAvoiddevelopment time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The protocol processing functionality is segmented into discrete protocol layers, with each layer implemented as a separate programmable module. This allows independent development and testing of each layer while maintaining overall protocol compliance, reducing the complexity and time required for integrated hardware development.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

A universal programmable pipeline architecture is created that can be configured to implement multiple protocol layers and processing functions. Instead of designing dedicated hardware for each protocol function, the system uses a single reconfigurable pipeline that can be programmed through high-level specifications, significantly reducing development time while maintaining reliability.

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

2Productivity

If specialized hardware is designed to implement specific packet processing operations, then processing efficiency is improved, but any protocol changes require extensive hardware redesign

Engineering Contradiction:
Improvepacket processing efficiencyVSAvoidprotocol adaptability
Core Design Contradiction:
ProductivityVSAdaptability or versatility

Solution Approach 1:

The packet processing pipeline is designed as a dynamic, reconfigurable system where processing stages can be programmatically adjusted based on protocol requirements. The pipeline stages can be enabled, disabled, or reconfigured through software control, allowing the system to adapt to different protocols and packet types while maintaining high processing efficiency.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system allows protocol adaptability through parameter changes in the programmable pipeline configuration rather than hardware redesign. By modifying processing parameters, operation sequences, and stage configurations through high-level specifications, the system can efficiently adapt to new protocols while maintaining optimized processing performance.

Inventive Principle:
Principle #35Parameter changes

3Manufacturing precision

If multiple fields of expertise are involved in hardware implementation development, then the processor can be comprehensively optimized for both protocol compliance and hardware performance, but the development cost and complexity increase significantly

Engineering Contradiction:
Improveimplementation qualityVSAvoiddevelopment complexity
Core Design Contradiction:
Manufacturing precisionVSDevice complexity

Solution Approach 1:

A high-level protocol specification language serves as an intermediary between protocol designers and hardware implementation. This intermediary allows protocol experts to define processing requirements without needing deep hardware knowledge, while the system automatically translates these specifications into optimized hardware configurations, reducing development complexity while maintaining implementation quality.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The system uses abstract protocol specifications as templates that can be copied and adapted for different protocol implementations. Instead of redesigning hardware from scratch for each protocol, the standardized specification framework allows rapid replication and adaptation of processing logic, reducing both complexity and development time while ensuring consistent implementation quality.

Inventive Principle:
Principle #26Copying

Data Source

PatentUS8385340B1Pipeline of a packet processor programmed to concurrently perform operations
Publication Date: 2013.02.26 XILINX INC
  • US8385340B1 patent drawing
  • US8385340B1 patent drawing
  • US8385340B1 patent drawing

AI summary

A packet processor includes a memory and a programmable compute pipeline. The memory stores microcode that specifies respective sets for the packet types, and the respective set for each type specifies elementary operations for each stage except an initial stage of the programmable compute pipeline. The programmable compute pipeline includes a sequence of stages beginning with the initial stage. The initial stage includes an operation selector that selects the respective set for the type of each packet. Each stage except the initial stage includes elementary components that are programmable to concurrently perform each of multiple combinations of elementary operations. The elementary components concurrently perform a selected one of the combinations for each packet. The selected combination includes the elementary operations specified for the stage in the respective set that the operation selector selects for the packet's type.