SSD Peer-to-Peer Parity Offload for Faster Stripe Writes
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current non-volatile memory storage systems face performance bottlenecks due to the need for parity computations being performed on hosts or intermediate CPU systems, which slows down high-performance writes and data operations.
Innovation Solution
The system offloads parity computations to non-volatile memory-based data storage systems, utilizing peer-to-peer data transfers to distribute and compute parity within the storage devices, thereby reducing the computational load on hosts and improving data management efficiency.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If parity computations are performed on hosts or intermediate CPU systems, then data storage operations can be completed, but system performance becomes bottlenecked and write throughput decreases
Solution Approach 1:
The patent extracts the parity computation function from the host CPU system and relocates it to the storage devices themselves. Each storage device independently computes parity for its assigned data blocks, eliminating the need for host CPU intervention in parity calculations. This extraction resolves the bottleneck by removing the computational burden from the host while maintaining data integrity through distributed parity generation.
Solution Approach 2:
Storage devices are empowered to perform their own parity computations autonomously without requiring host CPU resources. Each storage device reads its data blocks, computes parity locally using its own processing capabilities, and writes both data and parity to appropriate locations. This self-service approach enables parallel processing across multiple storage devices, dramatically improving write throughput while reducing host system complexity.
2Productivity
If parity computations are offloaded to storage devices using peer-to-peer transfers, then host system performance improves, but data transfer coordination complexity increases
Solution Approach 1:
The patent segments the parity computation task by assigning specific data blocks to specific storage devices. Each storage device is responsible for computing parity for its assigned blocks independently. This segmentation allows parallel processing across multiple devices without requiring complex centralized coordination, as each device operates autonomously on its designated subset of data.
Solution Approach 2:
The host system acts as an intermediary that initiates the parity computation process by sending control commands to storage devices, but does not participate in the actual data transfer or computation. The host simply triggers the operation and waits for completion, while peer-to-peer data transfers occur directly between storage devices. This intermediary role simplifies host responsibilities while enabling efficient distributed processing.
Data Source
AI summary
A system and method improve the performance of non-volatile memory storage by offloading parity computations to facilitate high speed data transfers, including direct memory access (DMA) transfers, between a remote host and a non-volatile memory based storage system, such as a flash memory based data storage device (e.g., SSD). In conjunction with writing to non-volatile memory storage, a stripe map is used to target a selected data storage device for parity generation. All data of a stripe is transmitted to the selected data storage device to generate the parity and the generated parity is propagated from the selected data storage device to other data storage devices in the stripe. The data for the stripe may also be propagated from the selected data storage device to the other data storage devices in the stripe.


