CAM Compiler for Regular Expression Search

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Traditional software solutions for regular expression search operations in applications like intrusion detection systems are inefficient due to increased complexity and number of regular expressions, leading to slower search speeds and throughput.

Innovation Solution

A hardware-based content addressable memory (CAM) system with a programmable interconnect structure and embedded counter circuits is used to efficiently translate and store regular expressions, allowing for simultaneous routing of match signals across CAM rows, reducing the number of rows required for storage and enhancing search speeds.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If software programs are used to perform regular expression searches, then implementation flexibility is maintained, but search speed and throughput decrease as complexity increases

Engineering Contradiction:
Improvesearch speedVSAvoidregular expression complexity
Core Design Contradiction:
SpeedVSDevice complexity

Solution Approach 1:

The patent replaces software-based regular expression processing with a hardware CAM search engine. The compiler translates regular expressions into hardware-configurable patterns that can be simultaneously matched against data in parallel, eliminating the computational bottleneck of software interpretation while maintaining the ability to handle complex patterns through hardware parallelism.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

Solution Approach 2:

The CAM search engine is designed to handle multiple regular expression patterns simultaneously in a single search operation. The programmable counter circuits and interconnect structures enable the system to process various regular expression types (with quantifiers, alternation, character classes) using the same hardware architecture, providing universal functionality across different search patterns.

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

2Quantity of substance

If more CAM rows are used to store regular expressions, then storage capacity increases, but device area and complexity increase

Engineering Contradiction:
Improvenumber of regular expressionsVSAvoidmemory area
Core Design Contradiction:
Quantity of substanceVSArea of stationary object

Solution Approach 1:

The patent merges multiple regular expression patterns into a single CAM row by utilizing programmable counter circuits that track quantifier requirements. Instead of storing each pattern separately requiring multiple rows, the system combines patterns with shared prefixes and suffixes into unified rows, reducing the total number of rows needed while maintaining the ability to store numerous different regular expressions.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The programmable counter circuits dynamically adjust the number of times a pattern must match based on quantifier specifications. This dynamic counting mechanism allows a single CAM row to represent multiple pattern variations, as the counter adapts to different quantifier requirements ({n}, {n,m}, *, +, ?) without requiring separate storage for each variation.

Inventive Principle:
Principle #15Dynamics

3Productivity

If traditional software solutions are used, then ease of programming is maintained, but processing time increases

Engineering Contradiction:
Improvesearch throughputVSAvoidprocessing time
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The compiler performs preliminary translation of regular expressions into optimized hardware patterns before the actual search operation. This pre-processing step converts the human-readable regular expression syntax into a format that can be directly configured in the CAM hardware, eliminating the need for real-time software interpretation during the search and significantly reducing processing time.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The CAM search engine performs pattern matching continuously across all CAM rows in parallel during a single search operation. Unlike software that processes patterns sequentially, the hardware architecture enables simultaneous evaluation of multiple patterns against the data stream, maintaining continuous useful action throughout the search process and maximizing throughput.

Inventive Principle:
Principle #20Continuity of useful action

Data Source

PatentUS7924590B1Compiling regular expressions for programmable content addressable memory devices
Publication Date: 2011.04.12 AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE LTD
  • US7924590B1 patent drawing
  • US7924590B1 patent drawing
  • US7924590B1 patent drawing

AI summary

A content search system includes CAM device, a compiler, and an image loader. The CAM device, which includes a plurality of rows of CAM cells and a number of counter circuits selectively interconnected by a programmable interconnect structure (PRS), performs regular expression search operations. The compiler selectively converts the regular expression into a number of various bit groups, and the image loader loads corresponding bit groups into the CAM cells, into a number of memory elements that control configuration of the PRS, and into the counter circuits.