Peer-to-Peer Parity Offload for Non-Volatile Memory Storage
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current non-volatile memory systems face performance bottlenecks due to parity computation being performed on hosts or intermediate CPU systems, which hinders high-performance writes in data storage systems like solid state drive systems.
Innovation Solution
The system offloads parity generation and data reconstruction to peer-to-peer data transfers within data storage devices, allowing them to compute and store parity locally, thereby reducing the computational load on hosts and improving throughput.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If parity computation is performed on hosts or intermediate CPU systems, then data redundancy and reliability are ensured, but system throughput and write performance deteriorate due to computational bottlenecks
Solution Approach 1:
The patent extracts the parity computation function from hosts or intermediate CPU systems and relocates it to the data storage devices themselves. Each storage device independently computes parity for its received data blocks and stores the parity locally, eliminating the computational bottleneck at the host/CPU level while ensuring data redundancy is maintained across the distributed storage system.
Solution Approach 2:
The patent implements self-service by enabling data storage devices to autonomously perform parity computation and reconstruction operations without requiring host or CPU system intervention. Storage devices independently calculate parity from received data blocks and can reconstruct lost data using stored parity and remaining data blocks, making the system self-sufficient for redundancy management.
2Reliability
If parity generation is performed centrally on hosts, then data protection is achieved, but computational load on hosts increases and write performance decreases
Solution Approach 1:
The patent segments the centralized parity computation task into distributed operations performed by individual storage devices. Instead of one host computing all parity, each storage device computes parity only for its own data blocks, dividing the computational workload across multiple independent nodes and reducing the energy burden on any single host system.
Solution Approach 2:
The patent introduces storage devices as intermediaries between data writers and the redundancy system. Rather than hosts directly managing parity computation, storage devices act as intermediaries that receive data, independently compute their own parity, and store it locally, thereby mediating the redundancy process and reducing host computational load.
3Productivity
If peer-to-peer data transfers are implemented for parity computation, then throughput increases and host burden decreases, but system complexity increases
Solution Approach 1:
The patent implements peer-to-peer data transfers where storage devices serve multiple functions: they are simultaneously data sources, data destinations, parity computators, and parity storers. This multi-functionality eliminates the need for separate dedicated parity computation hardware or complex host-mediated transfer protocols, as each device universally handles all operations locally.
Solution Approach 2:
The system achieves self-service through peer-to-peer transfers where storage devices independently initiate and complete parity computation and data reconstruction operations using their own stored data and parity blocks, without requiring host system coordination or complex inter-device communication protocols.
Data Source
AI summary
A system and method improve the performance of non-volatile memory storage by rebuilding, on the fly, “lost data” in response to a read request, which identifies data to be read or recovered, by identifying a parity data storage device in a set of data storage devices that contains parity corresponding to the identified data; sending a reconstruction request to a respective data storage device, which may be the parity data storage device or other data storage device in the system, to reconstruct the identified data, and receiving the identified data from the respective data storage device. The reconstruction request commands the respective data storage device to retrieve, via peer-to-peer read requests, from other data storage devices, data from one or more data blocks, and to reconstruct the identified data based on the retrieved data and parity data locally stored at the parity data storage device.


