Hash-Based Character String Search for Small-Circuit Memory Coding

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing memory systems face a trade-off between search performance and circuit scale, making it difficult to achieve high search performance on a small circuit scale for dictionary coding, which is essential for high throughput in information processing systems.

Innovation Solution

A character string search device is configured with a dictionary buffer, hash conversion units, a hash full search unit, and inverse hash conversion units to efficiently search and convert hash values, allowing for high search performance on a small circuit scale by using hash values and complementary data to reduce the circuit complexity.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If hash table methods are used to improve search performance, then search speed increases, but circuit scale increases

Engineering Contradiction:
Improvesearch speedVSAvoidcircuit scale
Core Design Contradiction:
SpeedVSArea of stationary object

Solution Approach 1:

The patent segments the character string search process into multiple stages: hash value generation, hash value comparison, and character-by-character verification. This segmentation allows the system to quickly filter candidates using compact hash values while maintaining accurate full string matching, achieving high search performance with reduced circuit规模.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent transforms the search problem from comparing entire character strings to comparing compact hash values (integer parameters). By converting characters to hash values and using these as search keys, the system achieves faster comparison speed with smaller circuit requirements, while verifying matches using the original character data.

Inventive Principle:
Principle #35Parameter changes

2Device complexity

If full search methods are used to maintain small circuit scale, then circuit complexity is reduced, but search performance decreases

Engineering Contradiction:
Improvecircuit complexityVSAvoidsearch performance
Core Design Contradiction:
Device complexityVSSpeed

Solution Approach 1:

The patent performs preliminary hash value generation and storage before the actual search operation. By pre-computing and storing hash values in the dictionary buffer, the system enables rapid search through hash value comparison, significantly improving search performance while keeping the circuit structure relatively simple.

Inventive Principle:
Principle #10Preliminary action

3Productivity

If dictionary coding is implemented to increase throughput, then data compression efficiency improves, but search accuracy requirements increase

Engineering Contradiction:
Improvedata throughputVSAvoidsearch accuracy
Core Design Contradiction:
ProductivityVSMeasurement precision

Solution Approach 1:

The patent introduces hash values as an intermediary representation between the original character strings and the search process. The hash values serve as a compact mediator that preserves the essential matching information while enabling efficient comparison, thus maintaining search accuracy while improving throughput.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS11588498B2Character string search device and memory system
Publication Date: 2023.02.21 KIOXIA CORP
  • US11588498B2 patent drawing
  • US11588498B2 patent drawing
  • US11588498B2 patent drawing

AI summary

According to one embodiment, a buffer stores first hash values and first complementary data. A first conversion unit converts consecutive characters in a second character string into second hash values and second complementary data. A search unit searches for consecutive first hash values from the buffer, and output a pointer. A selection unit selects consecutive first hash values and pieces of first complementary data from the buffer. A second conversion unit converts the consecutive first hash values into a third character string using the pieces of first complementary data. A comparison unit compares the second character string with the third character string to acquire a matching length. An output unit output the matching length with the pointer.