TCAM Resource Sharing via Adaptive Entry Allocation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

High-end routers and switches face challenges in efficiently allocating Ternary Content Addressable Memory (TCAM) resources due to higher cost, power consumption, and lower density, leading to reduced TCAM size, which can result in packet classification policy failures and performance degradation when TCAM capacity is exceeded.

Innovation Solution

An adaptive feedback control mechanism using dynamic programming-based polynomial algorithms to efficiently allocate and redistribute access control entries (ACEs) across multiple TCAM devices, minimizing traffic redirection and optimizing TCAM utilization by swapping frequently accessed entries into local TCAM devices based on recent statistics.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Use of energy by stationary object

If TCAM size is reduced to lower cost and power consumption, then cost and power efficiency are improved, but packet classification capability deteriorates due to insufficient TCAM capacity

Engineering Contradiction:
Improvepower consumptionVSAvoidpacket classification capability
Core Design Contradiction:
Use of energy by stationary objectVSAdaptability or versatility

Solution Approach 1:

The patent divides the packet classification system into multiple segments: TCAM-based fast path classification for common traffic patterns, and software-based classification for less frequent patterns. This segmentation allows the system to use smaller TCAM while maintaining overall classification capability by distributing classification tasks across different resources.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements dynamic allocation of classification rules between TCAM and software based on traffic patterns and frequency. Frequently accessed rules are loaded into TCAM for fast processing, while less frequent rules remain in software. This dynamic approach allows the system to adapt to changing traffic conditions and maximize the utility of limited TCAM resources.

Inventive Principle:
Principle #15Dynamics

2Ease of manufacture

If TCAM size is reduced, then cost is reduced, but system performance deteriorates due to increased traffic redirection and software processing

Engineering Contradiction:
ImprovecostVSAvoidsystem performance
Core Design Contradiction:
Ease of manufactureVSProductivity

Solution Approach 1:

The patent applies partial action by loading only the most frequently accessed classification rules into TCAM, rather than attempting to store all possible rules. This selective approach ensures that the limited TCAM capacity is used efficiently for high-impact rules, maintaining system performance while allowing for smaller, more cost-effective TCAM implementations.

Inventive Principle:
Principle #16Partial or excessive action

3Adaptability or versatility

If TCAM capacity is exceeded, then more packet classification policies can be stored, but forwarding performance deteriorates due to increased software processing

Engineering Contradiction:
Improvepacket classification policiesVSAvoidforwarding performance
Core Design Contradiction:
Adaptability or versatilityVSSpeed

Solution Approach 1:

The patent performs preliminary action by pre-loading frequently accessed classification rules into TCAM before traffic arrives. This advance preparation ensures that when traffic matching these rules arrives, it can be processed immediately at line rate without requiring software intervention, thereby maintaining high forwarding performance while supporting comprehensive policy coverage.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS10097378B2Efficient TCAM resource sharing
Publication Date: 2018.10.09 CISCO TECHNOLOGY INC
  • US10097378B2 patent drawing
  • US10097378B2 patent drawing
  • US10097378B2 patent drawing

AI summary

Various systems and methods for implementing efficient TCAM resource sharing are described herein. Entries are allocated across a plurality of ternary content addressable memories (TCAMs), with the plurality of TCAMs including a primary TCAM and a secondary TCAM, where the entries are allocated by sequentially accessing a plurality of groups of value-mask-result (VMR) entries, with each group having at least one VMR entry associated with the group, and iteratively analyzing the VMR entries associated with each group to determine a result set of VMR entries, with the result set being a subset of VMR entries from the plurality of groups of VMR entries, and the result set to be stored in the primary TCAM.