RAID Generator Matrix Rotation for Balanced Parity Disk Wear

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional RAID systems using non-MDS codes experience premature wear on parity disks due to unbalanced disk loads, as parity data are updated more frequently than information symbols, leading to uneven disk usage and potential data unrecoverability in certain configurations.

Innovation Solution

Assigning different generator matrices to each data stripe in a redundant disk array ensures that all matrices represent the same code, distributing parity updates evenly across stripes, thereby minimizing load imbalance and optimizing disk usage.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of manufacture

If conventional RAID systems use non-MDS codes with separate parity and payload disks, then computational operations can be performed with XOR operations, but parity disks experience premature wear due to unbalanced disk loads

Engineering Contradiction:
Improvecomputational operation simplicityVSAvoiddisk load balance
Core Design Contradiction:
Ease of manufactureVSReliability

Solution Approach 1:

The patent applies local quality by making different parts of the system (different data stripes) have different properties (different generator matrices). Specifically, each data stripe is encoded using a different generator matrix from a set of l matrices, which distributes the parity update load differently across disks for each stripe. This local variation in encoding approach balances the overall load across all disks while maintaining the benefits of non-MDS codes.

Inventive Principle:
Principle #3Local quality

2Reliability

If MDS codes are used with cyclic mapping of codeword symbols onto disks, then disk load balancing is achieved, but the computational overhead increases

Engineering Contradiction:
Improvedisk load balanceVSAvoidcomputational overhead
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent segments the encoding process by dividing the set of l generator matrices into different groups, where each group corresponds to a specific data stripe. This segmentation allows the system to use simpler non-MDS codes while achieving load balancing through the strategic assignment of different generator matrices to different stripes, rather than requiring complex MDS codes with cyclic mapping.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent changes the parameter of the generator matrix (specifically, using different matrices from a set of l compatible matrices) to achieve load balancing. By varying the generator matrix parameter across different data stripes, the system distributes parity updates evenly across all disks while maintaining computational simplicity through the use of non-MDS codes with XOR operations.

Inventive Principle:
Principle #35Parameter changes

3Device complexity

If a single generator matrix is used for all data stripes in non-MDS codes, then the system is simpler to implement, but load imbalance causes premature wear on parity disks

Engineering Contradiction:
Improvesystem implementation simplicityVSAvoidparity disk lifespan
Core Design Contradiction:
Device complexityVSDuration of action of stationary object

Solution Approach 1:

The patent introduces dynamics by making the generator matrix selection variable rather than static. Instead of using a single fixed generator matrix for all data stripes, the system dynamically selects from a set of l compatible generator matrices based on the specific data stripe being encoded. This dynamic approach distributes the load more evenly across disks, extending parity disk lifespan while maintaining relative implementation simplicity.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS9354975B2Load balancing on disks in raid based on linear block codes
Publication Date: 2016.05.31 EMC IP HLDG CO LLC
  • US9354975B2 patent drawing
  • US9354975B2 patent drawing
  • US9354975B2 patent drawing

AI summary

An improved technique involves assigning a different generator matrix to each data stripe of the redundant disk array such that all of the different generator matrices represent the same code. For example, when a k×n generator matrix G represents a linear code C, k being the block length and n the code length, then for any invertible k×k matrix P, the matrix G′=PG is also a generator that represents C. When C is a systematic code, then G consists of a k×k identity matrix representing payload data concatenated with a k×(n−k) parity matrix representing parity data. Certain matrices P represent row operations on G, meaning that the matrix G′ may have the columns of the identity matrix in G to different locations in G′.