RAID Parity Management for Partial Stripe Write Performance

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing RAID systems face challenges in ensuring data storage and rebuilding, particularly in partially filled stripes, where write performance is compromised due to insufficient memory and uneven data distribution, leading to increased write workload and reduced performance.

Innovation Solution

The method involves computing parity for input/output commands, determining if a stripe is full, and storing data and parity accordingly in a main hyper erase unit (HEU) or re-computing and writing parity into buffering HEU pages when the stripe is not full, using a translation layer to manage access addresses and metadata to record rebuilding information, ensuring even distribution across disks.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If a partially filled stripe is used to store data, then the storage flexibility is improved, but the write performance deteriorates due to increased write workload and random access operations

Engineering Contradiction:
Improvestorage flexibilityVSAvoidwrite performance
Core Design Contradiction:
Adaptability or versatilityVSProductivity

Solution Approach 1:

The patent pre-calculates and stores parity information for partially filled stripes in advance, so that when disk failures occur, the rebuilding process can proceed without performing complex real-time calculations, thereby maintaining high write performance while supporting storage flexibility

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system uses the existing distributed ECC/parity information already stored in the RAID array to automatically rebuild data on failed disks, eliminating the need for external backup systems or manual intervention, thus improving write performance without sacrificing storage flexibility

Inventive Principle:
Principle #25Self-service

2Device complexity

If all ECCs are stored in one disk per stripe, then the storage structure is simplified, but the reliability deteriorates when that disk fails

Engineering Contradiction:
Improvestorage structureVSAvoiddata protection
Core Design Contradiction:
Device complexityVSReliability

Solution Approach 1:

The patent segments the ECC/parity information and distributes it across multiple disks within each stripe, rather than concentrating all ECCs on a single disk. This segmentation ensures that if one disk fails, the remaining disks still contain sufficient parity information to rebuild the failed disk, thereby improving reliability while maintaining a relatively simple storage structure

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent assigns different ECC/parity information to different disks within each stripe, creating local quality variations. Each disk stores specific parity information relevant to its position in the stripe, which allows the system to maintain both structural simplicity and high reliability through localized data protection

Inventive Principle:
Principle #3Local quality

3Device complexity

If RAM has insufficient space for buffering, then the system complexity is reduced, but the write performance deteriorates due to increased write workload

Engineering Contradiction:
Improvememory configurationVSAvoidwrite performance
Core Design Contradiction:
Device complexityVSProductivity

Solution Approach 1:

The patent utilizes the third dimension of time by pre-calculating and storing parity information during idle periods or low-write periods, effectively transforming the memory space-time tradeoff. This allows the system to maintain high write performance during peak operations without requiring large RAM buffers, as the parity calculations are performed in advance

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

Data Source

PatentUS9063869B2Method and system for storing and rebuilding data
Publication Date: 2015.06.23 IND TECH RES INST
  • US9063869B2 patent drawing
  • US9063869B2 patent drawing
  • US9063869B2 patent drawing

AI summary

According to one exemplary embodiment, a method for storing and rebuilding data computes a corresponding parity after receiving an Input/Output command, and based on the parity, determines whether a final stripe corresponding to the Input/Output command is a full stripe. When the final stripe is a full stripe, a plurality of data and a parity corresponding to the Input/Output command are stored into a main hyper erase unit (HEU) in a disk storage system. When the final stripe is not a full stripe, a final parity is re-computed and written into at least two parity pages of a buffering HEU.