Packet Classifier RAM Access Optimization
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current packet classification methods in communication networks are inefficient due to high RAM access times, especially when using SRAMs, as they require frequent searches across multiple hash tables, leading to increased power consumption and latency.
Innovation Solution
A network element with a packet classifier that groups Rule Patterns into Extended Rule Patterns and adapts their storage in RAM regions based on counter values, reducing the average number of RAM reads by optimizing the allocation of Rule Patterns to minimize search cycles and utilizing TCAM for unmatched packets.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Measurement precision
If packet classification uses multiple hash tables in SRAM with frequent searches, then classification accuracy is improved, but power consumption increases and latency increases
Solution Approach 1:
The patent segments the rule set into multiple rule sets, each stored in a separate hash table. Instead of searching all rules for every packet, the system divides the classification task across multiple specialized hash tables, reducing the search space and energy consumption per lookup while maintaining comprehensive classification coverage.
Solution Approach 2:
The system pre-computes and stores optimized hash tables with pre-calculated hash values and rule mappings. By preparing the classification structure in advance with pre-grouped rule patterns and extended rule patterns, the system eliminates the need for complex runtime computations, reducing both power consumption and latency during packet classification.
2Measurement precision
If packet classification uses multiple hash tables in SRAM with frequent searches, then classification accuracy is improved, but latency increases
Solution Approach 1:
The patent segments the rule set into multiple rule sets, each stored in a separate hash table. Instead of searching all rules for every packet, the system divides the classification task across multiple specialized hash tables, reducing the search space and energy consumption per lookup while maintaining comprehensive classification coverage.
Solution Approach 2:
The system pre-computes and stores optimized hash tables with pre-calculated hash values and rule mappings. By preparing the classification structure in advance with pre-grouped rule patterns and extended rule patterns, the system eliminates the need for complex runtime computations, reducing both power consumption and latency during packet classification.
3Loss of time
If Rule Patterns are grouped into Extended Rule Patterns and stored in RAM regions, then average number of RAM reads is reduced, but device complexity increases
Solution Approach 1:
The patent merges multiple Rule Patterns into Extended Rule Patterns by identifying common prefixes and grouping rules with similar characteristics. This consolidation reduces the total number of individual rule entries that need to be searched, thereby reducing the average number of RAM reads required for packet classification while managing complexity through systematic grouping.
Solution Approach 2:
The system applies different grouping strategies to different regions of the rule set based on local characteristics. By analyzing the distribution and characteristics of rules in different areas of the rule space, the system creates optimized groupings tailored to specific regions, improving search efficiency without uniformly increasing complexity across the entire system.
Data Source
AI summary
A network element includes multiple ports and a packet classifier. The packet classifier is configured to receive rules and Rule Patterns (RPs), each RP corresponding to a subset of the rules and specifies positions of unmasked packet-header bits to be matched by the rules in the subset, to store in a RAM a grouping of the RPs into Extended RPs (ERPs), each ERP defining a superset of the unmasked bits in the RPs associated therewith, to receive packets and match each packet to one or more of the rules by accessing the ERPs in the RAM, to determine counter values, each counter value corresponding to a respective RP and is indicative of a number of the received packets that match the RP, and to adaptively modify grouping of the RPs into the ERPs depending on the counter values.


