Multi-Level Hash Table Bucket Invalidation via Range Metadata

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional approaches to invalidating buckets in a multi-level non-volatile hash table require extensive memory for maintaining persistent bitmaps, which is impractical and computationally expensive, especially when hardening buckets from one level to another, as it introduces additional writes and hampers sequential hardening across the same domain or level.

Innovation Solution

A method that de-stages data from full buckets in a first level to a second level, invalidating the buckets in a consecutive-cyclic manner and defining ranges of valid buckets within metadata pages, reducing memory usage by storing valid bucket ranges in metadata pages of both levels, thus eliminating the need for extensive bitmaps.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If persistent bitmaps are maintained on non-volatile storage to track bucket validity, then bucket invalidation can be tracked, but extensive memory is required and the system becomes computationally expensive

Engineering Contradiction:
Improvebucket validity trackingVSAvoidmemory usage
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The patent extracts the validity tracking information from persistent storage (bitmaps) and relocates it to volatile memory (cache) where it can be efficiently managed. The de-stager maintains validity bitmaps in cache memory rather than on non-volatile storage, separating the tracking function from the primary storage medium and reducing the memory burden on persistent storage.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent introduces a de-stager component as an intermediary between the hash table levels and the validity tracking system. This de-stager acts as a mediator that manages the validity bitmaps in cache memory and coordinates the invalidation process, reducing direct computational overhead on the main system while maintaining reliable tracking.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If entries are removed from buckets during hardening to invalidate them, then bucket validity is updated, but amortization is crippled due to additional writes and loss of sequential hardening capability

Engineering Contradiction:
Improvebucket invalidationVSAvoidamortization efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent implements dynamic invalidation where buckets are marked as invalid in the validity bitmap without physically removing entries during the hardening process. This dynamic approach allows buckets to be invalidated and later reactivated or re-staged without the overhead of data removal and re-addition, maintaining amortization efficiency while ensuring proper invalidation tracking.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent performs preliminary invalidation marking before actual data de-staging operations. By setting the invalid bit in the validity bitmap in advance, the system prepares the bucket for invalidation without immediately removing entries, allowing sequential hardening to proceed efficiently while ensuring validity is properly tracked from the outset.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS11423010B2System and method for invalidating multi-level hash table buckets
Publication Date: 2022.08.23 EMC IP HLDG CO LLC
  • US11423010B2 patent drawing
  • US11423010B2 patent drawing
  • US11423010B2 patent drawing

AI summary

A method, computer program product, and computing system for storing data in one or more buckets of a plurality of buckets in a first level. The data of the one or more buckets may be de-staged to a plurality of buckets in a second level. The one or more buckets may be invalidated in the first level. A range of valid buckets in the first level may be defined based upon, at least in part, invalidating the one or more buckets in the first level.