Multi-Stage CAM Packet Classification Engine

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional content-addressable memory (CAM) devices are impractical for classifying packets due to their limited capacity and high cost when dealing with large packet sizes, as they require a large number of entries to accommodate various classification criteria, leading to scalability issues.

Innovation Solution

A multi-stage classification engine is employed, where each stage examines specific criteria associated with a packet, using VLAN and port/channel tables, and content-addressable memory (CAM) stages to generate rules and identifiers, allowing for efficient classification of packets using conventional CAM devices that would otherwise be impractical.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If conventional CAM devices are used for packet classification, then classification accuracy can be achieved, but the device capacity and cost become prohibitively large

Engineering Contradiction:
Improveclassification accuracyVSAvoidCAM entry capacity
Core Design Contradiction:
Measurement precisionVSQuantity of substance

Solution Approach 1:

The patent divides the single large CAM structure into multiple smaller CAM stages (first CAM stage, second CAM stage, third CAM stage). Each stage handles a portion of the classification task, examining different packet fields sequentially. This segmentation reduces the memory capacity requirement of each individual CAM device while maintaining overall classification accuracy through multi-stage processing.

Inventive Principle:
Principle #1Segmentation

2Adaptability or versatility

If CAM capacity is increased to handle larger packet sizes, then classification completeness improves, but cost and scalability deteriorate

Engineering Contradiction:
Improveclassification completenessVSAvoidcost and scalability
Core Design Contradiction:
Adaptability or versatilityVSEase of manufacture

Solution Approach 1:

The classification process is segmented into multiple stages, each handling specific packet fields. The first CAM stage examines certain fields, the second CAM stage examines other fields, and the third CAM stage performs final classification. This allows the system to achieve comprehensive classification without requiring a single oversized CAM, thereby reducing cost and improving scalability.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent transitions from a single-dimension CAM structure to a multi-dimensional multi-stage structure. Instead of increasing capacity in one dimension (single CAM size), the solution adds another dimension (multiple stages), allowing the system to achieve the same classification completeness with smaller, more affordable individual components.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

3Adaptability or versatility

If a single large CAM is used for all classification criteria, then all packet fields can be classified, but device complexity and resource requirements increase

Engineering Contradiction:
Improveclassification coverageVSAvoidCAM structure complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent segments the classification functionality across multiple CAM stages, where each stage is responsible for examining specific packet fields. This functional segmentation simplifies the structure of each individual CAM device while collectively achieving comprehensive classification coverage through the series of stages.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS8040886B2Programmable packet classification system using an array of uniform content-addressable memories
Publication Date: 2011.10.18 CISCO TECHNOLOGY INC
  • US8040886B2 patent drawing
  • US8040886B2 patent drawing
  • US8040886B2 patent drawing

AI summary

A versatile and efficient technique for classifying packets in an intermediate node. According to the technique, criteria and rules associated with the packet are applied to one or more classification stages containing content-addressable memories (CAMs). Each stage examines specific criteria associated with the packet, e.g., a packet field, and generates a rule and additional criteria. The additional rule and criteria are provided to the next classification stage. This process continues until a final rule is provided to a final classification stage. At the final classification stage, the final rule is used to generate an identifier, e.g., queue identifier (ID), associated with the classified packet.