TCAM Entry Optimization via Encoded Labels
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Network devices face inefficiencies in storing and processing packet classifier rules due to the high cost and power consumption of TCAMs, which limits the number of entries that can be stored, leading to reduced storage capacity and increased latency.
Innovation Solution
The method involves determining field sets and field set groups, generating encoded labels based on rule costs and intersections, and using these labels to reduce the number of TCAM entries required, allowing for more efficient storage and processing of packet classifier rules, potentially shifting storage to less costly memory types like SRAM.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Speed
If TCAM entries are used to store packet classifier rules, then fast packet classification is achieved, but storage capacity is limited and power consumption is high
Solution Approach 1:
The patent segments packet classifier rules into multiple groups based on field sets and field set groups. Each group can be stored in separate memory structures, allowing the system to manage large numbers of rules without requiring a single large TCAM. This segmentation enables scalable storage capacity while maintaining fast lookup performance for each segment.
Solution Approach 2:
The patent introduces encoded labels as an additional dimension for organizing and storing packet classifier rules. Instead of storing only traditional TCAM entries, the system uses encoded labels to represent field sets, creating a multi-dimensional storage structure that increases capacity while preserving fast classification capabilities.
2Speed
If TCAM entries are used to store packet classifier rules, then fast packet classification is achieved, but power consumption increases
Solution Approach 1:
The patent applies local quality by using TCAM only for specific field set groups that require fast matching, while other groups are stored in lower-power memory. This selective use of TCAM reduces overall power consumption while maintaining fast classification performance for the most critical rule sets.
Solution Approach 2:
By segmenting rules into multiple groups and storing them in different memory types, the system activates only the necessary TCAM segments during operation, reducing power consumption compared to using a single large TCAM for all rules.
3Reliability
If more packet classifier rules are stored, then classification accuracy is improved, but TCAM entry exhaustion occurs
Solution Approach 1:
The patent adds the encoded label dimension to the traditional TCAM entry structure. This allows the system to store and retrieve packet classifier rules using a combination of encoded labels and traditional fields, effectively increasing the addressable space from linear TCAM entries to a multi-dimensional structure that can accommodate many more rules.
Solution Approach 2:
The patent divides packet classifier rules into multiple field set groups, each potentially stored in separate memory structures. This segmentation allows the system to scale storage capacity by adding more groups without being limited by a single TCAM's entry count, thereby maintaining high classification accuracy.
Data Source
AI summary
In some implementations, a method is provided. The method includes determining a plurality of field sets and a plurality of field set groups. Each field set of the plurality of field sets comprises one or more packet characteristics. Each field set group of the plurality of field set groups comprises one or more field sets from the plurality of field sets. Each field set group is associated with one or more packet classifier rules. The method also includes determining a set of encoded labels for the plurality of field sets based on a set of rule costs and intersections between field set groups. Each encoded label of the set of encoded labels is associated with a respective field set of the plurality of field sets. The method further includes generating a plurality of entries in a memory based on the set of encoded labels. At least one entry comprises an encoded label from the set of encoded labels and at least a portion of a packet classifier rule.


