Pipelined Egress Packet Modifier Script Processing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

As packet throughputs and output bit rates increase, existing egress packet modification processes become inefficient due to the need for multiple processors to perform modifications, which leads to bottlenecks and increased complexity in memory access and processing.

Innovation Solution

A script-based and pipelined egress packet modifier that uses a processor to attach a script code to packets, which is then processed through a pipeline of high-speed combinatorial logic stages, performing modifications such as insert, replace, increment, decrement, and pad operations without fetching or decoding instructions, allowing for efficient modification of packet parts in a single clock cycle.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If multiple processors are used to perform packet modifications, then packet throughput increases, but device complexity and memory access bottlenecks increase

Engineering Contradiction:
Improvepacket throughputVSAvoidprocessor quantity and memory access complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The packet modification process is segmented into distinct pipeline stages (fetch, decode, execute, write-back) that operate in parallel. Each stage handles specific modification tasks independently, allowing multiple packets to be processed simultaneously at different stages of the pipeline, thereby increasing throughput without requiring multiple complete processors.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Packet modifications are pre-configured using script code that is attached to packets before they enter the pipeline. The script contains pre-computed modification parameters and instructions that are fetched and decoded in advance, enabling the execution stage to perform modifications rapidly without real-time computation overhead.

Inventive Principle:
Principle #10Preliminary action

2Manufacturing precision

If packets are read from memory, analyzed, and written back in modified form, then modification accuracy is achieved, but processing time increases

Engineering Contradiction:
Improvemodification accuracyVSAvoidprocessing time
Core Design Contradiction:
Manufacturing precisionVSLoss of time

Solution Approach 1:

The pipeline architecture enables continuous packet processing where multiple packets are at different stages of modification simultaneously. While one packet is being written back, another is being analyzed, and a third is being fetched from memory, eliminating idle time and maintaining continuous useful action throughout the system.

Inventive Principle:
Principle #20Continuity of useful action

Solution Approach 2:

The conventional sequential mechanical process of read-analyze-write is replaced with a pipelined system where these operations occur in parallel streams. The script-based control mechanism substitutes for complex real-time decision logic, enabling rapid execution of pre-determined modifications.

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

3Adaptability or versatility

If script code is fetched and decoded for each packet, then flexible modification is enabled, but processing overhead increases

Engineering Contradiction:
Improvemodification flexibilityVSAvoidinstruction fetching and decoding complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

Instead of fetching and decoding complete instruction sets for each packet, the system uses compact script code that contains only the essential modification parameters. These scripts are copied and executed directly by the pipeline stages, eliminating the need for complex instruction decoding while maintaining modification flexibility.

Inventive Principle:
Principle #26Copying

Solution Approach 2:

The script code format is optimized to contain only critical modification parameters (offsets, lengths, replacement values) rather than complete assembly instructions. This parameter-based approach allows the pipeline to perform modifications using simple parameter comparisons and data movements, reducing processing overhead while maintaining adaptability.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS9450890B2Pipelined egress packet modifier
Publication Date: 2016.09.20 NETRONOME SYSTEMS INC
  • US9450890B2 patent drawing
  • US9450890B2 patent drawing
  • US9450890B2 patent drawing

AI summary

An egress packet modifier includes a script parser and a pipeline of processing stages. Rather than performing egress modifications using a processor that fetches and decodes and executes instructions in a classic processor fashion, and rather than storing a packet in memory and reading it out and modifying it and writing it back, the packet modifier pipeline processes the packet by passing parts of the packet through the pipeline. A processor identifies particular egress modifications to be performed by placing a script code at the beginning of the packet. The script parser then uses the code to identify a specific script of opcodes, where each opcode defines a modification. As a part passes through a stage, the stage can carry out the modification of such an opcode. As realized using current semiconductor fabrication process, the packet modifier can modify 200M packets/second at a sustained rate of up to 100 gigabits/second.