Stream Processor Hash Table Lookup Using Buffer Verification

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Stream processors face inefficiencies in data lookups due to hash table collisions, which lead to errors in identifying matching data strings, especially when implementing large FIFO sizes and minimizing power consumption, as content-addressable memory (CAM) solutions are limited by size and power constraints.

Innovation Solution

A method is implemented where a search string is parsed into tokens, each hashed into address and data hashes of shorter lengths, allowing for efficient searching in a hash table with minimized collision errors, by selecting the most frequently pointed locations in the buffer, thereby reducing the likelihood of false positives and improving lookup accuracy.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Use of energy by moving object

If hash table lookups are used for data storage and retrieval, then power consumption is reduced and FIFO size can be increased, but collision-based errors increase and lookup accuracy deteriorates

Engineering Contradiction:
Improvepower consumptionVSAvoidlookup accuracy
Core Design Contradiction:
Use of energy by moving objectVSReliability

Solution Approach 1:

A buffer is introduced as an intermediary layer between the hash table and the data source. The buffer stores candidate locations identified by hash table lookups, allowing for verification and resolution of collision-based errors without requiring additional power-consuming CAM structures. This mediator enables the system to handle collisions gracefully while maintaining low power consumption.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent replaces the mechanical/combinatorial approach of CAM (content-addressable memory) with a computational hashing approach. Instead of using CAM's parallel comparison mechanism which consumes high power, the system uses hash functions to compute addresses and a buffer-based verification process to resolve collisions, substituting a lower-power computational method for a higher-power hardware mechanism.

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

2Reliability

If CAM solutions are used to eliminate collision errors, then lookup accuracy is improved, but power consumption increases and device size is limited

Engineering Contradiction:
Improvelookup accuracyVSAvoidpower consumption
Core Design Contradiction:
ReliabilityVSUse of energy by moving object

Solution Approach 1:

The patent uses a buffer as a temporary, low-cost storage structure to hold candidate locations from hash table lookups. Instead of investing in expensive, high-power CAM structures, the system uses a simple buffer that can be cleared and reused, accepting temporary imprecision from hash collisions and resolving them through subsequent verification steps.

Inventive Principle:
Principle #27Cheap short-living objects (Disposable)

Solution Approach 2:

The patent changes the approach from exact matching (CAM) to probabilistic matching with verification (hashing + buffer). By changing the lookup parameter from deterministic to probabilistic, the system can use lower-power hash functions and resolve accuracy issues through multiple sampling and verification passes using the buffer, rather than requiring high-power exact-match hardware.

Inventive Principle:
Principle #35Parameter changes

3Quantity of substance

If larger FIFO sizes are implemented to store more streaming data, then data capacity is increased, but hash table collision frequency increases

Engineering Contradiction:
Improvedata capacityVSAvoidlookup accuracy
Core Design Contradiction:
Quantity of substanceVSReliability

Solution Approach 1:

The patent segments the data storage into multiple components: a hash table for initial address computation, a buffer for storing candidate locations, and the main FIFO for data storage. This segmentation allows the system to handle larger FIFO sizes by distributing the lookup process across multiple stages, with the buffer acting as an intermediate stage to manage collision resolution without requiring the entire system to scale uniformly.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The buffer performs preliminary action by pre-storing candidate locations identified by hash table lookups before final verification. This preliminary storage allows the system to batch process and verify multiple candidates, resolving collisions efficiently even as FIFO size and collision frequency increase, without requiring proportional increases in power consumption or system complexity.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS10817491B2Efficient and accurate lookups of data by a stream processor using a hash table
Publication Date: 2020.10.27 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US10817491B2 patent drawing
  • US10817491B2 patent drawing
  • US10817491B2 patent drawing

AI summary

Responsive to a data lookup in a buffer triggered for a search string, a processor searches for a selection of pairs from among multiple pairs of a hash table read from at least one address hash of the search string and matching at least one data hash of the search string, each row of the hash table assigned to a separate address hash, each of the pairs comprising a pointer to a location in the buffer and a tag with a previous data hash of a previously buffered string in the buffer. The processor identifies, from among the selection of pairs, at least one separate location in the buffer most frequently pointed to by two or more pointers within the selection of pairs. The processor, responsive to at least one read string from the buffer at the at least one separate location matching at least a substring of the search string, outputs the at least one separate location as the response to the data lookup.