Parallel Compare Logic Units for Content Addressable Memory Throughput

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Content addressable memories (CAMs) face limitations in efficiently performing parallel lookups, leading to bottlenecks and high costs in expanding their throughput capabilities.

Innovation Solution

The implementation of multiple parallel compare logic units within a common memory module allows for simultaneous comparison of multiple lookup keys against a plurality of entries in a single memory operation cycle, reducing the transistor count and enabling cost-effective expansion of CAMs.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If multiple separate memory modules are used to enable parallel lookups, then throughput capability is improved, but device complexity and cost increase

Engineering Contradiction:
Improvethroughput capabilityVSAvoiddevice complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent segments the comparison function by introducing multiple parallel compare logic units that can simultaneously compare different lookup keys against the same memory entries. This functional segmentation enables parallel lookups without requiring separate memory modules, thereby improving throughput while avoiding the complexity and cost of multiple memory modules.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The common memory module is designed to serve multiple functions by storing entries that can be compared against multiple different lookup keys simultaneously through the parallel compare logic units. This multi-functionality allows a single memory module to support parallel lookups, eliminating the need for multiple specialized memory modules and reducing overall system complexity.

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

2Productivity

If multiple separate memory modules are used to enable parallel lookups, then throughput capability is improved, but cost increases

Engineering Contradiction:
Improvethroughput capabilityVSAvoidcost
Core Design Contradiction:
ProductivityVSEase of manufacture

Solution Approach 1:

The patent merges multiple comparison functions into a single memory module by implementing parallel compare logic units that share the same memory entries. This consolidation eliminates the need for multiple separate memory modules, reducing manufacturing cost while maintaining the ability to perform parallel lookups and improve throughput capability.

Inventive Principle:
Principle #5Merging (Combining)

3Adaptability or versatility

If traditional CAM architecture is used, then simplicity is maintained, but parallel lookup capability is limited

Engineering Contradiction:
Improveparallel lookup capabilityVSAvoiddevice complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent applies segmentation to the comparison function by introducing multiple parallel compare logic units that can simultaneously compare different lookup keys against memory entries. This functional segmentation enables parallel lookups while keeping the memory module structure simple and shared, thereby improving adaptability without significantly increasing device complexity.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS9159420B1Method and apparatus for content addressable memory parallel lookup
Publication Date: 2015.10.13 MARVELL ISRAEL (M L S L) LTD
  • US9159420B1 patent drawing
  • US9159420B1 patent drawing
  • US9159420B1 patent drawing

AI summary

Systems and methods are provided for a content addressable memory. A system includes a common memory module configured to store a plurality of entries, ones of the entries being defined by a string of bits. A first parallel compare logic unit is configured to compare a first lookup key against a plurality of entries stored in the memory module in a first memory operation cycle and to output a match indication indicating a match between the first lookup key and the string of bits of an entry from among the plurality of entries. A second parallel compare logic unit is configured to compare, in the first memory operation cycle, a second lookup key against the plurality of entries stored in the memory module and to output a match indication indicating a match between the second lookup key and the string of bits of an entry from among the plurality of entries.