Hash Table Organization via Key Entropy Transformation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Hash tables in network switches face inefficiencies due to collisions and poor first miss utilization (FMU) caused by hash functions that fail to distribute keys effectively across all entries, especially when keys have low entropy, leading to suboptimal storage and retrieval of network packet data.

Innovation Solution

The implementation of a key transformation block that increases key entropy by applying orthogonal transformations and hash functions to map low-entropy keys into a higher entropy space, enhancing the distribution of keys across hash table partitions and reducing collisions.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If standard hash functions are used to store packet data, then storage operations are simple, but key distribution is poor leading to high collision rates

Engineering Contradiction:
Improvehash table utilizationVSAvoidkey transformation complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent introduces a key transformation block as an intermediary component between the hash function and hash table. This block applies orthogonal transformations (such as XOR with magic numbers, bit rotations, and permutations) to transform low-entropy keys into high-entropy keys before hashing. The intermediary transforms the key space to achieve uniform distribution across hash table entries, resolving the contradiction between simple storage and poor key distribution.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent changes the entropy parameter of keys by applying a series of transformations including XOR operations with predetermined magic numbers, bit rotations, and permutations. These parameter changes convert low-entropy input keys into high-entropy transformed keys, improving hash table utilization and reducing collisions without fundamentally changing the storage mechanism.

Inventive Principle:
Principle #35Parameter changes

2Speed

If hash tables are used for packet analysis, then retrieval speed is fast, but collisions reduce effectiveness

Engineering Contradiction:
Improvepacket retrieval speedVSAvoidcollision rate
Core Design Contradiction:
SpeedVSReliability

Solution Approach 1:

The key transformation block serves as a mediator that processes keys before they reach the hash function. By applying orthogonal transformations (XOR with magic numbers, bit rotations, permutations), it ensures that even packets with similar characteristics map to different hash table entries, reducing collisions while maintaining fast retrieval speeds through direct indexing.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent transforms the entropy parameter of keys to maximize distribution uniformity. The transformations include XOR operations with predetermined constants, bit rotations by specific amounts, and permutation of key bits. These parameter changes ensure that the hash function receives high-entropy keys, minimizing collisions and maintaining O(1) retrieval performance.

Inventive Principle:
Principle #35Parameter changes

3Productivity

If simple hashing is applied, then processing overhead is low, but first miss utilization is poor

Engineering Contradiction:
Improveprocessing throughputVSAvoidfirst miss utilization
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The key transformation block acts as a lightweight intermediary that applies simple bitwise operations (XOR, rotation, permutation) to enhance key entropy. These operations have minimal processing overhead compared to complex hashing algorithms, while significantly improving first miss utilization by ensuring better distribution of keys across the hash table, especially for packets that miss the first lookup attempt.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent applies parameter changes to key entropy through predetermined transformation constants (magic numbers) and fixed transformation sequences. This approach maintains low processing overhead since the transformations are simple bitwise operations executed in hardware, while dramatically improving first miss utilization by spreading packets more uniformly across hash table entries.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS8880871B2Hash table organization
Publication Date: 2014.11.04 AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE LTD
  • US8880871B2 patent drawing
  • US8880871B2 patent drawing
  • US8880871B2 patent drawing

AI summary

Disclosed are various embodiments for improving hash table utilization. A key corresponding to a data item to be inserted into a hash table can be transformed to improve the entropy of the key space and the resultant hash codes that can generated. Transformation data can be inserted into the key in various ways, which can result in a greater degree of variance in the resultant hash code calculated based upon the transformed key.