Batch Entries Sharing CAM Entries via Mask Vectors

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Content-addressable memory (CAM) devices face inefficiencies due to the need for multiple lookup operations across varying CAM entry widths and the wastage of bits when different applications require different CAM entry widths, leading to suboptimal performance in packet processing.

Innovation Solution

Implementing a method where multiple CAM entries are associated to form batch entries that span multiple physical entries, allowing for shared content-addressable memory entries among batch entries, and using batch mask vectors to decode shared information during lookup operations, enabling iterative lookup operations across both directions within the CAM device.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If multiple lookup operations are performed across CAM entries of varying widths, then lookup completeness is improved, but processing time increases

Engineering Contradiction:
Improvelookup completenessVSAvoidprocessing time
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The patent segments batch entries into multiple CAM entries of uniform width, where each segment can be independently processed. This segmentation allows the lookup operation to be divided into smaller parallel operations, maintaining completeness while reducing the time required for each individual comparison operation.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces a batch dimension by associating multiple CAM entries with a single batch entry through batch mask vectors. This allows the system to process variable-width logical entries using fixed-width physical entries, adding a dimension of multiplexing that improves time efficiency without sacrificing lookup completeness.

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

2Device complexity

If CAM entries are allocated with fixed width to accommodate largest entry, then device simplicity is improved, but bit wastage increases

Engineering Contradiction:
Improvedevice simplicityVSAvoidbit wastage
Core Design Contradiction:
Device complexityVSLoss of substance

Solution Approach 1:

The patent makes each CAM entry universally applicable to multiple batch entries through the batch mask vector mechanism. A single fixed-width CAM entry can serve multiple variable-width batch entries by being selectively activated through different batch mask configurations, eliminating bit wastage while maintaining device simplicity.

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

Solution Approach 2:

The patent changes the effective width parameter of CAM entries dynamically through batch mask vectors. Instead of physically varying entry widths, the system uses software-controlled masks to enable or disable specific bit portions of fixed-width entries, achieving variable-width functionality without hardware complexity or bit wastage.

Inventive Principle:
Principle #35Parameter changes

3Adaptability or versatility

If batch entries span multiple physical entries, then adaptability is improved, but device complexity increases

Engineering Contradiction:
Improvebatch entry flexibilityVSAvoidmemory structure complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent introduces batch mask vectors as intermediary data structures that map logical batch entries to physical CAM entries. This intermediary layer provides the adaptability needed for batch entries to span multiple physical entries while keeping the actual memory structure simple and regular, as the complexity is managed through software rather than hardware.

Inventive Principle:
Principle #24Intermediary (Mediator)

4Measurement precision

If iterative lookup operations are performed, then matching accuracy is improved, but processing speed decreases

Engineering Contradiction:
Improvematching accuracyVSAvoidprocessing speed
Core Design Contradiction:
Measurement precisionVSSpeed

Solution Approach 1:

The patent maintains continuous useful action by performing lookups across all batch entries simultaneously using parallel CAM operations. Instead of sequential iterative lookups that would reduce speed, the system continuously processes multiple entries in parallel through the batch mask mechanism, preserving both accuracy and speed.

Inventive Principle:
Principle #20Continuity of useful action

Data Source

PatentUS9021195B2Batch entries sharing individual content-addressable memory entries
Publication Date: 2015.04.28 CISCO TECHNOLOGY INC
  • US9021195B2 patent drawing
  • US9021195B2 patent drawing
  • US9021195B2 patent drawing

AI summary

In one embodiment, batch entries include multiple content-addressable memory (CAM) entries, and CAM entries are allowed to be shared among different batch entries. For example, two or more batch entries might have a common set of bits (e.g., representing an address, an address prefix, etc.). Rather than consuming bits of multiple CAM entries, a single CAM entry can be programmed with this common information. Other CAM entries associated with different batch entries are programmed with the distinguishing/different values. A batch lookup operation on a batch entry of two or more CAM entries requires multiple lookup operations on the CAM entries. One embodiment uses a batch mask vector to provide information to decode what CAM entries are shared among which batch entries during a series of lookup operations, which can be performed in one or both directions through the CAM entries.