Scratch Stripe Buffering for Partial Stripe Writes in Log-Structured RAID

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Log-structured RAID storage systems face challenges with partial stripe writes, which can lead to data corruption during system failures due to unpredictable interruptions in data and parity update operations, and the use of non-volatile memory increases costs and complexity while not ensuring reliability and data integrity.

Innovation Solution

The solution involves allocating a scratch stripe paired with an active stripe to buffer data and parity, allowing for sequential writing of partial stripe writes, and using metadata to ensure self-description and efficient recovery from disk failures, thereby reducing the need for non-volatile memory and enhancing reliability.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If non-volatile memory is used to buffer changes before partial stripe write operations, then data integrity during system failures is improved, but system cost and design complexity increase

Engineering Contradiction:
Improvedata integrityVSAvoiddesign complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent introduces a metadata structure as an intermediary that coordinates the writing of data and parity information across multiple disks. This metadata contains sequencing information that enables recovery without requiring non-volatile memory buffering, thus resolving the contradiction between reliability and complexity.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent implements a feedback mechanism through metadata that tracks the state of partial stripe writes. The metadata records which disks have received data and which have received parity, providing feedback that enables systematic recovery procedures without requiring expensive non-volatile memory.

Inventive Principle:
Principle #23Feedback

2Productivity

If partial stripe write operations are performed in log-structured RAID systems, then I/O efficiency is improved, but data corruption risk increases due to unpredictable interruptions

Engineering Contradiction:
ImproveI/O efficiencyVSAvoiddata corruption risk
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent performs preliminary actions by writing metadata that describes the intended partial stripe write operation before the actual data and parity writing commences. This metadata includes sequencing information that establishes the correct recovery order, preventing data corruption even if the operation is interrupted.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent replaces the mechanical approach of using non-volatile memory buffers with a software-based metadata tracking system. This substitution maintains reliability while preserving the I/O efficiency of log-structured operations by avoiding physical buffering hardware.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

3Manufacturing precision

If data and parity information are read and written back to complete partial stripe write operations, then write completeness is improved, but operation time and overhead increase

Engineering Contradiction:
Improvewrite completenessVSAvoidoperation time
Core Design Contradiction:
Manufacturing precisionVSLoss of time

Solution Approach 1:

The patent introduces dynamic sequencing through metadata that adapts to the actual state of disk writes. Rather than requiring all data and parity to be read and rewritten, the metadata tracks what has been successfully written and directs recovery only for the necessary portions, reducing operation time while maintaining completeness.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS8862818B1Handling partial stripe writes in log-structured storage
Publication Date: 2014.10.14 EMC IP HLDG CO LLC
  • US8862818B1 patent drawing
  • US8862818B1 patent drawing
  • US8862818B1 patent drawing

AI summary

A system and method for writing data a series of partial stripe writes to a redundant array of independent disks (RAID) with parity system. In one embodiment, the RAID with parity system is implemented as a log-structured storage system. In the RAID with parity system, each of the partial stripe writes can be issued before the active stripe is fully written. To buffer each partial stripe write, some data from each partial stripe write can be written to a scratch stripe before being written to the active stripe so that only writes of a predetermined size are issued to the active stripe. Other embodiments are also described herein.