TCAM ACL Segmentation for Packet Processing Efficiency

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing network elements using TCAM for packet classification and processing face inefficiencies due to the large memory requirements and high power consumption associated with storing a single ACL for all packet types, which can be mitigated by using separate ACLs for different packet types and implementing cascading ACLs to optimize memory usage and reduce computational complexity.

Innovation Solution

The use of Content-Addressable Memory (CAM) with multiple Access Control Lists (ACLs) stored in separate regions, and a data structure to manage cascading of ACLs, allowing for flexible and user-configurable application of ACL sequences based on packet types, reduces memory requirements and enhances processing efficiency by applying ACLs selectively.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If a single ACL is stored for all packet types in TCAM, then comprehensive packet processing coverage is achieved, but memory requirements and power consumption increase significantly

Engineering Contradiction:
Improvepacket processing coverageVSAvoidpower consumption
Core Design Contradiction:
Adaptability or versatilityVSUse of energy by stationary object

Solution Approach 1:

The patent divides the single large ACL into multiple separate ACLs, each dedicated to a specific packet type. This segmentation allows the system to store only the necessary ACL for the current packet type being processed, reducing the active memory footprint and power consumption while maintaining comprehensive coverage across all packet types through selective application.

Inventive Principle:
Principle #1Segmentation

2Adaptability or versatility

If a single large ACL is stored for all packet types, then all packet types can be processed, but the number of TCAM bits required increases

Engineering Contradiction:
Improvepacket type coverageVSAvoidTCAM bits
Core Design Contradiction:
Adaptability or versatilityVSQuantity of substance

Solution Approach 1:

The patent segments the comprehensive ACL into multiple specialized ACLs organized in a tree structure, where each node represents a packet type and contains or references an ACL for that specific type. This segmentation reduces the total TCAM bits required because each ACL only contains rules relevant to its specific packet type, eliminating redundancy across different packet types.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements a nested tree structure where ACLs are organized hierarchically by packet type. The root node contains the overall ACL structure, and child nodes contain ACLs for specific packet types. This nesting allows the system to maintain a comprehensive processing framework while using minimal TCAM resources by only activating the specific nested ACL needed for each packet type.

Inventive Principle:
Principle #7Nested doll (Nesting)

3Use of energy by stationary object

If multiple separate ACLs are used for different packet types, then memory usage is optimized, but system complexity increases

Engineering Contradiction:
Improvememory efficiencyVSAvoidACL management complexity
Core Design Contradiction:
Use of energy by stationary objectVSDevice complexity

Solution Approach 1:

The patent creates a universal tree-based data structure that can accommodate multiple different packet types and their respective ACLs through a single unified framework. This multi-functional structure handles routing, switching, and filtering operations across diverse packet types using consistent data organization and access mechanisms, reducing the perceived complexity despite managing multiple ACLs.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Solution Approach 2:

The patent introduces a tree data structure as an intermediary layer between the packet input and the multiple ACLs. This intermediary organizes the ACLs hierarchically and provides a systematic method for selecting and applying the appropriate ACL based on packet type classification, thereby managing the complexity of multiple ACLs through a structured intermediary rather than direct management.

Inventive Principle:
Principle #24Intermediary (Mediator)

4Speed

If TCAM is used for packet classification, then fast processing is achieved, but power consumption and memory requirements increase

Engineering Contradiction:
Improvepacket processing speedVSAvoidpower consumption
Core Design Contradiction:
SpeedVSUse of energy by stationary object

Solution Approach 1:

The patent applies partial action by activating only the specific ACL relevant to the current packet type rather than evaluating all ACLs simultaneously. The tree structure enables the system to traverse only the necessary path to the appropriate packet type's ACL, performing partial matching operations instead of exhaustive searches, thereby reducing power consumption while maintaining fast processing through targeted TCAM queries.

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS8861347B2Configurable access control lists using TCAM
Publication Date: 2014.10.14 MELLANOX TECH TLV
  • US8861347B2 patent drawing
  • US8861347B2 patent drawing
  • US8861347B2 patent drawing

AI summary

A communication apparatus includes a Content-Addressable Memory (CAM) and packet processing circuitry. The packet processing circuitry is configured to store in respective regions of the CAM multiple Access Control Lists (ACLs) that are defined for respective packet types, to classify an input packet to a respective packet type selected from the packet types, to identify a region holding an ACL defined for the selected packet type, and to process the input packet in accordance with the ACL stored in the identified region.