Lookup Device Using Divided Multi-bit Trie for Reduced Memory and Pipeline Stages

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing routing search algorithms, particularly those using multi-bit Trie trees, face challenges with high memory resource occupation, numerous pipeline stages, and increased search delay, especially for IPv6 routing with long masks, making hardware implementation complex and inefficient.

Innovation Solution

The proposed solution involves a search apparatus with reduced pipeline stages and storage overheads by configuring each stage with a prefix node that points to a next hop, where the prefix node is obtained by dividing a multi-bit Trie tree into sub-trees, reducing the number of pipeline stages and memory usage, and implementing a search method that iteratively configures and updates the Trie tree structure to accommodate new entries and delete existing ones efficiently.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If a multi-bit Trie tree algorithm is used for routing search, then routing search performance is improved, but memory resource occupation increases and pipeline stages increase

Engineering Contradiction:
Improverouting search performanceVSAvoidmemory resource occupation
Core Design Contradiction:
ProductivityVSQuantity of substance

Solution Approach 1:

The patent divides the multi-bit Trie tree into multiple sub-trees, where each sub-tree is stored in a separate memory module. This segmentation allows the routing table to be distributed across multiple memory modules, reducing the memory occupation of any single module while maintaining the overall routing search performance through parallel access capabilities.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements a hierarchical memory structure where prefix nodes are stored in faster memory (such as SRAM) and full routing entries are stored in larger capacity memory (such as DRAM). This nested memory organization allows frequently accessed prefix information to be readily available while storing complete routing data in capacity-oriented memory, optimizing both speed and memory utilization.

Inventive Principle:
Principle #7Nested doll (Nesting)

2Productivity

If a multi-bit Trie tree algorithm is used for routing search, then routing search performance is improved, but the number of pipeline stages increases

Engineering Contradiction:
Improverouting search performanceVSAvoidnumber of pipeline stages
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent segments the Trie tree traversal into parallel operations across multiple memory modules. By organizing the Trie tree into sub-trees that can be accessed simultaneously, the patent reduces the sequential pipeline stages needed for traversal, as multiple memory modules can be accessed in parallel rather than requiring sequential access through multiple pipeline stages.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces a new dimension of parallelism by organizing memory access along the memory module dimension rather than solely along the pipeline stage dimension. This allows routing search to proceed with reduced pipeline stages by leveraging parallel memory access capabilities, effectively trading pipeline depth for parallel memory bandwidth.

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

3Productivity

If TCAM is used for routing search, then matching between input IP address and all routing entries is performed simultaneously, but cost and power consumption increase

Engineering Contradiction:
Improverouting search speedVSAvoidpower consumption
Core Design Contradiction:
ProductivityVSUse of energy by stationary object

Solution Approach 1:

The patent replaces the expensive TCAM hardware with a more cost-effective and energy-efficient memory-based implementation. By using standard memory modules (such as SRAM and DRAM) to store and search routing entries, the patent achieves comparable routing search performance while significantly reducing power consumption and hardware cost, effectively substituting a high-resource solution with a more efficient one.

Inventive Principle:
Principle #27Cheap short-living objects (Disposable)

4Productivity

If the whole multi-bit Trie tree structure is placed in a search apparatus, then routing search can be performed, but vast memory resources are occupied

Engineering Contradiction:
Improverouting search capabilityVSAvoidmemory resources
Core Design Contradiction:
ProductivityVSQuantity of substance

Solution Approach 1:

The patent divides the complete multi-bit Trie tree into multiple sub-trees, with each sub-tree stored in a separate memory module. This segmentation strategy reduces the memory occupation of any single search apparatus by distributing the Trie tree structure across multiple modules, while the system as a whole maintains full routing search capability through coordinated access to all sub-trees.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent designs the memory modules to be universally accessible and functionally equivalent, where each memory module can handle routing search operations independently. This multi-functional design allows the system to achieve full routing search capability through parallel operations on multiple smaller memory modules, rather than requiring one large memory structure.

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

Data Source

PatentEP3145134B1Lookup device and lookup configuration method
Publication Date: 2019.12.18 HUAWEI TECH CO LTD
  • EP3145134B1 patent drawingFigure 1
  • EP3145134B1 patent drawingFigure 2
  • EP3145134B1 patent drawingFigure 3

AI summary

A search apparatus, a search configuration method, and a search method are disclosed. The search apparatus includes N pipeline stages, where each pipeline stage includes a search unit, where a search unit of each stage is configured with a prefix node, a prefix node configured in the (N-1)th-stage search unit is obtained by dividing, into sub-trees, a multi-bit Trie tree formed by a search table, a prefix node configured in the (N-2)th-stage search unit is obtained by dividing, into sub-trees, a multi-bit Trie tree formed by an associated prefix of the prefix node configured in the (N-1)th-stage search unit, and prefix node configuration is performed by means of iteration for multiple times. By using the search apparatus provided in the present invention, a memory resource to be occupied and a quantity of pipeline stages can be reduced, thereby reducing a search delay and decreasing difficulties in implementation.