XOR Parity Updates for Non-Volatile Memory Block Changes
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In non-volatile memory devices, updating XOR parity data to protect changed data elements without reading data from other cells protected by the parity data is challenging, as existing methods often require rebuilding the entire parity data set, which is inefficient and undesirable.
Innovation Solution
A controller updates XOR parity data by removing a previous data element from the current parity data using an XOR operation, then adds the updated data element to the parity data, allowing for incremental updates without reading data from other cells, thus maintaining data integrity and efficiency.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If XOR parity data is rebuilt from scratch to protect updated data elements, then data integrity is maintained, but processing time and computational resources increase significantly
Solution Approach 1:
The patent applies preliminary action by pre-calculating and storing XOR parity data for individual data elements before they are needed for updates. When a data element needs to be updated, the corresponding pre-computed parity data is already available, eliminating the need to rebuild parity from scratch and significantly reducing processing time while maintaining data integrity
Solution Approach 2:
The patent segments the parity data computation into individual contributions from each data element. Instead of treating parity generation as a monolithic operation requiring all data elements, it breaks down the parity data into separable XOR components, allowing selective updating of only the affected parity portions when data elements change
2Measurement precision
If all data elements are read to rebuild XOR parity data, then accurate parity is generated, but memory bandwidth and I/O operations increase
Solution Approach 1:
The patent extracts only the specific parity contribution corresponding to the updated data element, rather than reading and processing all data elements. By isolating and using only the relevant XOR parity component for the changed element, it maintains parity accuracy while dramatically reducing memory bandwidth requirements and I/O operations
Solution Approach 2:
The patent applies local quality by making the parity update process localized to only the affected data element and its corresponding parity contribution. Instead of a global parity rebuild operation that touches all data, the system performs a localized XOR operation on the specific element that changed, improving update efficiency while preserving parity accuracy for the affected portion
Data Source
AI summary
A storage device may include a non-volatile memory; and a controller. The controller may be configured to store a plurality of blocks of data in the memory, determine exclusive-or (XOR) parity data for the plurality of blocks, and store the XOR parity data in the memory; store a second block of data in the memory. The controller may be further configured to generate updated XOR parity data by at least XORing a first block of the plurality of blocks and the second block of data with the XOR parity data to remove the first block from the XOR parity data and to add the second block to the XOR parity data, and store the updated XOR parity data in the memory.


