NVMe RAID Deferred Parity Updates to Remove Controller Bottlenecks
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
RAID storage systems face scaling issues due to the performance mismatch between NVMe storage devices and conventional RAID storage controllers, which are unable to manage a large number of NVMe storage devices effectively.
Innovation Solution
The implementation of a RAID storage system that includes a primary data storage device and a parity data storage device, utilizing Direct Memory Access (DMA) operations and XOR operations to manage and update data, allowing for deferred parity data updates, thereby offloading the burden from the RAID storage controller and enabling it 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 existing RAID protocols, but the controller cannot scale to manage more than a few NVMe devices due to performance limitations
Solution Approach 1:
The patent segments the parity update function from the main RAID controller by implementing it directly in the NVMe storage devices themselves. Each NVMe device performs local XOR operations to generate and update parity data, rather than requiring centralized controller management. This segmentation enables the system to scale to many more NVMe devices while maintaining RAID functionality.
Solution Approach 2:
The NVMe storage devices perform self-service by autonomously calculating and updating parity data through embedded XOR logic. The devices independently manage their own parity requirements without burdening the RAID controller, enabling each device to contribute to the RAID array's redundancy while the controller focuses on higher-level management tasks.
2Reliability
If the RAID storage controller performs all parity update operations, then data redundancy is maintained, but the controller becomes a bottleneck that limits system scalability
Solution Approach 1:
The patent segments the computationally intensive parity calculation workload from the RAID controller and distributes it across multiple NVMe storage devices. Each device independently performs XOR operations on its data blocks to generate parity, eliminating the controller as a performance bottleneck while ensuring data redundancy through distributed parity maintenance.
Solution Approach 2:
The system performs preliminary parity calculations directly at the storage device level before data is presented to the host. By pre-calculating parity data in the NVMe devices themselves, the system eliminates the need for the controller to perform time-consuming XOR operations, thereby improving both reliability and scalability.
3Productivity
If NVMe storage devices are used to provide high performance, then storage throughput is significantly improved, but the performance mismatch with conventional RAID controllers creates scaling limitations
Solution Approach 1:
The high-performance NVMe storage devices perform self-service by autonomously executing parity calculations and data management operations. This self-service capability allows the devices to fully utilize their high throughput and low latency characteristics without being constrained by the slower processing speed of conventional RAID controllers, thereby maintaining both performance and scalability.
Solution Approach 2:
The patent segments control functions between the high-performance NVMe devices and the RAID controller. The NVMe devices handle time-critical operations like XOR parity calculations and data buffering, while the controller manages higher-level RAID configuration and host communication. This segmentation allows the system to leverage NVMe performance while maintaining RAID functionality.
Applied Scientific Principles
This section explains which scientific principles are used to turn an abstract innovation direction into a practical engineering solution.
Function Achieved in This Case
This solution allows the RAID storage controller to efficiently manage multiple NVMe storage devices by deferring parity updates, enhancing the system's ability to handle high performance and increasing its scalability.
Implementation Method 1
perform an XOR operation on the first primary data in the first storage subsystem and the second primary data in the first buffer subsystem to produce first interim parity data
Implementation Method 2
write, to the first buffer subsystem via a first Direct Memory Access (DMA) operation from a host system, second primary data
Implementation Method 3
perform an XOR operation on the second primary data in the first storage subsystem, the third primary data in the first buffer subsystem, and the first interim parity data in the second buffer subsystem to produce second interim parity data
Implementation Method 4
perform an XOR operation on the first parity data in the second storage subsystem and the second interim parity data in the third buffer subsystem to produce second parity data
Data Source
AI summary
A RAID storage-device-assisted deferred parity data update system includes a RAID primary data drive that retrieves second primary data via a DMA operation from host system, and XOR's it with first primary data to produce first interim parity data, which causes a RAID storage controller device to provide an inconsistent parity stripe journal entry in the host system. The RAID primary data drive then retrieves third primary data via a DMA operation from the host system, XORs it with the second primary data and the first interim parity data to produce second interim parity data. A RAID parity data drive retrieves the second interim parity data via a DMA operation, and XORs it with first parity data to produce second parity data that it uses to overwrite the first parity data, which causes the RAID storage controller device to remove the inconsistent parity stripe journal entry from the host system.


