Parity Delta Caching for RAID Short Write I/O Reduction

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

RAIDs experience I/O amplification during short writes, leading to increased I/O operations, network traffic, and wear on backend storage drives due to the need to read and update parity information.

Innovation Solution

Performing an XOR operation on new and old data in cache to calculate a parity delta before overwriting, storing the delta in cache, and applying it when destaging the data to reduce the need for additional I/O operations to backend storage drives.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If traditional parity update methods are used for short writes, then data reliability is maintained, but I/O operations to backend storage drives increase significantly

Engineering Contradiction:
Improvedata reliabilityVSAvoidI/O operations
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent performs the XOR operation to calculate parity delta in advance within the cache before the actual write operation completes. By pre-calculating the parity delta using the old data and new data in cache, the system prepares the parity update information beforehand, avoiding the need to read old data from backend storage during the write operation.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent introduces a cache layer as an intermediary between the host and backend storage drives. The cache stores both old data and new data, allowing parity calculations to be performed in this intermediate layer without directly accessing backend storage. The parity delta is then applied to the new data in cache before destaging, reducing backend I/O.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If old data is read from backend storage to calculate parity, then accurate parity updates are achieved, but wear on storage drives increases

Engineering Contradiction:
Improveparity accuracyVSAvoiddrive wear
Core Design Contradiction:
ReliabilityVSObject-affected harmful factors

Solution Approach 1:

The system retains old data in the cache temporarily and performs the XOR operation before the old data is written to backend storage. This preliminary calculation of the parity delta eliminates the need to read old data from backend storage drives later, thereby reducing drive wear while maintaining parity accuracy.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent uses a copy of the old data that remains in the cache after the initial write. Instead of reading old data from backend storage, the system utilizes this cached copy for the XOR operation. This copying approach allows parity calculation without additional backend I/O, reducing drive wear while ensuring accurate parity updates.

Inventive Principle:
Principle #26Copying

3Reliability

If parity updates are performed by reading data from backend storage, then correct parity values are maintained, but network traffic increases

Engineering Contradiction:
Improveparity value accuracyVSAvoidnetwork traffic
Core Design Contradiction:
ReliabilityVSLoss of energy

Solution Approach 1:

The XOR operation is performed in advance within the cache before destaging operations. By pre-calculating the parity delta using old and new data in cache, the system eliminates the need to transfer old data over the network for parity calculations, thereby reducing network traffic while maintaining accurate parity updates.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS10055292B2Parity delta caching for short writes
Publication Date: 2018.08.21 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US10055292B2 patent drawing
  • US10055292B2 patent drawing
  • US10055292B2 patent drawing

AI summary

A method for reducing I/Os to a redundant array of independent disks (RAID) is disclosed. In one embodiment, such a method includes receiving a write request comprising new data for overwriting corresponding old data in cache. The method performs an XOR (exclusive OR) operation on the new data and the old data to yield a parity delta and overwrites, in the cache, the old data with the new data. In certain embodiments, the XOR operation is performed prior to overwriting the old data with the new data. The method further stores the parity delta in the cache and links the parity delta to the new data. Upon destaging the new data from the cache, the method provides the parity delta with the new data so that the parity delta may be applied to an existing parity value in the RAID. A corresponding system and computer program product are also disclosed.