Hardware Trie Lookup Without Sequential Logic for Packet Throughput

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Network processor integrated circuits face challenges in efficiently managing packet traffic and data structures, particularly in handling hash functions and logging packet and byte count information, as existing architectures require sequential logic elements and are not scalable for increased throughput.

Innovation Solution

The Island-Based Network Flow Processor (IB-NFP) employs a transactional memory with a hardware trie structure and dedicated hardware circuits, including a state machine array and pipeline, to perform atomic operations and lookups without sequential logic, enabling efficient packet processing and data management across a configurable mesh Command/Push/Pull data bus.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If sequential logic elements are used in the memory structure, then the memory can be accessed, but the processing throughput is limited and scalability is reduced

Engineering Contradiction:
Improveprocessing throughputVSAvoidsequential logic elements
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent extracts sequential logic elements from the memory structure entirely, replacing them with a pure combinatorial logic hardware trie. This removal eliminates the throughput bottleneck while maintaining memory access functionality through a different architectural approach based on content-addressable lookup tables.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent substitutes the mechanical sequential logic system with a combinatorial logic system. Instead of using sequential circuits with state elements that process data step-by-step, the invention uses combinatorial logic circuits that perform parallel content-addressable lookup operations, dramatically increasing processing throughput.

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

2Productivity

If multiple microengines are added to increase processing power, then more packet processing can be performed, but memory contention increases and efficiency decreases

Engineering Contradiction:
Improvepacket processing capacityVSAvoidmemory contention
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent segments the memory access function into multiple independent hardware tries, each capable of handling lookup operations autonomously. This segmentation allows multiple microengines to access different trie structures simultaneously without contending for the same memory resources, eliminating the scalability bottleneck.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The hardware trie structure serves multiple functions simultaneously: it acts as both the memory storage structure and the lookup processing engine. This multi-functionality eliminates the need for separate memory access control logic, allowing multiple microengines to perform memory operations concurrently without traditional memory contention.

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

3Speed

If a hardware trie structure with no sequential logic is implemented, then processing speed increases, but the device complexity in terms of combinatorial logic increases

Engineering Contradiction:
Improvelookup processing speedVSAvoidcombinatorial logic structure
Core Design Contradiction:
SpeedVSDevice complexity

Solution Approach 1:

The patent transitions from one-dimensional sequential processing to multi-dimensional parallel processing by organizing data in a trie structure with multiple levels and branches. This dimensional change allows the combinatorial logic to evaluate multiple data paths simultaneously, achieving high speed despite increased structural complexity.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

Data Source

PatentUS9899996B1Recursive lookup with a hardware trie structure that has no sequential logic elements
Publication Date: 2018.02.20 NETRONOME SYSTEMS INC
  • US9899996B1 patent drawing
  • US9899996B1 patent drawing
  • US9899996B1 patent drawing

AI summary

A hardware trie structure includes a tree of internal node circuits and leaf node circuits. Each internal node is configured by a corresponding multi-bit node control value (NCV). Each leaf node can output a corresponding result value (RV). An input value (IV) supplied onto input leads of the trie causes signals to propagate through the trie such that one of the leaf nodes outputs one of the RVs onto output leads of the trie. In a transactional memory, a memory stores a set of NCVs and RVs. In response to a lookup command, the NCVs and RVs are read out of memory and are used to configure the trie. The IV of the lookup is supplied to the input leads, and the trie looks up an RV. A non-final RV initiates another lookup in a recursive fashion, whereas a final RV is returned as the result of the lookup command.