TCAM Entry Reduction via Wildcard Bit Conversion
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing techniques for storing rules in TCAM require a large number of entries due to the storage of each character in a different entry for regular expressions, leading to inefficiencies in character string searches and increased complexity in logic and hardware requirements.
Innovation Solution
A data conversion device that extracts character strings from regular expressions, converts them into bit data, and uses 'Don't Care' values for mismatch bits to reduce the number of entries needed in TCAM, allowing multiple character strings to be stored as a single entry.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Measurement precision
If each character string is stored in a different entry in TCAM, then the search accuracy is improved, but the number of entries required increases significantly
Solution Approach 1:
The patent combines multiple character strings into a single TCAM entry by using wildcard characters. Instead of storing each character string separately (e.g., 'ab', 'ac', 'ad' as separate entries), the invention uses a single entry with wildcards (e.g., 'a*b' where * matches any character) to represent multiple patterns, thereby reducing the total number of entries while maintaining search accuracy.
Solution Approach 2:
The invention changes the representation parameter from exact character matches to pattern matching with wildcards. By introducing wildcard characters that can match multiple specific characters, the system transforms the storage problem from requiring separate entries for each pattern to using a single entry with pattern parameters, thus reducing entry quantity while preserving search precision.
2Adaptability or versatility
If the number of TCAM entries is increased to store all possible character strings, then the rule storage capacity is improved, but the hardware complexity and cost increase
Solution Approach 1:
The patent merges multiple rule patterns into single TCAM entries using wildcard characters. This consolidation reduces the total number of entries needed, thereby decreasing the hardware complexity and cost of the TCAM while maintaining the ability to store and search for multiple rules efficiently.
Solution Approach 2:
The invention makes the TCAM entries universal by using wildcard characters that can match multiple specific characters. This multi-functionality allows a single entry to represent multiple patterns, increasing the rule storage capacity without proportionally increasing hardware complexity.
3Adaptability or versatility
If character string search logic such as PRS and PSM is added to TCAM, then the search functionality is improved, but the device complexity increases
Solution Approach 1:
The patent extracts the search logic from complex programmable structures (PRS, PSM) and simplifies it to basic TCAM wildcard matching. By removing the need for complex programmable switch matrices and interconnect structures, the invention maintains search functionality while significantly reducing device complexity.
Solution Approach 2:
The invention replaces complex, expensive programmable search structures with simple, cost-effective TCAM wildcard matching logic. This substitution uses the inherent capabilities of TCAM to perform pattern matching without requiring additional complex hardware components, thereby reducing device complexity and cost.
Data Source
AI summary
A technique is provided that reduces the number of used entries in a CAM required to store a rule.A data conversion device generates entry data which is to be compared with a search key and is stored in an associative memory that can hold three or more values. The data conversion device includes a conversion circuit for extracting a plurality of character strings from an inputted rule in accordance with a regular expression based on the regular expression and converting first and second character strings included in the character strings, respectively, into first and second bit data different from each other, and an encode circuit that compares the first bit data and the second bit data for each bit and generates entry data where each mismatch bit among a plurality of bits included in the first bit data is converted into “Don't Care” value based on a comparison result.


