Dynamically Configurable Perfect Hash Tables for Network Lookups
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing hardware implementations of lookup tables for network applications face challenges in achieving low-latency, high-throughput key lookups with variable key and data sizes, while maintaining efficient memory utilization and flexibility, as they often rely on fixed key sizes and static table designs, leading to high power consumption and limited memory capacity.
Innovation Solution
The implementation of dynamically configurable perfect hash tables using hardware circuitry that evaluates minimal perfect hash functions, allowing for efficient evaluation of keys through primary and secondary hash functions performed using carry-free polynomial arithmetic, enabling flexible key and data sizes and efficient memory utilization.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Loss of time
If TCAMs are used for fast key lookups, then lookup latency is reduced, but memory capacity is limited and power consumption increases
Solution Approach 1:
The patent combines CAM-based fast lookup mechanism with configurable hash table structure, merging the advantages of both approaches. The CAM provides rapid key matching while the hash table structure enables flexible capacity configuration, resolving the contradiction between fast lookup and high memory capacity.
Solution Approach 2:
The patent implements dynamically configurable hash tables where the table size and key mapping can be adjusted based on actual workload requirements. This dynamic adaptability allows the system to optimize between lookup speed and memory utilization, resolving the fixed capacity limitation of TCAMs.
2Productivity
If TCAMs are used for high lookup rates, then throughput is improved, but power consumption increases
Solution Approach 1:
The patent changes the operational parameters by implementing configurable hash functions and dynamic table sizing, allowing the system to adjust the balance between lookup rate and power consumption based on actual workload. This enables high throughput when needed while reducing power consumption during lower demand periods.
3Device complexity
If fixed key sizes and static tables are used, then hardware design is simplified, but adaptability to variable key and data sizes is reduced
Solution Approach 1:
The patent creates a universal lookup table structure that can handle variable key sizes and data sizes through configurable hash functions. The same hardware platform can adapt to different application requirements without redesign, achieving multi-functionality while maintaining reasonable design complexity through standardized architectural patterns.
4Productivity
If tree-based data structures are used for large lookup tables, then lookup rate is improved, but latency for individual lookups increases
Solution Approach 1:
The patent segments the lookup process into parallel operations: hash function evaluation occurs simultaneously with memory access operations. The hash table structure enables parallel processing of multiple lookup operations while maintaining low individual latency through optimized memory access patterns and reduced computation steps compared to tree-based approaches.
Data Source
AI summary
Hardware circuitry may evaluate minimal perfect hash functions mapping keys to addresses in lookup tables. The circuitry may include primary hash function sub-circuits that apply linear hash functions to input key values (using carry-free arithmetic) to produce primary hash values. Each sub-circuit may multiply bit vectors representing key values by a bit matrix and add a constant bit vector to the result. The circuitry may include a secondary hash function sub-circuit that generates secondary hash values by aggregating values associated with multiple primary hash values using signed, unsigned, or modular integer addition, or bit-wise XOR operations. Secondary hash values may be usable to access data values in the lookup table that are associated with particular input key values. The circuitry may determine the validity of input keys and may alter the configuration or contents of the lookup tables. The hash function sub-circuits may include programmable hash tables.


