Storage Service Layer Write Hole Mitigation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Storage arrays face challenges in detecting and correcting write holes, which occur when data is incomplete or corrupt due to invalid shutdowns, leading to data corruption and inefficiencies in recovery operations.

Innovation Solution

A storage service layer generates integrity metadata for data groups and uses a validation manager to identify and mitigate write holes by comparing integrity data with stored data, allowing for efficient recovery and prevention of data corruption.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If the storage array controller uses reconstruction metadata to detect and correct errors, then data integrity may be improved, but it may result in further data corruption due to write holes

Engineering Contradiction:
Improvedata integrityVSAvoiddata corruption
Core Design Contradiction:
ReliabilityVSObject-generated harmful factors

Solution Approach 1:

The patent applies preliminary action by generating integrity metadata (checksums) for data groups before writing them to storage devices. This pre-computed integrity information is stored separately and used later to validate data without triggering harmful reconstruction operations. The validation manager uses these pre-existing checksums to detect write holes before they can propagate corruption through reconstruction metadata operations.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If the storage array controller performs recovery operations using reconstruction metadata, then incomplete data may be reconstructed, but the operation may fail to detect write holes and propagate corruption

Engineering Contradiction:
Improvedata recoveryVSAvoidcorruption propagation
Core Design Contradiction:
ReliabilityVSLoss of information

Solution Approach 1:

The patent implements feedback by creating a validation layer that checks data integrity against stored checksums before and during recovery operations. The validation manager provides feedback about the validity of data groups to the recovery process, enabling the system to identify write holes and prevent corruption propagation. This feedback mechanism allows the system to distinguish between legitimate reconstruction needs and corrupted data that should not be used for recovery.

Inventive Principle:
Principle #23Feedback

3Device complexity

If the storage array uses traditional error management without integrity metadata, then device complexity is reduced, but the ability to detect and correct write holes is insufficient

Engineering Contradiction:
Improveerror management systemVSAvoidwrite hole detection
Core Design Contradiction:
Device complexityVSReliability

Solution Approach 1:

The patent introduces an intermediary validation layer between the storage array controller and the data groups. This validation manager acts as a mediator that computes and verifies checksums without requiring fundamental changes to the underlying storage controller architecture. The intermediary layer handles the complexity of integrity verification while allowing the existing storage system to continue operating, thus improving detection capability with minimal impact on overall system complexity.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS9946607B2Systems and methods for storage error management
Publication Date: 2018.04.17 SANDISK TECHNOLOGIES LLC
  • US9946607B2 patent drawing
  • US9946607B2 patent drawing
  • US9946607B2 patent drawing

AI summary

A storage layer stores integrity data corresponding to data groups being written to a storage array. The storage layer validates stored data groups by use of the integrity data, independent of recovery information managed by the storage array. The storage layer preempts crash recovery operations of the storage array by validating a subset of the data groups. The storage layer identifies data groups to validate based on a location of a log append point within a storage address space of the storage array. The storage layer may be further configured to mitigate write hole conditions by, inter alia, reconstructing invalid data of a data group and/or retaining valid portions of the data group.