Dual-Side CAM Lookup Scheme for Packet Routing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current content addressable memory (CAM) systems in communication networks require two lookups for packet routing, increasing hardware complexity and cost, and wasting 50% of storage space by storing data on only one side of the CAM.

Innovation Solution

A method that associates network addresses with either the left or right sections of a CAM based on specific bits of the network address, allowing for single-sided lookup by determining which section to program or search, thereby reducing the number of lookups and optimizing storage usage.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If two CAM lookups are performed for packet routing, then routing accuracy is improved, but hardware complexity and cost increase

Engineering Contradiction:
Improverouting accuracyVSAvoidhardware complexity
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The patent divides the CAM into two separate sections: a first section storing network addresses and a second section storing next hop information. By segmenting the data storage and using separate lookup mechanisms, the system achieves accurate routing without requiring complex dual-lookup hardware, thus resolving the contradiction between routing accuracy and hardware complexity

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces an intermediary mapping mechanism where network addresses in the first CAM section are mapped to indices that point to the second section. This intermediary layer allows the system to perform accurate routing lookups through a simplified two-stage process rather than complex simultaneous lookups, reducing hardware complexity while maintaining routing precision

Inventive Principle:
Principle #24Intermediary (Mediator)

2Device complexity

If data is stored in only one side of the CAM, then hardware complexity is reduced, but storage utilization decreases by 50%

Engineering Contradiction:
Improvehardware complexityVSAvoidstorage utilization
Core Design Contradiction:
Device complexityVSQuantity of substance

Solution Approach 1:

The patent segments the CAM storage into two distinct functional sections: the first section stores network addresses and the second section stores next hop information. This segmentation allows both sections to be fully utilized, doubling effective storage capacity while keeping hardware complexity manageable through separate, simplified access mechanisms for each section

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent makes the CAM structure multi-functional by having the first section serve as an address lookup table and the second section serve as a next hop information database. Each section independently fulfills its function, allowing complete utilization of both halves of the CAM hardware without requiring complex coordination, thus achieving both high storage utilization and reduced hardware complexity

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

Data Source

PatentUS7657703B1Double density content addressable memory (CAM) lookup scheme
Publication Date: 2010.02.02 AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE LTD
  • US7657703B1 patent drawing
  • US7657703B1 patent drawing
  • US7657703B1 patent drawing

AI summary

The number of content addressable memory (CAM) lookups is reduced from two to one. Each side (left and right sides) of a CAM is programmed with network addresses, such as IP addresses, based on certain bits of the network addresses. These bits of the network addresses (which represent packet routes) are examined and used to determine whether the particular network address is to be placed on the left or right sides of the CAM. The grouping of certain network addresses either on the left or right sides of the CAM can be performed by examining an individual bit of each network address, by performing an exclusive OR (XOR) operation on a plurality of bits of each network address, and/or by searching for bit patterns of the network address in a decision table. Network addresses that cannot be readily assigned to a particular side of the CAM using these grouping techniques are programmed into both sides of the CAM. During packet routing, techniques similar to the grouping techniques that populated the CAM are used to determine which of the two sides of the CAM is to be searched.