In-Place Regex Search in DRAM Using Parse Tree Analysis
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional regex engines, both software-based and hardware-based, face performance limitations due to streaming methodologies, limited memory capacity, high latency, high energy consumption, and low performance, especially in volatile memory environments like DRAM, where fine-grain deduplication is needed.
Innovation Solution
A system and method for in-place pattern matching and substring matching within DRAM using a novel architecture that generates a parse tree from regex search requests, processes fundamental regex operations using logic gates, and employs a reverse translation table to determine memory addresses, allowing for efficient deduplication and large memory capacities while supporting regex searches.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Speed
If conventional software-based regex engines use streaming methodology, then they can process data sequentially, but performance is low due to high latency and sequential processing
Solution Approach 1:
The patent segments the regex search process into discrete fundamental operations (character matching, concatenation, alternation, closure) that can be independently processed and combined. This segmentation enables parallel execution of multiple operations simultaneously, eliminating the sequential bottleneck of conventional streaming engines while maintaining correct regex semantics through structured composition of results.
Solution Approach 2:
The patent transitions from one-dimensional sequential streaming processing to multi-dimensional parallel processing by organizing the search space into a grid structure where multiple positions in the input string can be processed simultaneously at different computational stages. This dimensional transformation enables massive parallelism while preserving the hierarchical structure of regex operations.
2Speed
If hardware-based regex engines are implemented, then processing speed may improve, but memory capacity is limited and energy consumption is high
Solution Approach 1:
The patent creates a universal search apparatus that can handle any regular expression pattern through a standardized set of fundamental operations and composition rules. Rather than implementing specialized hardware for each specific regex pattern, the system uses a general-purpose parallel processing framework that adapts to different patterns dynamically, maximizing memory utilization and avoiding dedicated hardware overhead.
Solution Approach 2:
The patent changes the operational parameters from sequential single-threaded processing to parallel multi-threaded processing, and from fixed memory allocation to dynamic memory management based on pattern complexity and input size. This allows the system to scale memory usage efficiently according to actual needs rather than being constrained by fixed hardware limitations.
3Quantity of substance
If data deduplication is implemented in volatile memory, then available capacity increases, but fine-grain deduplication is difficult to achieve
Solution Approach 1:
The patent segments data into fine-grained units (individual characters or small token sequences) rather than large fixed-size blocks, enabling precise identification and deduplication of repetitive patterns at the character level. This fine segmentation allows the system to detect and eliminate redundant data with high precision while maintaining the ability to reconstruct original data exactly.
Solution Approach 2:
The patent replaces conventional mechanical block-based deduplication mechanisms with a software-based fine-grained analysis system that uses pattern recognition and symbolic processing. This substitution enables much finer granularity control over deduplication operations, allowing identification of repetitive patterns at character or token levels rather than being constrained by fixed block sizes.
4Device complexity
If DFA is used for regex matching, then complexity is low, but performance is limited due to single-state constraint
Solution Approach 1:
The patent segments the state machine into multiple independent processing units, each handling a specific fundamental regex operation. Instead of a single complex DFA transitioning through many states, the system uses multiple simple processing elements that operate in parallel, with each element responsible for a specific operation type (character match, concatenation, alternation, closure). This segmentation maintains low individual unit complexity while achieving high overall performance through parallelism.
Solution Approach 2:
The patent merges the capabilities of multiple simple processing units to achieve the functionality of a complex DFA. By combining results from parallel processing of fundamental operations and composing them according to the regex structure, the system achieves DFA-equivalent or superior performance with much higher throughput due to parallel execution.
Data Source
AI summary
A method of searching for data stored in a memory, the method including receiving a regex search request, generating a parse tree including fundamental regex operations corresponding to the regex search request, individually analyzing each of the fundamental regex operations of the generated parse tree in a respective time-step, determining a memory address location of data corresponding to the analyzed fundamental regex operations by using a translation table to determine whether the data exists, and using a reverse translation table to determine the memory address location of the data, and outputting data matching the regex search request after analyzing all of the fundamental regex operations of the generated parse tree.


