Processor Unit Matrix Comparator for Rapid Substring Matching

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current digital computer systems are inefficient in rapidly locating and matching character substrings within larger strings of binary-encoded characters, particularly in handling the increasing volume of digitally stored textual information.

Innovation Solution

A processor unit with vector registers and an M×M matrix of comparators performs character-by-character comparisons using logic gates to generate bit vectors indicating full or partial matches, allowing for rapid identification of substring matches within a target string.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If traditional sequential substring searching methods are used, then the system can handle basic text search requirements, but the processing speed and response time are insufficient for rapidly locating substrings within large volumes of digitally stored textual information

Engineering Contradiction:
Improvesubstring search speedVSAvoidtime to locate and match substrings
Core Design Contradiction:
SpeedVSLoss of time

Solution Approach 1:

The patent divides the substring matching problem into multiple independent comparison operations organized in a matrix structure. The target string is segmented into multiple characters that can be compared simultaneously against reference string characters, transforming a sequential process into parallel operations that dramatically reduce search time

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces a matrix dimension to the comparison process, organizing comparators in an M×M grid where M represents the string length. This dimensional transformation allows multiple character comparisons to occur simultaneously across different positions, converting a one-dimensional sequential search into a two-dimensional parallel processing architecture

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

2Measurement precision

If iterative re-evaluation processes are used to ensure accurate substring matching, then the precision of match identification is improved, but the processing time and computational overhead increase significantly

Engineering Contradiction:
Improveaccuracy of substring match identificationVSAvoidcomputational time for verification
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The patent performs all necessary character comparisons in a single pass through the matrix structure, establishing match status for all character positions simultaneously. This preliminary action eliminates the need for subsequent iterative verification steps, as the matrix comparison inherently determines both presence and position of matches in one operation

Inventive Principle:
Principle #10Preliminary action

3Productivity

If a simple comparison approach is used, then the device complexity is reduced, but the capability to rapidly process large volumes of textual information is compromised

Engineering Contradiction:
Improvetext information processing throughputVSAvoidprocessor unit structure
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent designs a universal matrix comparator structure that can handle any substring search task regardless of string length or content. The same M×M matrix architecture processes all comparison operations, making the system adaptable to various text processing requirements without requiring specialized hardware for each specific search case

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

Data Source

PatentUS10747819B2Rapid partial substring matching
Publication Date: 2020.08.18 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US10747819B2 patent drawing
  • US10747819B2 patent drawing
  • US10747819B2 patent drawing

AI summary

A processor unit can rapidly search a string of characters. The processor unit includes vector registers each having M vector elements, each having n bits of data for containing an encoded character. An M×M matrix of comparators within the processor unit can be used to compare elements of a first register storing a reference string and elements of a second register storing a target string. A logic gate is associated with each upper diagonal of the matrix of comparators and is configured to combine the results of comparators along the diagonal, resulting in a bit vector indicating characters of the target string that fully match the reference string and characters that partially match the reference string. The processor unit result generating logic generates, using the resulting bit vector, an indication of a substring of the target string that matches a fragment of the reference string.