Regular Expression Engine with Priority Path Routing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Central Processing Units (CPUs) lack the processing power and bandwidth to perform regular expression processing in real time, leading to insufficient data throughput for responsive matching in various industries.

Innovation Solution

A circuit-based regular expression processing system utilizing a multi-port RAM and a hardware finite state automata (HFA) graph to efficiently process data streams, with a decoder circuit and switching circuitry for load balancing and path prioritization, allowing for concurrent processing of active states and priority-based routing.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If a CPU is used to execute regular expression processing, then the system is simple and flexible, but the data throughput is insufficient (100-200 Mbps) and cannot provide real-time responsive processing

Engineering Contradiction:
Improvedata throughputVSAvoidprocessing system complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent replaces the software-based CPU execution model with a hardware-based finite state automata processing system. The regular expression engine is implemented as dedicated hardware circuitry with state machines that process data streams in parallel, achieving deterministic finite automata (DFA) performance in hardware rather than software. This substitution of mechanical/software processing with hardware processing fundamentally increases throughput while maintaining the regular expression processing function.

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

Solution Approach 2:

The patent segments the regular expression processing into multiple parallel finite state automata instances, each handling specific regular expressions. The system divides the data stream processing into concurrent operations across multiple state machines, allowing simultaneous processing of multiple patterns. This segmentation enables the system to handle many regular expressions in parallel, dramatically increasing overall throughput beyond what a single CPU thread could achieve.

Inventive Principle:
Principle #1Segmentation

2Adaptability or versatility

If multiple active states are tracked concurrently for complex regular expressions, then the matching capability is improved, but the memory access complexity and processing overhead increase

Engineering Contradiction:
Improveregular expression matching capabilityVSAvoidmemory access complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent merges multiple active state tracking operations into a unified hardware state machine architecture. Instead of separately managing memory accesses for each active state, the system combines state transitions, memory reads, and writes into integrated hardware pathways. The finite state automata are designed to track multiple active states simultaneously through shared hardware resources, reducing the overall complexity of memory access control while maintaining the ability to handle complex regular expressions with many active states.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The patent performs preliminary compilation of regular expressions into deterministic finite automata (DFA) representations before runtime processing. During compilation, the system pre-calculates state transitions, optimizes memory access patterns, and generates efficient instruction sequences. This preliminary action transforms complex regular expressions into optimized hardware-friendly formats, reducing the complexity of runtime memory access and state management while preserving full matching capability.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS11983122B2High-throughput regular expression processing with path priorities using an integrated circuit
Publication Date: 2024.05.14 XILINX INC
  • US11983122B2 patent drawing
  • US11983122B2 patent drawing
  • US11983122B2 patent drawing

AI summary

A system includes a multi-port RAM configured to store an instruction table. The instruction table specifies a regular expression for application to a data stream. The system includes a regular expression engine (engine) that processes the data stream using the instruction table. The engine includes a decoder circuit that determines validity of active states output from the multi-port RAM and a plurality of priority FIFO memories (PFIFOs) operating concurrently. Each PFIFO can initiate a read from a different port of the multi-port RAM. Each PFIFO can track a plurality of active paths for the regular expression and a priority of each active path by, at least in part, storing entries corresponding to active states in each respective PFIFO in decreasing priority order. The engine includes switching circuitry that selectively routes the active states from the decoder circuit to the plurality of PFIFOs according to the priority order.