Two-Level Hash Table Management for SSD Lifespan

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

As data storage capacity increases, managing hash tables becomes challenging due to limited memory capacity, leading to inefficiencies in storage and access speed, especially when dealing with large datasets like 200 TB of data, which requires excessive memory space for hash entries.

Innovation Solution

Implementing a two-level hash table storage structure, where a high-speed storage device (e.g., memory) manages the first-level hash table and a solid-state drive (SSD) handles the second-level hash table, allowing for efficient merging of entries when the first-level table is full, transforming random writes into continuous operations and prolonging SSD service life.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If a hash table is managed in memory to enable quick determination of whether data is redundant, then access speed is improved, but the scale of the hash table is limited by memory capacity

Engineering Contradiction:
Improveaccess speedVSAvoidhash table scale
Core Design Contradiction:
SpeedVSQuantity of substance

Solution Approach 1:

The patent divides the hash table into two segments: a first hash table stored in memory for quick access and a second hash table stored in rear-end storage for large-scale data. This segmentation allows the system to maintain fast access speeds for frequently accessed data while accommodating large volumes of data in the rear-end storage, thereby resolving the contradiction between access speed and hash table scale.

Inventive Principle:
Principle #1Segmentation

2Quantity of substance

If the first hash table is full and needs to store more hash values, then storage capacity is improved, but I/O operations increase due to merging requirements

Engineering Contradiction:
Improvestorage capacityVSAvoidI/O operation efficiency
Core Design Contradiction:
Quantity of substanceVSProductivity

Solution Approach 1:

The patent pre-allocates a third hash table in the first storage device before the first hash table becomes full. When the first hash table is full, the system can immediately switch to the pre-allocated third hash table without requiring immediate merging operations. This preliminary action reduces the frequency and impact of I/O operations, thereby improving productivity while maintaining storage capacity.

Inventive Principle:
Principle #10Preliminary action

3Quantity of substance

If hash values are merged from the first hash table to the second hash table, then storage capacity is improved, but access speed deteriorates due to slower rear-end storage

Engineering Contradiction:
Improvestorage capacityVSAvoidaccess speed
Core Design Contradiction:
Quantity of substanceVSSpeed

Solution Approach 1:

The patent applies local quality by keeping the most frequently accessed hash values in the first hash table in memory, while storing less frequently accessed hash values in the second hash table in rear-end storage. This differentiation allows the system to maintain fast access speeds for hot data while providing large storage capacity for cold data, thereby resolving the contradiction between storage capacity and access speed.

Inventive Principle:
Principle #3Local quality

Data Source

PatentUS10705735B2Method and device for managing hash table, and computer program product
Publication Date: 2020.07.07 EMC IP HLDG CO LLC
  • US10705735B2 patent drawing
  • US10705735B2 patent drawing
  • US10705735B2 patent drawing

AI summary

Techniques manage a hash table, and a computer program product. The techniques involve: in response to receiving a write request, determining whether a first hash value associated with the write request is stored in a Haidian District set of hash tables, the set of hash tables including at least a first hash table and a second hash table, the first hash table being a currently valid hash table for the first storage device, the second hash table being stored in a second storage device, an access speed of the first storage device being faster than that of the second storage device; in response to determining that the first hash value is not stored in the set of hash tables and the first hash table is full, setting a pre-allocated third hash table in the first storage device as the currently valid hash table in the first storage device; writing a first entry into the third hash table, the first entry including the first hash value; and merging entries in the first hash table with entries in the second hash table for storage into the second storage device. With such techniques, a two-level hash table structure is built, and the hash table management efficiency is improved.