Hybrid CAM RAM Packet Classification Memory Utilization

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Media gateways face inefficiencies in memory utilization for packet classification due to the high cost and physical size of content addressable memory (CAM) required for session identification, necessitating improved methods for storing and searching session information.

Innovation Solution

Storing session identifiers in a memory as a combination of local and remote network addresses and port numbers, allowing for efficient classification of incoming and outgoing packets using destination and source addresses and port numbers, thereby optimizing the use of CAM and reducing the number of bits required for each search field.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If content addressable memory (CAM) is used for session identification in packet classification, then packet processing speed is improved, but manufacturing cost and physical size increase

Engineering Contradiction:
Improvepacket processing speedVSAvoidmanufacturing cost
Core Design Contradiction:
SpeedVSEase of manufacture

Solution Approach 1:

The patent segments the session identification process into two parts: a smaller CAM table storing only local network addresses and port numbers, and a larger RAM table storing complete session information including remote addresses. This segmentation allows the system to maintain fast packet processing for common local lookups while avoiding the high cost of a single large CAM table.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces an intermediary structure (the hybrid table in RAM) that mediates between the small CAM and the full session information. When a packet arrives, the system first performs a quick CAM lookup on local address and port, then uses the result to retrieve complete session information from RAM, thus avoiding the need for a large expensive CAM while maintaining processing speed.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Productivity

If content addressable memory (CAM) is used for session identification, then packet classification efficiency is improved, but physical space requirements increase

Engineering Contradiction:
Improvepacket classification efficiencyVSAvoidphysical space
Core Design Contradiction:
ProductivityVSArea of stationary object

Solution Approach 1:

The patent divides the memory requirements into two segments: a compact CAM structure occupying minimal physical space for storing local address and port combinations, and a larger RAM structure for complete session information. This physical space segmentation enables efficient packet classification while constraining the physical footprint of critical lookup structures.

Inventive Principle:
Principle #1Segmentation

3Device complexity

If traditional session table storage methods are used, then implementation simplicity is maintained, but memory utilization efficiency decreases

Engineering Contradiction:
Improveimplementation simplicityVSAvoidmemory utilization
Core Design Contradiction:
Device complexityVSQuantity of substance

Solution Approach 1:

The patent applies local quality by storing different types of information in different memory locations with different access characteristics. The CAM table stores frequently accessed local address and port data with fast access properties, while RAM stores complete session information. This local optimization of data placement improves overall memory utilization efficiency while maintaining implementation feasibility.

Inventive Principle:
Principle #3Local quality

Data Source

PatentUS7447220B2Methods and systems for packet classification with improved memory utilization in a media gateway
Publication Date: 2008.11.04 GENBAND US LLC
  • US7447220B2 patent drawing
  • US7447220B2 patent drawing
  • US7447220B2 patent drawing

AI summary

Methods and systems for classifying incoming and/or outgoing packets to sessions in a media gateway store session identifiers for active sessions in a media gateway in a memory. Each session identifier is a combination of a local network address, a local port number, a remote network address, and a remote port number for the session. Alternatively, each session identifier is a combination of a local network address and a local port number. An incoming and/or outgoing packet is classified to one of the active sessions by using network address and port number information from the packet to perform a lookup for a corresponding session identifier in the memory.