Hash Table Collision Management via Multiple Hashing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing hash-based search tables in data networking suffer from high collision probabilities, leading to unpredictable latency and reduced throughput, especially in full tables, which is unacceptable for high-performance applications like MPLS label switch routing where collisions cannot be resolved by removal of entries.

Innovation Solution

A multiple hash algorithm with oversized pointer tables and a firmware-assisted cuckoo algorithm to resolve collisions, reducing collision probability and maintaining deterministic latency and high throughput by using indirect tables to increase the hash space and employing a non-real-time cuckoo mechanism for collision-less operation.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If a hash-based search table is used to achieve high search rates and low latency, then search performance is improved, but collision probability increases as the table becomes full

Engineering Contradiction:
Improvesearch rateVSAvoidcollision probability
Core Design Contradiction:
SpeedVSReliability

Solution Approach 1:

The patent transitions from a single hash function to multiple parallel hash functions (2-way, 4-way, or 8-way hashing), adding a dimensional aspect to the hash computation. This allows the system to distribute entries across multiple hash tables, significantly reducing collision probability while maintaining high search rates through parallel lookup operations.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

Solution Approach 2:

The patent divides a single large hash table into multiple smaller hash tables (e.g., 8 hash tables in an 8-way hash system). Each hash function maps to a specific subset of these tables, segmenting the collision space and reducing the likelihood of collisions within each individual table while maintaining overall system capacity.

Inventive Principle:
Principle #1Segmentation

2Reliability

If multiple hash functions are employed to reduce collision probability, then collision probability is reduced, but implementation size and number of memory accesses increase

Engineering Contradiction:
Improvecollision probabilityVSAvoidimplementation size
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent implements a hierarchical approach where multiple hash functions are available but not all are executed for every search. The system attempts lookups in parallel across multiple hash tables, but stops as soon as a match is found. This partial execution strategy reduces the average number of memory accesses while maintaining the collision-reduction benefits of multiple hash functions.

Inventive Principle:
Principle #16Partial or excessive action

3Ease of manufacture

If a simple hash function is used to minimize implementation complexity, then ease of manufacture is improved, but collision probability becomes unacceptably high

Engineering Contradiction:
Improveimplementation simplicityVSAvoidcollision probability
Core Design Contradiction:
Ease of manufactureVSReliability

Solution Approach 1:

The patent creates a universal hash table structure that can operate with different numbers of hash functions (2-way, 4-way, or 8-way) depending on the application requirements. The same basic hardware architecture supports multiple levels of parallelism, providing a universal solution that balances implementation complexity and collision probability based on specific performance needs.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Data Source

PatentUS9020953B1Search table for data networking matching
Publication Date: 2015.04.28 MICROSEMI SOLUTIONS US INC
  • US9020953B1 patent drawing
  • US9020953B1 patent drawing
  • US9020953B1 patent drawing

AI summary

A high efficiency search table is implemented with a multiple hash algorithm. The search table allows for exact match searching of arbitrary data sets with fixed latency. The probability of collisions from the hash algorithms is reduced through the use of oversized pointer tables allowing for a level of indirection between hash values and table entries. In the event of a collision in all hash functions, a firmware assisted cuckoo algorithm is employed to resolve the collision.