RAID Parity Calculation in Flash Memory SSDs

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The performance penalty caused by the calculation of RAID 5 in SSD storage systems and the need to reduce the logical area of RAID 5 to meet the downsizing requirements of the control unit in flash memory-based storage systems.

Innovation Solution

A method and system that utilize a RAID processor to efficiently calculate and write parity check codes by submitting check code scheduling instructions, reading and writing data blocks in a manner that allows for time interleaving and asynchronous operations, with a data block pointer to record input positions and a parity check code buffer to store results, ensuring accurate and distributed calculation and writing of RAID 5 without deadlocks.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If RAID 5 parity calculation is implemented in traditional SSD controllers, then data protection capability is improved, but controller logical area increases and performance penalty occurs

Engineering Contradiction:
Improvedata protection capabilityVSAvoidcontroller logical area
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent segments the RAID 5 parity calculation function into independent processing units distributed across multiple cores. Each processing unit handles specific data blocks independently, allowing parallel computation without requiring a large centralized logical area in the controller. This segmentation enables the system to achieve data protection while maintaining a compact controller design.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces an intermediary buffer memory structure that temporarily stores data blocks during parity calculation. This buffer acts as a mediator between the flash memory interface and the processing units, enabling asynchronous operations and reducing the logical area requirements of the controller by avoiding the need for large on-chip memory resources.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Measurement precision

If traditional synchronous RAID parity calculation is used, then calculation accuracy is ensured, but writing speed decreases due to sequential processing

Engineering Contradiction:
Improveparity calculation accuracyVSAvoidwriting speed
Core Design Contradiction:
Measurement precisionVSProductivity

Solution Approach 1:

The patent implements preliminary action by pre-organizing data blocks into raid groups and pre-allocating processing tasks to different cores before actual parity calculation begins. This preparation enables subsequent parallel processing to proceed efficiently while maintaining accuracy through predetermined calculation sequences and verification mechanisms.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent introduces dynamic task scheduling that adapts the parity calculation process based on real-time system state. Multiple processing units dynamically allocate and execute parity calculation tasks in parallel, with the ability to adjust calculation depth and parallelism levels. This dynamic approach maintains calculation accuracy through coordinated verification while significantly improving writing speed through concurrent processing.

Inventive Principle:
Principle #15Dynamics

3Measurement precision

If data blocks are processed in strict sequence, then calculation correctness is maintained, but performance is reduced due to inability to exploit parallelism

Engineering Contradiction:
Improvecalculation correctnessVSAvoidprocessing performance
Core Design Contradiction:
Measurement precisionVSProductivity

Solution Approach 1:

The patent segments the RAID group data blocks into multiple independent processing units, each assigned to different processor cores. This segmentation allows parallel processing of different data blocks while maintaining calculation correctness through structured verification mechanisms that validate results after parallel computation.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements feedback mechanisms where processing units report their calculation results and status back to a coordination module. This feedback enables the system to verify calculation correctness in real-time while maintaining parallel execution, allowing the system to detect and correct any errors without requiring strict sequential processing.

Inventive Principle:
Principle #23Feedback

4Stability of the object's composition

If flash memory units are accessed sequentially for parity writing, then data consistency is ensured, but writing throughput is limited

Engineering Contradiction:
Improvedata consistencyVSAvoidwriting throughput
Core Design Contradiction:
Stability of the object's compositionVSProductivity

Solution Approach 1:

The patent implements dynamic writing strategies that adapt to the state of flash memory units. When multiple units are available, the system dynamically switches to parallel writing mode to maximize throughput. When units are occupied or in erasure state, the system dynamically adjusts to sequential access patterns, maintaining data consistency through coordinated write management and verification.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent performs preliminary actions by pre-checking the availability state of flash memory units before initiating parity writing. This allows the system to plan and execute parallel writes when conditions permit, while automatically falling back to sequential access when units are unavailable, thereby optimizing throughput without compromising data consistency.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS9720770B2Method for calculating raids parity code on interleaving and out of order data streams, and a system using the same
Publication Date: 2017.08.01 SHANNON SYST
  • US9720770B2 patent drawing
  • US9720770B2 patent drawing
  • US9720770B2 patent drawing

AI summary

A storage system for constructing RAID on the basis of flash memory comprises: one or more RAID processors and a plurality of flash memories. The RAID processor comprises a plurality of read-and-write processing units, a data block pointer unit, a data block counter and a parity check code buffer. One read and write processing unit can control one or more flash memory units. A method for constructing RAID in a storage system on the basis of flash memory can realize the function of RAID in a very small logic area and approximately negligible time and realize the unification of the function and performance of a storage system such as an enterprise-level SSD.