Search Circuit Binary Search IPv6 Longest Prefix Match
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
The increasing number of IP addresses and the corresponding FIB database capacity pose challenges for efficient search performance, particularly with the transition to IPv6 addresses, as existing search algorithms like tree bitmap and binary search require significant memory capacity and power consumption, and suffer from performance degradation with longer search keys.
Innovation Solution
A search circuit that performs binary search operations on a search table with reduced capacity memory, using a configuration where each entry data includes search data, prefix length data, and search result data, allowing for efficient determination of search target ranges and output of search results without the need for excessive memory or power consumption.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If CAM is used for LPM search, then high search performance is realized, but it is expensive and consumes a large amount of power
Solution Approach 1:
The patent replaces expensive CAM with cheaper DRAM or SRAM memory devices. Although DRAM/SRAM are less inherently fast than CAM, the system achieves acceptable performance through optimized binary search algorithms and data structures, making the cheaper memory viable for LPM search operations.
Solution Approach 2:
The patent changes the search algorithm from CAM-based parallel comparison to binary search with optimized data structures. It modifies how data is organized in memory (using prefix trees or sorted tables with metadata) to enable efficient binary search operations that reduce the number of memory accesses required.
2Quantity of substance
If the number of IP addresses increases, then the FIB database capacity increases, but it becomes difficult to store and search in CAM which is expensive and power-consuming
Solution Approach 1:
The patent enables storage of large-capacity FIB databases in cost-effective and low-power DRAM or SRAM memory instead of expensive CAM. The binary search algorithm with optimized data structures allows efficient searching even with increased database capacity, making large-scale IP address routing feasible with lower-cost memory technologies.
3Use of energy by stationary object
If tree bitmap search algorithm is used, then LPM search can be performed using inexpensive and low-power-consumption DRAM or SRAM, but search performance deteriorates in proportion to the search key length
Solution Approach 1:
The patent optimizes the binary search algorithm by changing how search data is structured and accessed. It uses prefix-based indexing and metadata storage to reduce the effective search space, thereby improving search performance for longer IPv6 addresses while maintaining the benefits of using DRAM/SRAM memory.
4Productivity
If binary search algorithm is used, then the same performance as IPv4 address search can be realized, but search performance is proportional to the capacity and requires larger memory capacity
Solution Approach 1:
The patent optimizes binary search performance by changing the data structure organization. It stores prefix information and uses metadata to guide the search process, reducing the number of comparison steps required. This allows achieving fast search performance with reduced memory capacity requirements compared to conventional binary search implementations.
Data Source
AI summary
A search circuit includes a search table including a plurality of entry data, a search processing unit receiving a search key and performing a binary search operation for the search table. Each of the plurality of entry data includes a search data, a prefix length data and a search result data. The search processing unit reads one of the plurality of entry data from the search table according to a binary search operation, specifies a search target range based on the search data and the prefix length data in the read entry data, determines whether the search key is included in the search target range, and outputs the search result data of the read entry data based on a determination result.


