SSD Parity Offloading for Multi-Node RAID Throughput

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Performing parity checks by hosts or compute nodes in RAID systems is resource-intensive, slowing down system performance and impacting overall efficiency and throughput due to significant processing power and bandwidth demands during data and parity calculations.

Innovation Solution

Offload parity checking operations to non-volatile memory devices within a RAID group, reducing computational load on primary processors and enhancing data throughput by distributing parity calculations across multiple SSDs, using XOR operations and Galois Field arithmetic to maintain data integrity.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If parity checks are performed by hosts or compute nodes in RAID systems, then data integrity is maintained, but CPU usage and DRAM bandwidth increase significantly

Engineering Contradiction:
Improvedata integrityVSAvoidCPU usage and DRAM bandwidth
Core Design Contradiction:
ReliabilityVSUse of energy by moving object

Solution Approach 1:

The patent extracts the parity calculation function from the host compute node and relocates it to the storage devices themselves. Each storage device independently calculates its portion of the parity data using XOR operations on received data segments, then transmits only the intermediate parity results to a designated parity storage device. This extraction eliminates the need for the host to perform computationally intensive parity calculations, significantly reducing CPU usage and DRAM bandwidth consumption while maintaining data integrity through distributed parity computation across the storage array.

Inventive Principle:
Principle #2Taking out (Extraction)

2Ease of operation

If parity calculations are centralized at the host, then coordination is simplified, but system throughput decreases due to processing bottlenecks

Engineering Contradiction:
Improvecoordination simplicityVSAvoidsystem throughput
Core Design Contradiction:
Ease of operationVSProductivity

Solution Approach 1:

The patent segments the centralized parity calculation task into distributed sub-tasks performed by individual storage devices. Each storage device independently computes intermediate parity data for its assigned data segments using XOR operations, then transmits results to a parity storage device which performs a final XOR operation to generate the complete parity data. This segmentation parallelizes the computation across multiple devices, eliminating the host processing bottleneck and increasing system throughput while maintaining coordination through standardized XOR operations and a designated parity storage device.

Inventive Principle:
Principle #1Segmentation

3Use of energy by moving object

If multiple storage devices perform parity calculations, then computational load is distributed, but communication overhead increases

Engineering Contradiction:
Improvecomputational load distributionVSAvoidcommunication overhead
Core Design Contradiction:
Use of energy by moving objectVSQuantity of substance

Solution Approach 1:

The patent uses copying to minimize communication overhead in the distributed parity calculation system. The compute node transmits each data segment to multiple storage devices that need it for their parity calculations. Storage devices receive copies of the necessary data segments and independently perform XOR operations to generate intermediate parity results. Only these intermediate parity results (not the entire data sets) are transmitted to the parity storage device, significantly reducing the volume of communication traffic compared to centralized approaches while maintaining efficient load distribution across devices.

Inventive Principle:
Principle #26Copying

Data Source

PatentUS20250355767A1Non-volatile storage device offloading in a multi-data node environment
Publication Date: 2025.11.20 KIOXIA CORP
  • US20250355767A1 patent drawing
  • US20250355767A1 patent drawing
  • US20250355767A1 patent drawing

AI summary

Various examples, controllers and methods are disclosed relating to parity checking. One controller can receive a plurality of data segments from a compute node via an interface. Further, the controller can determine at least one intermediate parity based on performing at least one XOR operation of the plurality of data segments, the at least one intermediate parity being stored in at least one device buffer of the first storage device. Further, the controller can transmit the at least one intermediate parity of the at least one device buffer to at least one parity storage device, wherein the at least one intermediate parity corresponds to one of a plurality of intermediate parities used to determine at least one partial parity of a redundant array of independent disk (RAID) volume. Further, the controller can store the plurality of data segments in at least the first storage device and a second storage device.