Data Processing Circuitry for Efficient Substring Search

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The complexity of data processing circuitry required for substring searches in large input data items becomes impractical due to the growing number of permutations of comparisons, making it difficult to efficiently determine the presence of a sequence of predefined values within the data.

Innovation Solution

The implementation of data processing circuitry that selectively applies vector processing operations to segments of an input data vector, using instruction decoder circuitry to generate control signals for comparison circuitry to perform comparison operations across candidate offsets, thereby managing complexity and enabling efficient substring searches across multiple segments.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If data processing circuitry performs substring searches on large input data items, then search accuracy is improved, but device complexity increases due to the growing number of comparison permutations

Engineering Contradiction:
Improvesearch accuracyVSAvoidcircuitry complexity
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The input data vector is divided into multiple segments, with each segment processed by dedicated comparison circuitry. This segmentation allows the system to maintain high search accuracy across large datasets while managing circuitry complexity by distributing comparison operations across multiple manageable units rather than requiring a single complex comparison structure.

Inventive Principle:
Principle #1Segmentation

2Measurement precision

If the number of comparison operations is increased to cover all candidate offsets, then substring detection accuracy is improved, but processing time increases

Engineering Contradiction:
Improvesubstring detection accuracyVSAvoidprocessing time
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

Comparison operations are initiated for all candidate offsets simultaneously across multiple segments before the search process completes. This preliminary action approach ensures that all possible substring positions are evaluated for accurate detection, while the parallel execution across segments prevents sequential processing delays from accumulating.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The comparison circuitry continuously operates across all segments and candidate offsets without interruption, maintaining uninterrupted search coverage. This continuous operation ensures that no potential substring match is missed while avoiding the time losses associated with restarting or pausing comparison operations between segments.

Inventive Principle:
Principle #20Continuity of useful action

Data Source

PatentEP3662361B1Matching consecutive values in a data processing apparatus
Publication Date: 2022.03.23 ARM LTD
  • EP3662361B1 patent drawingFigure 1
  • EP3662361B1 patent drawingFigure 2
  • EP3662361B1 patent drawingFigure 3

AI summary

An apparatus and a method of operating the apparatus are provided for performing a comparison operation to match a given sequence of values within an input vector. Instruction decoder circuitry is responsive to a string match instruction specifying a segment of an input vector to generate control signals to control the data processing circuitry to perform a comparison operation. The comparison operation determines a comparison value indicative of whether each input element of a required set of consecutive input elements of the segment has a value which matches a respective value in consecutive reference elements of the reference data item. A plurality of comparison operations may be performed to determine a match vector corresponding to the segment of the input vector to indicate the start position of the substring in the input vector. A string match instruction, as well as simulator virtual machine implementations, are also provided.