Stripe reassembling method in storage system and stripe server
AssigneeHuawei Cloud Computing Technologies Co., Ltd.
InventorsYun Zhan, Huiyun Xie, Tonglei Wang
Life of this patent
Estimating the term…
Abstract
A stripe reassembling technique includes a stripe server that selects stripes; uses data chunks including valid data in the stripes S1, S2, and S3 as data chunks in a new stripe S4, and generates data of a parity chunk for data of the data chunks in S4 according to an erasure coding (EC) algorithm the same as that of S1, S2, and S3 ; and stores the parity data of the parity chunk on a parity storage node.
Claims12
A stripe reassembling method for a storage system, wherein the storage system comprises N data storage nodes that store data chunks and M parity storage nodes that store parity chunks;
- R stripes are distributed on N+M storage nodes, each stripe Si comprises N data chunks, Dix, and M parity chunks, Piy, a data chunk Dix is distributed on an xth data storage node in the N data storage nodes, and a parity chunk Piy is distributed on a yth parity storage node in the M parity storage nodes;
- and N, M, and R are positive integers, R is not less than 2, i is an integer ranging from 1 to R, x is an integer ranging from 1 to N, and y is an integer ranging from 1 to M;
- and
- the method comprises:
- selecting, by a stripe server, the R stripes, wherein, in the R stripes, among data chunks Dix stored on a same data storage node, at most one data chunk comprises valid data;
- generating, by the stripe server, parity data of a parity chunk PKy of a new stripe SK for data in the data chunk comprising valid data in the R stripes, wherein the new stripe SK comprises the data chunk comprising valid data in the R stripes and the parity chunk PKy, and K is an integer different from 1 to R;
- and
- storing, by the stripe server, the parity data of the parity chunk PKy on the yth parity storage node in the M parity storage nodes.
A stripe server, wherein the stripe server is used in a storage system, and the storage system comprises N data storage nodes that store data chunks and M parity storage nodes that store parity chunks;
- R stripes are distributed on N+M storage nodes, each stripe Si comprises N data chunks Dix and M parity chunks Piy, a data chunk Dix is distributed on an xth storage node in the N data storage nodes, and a parity chunk Piy is distributed on a yth storage node in the M parity storage nodes;
- N, M, and R are positive integers, R is not less than 2, a value of i is an integer ranging from 1 to R, a value of x is an integer ranging from 1 to N, and a value of y is an integer ranging from 1 to M;
- and the stripe server comprises an interface and a processor, the interface communicates with the processor, and the processor is configured to:
- select the R stripes, wherein at most one data chunk among data chunks Dix that are in the R stripes and are distributed on a same data storage node comprises valid data;
- generate parity data of a parity chunk PKy of a new stripe SK for data in the data chunk comprising valid data in the R stripes, wherein the new stripe SK comprises the data chunk comprising valid data in the R stripes and the parity chunk PKy, and K is an integer different from 1 to R;
- and
- store the parity data of the parity chunk PKy on the yth storage node in the M parity storage nodes.
A non-transitory computer-readable storage medium, wherein the non-transitory computer-readable storage medium stores a computer program that comprises a computer instruction, the computer program is used in a storage system, the storage system comprises N data storage nodes that store data chunks and M parity storage nodes that store parity chunks;
- R stripes are distributed on N+M storage nodes, each stripe Si comprises N data chunks, Dix, and M parity chunks, Piy, a data chunk Dix is distributed on an xth storage node in the N data storage nodes, and a parity chunk Piy is distributed on a yth storage node in the M parity storage nodes;
- N, M, and R are positive integers, R is not less than 2, i is an integer ranging from 1 to R, x is an integer ranging from 1 to N, and y is an integer ranging from 1 to M;
- and a stripe server that is used in the storage system executes the computer instruction, to perform the following operations:
- selecting the R stripes, wherein a maximum of one data chunk among data chunks Dix that are in the R stripes and that are distributed on a same data storage node comprises valid data;
- generating parity data of a parity chunk PKy of a new stripe SK for data of the data chunk comprising valid data in the R stripes, wherein the new stripe SK comprises the data chunk comprising valid data in the R stripes and the parity chunk PKy, and K is an integer different from 1 to R;
- and
- storing the parity data of the parity chunk PKy on the yth storage node in the M parity storage nodes.
Dependencies are inferred from the claim text.