TCAM Packet Classification Using Compare Tree and Serial Match Engine
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Traditional memory-based TCAMs face challenges in efficiently performing masked matching of wide keys against large datasets for packet classification, particularly in supporting large key widths, nested prefixes, and variable masking, leading to high power consumption and complex design requirements.
Innovation Solution
A network packet classification system utilizing a compare tree engine and serial match engine, which iteratively accesses a preconfigured lookup table using bit extraction patterns and executes a linear search to identify the highest matching rule, supporting single pass packet parsing and classification with deterministic latency and scalability.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If traditional memory-based TCAM is used for packet classification, then masked matching capability is provided, but power consumption is high and design complexity increases
Solution Approach 1:
The patent divides the TCAM into multiple banks (first bank and second bank) with each bank handling a portion of the search keys. This segmentation allows parallel processing of different key portions, reducing the time all bit cells are simultaneously active, thereby lowering power consumption while maintaining masked matching capability across the full key width.
Solution Approach 2:
The patent introduces a temporal dimension by processing different portions of search keys at different times across multiple banks. Instead of all banks operating simultaneously on full-width keys, the system processes key portions sequentially across banks, reducing peak power consumption while achieving the same classification result.
2Adaptability or versatility
If traditional memory-based TCAM is used for packet classification, then masked matching is supported, but device complexity increases
Solution Approach 1:
The TCAM is segmented into multiple banks, each handling a specific portion of the search key. This division simplifies the control logic for each bank compared to a single large bank, as each bank only needs to manage a subset of the total key bits, reducing individual bank complexity while collectively supporting full masked matching capability.
Solution Approach 2:
Each TCAM bank performs partial matching on a portion of the search key rather than the full key. The system uses multiple banks to collectively achieve complete key matching, which simplifies the operation of each individual bank while maintaining overall matching accuracy through the combination of partial results.
3Device complexity
If full packet header matching is performed with traditional TCAM, then parsing complexity is reduced, but key width requirements exceed available header bytes
Solution Approach 1:
The patent segments the full packet header into multiple portions, with each portion assigned to a different TCAM bank. This segmentation allows the system to handle full header matching by dividing it into manageable chunks, where each bank processes a specific segment, effectively supporting key widths that exceed the bytes available in a single header section.
Solution Approach 2:
The patent adds a bank dimension to handle the extended key width requirement. By distributing different portions of the header across multiple banks, the system effectively increases the usable key width beyond what a single bank could handle, allowing full header matching without increasing the complexity of individual bank operations.
4Measurement precision
If Radix trees or Patricia tries are used for searching, then longest prefix matching is improved, but traversal time increases for long keys
Solution Approach 1:
The patent segments the long search key into multiple portions, with each portion processed by a different TCAM bank in parallel. This segmentation eliminates the sequential traversal required by Radix trees and Patricia tries, as all key portions are evaluated simultaneously across banks, dramatically reducing traversal time while maintaining longest prefix matching accuracy through the priority encoder that identifies the highest precedence match.
Data Source
AI summary
In a Ternary Content Addressable Memory (TCAM) optimized for network packet classification, network operation rules are preprocessed into sub-lists in accordance with a decision tree based packet classification algorithm. The decision tree is encoded as a lookup memory, which is accessed with a predetermined base address of higher order address bits combined with lower order address bits obtained from specific bit positions from a received network packet. Depending on the nodes traversed in the decision tree, different base addresses and values from different bit positions of the packet are used until a sub-list of potential rules is identified. A bitwise comparison of values of each rule against the packet is then executed, the matching rule with the highest precedence is returned as the matching table entry and the configured value associated with the entry is prepended to the packet.


