NVMe RAID Parity Updates Using Device-Level DMA and XOR

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

RAID storage systems face scaling issues when used with high-performance NVMe storage devices due to the inability of conventional RAID controllers to manage multiple NVMe devices efficiently, leading to performance bottlenecks and inefficiencies in parity data updates.

Innovation Solution

The implementation of a RAID storage system architecture that offloads parity update operations from the RAID storage controller to RAID primary and parity data storage devices, utilizing Direct Memory Access (DMA) operations and XOR operations to manage and update parity data across multiple storage devices, allowing for parallel processing and increased scalability.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If conventional RAID storage controllers are used to manage NVMe storage devices, then data redundancy and reliability are maintained, but the system cannot scale to manage more than a few NVMe devices due to performance mismatch

Engineering Contradiction:
Improvescaling capabilityVSAvoiddata processing performance
Core Design Contradiction:
Adaptability or versatilityVSProductivity

Solution Approach 1:

The NVMe storage devices perform parity calculations autonomously using their own processing capabilities and DMA engines, without requiring the RAID controller to execute XOR operations. Each NVMe device reads required data blocks, performs parity calculations locally, and writes results back, making the system self-sufficient and eliminating the RAID controller as a performance bottleneck.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The parity update operation is segmented into independent tasks that can be executed in parallel across multiple NVMe devices. Instead of a centralized sequential processing model, each device handles its own parity calculation independently, allowing simultaneous execution of multiple parity updates without contention for controller resources.

Inventive Principle:
Principle #1Segmentation

2Reliability

If the RAID storage controller performs parity update operations, then data integrity is ensured, but the controller becomes a bottleneck that limits the number of NVMe devices that can be managed

Engineering Contradiction:
Improvedata integrityVSAvoidcontroller management capacity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The NVMe storage devices perform parity calculations autonomously using their own processing capabilities and DMA engines, without requiring the RAID controller to execute XOR operations. Each NVMe device reads required data blocks, performs parity calculations locally, and writes results back, making the system self-sufficient and eliminating the RAID controller as a performance bottleneck.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

A parity update command structure acts as an intermediary between the host and NVMe devices, carrying metadata and parameters needed for parity calculations. This standardized command format enables coordinated parity updates across multiple devices while maintaining data integrity, without requiring complex controller intervention in the actual calculation process.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Productivity

If high-performance NVMe devices are used in RAID systems, then storage capacity and speed are improved, but the aggregate performance exceeds RAID controller capabilities

Engineering Contradiction:
Improvestorage throughputVSAvoidcontroller processing capacity
Core Design Contradiction:
ProductivityVSPower

Solution Approach 1:

The NVMe storage devices perform parity calculations autonomously using their own processing capabilities and DMA engines, without requiring the RAID controller to execute XOR operations. Each NVMe device reads required data blocks, performs parity calculations locally, and writes results back, making the system self-sufficient and eliminating the RAID controller as a performance bottleneck.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The patent replaces the mechanical/centralized control model with a distributed intelligent model where NVMe devices autonomously perform parity calculations. This substitution of centralized controller processing with distributed device-level intelligence allows the system to leverage the full performance of high-speed NVMe devices without being constrained by controller processing capacity.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

Data Source

PatentUS11023322B2Raid storage-device-assisted parity update data storage system
Publication Date: 2021.06.01 DELL PROD LP
  • US11023322B2 patent drawing
  • US11023322B2 patent drawing
  • US11023322B2 patent drawing

AI summary

A RAID storage-device-assisted parity data update system includes a first RAID primary data drive that DMA's second primary data from a host system, and XOR's it with first primary data to produce first interim parity data for a first data stripe. A second RAID primary data drive DMA's fourth primary data from the host system, and XOR's it with third primary data to produce second interim parity data for a second data stripe. A first RAID parity data drive DMAs the first interim parity data and XOR's it with first parity data to produce second parity data for the first data stripe that overwrites the first parity data. A second RAID parity data drive DMA's the second interim parity data and XOR's it with third parity data to produce fourth parity data for the second data stripe that overwrites the third parity data.