Cuckoo Hashing With Selectable Hash Functions
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional cuckoo hashing techniques require multiple memory banks and complex logic circuits to achieve high memory utilization, increasing size, complexity, and power consumption, while also necessitating additional content-addressable memory for handling collisions.
Innovation Solution
The proposed solution involves a decision apparatus and method using a first memory bank for hash composition factors and a second memory bank with multiple tables of associative entries, employing a pre-hash circuit to compute indices from different hash functions, and a lookup circuit to read and match entries, thereby reducing logic complexity and maximizing table occupancy using a cuckoo hashing-based ejection/replacement technique.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Quantity of substance
If conventional cuckoo hashing techniques use multiple memory banks and complex logic circuits to achieve high memory utilization, then memory occupancy is improved, but device complexity and power consumption increase
Solution Approach 1:
The patent divides the hash table into multiple segments or tables (first hash table, second hash table, third hash table) with different hash functions. Each segment can be independently managed and accessed, allowing high memory utilization without requiring complex unified logic circuits. The segmentation enables parallel processing and reduces the complexity of collision resolution logic.
Solution Approach 2:
The patent employs multiple hash functions (h1, h2, h3) that can be used across different hash tables, creating a universal hashing framework. This multi-functionality allows the same logical structure to handle collisions in different tables without requiring additional specialized circuits for each collision scenario, thereby reducing overall device complexity while maintaining high occupancy.
2Reliability
If conventional cuckoo hashing uses additional content-addressable memory for handling collisions, then reliability is improved, but device complexity and size increase
Solution Approach 1:
The patent merges the collision handling mechanism into the existing hash table structure by using multiple hash functions that naturally distribute collisions across different tables. Instead of requiring separate content-addressable memory structures for collision resolution, the system combines collision handling with the primary hash table operations, reducing overall memory structure complexity while maintaining reliable collision management.
Solution Approach 2:
The patent introduces intermediate hash functions (h2, h3) that act as mediators between the primary hash function and the final storage location. These intermediary hash functions resolve collisions by providing alternative mapping paths without requiring additional complex memory structures, thereby maintaining reliability while simplifying the memory architecture.
3Quantity of substance
If conventional cuckoo hashing employs multiple hash tables with different hash functions, then memory utilization is improved, but the number of required tables and functions increases complexity
Solution Approach 1:
The patent changes the parameters of the hash functions systematically (h1, h2, h3 with different characteristics) to achieve diverse collision patterns across multiple tables. By carefully selecting and varying hash function parameters rather than using completely different complex functions, the system achieves high memory utilization while controlling the number and complexity of required hash functions.
Solution Approach 2:
The patent implements dynamic hash function selection where the system can adaptively choose which hash function to use based on the current state of the hash tables. This dynamic approach allows the system to maintain high utilization by redirecting insertions to underutilized tables without requiring a fixed large number of hash functions, thereby reducing complexity while preserving memory utilization benefits.
Data Source
AI summary
Decision apparatus includes a first memory bank, containing a first table of hash composition factors, and a second memory bank, containing second and third tables of associative entries. A logic pipeline receives a sequence of data items and extracts a search key from each data item. A pre-hash circuit computes a first index by applying a first hash function to the search key. A first lookup circuit reads a hash composition factor from a location in the first memory bank indicated by the first index, and a hash circuit compute second and third indices as different combinations, determined by the hash composition factor, of second and third hash functions applied by the hash circuit to the search key. A second lookup circuit reads the entries in the second and third tables that are indicated respectively by the second and third indices.


