Atomic Write Across Storage Devices Without NVRAM
Find Innovative SolutionsGenerate 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
Engineering Contradiction Analysis
1Reliability
If NVRAMs are added to backup write data, then data integrity during crashes is improved, but cost and device complexity increase
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.
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.
2Reliability
If NVRAMs are used to maintain write data, then data recovery capability is improved, but performance bottlenecks occur
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.
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.
3Productivity
If traditional RAID controllers are used, then data striping and parity calculation are achieved, but write hole problems occur during crashes
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.
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.
Data Source
Figure 1
Figure 2~3
Figure 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.