TCAM Database Partitioning for Rule Deduplication
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Traditional content addressable memory (CAM) devices are power-intensive and large in size, making them inefficient for high-speed network operations like packet forwarding and classification, especially due to the need for duplicating rules with don't care bits across multiple segments.
Innovation Solution
A method to partition a ternary content addressable memory (TCAM) database into sections, identifying subsets of rules with shared rules, and writing these subsets to the same section without duplicating shared rules, thereby reducing the number of duplications and the size of the database needed.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If rules with don't care bits are duplicated across multiple segments in traditional CAM, then complete rule coverage is achieved, but power consumption and device size increase significantly
Solution Approach 1:
The patent divides the CAM into multiple segments and uses a segmentation identifier in the lookup key to select which segment to search. This allows the system to cover all rules without duplicating them across all segments, as each rule resides in only one segment and is accessed only when its segment identifier matches the lookup key's segment identifier.
Solution Approach 2:
The patent pre-processes rules with don't care bits by assigning them to specific segments based on their characteristics and storing the segment identifier alongside each rule. This preliminary organization eliminates the need for duplication during runtime, reducing power consumption while maintaining complete rule coverage.
2Reliability
If rules with don't care bits are duplicated across multiple segments in traditional CAM, then complete rule coverage is achieved, but device area increases significantly
Solution Approach 1:
The patent divides the CAM into multiple segments and uses a segmentation identifier in the lookup key to select which segment to search. This allows the system to cover all rules without duplicating them across all segments, as each rule resides in only one segment and is accessed only when its segment identifier matches the lookup key's segment identifier.
3Speed
If traditional CAM performs parallel comparison across all entries, then high speed lookup is achieved, but power consumption increases
Solution Approach 1:
The patent divides the CAM into multiple segments and uses a segmentation identifier in the lookup key to select which segment to search. This allows the system to cover all rules without duplicating them across all segments, as each rule resides in only one segment and is accessed only when its segment identifier matches the lookup key's segment identifier.
Data Source
AI summary
A TCAM database is partitioned into a plurality of sections. A set of rules to be stored in the TCAM database is analyzed to identify respective subsets of rules that match respective possible bit value combinations corresponding to a subset of bits in the rules, and to identify, in the subsets of rules, two or more subsets that share one or more rules. Then, it is determined whether two or more subsets that include shared rules can be written to a same section in the TCAM database, without exceeding a maximum number of rules that can be written to the same section, when one or more duplicates of one the the shared rules is omitted from the TCAM database. When it is determined that two or more subsets can be written to the same section, the two or more subsets are written to the same section in the TCAM database.


