Hash Table Chaining with Packed Tags and Pointers
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing hash table collision avoidance techniques either lead to larger memory footprint or higher computational overhead, with chaining increasing memory usage and open addressing increasing computational time.
Innovation Solution
Implement a hash table with a modulo operation to constrain indices, storing only the most significant bits of the hashed key and least significant bits of the linked list pointer, using two separate arrays to manage collisions, and optimizing load and scaling factors to minimize memory usage without sacrificing computational efficiency.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Loss of time
If chaining is used to handle hash collisions, then retrieval time is reduced, but memory footprint increases
Solution Approach 1:
The patent extracts only the necessary portion of the hashed key (most significant bits) to form a tag, rather than storing the complete hashed key. This extraction approach reduces memory usage while maintaining the ability to identify and retrieve associated values, thereby resolving the contradiction between fast retrieval and memory efficiency.
Solution Approach 2:
The patent applies different storage strategies to different parts of the data structure: the tag (most significant bits of hashed key) is stored in the primary hash table array for fast access, while the complete hashed key and associated values are stored in a separate linked list. This local differentiation optimizes both retrieval speed and memory utilization.
2Quantity of substance
If open addressing is used to handle hash collisions, then memory footprint is reduced, but computational time increases
Solution Approach 1:
The patent segments the hash table into two distinct structures: a primary array that stores indices and tags (most significant bits), and a secondary linked list structure that stores complete hashed keys and values. This segmentation allows the system to combine the memory efficiency of open addressing with the retrieval speed of chaining by using the primary array for quick tag matching and the linked list for detailed value storage.
Data Source
AI summary
The disclosure reduces a memory footprint of a hash table that employs chaining as a collision avoidance solution. The methods and systems disclosed herein enable the use of chaining collision handling while reducing a memory footprint by storing parts of a tag and a link list pointer associated with a linked list that contain useful information, without storing parts of the tag and pointer that do not contain useful information. The linked list pointer and a hash key are packed together without reducing either size, and without using additional memory overhead.


