Hash Table Lookup Engine With Bounded-Cycle Search and Rehashing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Content Addressable Memories (CAMs) are expensive in terms of chip area and power consumption, making them impractical for many applications, and there is a need for a more efficient data search solution.

Innovation Solution

Employing a hash table lookup engine with multiple hash tables, an overflow memory, and an arbiter to manage commands, allowing rapid data search while maintaining low chip area and power consumption.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If a CAM is used for rapid data search, then search speed is improved, but chip area and power consumption increase

Engineering Contradiction:
Improvesearch speedVSAvoidchip area
Core Design Contradiction:
SpeedVSArea of stationary object

Solution Approach 1:

The patent segments the hash table into multiple smaller tables (primary hash table and secondary hash table) to reduce the area required for each individual table while maintaining overall search functionality. This segmentation allows the system to achieve rapid search without requiring a single large CAM structure, thereby reducing total chip area while preserving search speed.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces a hash function as an intermediary between the search key and the memory structure. Instead of directly using a CAM for all searches, the hash function converts keys into table indices, enabling the use of simpler, smaller memory structures (hash tables) rather than requiring a large-scale CAM, thus reducing chip area while maintaining search efficiency.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Speed

If a CAM is used for rapid data search, then search speed is improved, but power consumption increases

Engineering Contradiction:
Improvesearch speedVSAvoidpower consumption
Core Design Contradiction:
SpeedVSUse of energy by stationary object

Solution Approach 1:

The patent uses standard memory cells (SRAM or DRAM) organized as hash tables instead of expensive CAM cells. These memory cells are less power-intensive than CAM cells while providing equivalent search functionality through the hash-based lookup mechanism. The system achieves rapid search without the high power consumption associated with large-scale CAM implementations.

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

3Measurement precision

If multiple hash tables are used to reduce collisions, then search accuracy is improved, but device complexity increases

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

Solution Approach 1:

The patent divides the hash table into multiple segments (primary and secondary tables) to reduce collision probability and improve search accuracy. Each segment handles a portion of the hash space, distributing the load and reducing conflicts. This segmentation improves search reliability while keeping each individual table simple in structure, thereby managing overall system complexity.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent employs a hash function that performs preliminary computation to determine the appropriate table segment and index before the actual search occurs. This preliminary hashing action organizes data in advance, reducing collisions and improving search accuracy without requiring complex runtime decision logic, thus managing system complexity effectively.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS12475167B2Efficient hash table lookup
Publication Date: 2025.11.18 GOOGLE LLC
  • US12475167B2 patent drawing
  • US12475167B2 patent drawing
  • US12475167B2 patent drawing

AI summary

A hash table system, including a plurality of hash tables, associated with respective hash functions, for storing key-value pairs; an overflow memory for storing key-value pairs moved from the hash tables due to collision; and an arbiter for arbitrating among commands including update commands, match commands, and rehash commands, wherein for each system clock cycle, the arbiter selects as a selected command one of an update command, a match command, or a rehash command, and wherein the hash table system completes execution of each selected command within a bounded number of system clock cycles.