Associative Memory Array for In-Memory Multistep Search

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Cascading searches, which involve an initial similarity search followed by metadata retrieval and exact search, are computationally expensive and slow due to the complexity of handling large numbers of candidate vectors and multiple metadata pointers, leading to inefficiencies in both network security and chemical analysis.

Innovation Solution

The implementation of an associative memory array with a similarity search processor and an exact match processor that performs parallel similarity and exact searches, utilizing metrics like Tanimoto, Hamming, L1, L2, or Jaccard searches, and aligning both portions of multiportion data vectors in the same column to reduce search time, along with a modified exact search query that restricts processing to only similarity-matched columns.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If cascading searches are performed with initial similarity search followed by metadata retrieval and exact search, then search accuracy is improved, but search time and computational cost increase significantly

Engineering Contradiction:
Improvesearch accuracyVSAvoidsearch time
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The patent performs the similarity search on the first portion of multiportion vectors beforehand to identify candidate vectors, storing their second portions in an accessible structure. This preliminary action allows the exact search to be performed only on relevant candidates rather than the entire database, significantly reducing search time while maintaining accuracy.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent divides vectors into multiple portions (first portion for similarity search, second portion for exact search) and processes them in separate stages. This segmentation allows independent optimization of each search type and enables efficient candidate filtering before performing expensive exact searches.

Inventive Principle:
Principle #1Segmentation

2Measurement precision

If cascading searches are performed with initial similarity search followed by metadata retrieval and exact search, then search accuracy is improved, but computational complexity increases

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

Solution Approach 1:

The system pre-processes and stores the second portions of candidate vectors in a structured format after the similarity search, so that during the exact search phase, only the necessary computational operations need to be performed on already-prepared data. This reduces the computational complexity of the overall cascading search process.

Inventive Principle:
Principle #10Preliminary action

3Quantity of substance

If traditional cascading search with sequential processing is used, then memory usage is reduced, but I/O delays increase search time

Engineering Contradiction:
Improvememory usageVSAvoidI/O delay
Core Design Contradiction:
Quantity of substanceVSLoss of time

Solution Approach 1:

The patent combines the first and second portions of multiportion vectors into the same memory structure, allowing both portions to be accessed simultaneously during the search process. This merging eliminates the need for separate I/O operations to retrieve different portions, reducing I/O delays while maintaining efficient memory utilization.

Inventive Principle:
Principle #5Merging (Combining)

Data Source

PatentUS11989185B2In-memory efficient multistep search
Publication Date: 2024.05.21 GSI TECHNOLOGY INC
  • US11989185B2 patent drawing
  • US11989185B2 patent drawing
  • US11989185B2 patent drawing

AI summary

A cascading search system includes an associative memory array, a similarity match processor and an exact match processor. The columns of the array store a plurality of multiportion data vectors and have a first section, for a first portion of a vector, a second section for storing a second portion of a vector and a match row. The similarity match processor performs a parallel similarity search of a similarity query in the first sections and stores a match bit indication in the match row of the column. Each match bit indication indicates if its column has a first portion which matches the similarity query. The exact match processor performs an exact search in parallel in the second section of each similarity matched column whose match bit indication indicates a match of its first section and outputs those similarity matched columns whose second portions match the exact query.