RAID Storage Node Log Chain Data Update

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
Improvedata reliabilityVSAvoidupdate performance
Core Design Contradiction:
ReliabilityVSProductivity

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.

Inventive Principle:
Principle #10Preliminary action

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.

Inventive Principle:
Principle #2Taking out (Extraction)

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

Engineering Contradiction:
Improvedata consistencyVSAvoidwrite amplification
Core Design Contradiction:
Stability of the object's compositionVSLoss of substance

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.

Inventive Principle:
Principle #1Segmentation

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.

Inventive Principle:
Principle #3Local quality

3Reliability

If parity data is recalculated during updates, then data security is maintained, but the processing time and system overhead increase

Engineering Contradiction:
Improvedata securityVSAvoidprocessing time
Core Design Contradiction:
ReliabilityVSLoss of time

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.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentEP3404527B1Data updating technique
Publication Date: 2023.08.30 HUAWEI TECH CO LTD
  • EP3404527B1 patent drawingFigure 1
  • EP3404527B1 patent drawingFigure 2
  • EP3404527B1 patent drawingFigure 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).