Banked Content Addressable Memory Mismatch Scheduling

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Banked content addressable memories (CAMs) face inefficiencies in power usage and throughput due to the need to pre-charge match lines for all banks, even when a dictionary entry has already been determined to not match, and the sequential checking of banks can lead to idle banks and reduced overall performance.

Innovation Solution

Implementing counters for each bank to track mismatch occurrences and using a scheduler to prioritize banks with higher mismatch probabilities for initial comparison, allowing for parallel comparison of multiple input words across different banks, thereby reducing unnecessary pre-charging and enhancing throughput.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Loss of energy

If all banks are pre-charged sequentially, then each bank can be compared individually, but power consumption increases and throughput decreases

Engineering Contradiction:
Improvepower consumptionVSAvoidthroughput
Core Design Contradiction:
Loss of energyVSProductivity

Solution Approach 1:

The patent applies preliminary action by pre-charging only those banks that are likely to contain a match, rather than pre-charging all banks. The CAM controller predicts which banks may contain the search key and pre-charges only those predicted banks, thereby avoiding unnecessary power consumption from pre-charging banks that will not be compared.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent implements dynamics by making the pre-charging process adaptive rather than static. The CAM controller dynamically determines which banks to pre-charge based on prediction logic that analyzes the search key and dictionary entry structure. This dynamic approach allows the system to adjust pre-charging behavior to actual data patterns, improving both power efficiency and throughput.

Inventive Principle:
Principle #15Dynamics

2Ease of operation

If banks are checked sequentially, then comparison is simplified, but idle banks reduce overall performance

Engineering Contradiction:
Improvecomparison simplicityVSAvoidthroughput
Core Design Contradiction:
Ease of operationVSProductivity

Solution Approach 1:

The patent applies preliminary action by pre-charging multiple banks simultaneously before the comparison operation begins, rather than pre-charging banks sequentially during comparison. This allows the comparison phase to proceed in parallel across multiple banks, eliminating idle time and improving throughput while maintaining comparison simplicity.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent implements continuity of useful action by ensuring that all banks that may contain a match are pre-charged and ready for comparison simultaneously, eliminating idle periods where banks would otherwise remain inactive. This continuous utilization of all relevant banks maximizes throughput while keeping the comparison process simple and systematic.

Inventive Principle:
Principle #20Continuity of useful action

Data Source

PatentEP3296995B1Content addressable memory
Publication Date: 2019.07.31 HEWLETT PACKARD ENTERPRISE DEV LP
  • EP3296995B1 patent drawingFigure 1~2B
  • EP3296995B1 patent drawingFigure 3
  • EP3296995B1 patent drawingFigure 4

AI summary

In one aspect, techniques for providing a banked content addressable memory (CAM) with counters are provided. A dictionary word may be divided into a plurality of banks. A counter may be associated with each bank of the plurality of banks. The counter may count the number of times a segment of an input word aligned with the bank does not match. A scheduler may schedule comparison of banks with higher probability of not matching before banks with lower probability of not matching. The probability of not matching may be based on the counters.