Preemptive Staging for Full-Stride Destage in RAID Arrays

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

RAID arrays, particularly RAID-5 and RAID-6, experience significant overhead during less-than-full-stride writes due to the need for parity recalculations and data staging, which hampers destage performance.

Innovation Solution

A method that periodically scans the cache for ready-to-destage strides, identifies potential future-ready strides, and initiates preemptive staging of missing data to optimize destage operations by ensuring full strides are prepared for efficient recomputation and writing.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of operation

If less-than-full-stride writes are performed to a RAID-5 array, then data can be written to a subset of a stride, but significant overhead is required to stage data from the RAID array, recalculate the parity value, and destage the data and recomputed parity value back to the RAID array

Engineering Contradiction:
Improvewrite operation flexibilityVSAvoiddestage time
Core Design Contradiction:
Ease of operationVSLoss of time

Solution Approach 1:

The system performs preliminary scanning of the cache to identify strides that will be ready for destage in subsequent scans, and preemptively stages the missing data for these identified strides. This advance preparation ensures that when the destage operation occurs, all necessary data is already in the cache, eliminating the need for time-consuming data staging during the actual destage operation.

Inventive Principle:
Principle #10Preliminary action

2Productivity

If full-stride writes are performed to a RAID-5 array, then the entire stride can be destaged with a single operation without loading missing data values or parity value from disk drives, but less flexibility exists in writing to subsets of strides

Engineering Contradiction:
Improvedestage throughputVSAvoidwrite operation flexibility
Core Design Contradiction:
ProductivityVSAdaptability or versatility

Solution Approach 1:

The system scans the cache to identify strides that will be ready for destage and preemptively stages missing data in advance. This allows the system to convert potential partial-stride operations into full-stride operations, maximizing destage throughput while maintaining the ability to handle various write patterns.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system combines multiple partial-stride writes into full-stride destage operations by preemptively staging missing data. When data from multiple write operations accumulates to form a complete stride, the system performs a single efficient full-stride destage, thereby merging multiple operations into one high-throughput operation.

Inventive Principle:
Principle #5Merging (Combining)

3Reliability

If data is staged from the RAID array for parity recalculation, then parity values can be recomputed for less-than-full-stride writes, but the overhead of staging and destaging data significantly reduces destage performance

Engineering Contradiction:
Improveparity calculation accuracyVSAvoiddata staging complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The system performs preliminary identification of strides that will be ready for destage and preemptively stages the missing data in advance. This eliminates the need for complex data staging operations at the time of destage, as all necessary data is already prepared in the cache.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The cache serves itself by automatically identifying which strides will be ready for destage and preemptively staging the necessary data. The system monitors its own state and performs self-optimization without external intervention, reducing the complexity of managing data staging operations.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS11467772B2Preemptive staging for full-stride destage
Publication Date: 2022.10.11 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US11467772B2 patent drawing
  • US11467772B2 patent drawing
  • US11467772B2 patent drawing

AI summary

A method for improving destage performance to a RAID array is disclosed. In one embodiment, such a method periodically scans a cache for first strides that are ready to be destaged to a RAID array. While scanning the cache, the method identifies second strides that are not currently ready to be destaged to the RAID array, but will likely be ready to be destaged during a subsequent scan of the cache. The method initiates preemptive staging of any missing data of the second strides from the RAID array into the cache in preparation for the subsequent scan. Upon occurrence of the subsequent scan, the method destages, from the cache, the second strides from the cache to the RAID array. A corresponding system and computer program product are also disclosed.