Hardware Regex Filter Sharing Character Data

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing data processing technologies face limitations in optimizing regular expression matching performance due to the constraints of general-purpose hardware, which can lead to inefficiencies in area, power consumption, and complexity when implementing dedicated circuitry for regular expression filtering.

Innovation Solution

Implementing a hardware-accelerated regular expression filter using Field Programmable Gate Arrays (FPGAs) that shares character data across lookups, reducing the size and complexity of the filter design by utilizing nondeterministic finite automaton (NFA) states and optimizing the utilization of hardware resources.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If general purpose hardware is used to execute query engines, then versatility in performing queries in different contexts is improved, but performance is limited and cannot achieve optimization beyond software applications alone

Engineering Contradiction:
Improvequery capabilityVSAvoidquery performance
Core Design Contradiction:
Adaptability or versatilityVSProductivity

Solution Approach 1:

The system segments query processing into two parts: general-purpose hardware executes the query engine software for versatility, while dedicated circuitry handles specific filtering operations for performance. This segmentation allows each component to optimize for its specific function without compromising the other.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces an intermediary mechanism where the query engine on general-purpose hardware communicates with dedicated filtering circuitry. This intermediary interface allows the software to direct specific filtering tasks to hardware accelerators, combining the versatility of software with the performance of hardware.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Productivity

If dedicated circuitry is implemented for regular expression filtering, then performance gains beyond software applications are achieved, but area, power consumption, and complexity increase

Engineering Contradiction:
Improvefiltering performanceVSAvoidcircuit complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The dedicated circuitry is designed with universal components that can handle multiple regular expression patterns and filtering operations. By using universal building blocks that can be configured for different patterns, the circuit achieves high performance without proportionally increasing complexity.

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

Solution Approach 2:

The patent employs parameterized designs where circuit behavior is controlled by configurable parameters rather than hard-coded logic. This allows the same circuit structure to adapt to different regular expression patterns by changing parameters, reducing the need for multiple specialized circuits and thereby lowering overall complexity.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS10990627B1Sharing character data across lookups to identify matches to a regular expression
Publication Date: 2021.04.27 AMAZON TECH INC
  • US10990627B1 patent drawing
  • US10990627B1 patent drawing
  • US10990627B1 patent drawing

AI summary

Integrated circuits may implement a filter to identify items in a data store that match a regular expression by sharing character data across lookups in the filter. The NFA states of the may be programmed responsive to a query that includes a regular expression. The NFA states may include a character decode stage that operates on one portion of character bits, while another portion of character bits is evaluated at a state detection stage that also evaluates an output value of the character decode stage.