RAID Storage Node Log Chain Data Update
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In storage systems using RAID technology, updating data leads to write amplification issues, resulting in poor update performance due to the need to read, update, and rewrite data blocks and parity data, which increases the amount of data written beyond what is necessary.
Innovation Solution
A data updating method that involves a management node sending update data chunks and integrity information to storage nodes, where incomplete update stripes are identified and updated data is stored in a log chain within non-volatile memory, reducing write amplification by postponing the writing of data to external storage until conditions are met.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If data in a stripe is updated by reading into memory, updating, and writing back with parity recalculation, then data reliability is maintained, but write amplification increases and update performance deteriorates
Solution Approach 1:
The patent applies preliminary action by pre-calculating and storing parity information in advance within the stripe structure. When data updates are needed, the pre-stored parity information is directly utilized without requiring recalculation, thus maintaining data reliability while significantly improving update performance and reducing write amplification.
Solution Approach 2:
The patent extracts the parity recalculation step from the data update process. By separating the parity information storage from the update operation and pre-positioning the necessary parity data within the stripe, the system eliminates the need for time-consuming parity recalculation during updates, thereby resolving the contradiction between reliability and update performance.
2Stability of the object's composition
If the entire stripe is rewritten to update a fraction of data, then data consistency is ensured, but the amount of data written exceeds what is necessary, causing write amplification
Solution Approach 1:
The patent applies segmentation by dividing the stripe into individual data blocks and treating them independently. Instead of rewriting the entire stripe when updating a fraction of data, the system identifies and updates only the specific data blocks that need modification, utilizing pre-stored parity information to maintain consistency. This segmented approach significantly reduces the volume of data written while preserving data consistency.
Solution Approach 2:
The patent implements local quality by applying different update strategies to different portions of the stripe based on their specific needs. Only the affected data blocks undergo update operations with corresponding local parity adjustments, while the rest of the stripe remains unchanged. This localized approach minimizes write amplification while ensuring data consistency in the updated regions.
3Reliability
If parity data is recalculated during updates, then data security is maintained, but the processing time and system overhead increase
Solution Approach 1:
The patent applies preliminary action by pre-calculating and storing parity information in advance within the stripe structure. When data updates are needed, the pre-stored parity information is directly utilized without requiring recalculation, thus maintaining data security while significantly reducing processing time and system overhead.
Data Source
Figure 1
Figure 2
Figure 3
AI summary
This application discloses a data updating technology. A storage system (100) applying the technology includes a management node (110) and a plurality of storage nodes (112, 114, 116, and 118). The plurality of storage nodes (112, 114, 116, and 118) form a redundant array of independent disks RAID. In the storage system (100), when the management node (110) determines that not all data in an entire stripe is updated based on a write request received by the management node (110), the management node (110) directly sends update data chunks obtained based on to-be-written data to the corresponding storage nodes (112, 114, 116, and 118), respectively. The storage nodes (112, 114, 116, and 118) receiving the update data chunks do not directly update, based on the received update data chunks, data blocks stored in external storage devices of the storage nodes (112, 114, 116, and 118), but store the update data chunks into non-volatile memories NVM of the storage nodes (112, 114, 116, and 118) in a log chain log chain manner. According to the data updating method, write amplification problems caused in a stripe update process can be reduced, thereby improving update performance of the storage system (100).