RAID Controller Partial Parity Eviction and Reassembly

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current RAID systems face inefficiencies in resource utilization due to the need to maintain partial parity calculations in RAID controller memory for incomplete data stripes, which can lead to resource bottlenecks and data loss risks.

Innovation Solution

Performing cooperative RAID parity computations by evicting partial parity data from the RAID controller memory to storage entities for reassembly into complete parity, offloading parity calculations and freeing up controller resources for other tasks.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If partial parity data is maintained in RAID controller memory for incomplete data stripes, then data integrity can be preserved, but resource consumption increases and bottlenecks occur

Engineering Contradiction:
Improvedata integrityVSAvoidresource consumption
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent extracts the parity computation function from the RAID controller and relocates it to storage entities. When a data stripe is incomplete, the RAID controller evicts partial parity data to storage entities instead of maintaining it in controller memory, thereby reducing resource consumption while preserving data integrity through the storage entity's assembly capability

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent introduces storage entities as intermediaries between the RAID controller and the parity computation process. These storage entities receive evicted partial parity data, assemble it into complete parity, and return it when needed, enabling the RAID controller to offload memory burden while maintaining reliability

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If RAID controller memory is allocated for partial parity calculations, then data security is maintained, but other tasks cannot be handled efficiently

Engineering Contradiction:
Improvedata securityVSAvoidtask handling capability
Core Design Contradiction:
ReliabilityVSAdaptability or versatility

Solution Approach 1:

The patent extracts the memory burden of partial parity data from the RAID controller, allowing the controller to allocate its memory resources to other tasks. The storage entities assume responsibility for holding and assembling parity data, improving the controller's adaptability to handle multiple tasks simultaneously

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent enables storage entities to serve multiple functions: they act as both data storage locations and parity computation/assembly units. This multi-functionality allows the RAID controller to focus on task coordination while storage entities handle both data and parity management, enhancing overall system versatility

Inventive Principle:
Principle #6Universality (Multi-functionality)

3Reliability

If full stripe data is written before evicting parity, then data integrity is ensured, but resource bottlenecks occur

Engineering Contradiction:
Improvedata integrityVSAvoidresource bottleneck
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent applies preliminary action by having storage entities assemble complete parity from partial parity data in advance, before the RAID controller needs to evict it. This pre-assembly process eliminates the time-consuming bottleneck of real-time parity computation, ensuring data integrity while reducing resource contention

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent implements partial action by allowing the eviction of partial parity data before the full stripe is complete. Instead of waiting for the entire stripe to be written, the system evicts and assembles parity incrementally, reducing waiting time and resource bottlenecks while maintaining eventual data integrity

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS10540231B2Log-structured array (LSA) partial parity eviction and reassembly
Publication Date: 2020.01.21 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US10540231B2 patent drawing
  • US10540231B2 patent drawing
  • US10540231B2 patent drawing

AI summary

Embodiments for optimizing resource consumption through partial parity information eviction in a storage system of a data storage environment. One or more cooperative Redundant Array of Independent Disks (RAID) parity computations are performed by evicting partial parity data from a RAID controller memory to a storage entity prior to a full stripes worth of data being monotonically written to the storage entity. The storage entity assembles the partial parity data from the one or more cooperative RAID parity computations into a single parity computation valid for the full stripes worth of data, thereby offloading parity computation to the storage entity to more efficiently utilize the RAID controller memory resources.