Banked Content Addressable Memory Mismatch Scheduling
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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.
2Ease of operation
If banks are checked sequentially, then comparison is simplified, but idle banks reduce overall performance
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.
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.
Data Source
Figure 1~2B
Figure 3
Figure 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.