Database Management Using Sparsely Populated Hash Structure

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current database management systems, such as those used in System on Chip (SoC) architectures, face challenges in efficiently storing, searching, and managing highly random data due to power consumption and performance limitations, particularly with content-addressable memory (CAM), binary search engines, and hash-based search engines, which are either power-intensive, require data ordering, or struggle with repetitive data.

Innovation Solution

The implementation of a sparsely populated data structure with index values that track write attempts, allowing for rapid search and retrieval while reducing power consumption by mitigating collisions and avoiding data re-arrangement during insertion and removal operations.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If content-addressable memory (CAM) is used for database management, then search speed is improved, but power consumption increases

Engineering Contradiction:
Improvesearch speedVSAvoidpower consumption
Core Design Contradiction:
SpeedVSUse of energy by moving object

Solution Approach 1:

The database management system is segmented into multiple components: a hash function generator, a collision detector, and a search engine. The hash function generates initial addresses, the collision detector identifies conflicts, and the search engine handles actual data retrieval. This segmentation allows the system to achieve fast search performance while consuming less power by avoiding the need for full CAM functionality.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

A hash function serves as an intermediary between the search key and the data storage location. Instead of directly comparing search keys with stored data in CAM, the hash function transforms search keys into address indices that point to potential data locations. This intermediary mechanism reduces the computational complexity and power consumption while maintaining fast search capability.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Use of energy by moving object

If binary search engine is used, then power consumption is reduced, but data ordering is required which increases device complexity

Engineering Contradiction:
Improvepower consumptionVSAvoiddata ordering requirement
Core Design Contradiction:
Use of energy by moving objectVSDevice complexity

Solution Approach 1:

Data is pre-processed during insertion to compute hash values and store them alongside the data entries. This preliminary action creates a hash index structure that enables direct address computation during search operations, eliminating the need for runtime data ordering or sorting operations.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The mechanical sorting and ordering operations required by binary search are replaced with a computational hash function that directly maps search keys to data locations. This substitution eliminates the need for complex data reordering mechanisms while maintaining low power consumption characteristics.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

3Speed

If hash-based search engine is used, then search speed is improved, but collision handling requires data re-arrangement which increases power consumption

Engineering Contradiction:
Improvesearch speedVSAvoidpower consumption during collision handling
Core Design Contradiction:
SpeedVSUse of energy by moving object

Solution Approach 1:

The system dynamically adjusts its collision handling strategy based on the state of the hash table. When collisions occur, the system uses incremental addressing to probe alternative locations rather than performing full data re-arrangement. This dynamic approach maintains search speed while significantly reducing the power consumption associated with collision resolution.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The hash function parameters and addressing strategy are changed to minimize collisions. The system uses a modified hash function that incorporates incremental addressing, where the address is adjusted by adding an offset to the base hash value. This parameter change reduces collision frequency and eliminates the need for power-intensive data re-arrangement operations.

Inventive Principle:
Principle #35Parameter changes

4Quantity of substance

If data structure is densely populated to store all data entries, then storage capacity is improved, but search performance and power efficiency deteriorate due to increased collisions

Engineering Contradiction:
Improvestorage capacityVSAvoidsearch performance
Core Design Contradiction:
Quantity of substanceVSProductivity

Solution Approach 1:

The system uses a nested structure where a compact hash index table is nested within the larger data storage space. The hash index contains only the essential addressing information and collision metadata, while the actual data entries are stored separately. This nested arrangement allows efficient searching through the compact index while maintaining high storage capacity, and reduces power consumption by minimizing the amount of data that needs to be accessed during search operations.

Inventive Principle:
Principle #7Nested doll (Nesting)

Data Source

PatentUS12189596B2Database management
Publication Date: 2025.01.07 MICRON TECHNOLOGY INC
  • US12189596B2 patent drawing
  • US12189596B2 patent drawing
  • US12189596B2 patent drawing

AI summary

A hash corresponding to a bit string is generated. The hash corresponds to an address location in a data structure associated with the bit string. An index and a modifier correspond to the address location in the data structure corresponding to the hash associated with a first address location in the data structure are determined. In response to determining that the modifier has a first value associated therewith, index information corresponding to the bit string is written to the first address location in the data structure. In response to determining that the modifier has a second value other than the first value associated therewith, the index information corresponding to the bit string is written to a second address location in the data structure.