Nonvolatile Memory Parity Updates With In-Memory XOR Processing
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing storage devices face performance reduction due to increased resource consumption when updating parity blocks associated with data blocks stored across multiple nonvolatile memories, as they require loading data and parity blocks into a buffer memory for updating, leading to increased data input/output and buffer memory usage.
Innovation Solution
The storage device offloads parity operations to individual nonvolatile memories, allowing them to perform XOR operations independently without the storage controller, reducing the need for data transfer between the storage controller and memory devices and minimizing buffer memory usage.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If the storage controller performs parity operations and manages data blocks across multiple nonvolatile memories, then data reliability is improved, but resource consumption increases and performance deteriorates
Solution Approach 1:
The patent segments the parity operation function from the storage controller and distributes it to individual nonvolatile memory devices. Each memory device independently performs XOR operations on its local data blocks to generate and update parity blocks, eliminating the need for the storage controller to load all data blocks into buffer memory for centralized parity computation.
Solution Approach 2:
Nonvolatile memory devices are empowered to autonomously perform parity operations on their own data blocks without requiring the storage controller's intervention. The memory devices self-manage their local parity blocks by reading local data blocks, performing XOR operations, and writing updated parity blocks back, thereby serving themselves rather than relying on external controller management.
2Ease of operation
If the storage controller loads data blocks and parity blocks into buffer memory for updating, then parity update operations can be performed, but buffer memory usage and data input/output increase
Solution Approach 1:
The patent extracts the parity operation function from the storage controller's buffer memory management process and relocates it to the nonvolatile memory devices themselves. This eliminates the need to load data blocks and parity blocks into the storage controller's buffer memory, as all parity computations are performed in-place at the memory devices using their local storage capacity.
3Reliability
If multiple nonvolatile memories store data blocks and require parity updates, then data redundancy is improved, but resource consumption for parity maintenance increases
Solution Approach 1:
The patent segments the parity maintenance workload across multiple independent nonvolatile memory devices, with each device responsible for its own local data blocks and parity blocks. This distributed architecture eliminates the need for centralized buffer memory allocation and reduces overall resource consumption compared to having the storage controller manage parity for all memory devices.
Solution Approach 2:
Each nonvolatile memory device autonomously maintains its own parity blocks without requiring resource-intensive controller intervention. The memory devices independently read their local data blocks, perform XOR operations to generate parity, and write updated parity blocks back, thereby maintaining data redundancy with minimal external resource consumption.
Data Source
AI summary
A storage device includes: nonvolatile memory devices including first and second nonvolatile memory devices; a storage controller which receives data blocks from a host, generates a first parity block by performing a first XOR operation, and distributes the data blocks and first parity block to respective nonvolatile memory devices; and a data bus for transferring signals between the nonvolatile memory devices and the storage controller. The storage controller receives a new data block from the host and provides the new data block to the second nonvolatile memory device. The first nonvolatile memory device provides the first data block to the second nonvolatile memory device without using the storage controller. The second nonvolatile memory device generates a new parity block by performing a second XOR operation on the new data block, the first data block, and the first parity block without the first nonvolatile memory device performing an XOR operation.


