Multi-Level Hashing with CAM Overflow for Low Latency

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing hash table systems face inefficiencies due to hash collisions, which increase latency and require larger memory spaces, making them costly for ultra-low latency data storage and retrieval applications.

Innovation Solution

A system utilizing multiple hash tables with different hashing functions and a content addressable memory (CAM) is employed, where values are hashed multiple times to determine suitable indices for storage and retrieval, minimizing collisions by distributing indices evenly across the hash tables and using CAM as an overflow buffer.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Quantity of substance

If the hash table size is reduced to lower memory cost, then memory usage decreases, but hash collisions increase causing higher latency

Engineering Contradiction:
Improvememory usageVSAvoidlookup latency
Core Design Contradiction:
Quantity of substanceVSLoss of time

Solution Approach 1:

The patent divides a single large hash table into multiple smaller hash tables (e.g., 16 hash tables). Each hash table handles a portion of the data, reducing the probability of collisions within each individual table while maintaining overall low memory usage. This segmentation allows the system to achieve both memory efficiency and low latency by distributing data across multiple smaller structures.

Inventive Principle:
Principle #1Segmentation

2Loss of time

If the hash table size is increased to reduce hash collisions, then lookup latency decreases, but memory cost increases

Engineering Contradiction:
Improvelookup latencyVSAvoidmemory usage
Core Design Contradiction:
Loss of timeVSQuantity of substance

Solution Approach 1:

The patent combines multiple small hash tables into a unified multi-level hashing structure that functions as a single logical hash table. This merging approach allows the system to achieve the collision-reduction benefits of a large hash table while using less total memory, as each small table can be more densely packed without suffering from the collisions that would occur in a single large table of the same total size.

Inventive Principle:
Principle #5Merging (Combining)

3Productivity

If multiple hash tables are used to reduce collisions, then lookup efficiency improves, but device complexity increases

Engineering Contradiction:
Improvelookup efficiencyVSAvoidhash table structure complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent changes the parameter of hashing by using multiple different hashing functions (e.g., different polynomial rolling hashes with varying coefficients) across the multiple hash tables. This parameter change allows the system to maintain simple hash table structures while achieving high lookup efficiency, as the different hashing parameters distribute data more evenly across the tables and reduce collisions without requiring complex data structures.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS11048758B1Multi-level low-latency hashing scheme
Publication Date: 2021.06.29 MORGAN STANLEY SERVICES GROUP INC
  • US11048758B1 patent drawing
  • US11048758B1 patent drawing
  • US11048758B1 patent drawing

AI summary

A system for storing and looking up values via hash table is disclosed. The system comprises multiple hash tables, each hash table being associated with a different hashing function and a content addressable memory (CAM). One or more processors receive a request to store a value; generate hashes of the value via each of the hashing functions; determine whether there exists at least one hash table that has a vacancy for the value; and if the determination is positive, insert the value in one of the at least one hash tables having the vacancy, and if the determination is negative, insert the value in the CAM. The processors also receive a request to look up a value; determine whether any of the hash tables or the CAM contain the value; and return the determination of whether the any of the plurality of hash tables or the CAM contain the value.