RAID Partial Write Optimization via Parity Extraction

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current data storage systems using RAID levels are complex and inefficient, particularly in managing partial data writes, which require writing missing non-parity data, leading to increased bandwidth usage and potential data loss during interrupted writes.

Innovation Solution

A method and apparatus that determine if new data forms a full stripe, read missing non-parity data, calculate new parity, and write the new data and parity without requiring the missing non-parity data to be written, optimizing the storage process by reducing the number of drive touches and minimizing data loss.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If missing non-parity data is written to storage during partial data writes, then data completeness is improved, but bandwidth usage increases and risk of data loss during interrupted writes increases

Engineering Contradiction:
Improvedata completenessVSAvoidbandwidth usage
Core Design Contradiction:
ReliabilityVSLoss of energy

Solution Approach 1:

The patent extracts the requirement to write missing non-parity data from the storage process. Instead of writing all missing data blocks, the system calculates new parity based only on the new data and existing parity, then writes only the new data and new parity to storage. This removes the unnecessary bandwidth consumption associated with writing missing non-parity data while maintaining data integrity through parity-based recovery capability.

Inventive Principle:
Principle #2Taking out (Extraction)

2Reliability

If missing non-parity data is written to storage, then data completeness is improved, but the complexity of the write operation increases

Engineering Contradiction:
Improvedata completenessVSAvoidwrite operation complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent removes the complex step of reading, managing, and writing missing non-parity data from the write operation sequence. The simplified process only requires calculating new parity from new data and existing parity, then writing the new data and new parity. This extraction of unnecessary steps reduces write operation complexity while maintaining data completeness through parity-based recovery.

Inventive Principle:
Principle #2Taking out (Extraction)

3Loss of energy

If new data and new parity are written without requiring missing non-parity data, then bandwidth usage is reduced, but data recovery capability must be maintained

Engineering Contradiction:
Improvebandwidth usageVSAvoiddata recovery capability
Core Design Contradiction:
Loss of energyVSReliability

Solution Approach 1:

The patent uses parity data as a copy or representation of the missing non-parity data. Instead of storing actual missing data blocks, the system stores parity information that can be used to reconstruct any missing data through XOR operations. This copying approach through mathematical representation maintains full data recovery capability while avoiding the bandwidth overhead of storing redundant actual data copies.

Inventive Principle:
Principle #26Copying

Data Source

PatentUS10901843B2Managing data storage
Publication Date: 2021.01.26 EMC IP HLDG CO LLC
  • US10901843B2 patent drawing
  • US10901843B2 patent drawing
  • US10901843B2 patent drawing

AI summary

Disclosed herein are techniques for use in managing data storage. For example, in one embodiment, the techniques comprise determining a size of the write request. The size of the write request equating to half or more non-parity data portions in a full stripe of data but less than all non-parity data portions in the full stripe. The techniques comprise performing a process based on the size that includes reading a parity and one or more missing non-parity data portions in the full stripe, verifying the coherency of the missing non-parity data portions by comparing a checksum of the parity and a checksum of the missing non-parity data portions, determining a new parity based on the new data and the missing non-parity data portions, and writing, in response to verifying the coherency of the missing non-parity data portions, the new data and the new parity to a RAID group without writing the one or more missing non-parity data portions to the RAID group, wherein the new data and the new parity are written to the RAID group with a checksum.