RAID NVMe Rebuild Using Device-Assisted DMA and GF Operations
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
RAID storage systems face scaling issues when using Non-Volatile Memory express (NVMe) storage devices due to performance limitations of conventional RAID storage controllers, which cannot manage more than a few NVMe devices, leading to challenges in managing high-performance storage effectively.
Innovation Solution
The implementation of a RAID storage system that utilizes Direct Memory Access (DMA) operations and Galois Field (GF) operations to offload unavailable primary data/Q data rebuild operations from the RAID storage controller, allowing multiple RAID primary data storage devices to contribute to rebuilding data, thereby increasing the system's ability to scale with high-performance NVMe devices.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If conventional RAID storage controllers are used to manage NVMe storage devices, then the system can maintain compatibility with standard RAID protocols, but the controller cannot scale to manage more than a few NVMe devices due to performance limitations
Solution Approach 1:
The patent enables NVMe storage devices to autonomously perform rebuild operations for unavailable primary data and Q data without requiring centralized controller intervention. Each NVMe device can independently execute Galois Field (GF) operations and data reconstruction, allowing the system to scale to many devices without proportionally increasing controller complexity or management burden.
2Reliability
If the RAID storage controller performs all rebuild operations, then data recovery can be ensured, but the controller becomes a bottleneck that limits system scalability
Solution Approach 1:
The patent segments the rebuild operation into independent tasks that can be distributed across multiple NVMe storage devices. Instead of one centralized controller handling all rebuild operations, each NVMe device performs its own local rebuild operations using available data from other devices, dividing the overall workload and enabling parallel processing that scales with system size.
Solution Approach 2:
The patent introduces buffer memory as an intermediary component that facilitates data exchange during rebuild operations. The buffer memory temporarily stores data blocks and intermediate calculation results, enabling efficient coordination between multiple NVMe devices without requiring constant controller intervention, thus maintaining reliability while improving scalability.
3Quantity of substance
If multiple NVMe devices are added to increase storage capacity, then system performance improves, but the conventional RAID controller cannot effectively manage the increased number of devices
Solution Approach 1:
By enabling each NVMe device to autonomously participate in rebuild operations and data management, the system eliminates the need for complex centralized control as storage capacity scales. Each device manages its own data reconstruction needs using standardized protocols, making it easy to add or remove devices without increasing operational complexity or requiring sophisticated controller management capabilities.
Data Source
AI summary
A RAID storage-device-assisted unavailable primary data/Q data rebuild system includes a RAID primary data drive that receives a RAID storage controller device command and DMA's first primary data to a RAID parity data drive. The RAID parity data drive receives a RAID storage controller device command and XORs its first parity data, the first primary data, and its second primary data to produce third primary data that it writes to its storage subsystem. The RAID parity data storage device then receives a RAID storage controller device command and performs GF and XOR operations on the first primary data, the second primary data, and the third primary data to produce second Q data, and DMA's the first Q data to a RAID Q data drive. The RAID Q data storage device receives a RAID storage controller device command and writes the first Q data to its storage subsystem.


