Parallel Regex Circuit for High-Throughput Data Processing
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Central Processing Units (CPUs) lack the processing power and bandwidth to perform regular expression processing in real time, making existing solutions insufficient for responsive data throughput.
Innovation Solution
A regular expression processing circuit utilizing a non-deterministic finite automata (NFA) machine with a multi-ported memory and a parallel processing architecture, allowing for concurrent processing of input strings and runtime configuration to handle different regular expressions.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If a CPU executes a regex engine application to perform regular expression processing, then the system can handle general-purpose computing tasks, but the processing power and bandwidth are insufficient to achieve real-time data throughput
Solution Approach 1:
The patent replaces the mechanical system of a general-purpose CPU executing software instructions with a dedicated hardware regular expression processing circuit. This circuit uses specialized logic elements, state machines, and parallel processing architectures to evaluate regular expressions directly in hardware, eliminating the overhead of instruction fetching, decoding, and sequential execution that limits CPU performance. The hardware implementation provides deterministic, high-speed matching capable of achieving multi-gigabit throughput.
Solution Approach 2:
The patent segments the regular expression processing function from the general-purpose CPU and implements it as a separate, dedicated hardware circuit. This segmentation allows the regex processing to occur in parallel with other CPU tasks, removes contention for CPU resources, and enables the regex engine to operate at line rate without being bottlenecked by CPU clock cycles and instruction pipeline limitations.
2Productivity
If multiple regular expression processing circuits are used to increase processing capacity, then throughput is improved, but device complexity increases
Solution Approach 1:
The patent designs a universal regular expression processing circuit that can be configured to evaluate different regular expressions through programmable parameters and lookup tables. This single versatile circuit can handle multiple regex patterns by loading different configuration data, eliminating the need for dedicated hardware for each regex pattern and reducing overall system complexity while maintaining high throughput capability.
Solution Approach 2:
The patent transitions from sequential single-threaded regex evaluation to parallel multi-threaded evaluation within a unified hardware architecture. By organizing the processing circuit to handle multiple input streams and regex patterns simultaneously through spatial parallelism, the system achieves high throughput without proportionally increasing device complexity, as the parallelism is integrated into a cohesive control structure.
Data Source
AI summary
A processing circuit includes a random access memory (RAM) configured to look up a first next state based on a first address simultaneously with looking up a second next state based on a second address. The first address is formed of a first current state and an input data and the second address is formed of a second current state and the input data. The processing circuit includes a state control circuit that receives the first and second next states, the first current state, and the second current state, and a first-in-first-out (FIFO) memory that stores selected ones of the first and second next states, the first current state, and the second current state. The processing circuit includes a multiplexer configured to selectively pass two states from the FIFO memory or two states from the state control circuit as a third current state and a fourth current state.


