Expandable Look-Up Table Structure for Uneven Hash Buckets

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional hash tables face limitations due to a fixed memory size per hash bucket, leading to an imbalance in the number of key-data value pairs between different hash values, which is undesirable when hash functions generate uneven distributions.

Innovation Solution

A look-up table is designed with a first table containing entries with look-up addresses and expansion pointers, linking to a second table for dynamic expansion, allowing flexible allocation of memory based on hash values, enabling asymmetric expansion and supporting hash algorithms with significant imbalances.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Device complexity

If a fixed memory size is allocated per hash bucket, then the hash table structure is simple and easy to implement, but the number of key-data value pairs per hash value becomes limited and imbalanced

Engineering Contradiction:
Improvehash table structureVSAvoidnumber of key-data value pairs per hash value
Core Design Contradiction:
Device complexityVSAdaptability or versatility

Solution Approach 1:

The hash table is segmented into a primary hash table with fixed-size buckets and an expansion hash table with dynamically allocated entries. The expansion hash table is further divided into multiple expansion buckets that can be selectively allocated to primary buckets based on their needs. This segmentation allows the system to maintain the simplicity of fixed-size buckets while providing dynamic expansion capabilities for buckets that require more storage space.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces a second dimension of storage by creating an expansion hash table that exists separately from the primary hash table. Instead of expanding the size of individual primary buckets in place, the system allocates additional storage space in the expansion table and uses pointers to link primary bucket entries to their corresponding expansion entries. This dimensional transition from single-table to two-table architecture enables flexible memory allocation while maintaining the original fixed-size bucket structure.

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

2Adaptability or versatility

If dynamic expansion is implemented for each hash bucket, then the number of key-data value pairs can be flexibly allocated, but the hash table structure becomes more complex

Engineering Contradiction:
Improvenumber of key-data value pairs per hash valueVSAvoidhash table structure
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The expansion hash table serves multiple functions: it provides additional storage space for overflow entries, enables dynamic allocation for buckets with varying needs, and maintains a uniform structure that can be systematically managed. Each expansion bucket can serve multiple primary buckets that have overflow requirements, making the expansion infrastructure universally applicable rather than requiring individual dynamic structures for each primary bucket.

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

Solution Approach 2:

The patent introduces expansion pointers as intermediary elements that connect the primary hash table to the expansion hash table. These pointers act as mediators that manage the relationship between fixed-size primary buckets and dynamically allocated expansion entries. The intermediary pointer mechanism simplifies the complexity by providing a standardized interface for accessing expansion storage without requiring direct manipulation of dynamic memory structures in the primary table.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Adaptability or versatility

If asymmetric expansion is allowed for different hash values, then storage optimization is achieved for uneven hash distributions, but the table management becomes more complex

Engineering Contradiction:
Improvestorage allocation for different hash valuesVSAvoidtable management
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent implements local quality by allowing different primary buckets to have different expansion requirements based on their specific needs. Each primary bucket can independently allocate expansion space in the expansion hash table according to its local demands. This means that buckets with high collision rates or large numbers of key-value pairs can allocate more expansion space, while buckets with low utilization allocate minimal or no expansion space, creating localized optimization rather than uniform treatment.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The system dynamically changes the parameter of expansion buffer size for different primary buckets based on their actual usage patterns and collision characteristics. The expansion pointer fields in primary bucket entries can be configured to point to expansion buckets of varying sizes, allowing the system to adapt the storage parameters locally rather than using a fixed uniform allocation. This parameter flexibility enables optimization for uneven hash distributions while maintaining manageable complexity through systematic allocation rules.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS7483426B2Look-up table expansion method
Publication Date: 2009.01.27 MICREL INC
  • US7483426B2 patent drawing
  • US7483426B2 patent drawing
  • US7483426B2 patent drawing

AI summary

A look-up table includes a first table formed using a first portion of the table entries where each table entry is associated with a look-up address and includes one or more key-data value pairs and an expansion pointer field, and a second table formed using a second portion of the table entries where each table entry is associated with an expansion address and includes one or more key-data value pairs. An expansion pointer field in a first table entry in the first table identifies a first expansion address associated with a second table entry in the second table as a first expansion pointer for linking the second table entry to the first table entry, thereby providing expansion of the first table entry. Each table entry in the second table can also include an expansion pointer field to provide table entry expansion through linking of multiple table entries in the second table.