In-Memory Index Reconstruction in Distributed Storage

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Cloud-based data storage systems face performance issues during repair operations due to the use of locks, which complicate data block retrieval and updates, especially when data blocks change during the repair process.

Innovation Solution

An append-only data storage system that manages extents by changing them from an open state to a closed state through synchronization, ensuring all copies contain the same data blocks, and using indices for efficient data access, thereby eliminating the need for locks during repair operations.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If locks are used to prevent updates to data blocks during repair operations, then data integrity is maintained, but application performance deteriorates due to access blocking

Engineering Contradiction:
Improvedata integrityVSAvoidapplication performance
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The system divides the extent into multiple data blocks and processes them independently during repair operations. Each data block can be repaired separately without requiring locks on the entire extent, allowing applications to access other blocks simultaneously and maintaining performance while ensuring integrity.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system performs preliminary validation and preparation of data blocks before repair operations. By pre-checking block integrity and preparing replacement blocks in advance, the system minimizes the duration and impact of locks during actual repair, reducing performance degradation while maintaining data integrity.

Inventive Principle:
Principle #10Preliminary action

2Ease of repair

If multiple data blocks are retrieved from different storage devices for repair, then repair capability is enabled, but operation complexity increases

Engineering Contradiction:
Improverepair capabilityVSAvoidoperation complexity
Core Design Contradiction:
Ease of repairVSDevice complexity

Solution Approach 1:

The system merges the repair process into a unified extent-level operation rather than individual block operations. By coordinating repair at the extent level across multiple storage devices, the system simplifies the overall process while maintaining the ability to retrieve and repair blocks from different devices simultaneously.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The system introduces an intermediary coordination layer that manages the complex multi-device repair operations. This intermediary handles the coordination of retrieving blocks from different storage devices, managing the repair process centrally, and reducing the complexity visible to individual components and applications.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Loss of information

If data blocks change during repair operations, then data freshness is improved, but repair reliability deteriorates due to inconsistencies

Engineering Contradiction:
Improvedata freshnessVSAvoidrepair reliability
Core Design Contradiction:
Loss of informationVSReliability

Solution Approach 1:

The system implements periodic validation and synchronization checks during repair operations. By periodically verifying data block consistency and refreshing blocks as needed, the system maintains data freshness while ensuring repair reliability through controlled, incremental updates rather than continuous changes.

Inventive Principle:
Principle #19Periodic action

Solution Approach 2:

The system incorporates feedback mechanisms that monitor data block changes during repair operations. When changes are detected, the system receives feedback and adjusts the repair process accordingly, validating consistency and synchronizing blocks to maintain both freshness and reliability without introducing inconsistencies.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS10452271B2Reconstructing in-memory indices in a distributed data storage system
Publication Date: 2019.10.22 DROPBOX INC
  • US10452271B2 patent drawing
  • US10452271B2 patent drawing
  • US10452271B2 patent drawing

AI summary

Reconstructing in-memory data block indices in a distributed data storage system where data blocks are stored in extents and the extents are replicated across storage devices. In one aspect, based on a reboot of a storage device and a copy of an extent stored in the storage device being in an open state, appends for data blocks in the copy of the extent stored in the storage device are replayed to reconstruct an in-memory data block index for the copy of the extent. In another aspect, based on a reboot of a storage device and a copy of an extent being in a closed state, a data block index for the copy of the extent is retrieved from non-volatile storage of the storage device and the retrieved data block index stored in memory at the storage device.