Lookup Device Using Divided Multi-bit Trie for Reduced Memory and Pipeline Stages
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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.
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
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.
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.
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
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.
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
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.
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.
Data Source
Figure 1
Figure 2
Figure 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.