In-Place Regex Search in DRAM Using Parse Tree Analysis

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
Improveregex search speedVSAvoidsearch latency
Core Design Contradiction:
SpeedVSLoss of time

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.

Inventive Principle:
Principle #1Segmentation

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.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

2Speed

If hardware-based regex engines are implemented, then processing speed may improve, but memory capacity is limited and energy consumption is high

Engineering Contradiction:
Improveprocessing speedVSAvoidmemory capacity
Core Design Contradiction:
SpeedVSQuantity of substance

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.

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

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.

Inventive Principle:
Principle #35Parameter changes

3Quantity of substance

If data deduplication is implemented in volatile memory, then available capacity increases, but fine-grain deduplication is difficult to achieve

Engineering Contradiction:
Improveavailable memory capacityVSAvoiddeduplication granularity
Core Design Contradiction:
Quantity of substanceVSManufacturing precision

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.

Inventive Principle:
Principle #1Segmentation

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.

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

4Device complexity

If DFA is used for regex matching, then complexity is low, but performance is limited due to single-state constraint

Engineering Contradiction:
Improvestate machine complexityVSAvoidregex matching performance
Core Design Contradiction:
Device complexityVSProductivity

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.

Inventive Principle:
Principle #1Segmentation

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.

Inventive Principle:
Principle #5Merging (Combining)

Data Source

PatentUS10282436B2Memory apparatus for in-place regular expression search
Publication Date: 2019.05.07 SAMSUNG ELECTRONICS CO LTD
  • US10282436B2 patent drawing
  • US10282436B2 patent drawing
  • US10282436B2 patent drawing

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.