Write Cache Destaging Strategy for RAID Parity Optimization

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing data storage systems face performance issues when handling partial stripe writes in parity-based RAID configurations, as they require additional reads from the striped volume to update parity chunks, leading to slower write performance compared to full stripe writes.

Innovation Solution

A method and apparatus for efficiently destaging data from a storage controller's write cache to a striped volume by determining whether to destage a partial or full stripe based on a calculated full stripe write percentage, where a full stripe write percentage is compared to a full stripe write affinity value to decide on the destaging strategy.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If partial stripe writes are handled by reading old chunks from the striped array to update parity, then data consistency is maintained, but write performance deteriorates due to high number of reads and writes

Engineering Contradiction:
Improvedata consistencyVSAvoidwrite performance
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent applies preliminary action by pre-calculating the full stripe write percentage and pre-determining the destage strategy before actual write operations begin. The storage controller calculates the ratio of full stripe writes to total writes and uses this information to proactively decide whether to destage partial or full stripes, avoiding the need to handle read operations during the write process itself.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent implements dynamics by making the destage strategy adaptive rather than static. The storage controller dynamically adjusts between destaging partial stripes and full stripes based on the calculated full stripe write percentage compared to an affinity value. This dynamic adjustment optimizes write performance by selecting the appropriate destage approach based on current workload characteristics.

Inventive Principle:
Principle #15Dynamics

2Productivity

If full stripe writes are processed by XORing all chunks in the stripe, then write efficiency is improved, but this approach cannot be applied to partial stripe writes where not all chunks are dirty

Engineering Contradiction:
Improvewrite efficiencyVSAvoidhandling capability for different stripe types
Core Design Contradiction:
ProductivityVSAdaptability or versatility

Solution Approach 1:

The patent applies segmentation by dividing the destage process into two distinct approaches: one for full stripe writes and another for partial stripe writes. The storage controller segments the write operations based on whether all chunks in a stripe are dirty or only some are dirty, and applies the appropriate processing method to each segment, thereby maintaining write efficiency for full stripes while properly handling partial stripes.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent uses parameter changes by varying the destage strategy based on the full stripe write percentage parameter. When this parameter exceeds a threshold (affinity value), the system changes behavior to prefer full stripe destaging; otherwise, it adapts to handle partial stripe writes. This parameter-driven approach enables the system to optimize for write efficiency when conditions permit while maintaining adaptability.

Inventive Principle:
Principle #35Parameter changes

3Productivity

If the write cache is heavily utilized to improve performance, then write speed increases, but cache overflow becomes more likely impacting system reliability

Engineering Contradiction:
Improvewrite speedVSAvoidcache overflow prevention
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent implements feedback by continuously monitoring the full stripe write percentage and using this information to adjust the destage strategy. The storage controller receives feedback about the nature of write operations (full stripe vs. partial stripe ratio) and adjusts its destage behavior accordingly, preventing cache overflow by choosing strategies that clear cache space at appropriate rates while maintaining write performance.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS8886880B2Write cache management method and apparatus
Publication Date: 2014.11.11 SEAGATE CLOUD SYSTEMS INC
  • US8886880B2 patent drawing
  • US8886880B2 patent drawing
  • US8886880B2 patent drawing

AI summary

A method for destaging data from a memory of a storage controller to a striped volume is provided. The method includes determining if a stripe should be destaged from a write cache of the storage controller to the striped volume, destaging a partial stripe if a full stripe write percentage is less than a full stripe write affinity value, and destaging a full stripe if the full stripe write percentage is greater than the full stripe write affinity value. The full stripe write percentage includes a full stripe count divided by the sum of the full stripe count and a partial stripe count. The full stripe count is the number of stripes in the write cache where all chunks of a stripe are dirty. The partial stripe count is the number of stripes where at least one chunk but less than all chunks of the stripe are dirty.