Cuckoo Tree Metadata Storage for Fast Lookup and Write Efficiency

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional data storage systems face inefficiencies in managing large quantities of small metadata entries, as persistent storage is not optimized for frequent small writes and accessing many small unsorted metadata entries is slow, leading to practical challenges in metadata management.

Innovation Solution

Implementing a Cuckoo filter to build a Cuckoo tree for storing metadata, allowing for efficient writing and quick searching of many entries with low thread contention, using a scheme that includes receiving requests, assigning physical addresses, creating metadata entries, and storing key-value pairs within a sorted key-value structure and Cuckoo filter.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If sorted data structures such as B-trees are used to speed up metadata lookups, then search speed is improved, but write efficiency deteriorates due to the overhead of maintaining sorted structures during frequent small writes

Engineering Contradiction:
Improvemetadata lookup speedVSAvoidwrite efficiency
Core Design Contradiction:
SpeedVSProductivity

Solution Approach 1:

The patent segments the metadata storage system into two distinct components: a Cuckoo filter for fast existence checks and a sorted key-value structure for detailed metadata storage. This segmentation allows each component to optimize for its specific function, with the Cuckoo filter handling frequent write operations efficiently while the sorted structure maintains lookup speed.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The Cuckoo filter acts as an intermediary layer between the write operations and the sorted key-value structure. It first checks whether a metadata entry exists before allowing writes to proceed, reducing the overhead on the sorted structure and improving overall write efficiency while maintaining lookup performance.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Quantity of substance

If persistent storage is used to store metadata, then storage capacity is improved, but access speed deteriorates because persistent storage is not optimized for frequent small writes

Engineering Contradiction:
Improvestorage capacityVSAvoidwrite throughput
Core Design Contradiction:
Quantity of substanceVSProductivity

Solution Approach 1:

The patent segments metadata storage into a hot path (Cuckoo filter in volatile memory) for frequent write operations and a cold path (sorted key-value structure in persistent storage) for detailed metadata. This allows the system to leverage the high write throughput of volatile memory while maintaining the storage capacity of persistent storage.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system performs preliminary actions by pre-checking the Cuckoo filter before writing to persistent storage. This preliminary check prevents unnecessary writes to slow persistent storage media, improving write throughput by filtering out redundant operations before they reach the persistent storage layer.

Inventive Principle:
Principle #10Preliminary action

3Device complexity

If many small metadata entries are stored unsorted, then storage simplicity is improved, but search time deteriorates due to the need to search through all entries

Engineering Contradiction:
Improvestorage structure complexityVSAvoidsearch time
Core Design Contradiction:
Device complexityVSLoss of time

Solution Approach 1:

The patent segments the search process into two stages: first a fast existence check using the Cuckoo filter (O(1) average case), and then a targeted retrieval from the sorted key-value structure only when necessary. This segmentation dramatically reduces search time compared to linear search through unsorted entries.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system applies different quality characteristics to different parts of the metadata storage: the Cuckoo filter provides fast existence checking with minimal complexity, while the sorted key-value structure provides efficient retrieval for actual metadata access. Each component is optimized for its specific local function.

Inventive Principle:
Principle #3Local quality

Data Source

PatentUS10839016B2Storing metadata in a cuckoo tree
Publication Date: 2020.11.17 EMC IP HLDG CO LLC
  • US10839016B2 patent drawing
  • US10839016B2 patent drawing
  • US10839016B2 patent drawing

AI summary

Techniques for storing block-based metadata in a storage system are provided. A method includes (a) receiving a request to write a block of data to a logical address, (b) assigning a physical address where the block of data is to be stored, (c) creating a metadata entry for the block of data, the metadata entry including the physical address, (d) storing a key-value pair within a sorted key-value structure (SKVS) of an ordered plurality of SKVSes, each SKVS having a unique identifier, the key-value pair including the logical address as key and the metadata entry as value; (e) placing an entry within a Cuckoo filter based on the key, the entry including the identifier of the SKVS in which the key-value pair was stored, and (f) subsequently accessing the data by: (1) locating the metadata entry with reference to the Cuckoo filter and (2) locating the data with reference to the physical address in the metadata entry.