Partitionable TCAM with Bloom Filter for Power-Efficient Search

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Ternary content addressable memory (TCAM) devices face high power consumption and inefficiency in performing large volume and complex pattern matching operations, limiting their effectiveness in high-speed networks and rule engines.

Innovation Solution

A system dynamically partitions a TCAM array to store both a bit vector for a Bloom filter and a set of TCAM words, using hash functions to reduce search operations and adjust the array's size based on performance, thereby improving search and power efficiency.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If TCAM devices are used for pattern matching operations, then search speed is improved, but power consumption increases and efficiency decreases for large volume and complex pattern matching

Engineering Contradiction:
Improvesearch speedVSAvoidpower consumption
Core Design Contradiction:
SpeedVSUse of energy by moving object

Solution Approach 1:

The patent segments the TCAM array into multiple partitions, each handling a subset of pattern matching tasks. This segmentation allows the system to activate only the necessary partitions for each search operation, reducing overall power consumption while maintaining fast search speeds for the required patterns.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system performs preliminary classification of search patterns and pre-activates only the relevant TCAM partitions before executing the search. This preliminary action avoids activating entire TCAM arrays for every search, significantly reducing power consumption while preserving the high-speed search capability when needed.

Inventive Principle:
Principle #10Preliminary action

2Speed

If TCAM devices are used for pattern matching operations, then search speed is improved, but efficiency decreases for large volume and complex pattern matching

Engineering Contradiction:
Improvesearch speedVSAvoidmatching efficiency
Core Design Contradiction:
SpeedVSProductivity

Solution Approach 1:

The TCAM array is divided into multiple partitions that can be independently activated. This segmentation improves efficiency by enabling selective activation of only those partitions containing relevant patterns, reducing the effective search space and improving matching efficiency for large volume and complex pattern matching while preserving fast search speeds.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system dynamically activates and deactivates TCAM partitions based on the characteristics of the incoming search patterns. This dynamic adaptation optimizes efficiency by matching the active TCAM resources to the actual search requirements, improving productivity for large volume and complex pattern matching while maintaining high search speeds when partitions are active.

Inventive Principle:
Principle #15Dynamics

3Quantity of substance

If the TCAM array size is increased to handle more patterns, then pattern matching capacity is improved, but power consumption and search time increase

Engineering Contradiction:
Improvepattern storage capacityVSAvoidpower consumption
Core Design Contradiction:
Quantity of substanceVSUse of energy by moving object

Solution Approach 1:

The large TCAM array is segmented into multiple smaller partitions, each storing a subset of patterns. This segmentation allows the system to activate only the partitions containing relevant patterns for each search, maintaining high pattern storage capacity while reducing power consumption by keeping inactive partitions in a low-power state.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system performs preliminary analysis of search patterns to determine which TCAM partitions are relevant, then activates only those partitions before executing the search. This preliminary action enables the system to maintain large pattern storage capacity while minimizing power consumption by avoiding activation of unnecessary partitions.

Inventive Principle:
Principle #10Preliminary action

4Quantity of substance

If the TCAM array size is increased to handle more patterns, then pattern matching capacity is improved, but search time increases

Engineering Contradiction:
Improvepattern storage capacityVSAvoidsearch time
Core Design Contradiction:
Quantity of substanceVSLoss of time

Solution Approach 1:

The TCAM array is segmented into multiple partitions that can be searched independently and in parallel. This segmentation maintains high pattern storage capacity while reducing search time by dividing the search space into smaller, concurrently processable units, avoiding the linear increase in search time that would occur with a single large array.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system dynamically activates only the necessary TCAM partitions based on the search pattern characteristics, enabling parallel search across multiple active partitions. This dynamic approach maintains high pattern storage capacity while reducing search time by utilizing parallel processing across activated partitions rather than sequentially searching the entire array.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS10127282B2Partitionable ternary content addressable memory (TCAM) for use with a bloom filter
Publication Date: 2018.11.13 HEWLETT PACKARD ENTERPRISE DEV LP
  • US10127282B2 patent drawing
  • US10127282B2 patent drawing
  • US10127282B2 patent drawing

AI summary

A bit vector for a Bloom filter is determined by performing one or more hash function operations on a set of ternary content addressable memory (TCAM) words. A TCAM array is partitioned into a first portion to store the bit vector for the Bloom filter and a second portion to store the set of TCAM words. The TCAM array can be searched using a search word by performing the one or more hash function operations on the search word to generate a hashed search word and determining whether bits at specified positions of the hashed search word match bits at corresponding positions of the bit vector stored in the first portion of the TCAM array before searching the second portion of the TCAM array with the search word.