Atomic Write Across Storage Devices Without NVRAM

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

RAID systems face challenges in ensuring data integrity during write operations due to the 'write hole' issue, where data corruption can occur during crashes or power outages, and existing solutions like NVRAMs are costly and performance bottlenecking.

Innovation Solution

Implementing a distributed solution that offloads partially written data to storage devices themselves, allowing for atomic updates across multiple discontiguous blocks without the need for NVRAMs, using a software RAID controller to manage write operations and maintain 'intent' entries for data recovery.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If NVRAMs are added to backup write data, then data integrity during crashes is improved, but cost and device complexity increase

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

Solution Approach 1:

The patent extracts the backup function from external NVRAM devices and relocates it to the storage devices themselves. Each storage device maintains its own copy of data to be written, eliminating the need for separate NVRAM backup infrastructure while ensuring data integrity during crashes or power failures.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

Storage devices perform self-service by maintaining their own data copies locally. Instead of relying on external NVRAM systems to backup data, each storage device independently preserves its data state, enabling autonomous recovery without external intervention or additional hardware complexity.

Inventive Principle:
Principle #25Self-service

2Reliability

If NVRAMs are used to maintain write data, then data recovery capability is improved, but performance bottlenecks occur

Engineering Contradiction:
Improvedata recovery capabilityVSAvoidwrite performance
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent removes the performance bottleneck created by centralized NVRAM systems by distributing the data maintenance function across individual storage devices. This eliminates the single point of contention and allows parallel write operations without NVRAM-mediated serialization.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The system segments the backup function across multiple independent storage devices rather than using a centralized NVRAM buffer. Each device independently manages its own data state, allowing simultaneous write operations to proceed in parallel without competing for limited NVRAM resources.

Inventive Principle:
Principle #1Segmentation

3Productivity

If traditional RAID controllers are used, then data striping and parity calculation are achieved, but write hole problems occur during crashes

Engineering Contradiction:
Improvedata striping efficiencyVSAvoiddata consistency
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent applies preliminary action by having storage devices maintain copies of data before writes occur. This pre-positioned data state ensures that if a crash occurs during a write operation, the original data is already preserved and can be used for recovery, preventing write holes before they can corrupt the RAID structure.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system provides beforehand cushioning by maintaining redundant data copies at each storage device prior to write operations. This creates a protective buffer that absorbs the impact of unexpected crashes, allowing the RAID system to recover without data loss or corruption even when writes are interrupted.

Inventive Principle:
Principle #11Beforehand cushioning (Prior cushioning)

Data Source

PatentEP3230846B1Performing an atomic write operation across multiple storage devices
Publication Date: 2019.12.25 INTEL CORP
  • EP3230846B1 patent drawingFigure 1
  • EP3230846B1 patent drawingFigure 2~3
  • EP3230846B1 patent drawingFigure 4

AI summary

Provided are a computer program product, system, and method performing an atomic write operation across multiple storage devices. A determination is made of a plurality of storage devices on which to write data for a write operation. A tag is generated to uniquely identify the write operation. A write command is sent to each of the determined storage devices including the tag and write data to cause each of the storage devices to write the write data at the storage device. Each of the storage devices maintains a copy of a previous version of the data to be updated by the write operation. A revert command is sent with the tag to one of the storage devices to cause the storage device to restore the copy of the previous version of the write data at the storage device.