Hash Table Collision Handling Using Secondary Hash Values

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The challenge is to efficiently handle collisions in a hash table when using a combination of DRAM and NVRAM for data storage, as collisions lead to reduced DRAM space and degraded access performance, while accessing an inexpensive memory device for collisions increases search delays.

Innovation Solution

The method involves using a first hash value to select a list and store entries in either a DRAM or NVRAM, and employing a second hash value to manage collisions, which is calculated using a different hash function, thereby maintaining DRAM space and improving search performance by reducing reliance on NVRAM access.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If mass management data is stored in the DRAM to cope with the collision, then the collision handling capability is improved, but the DRAM space allocated to the data to be originally saved becomes smaller and access performance is degraded

Engineering Contradiction:
Improvecollision handling capabilityVSAvoidDRAM space for original data
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The patent segments the hash table into multiple zones or regions, allowing different collision handling strategies for different segments. This enables the system to maintain collision handling capability while preserving DRAM space for original data by not requiring uniform expansion across the entire hash table.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces an additional dimension for collision handling by using a secondary hash function or alternative data structure that operates in a different dimensional space. This allows collision resolution without competing for the same DRAM space as the primary data storage.

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

2Reliability

If the number of times to access an inexpensive memory device to cope with the collision increases, then the collision handling capability is improved, but the searching process for data related to the collision becomes delayed

Engineering Contradiction:
Improvecollision handling capabilityVSAvoidsearching process delay
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent performs preliminary actions by pre-computing and storing collision resolution information or by pre-organizing data in a manner that facilitates quick collision handling. This reduces the need for repeated accesses to inexpensive memory devices during actual collision resolution, thereby minimizing searching delays.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent introduces an intermediary data structure or buffer that mediates between the hash table and the inexpensive memory device. This intermediary layer handles collision resolution more efficiently by reducing the frequency and complexity of accesses to the slow memory device, thus decreasing searching process delays.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Productivity

If a hash table is used for storing mass data, then the data storage efficiency is improved, but collisions occur and desired value cannot be specified only by the hash value

Engineering Contradiction:
Improvedata storage efficiencyVSAvoidvalue specification accuracy
Core Design Contradiction:
ProductivityVSMeasurement precision

Solution Approach 1:

The patent applies local quality by making different parts of the hash table have different properties. Specifically, certain regions or entries are marked or structured to handle collisions differently, allowing the system to maintain high storage efficiency while ensuring accurate value specification even when collisions occur.

Inventive Principle:
Principle #3Local quality

Data Source

PatentUS11144236B2Information processing apparatus, information processing method, and non-transitory computer-readable storage medium for storing program
Publication Date: 2021.10.12 FUJITSU LTD
  • US11144236B2 patent drawing
  • US11144236B2 patent drawing
  • US11144236B2 patent drawing

AI summary

A method includes: executing a first process includes receiving an entry that includes a kay and a value, selecting a first list from among a plurality of lists in accordance with a first hash value, adding, to the selected first list, a first identifier in association with the received entry, and storing the received entry in any of a first memory device and a second memory device that is greater in latency than the first memory device; and executing a second process that includes receiving a searching request for a value, selecting the first list based on the first hash value derived from the searching key in the received searching request, obtaining the first identifier from the first list selected in the second process, obtaining the entry associated with the first identifier obtained in the second process, and outputting the value in the entry obtained in the second process.