Temporary Metadata Structures for Fast Storage Node Recovery

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In distributed file systems, the failure of a storage node can lead to IO stall time due to the time-consuming process of loading meta-data from slower storage units, causing application failures and delayed resumption of host access requests.

Innovation Solution

The implementation of temporary meta-data data structures, such as temporary exception tables, allows for the expedited resumption of host access requests by creating a temporary data structure to flag pending recovery operations and lock storage units, while loading the actual meta-data structures occur in the background.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If meta-data structures are loaded from slower storage units during node failure recovery, then fault tolerance is achieved, but IO stall time increases

Engineering Contradiction:
Improvefault toleranceVSAvoidIO stall time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent applies preliminary action by creating temporary meta-data structures before the actual meta-data is fully loaded from storage units. The temporary structures are initialized with placeholder or partial data, allowing the system to proceed with recovery operations and resume host access requests before the complete meta-data loading finishes. This eliminates the blocking behavior where host access had to wait for slow meta-data reads to complete.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The temporary meta-data structures serve as an intermediary between the failed node's original meta-data and the recovery process. These temporary structures allow the system to maintain operational state and enable host access requests during the recovery period, acting as a bridge that decouples the critical path (host access resumption) from the non-critical path (complete meta-data loading from slower storage).

Inventive Principle:
Principle #24Intermediary (Mediator)

2Stability of the object's composition

If host access requests are blocked until meta-data is fully loaded, then data consistency is maintained, but productivity decreases

Engineering Contradiction:
Improvedata consistencyVSAvoidhost access throughput
Core Design Contradiction:
Stability of the object's compositionVSProductivity

Solution Approach 1:

The system performs preliminary action by initializing temporary meta-data structures before resuming host access requests. These temporary structures provide sufficient data consistency for ongoing operations while the actual meta-data is being loaded from storage units in the background. This allows the system to maintain stability during the transition period without blocking productivity.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent applies dynamics by transitioning from a static blocking approach to a dynamic progressive loading approach. The temporary meta-data structures are updated progressively as actual data is loaded from storage units, allowing the system to adapt between different states: initial temporary structure state for quick resumption, and progressive updates for maintaining consistency. This dynamic approach allows host access to resume immediately while gradually improving data completeness in the background.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS10387275B2Resume host access based on transaction logs
Publication Date: 2019.08.20 HEWLETT PACKARD ENTERPRISE DEV LP
  • US10387275B2 patent drawing
  • US10387275B2 patent drawing
  • US10387275B2 patent drawing

AI summary

Examples disclosed herein relate to processing transaction logs for storage nodes. Multiple nodes manage transactions for storage units including transaction logs. A node assumes control over a set of storage units and blocks host access requests to the storage units. Transaction logs are processed to determine a subset of the set to perform recovery for. In this example, the subset of storage units are locked. Host access requests are resumed.