Cuckoo Tree Space Accounting for SSD Wear Reduction

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In large-scale storage systems, high-frequency counter updates on SSDs lead to performance impact and increased wear due to the need for persistent storage, which is not feasible with simple data structures like arrays or trees, causing throughput reduction and contention in multi-core systems.

Innovation Solution

Implementing a Cuckoo tree with counters for key/value pairs to track data usage, utilizing a filter to efficiently update read/write and read-only tablets, minimizing memory usage and lock contention, and enabling efficient search and consolidation of data usage across tablets.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If simple data structures (array, tree, hash) are used to store counters on SSD, then persistence is achieved, but performance deteriorates and SSD wear increases

Engineering Contradiction:
Improvecounter persistenceVSAvoidsystem throughput
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent segments the counter storage into multiple independent counter groups, each mapped to separate SSD pages. This allows parallel updates of different counter groups without contention, improving throughput while maintaining persistence. Each counter group is independently manageable, reducing the impact of any single update operation on overall system performance.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces a new dimension of organization by mapping counters to SSD pages through a hierarchical structure involving counter groups and super-groups. This multi-level organization allows efficient batch operations and reduces the frequency of individual page writes, thereby decreasing SSD wear while maintaining data persistence.

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

2Device complexity

If simple data structures are used for counter storage, then implementation simplicity is maintained, but lock contention increases in multi-core systems

Engineering Contradiction:
Improvedata structure simplicityVSAvoidlock contention
Core Design Contradiction:
Device complexityVSEase of operation

Solution Approach 1:

The patent divides the counter storage into multiple segments (counter groups) that can be accessed independently by different cores. This segmentation reduces lock contention because multiple cores can simultaneously update different counter groups without acquiring the same lock, improving parallelism in multi-core systems while maintaining relatively simple data structures.

Inventive Principle:
Principle #1Segmentation

3Reliability

If counters are stored on SSD with simple structures, then storage feasibility is achieved, but SSD wear doubles and throughput is halved

Engineering Contradiction:
Improvecounter durabilityVSAvoidSSD wear
Core Design Contradiction:
ReliabilityVSObject-affected harmful factors

Solution Approach 1:

The patent implements periodic batch updates where multiple counter changes are accumulated and written to SSD in batches rather than immediately after each individual update. This periodic action reduces the total number of write operations to SSD, thereby decreasing wear while maintaining counter durability through periodic persistence.

Inventive Principle:
Principle #19Periodic action

Solution Approach 2:

The patent uses a mechanism where counter updates are first staged in memory and only committed to SSD when certain conditions are met (such as reaching a threshold or checkpoint). This allows the system to discard unnecessary intermediate states and recover only the essential persisted counter values, reducing redundant writes and SSD wear.

Inventive Principle:
Principle #34Discarding and recovering

Data Source

PatentUS11347799B2Space accounting for data storage usage
Publication Date: 2022.05.31 EMC IP HLDG CO LLC
  • US11347799B2 patent drawing
  • US11347799B2 patent drawing
  • US11347799B2 patent drawing

AI summary

An aspect of space accounting includes providing a counter for each of a plurality of key/value pairs for storage system operations. The key uniquely identifies a logical storage unit on which operations associated with the key are performed, the value identifies an amount of data usage with respect to the operations performed on the logical storage unit, and the counter tracks a type of the operations. An aspect also includes tracking, via corresponding counters, updates to a read/write (RW) tablet associated with a Cuckoo tree. The tracking includes updating a filter to include instances of key/value pairs and the RW tablet in which the pairs are stored. An aspect further includes tracking a plurality of read-only (RO) tablets associated with the Cuckoo tree. The tracking includes updating the filter to include instances of key/value pairs and one or more of the RO tablets in which the pairs are stored.