Data encoding and decoding method, circuit, device, program product and storage medium

In an independent disk redundant array of triple-check technology, the addition of known terms in the parity principle is used as an intermediate variable, and combined with the positional parameters of unknown terms, the data to be generated is solved, which solves the problem of poor RAID performance, and achieves a significant reduction in the calculation amount and performance improvement.

CN120216255BActive Publication Date: 2025-08-15SHANDONG YUNHAI GUOCHUANG CLOUD COMPUTING EQUIP IND INNOVATION CENT CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202510695163.4
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2025-05-28
Publication Date
2025-08-15
Estimated Expiration
2045-05-28

AI Technical Summary

Technical Problem

In the prior art, the data encoding and decoding method of RAID has a large amount of calculation, resulting in poor RAID performance.

Method used

In an independent disk redundant array of triple verification technology, the data to be generated in the target strip is determined, and the result of the known term addition operation in the parity principle is used as an intermediate variable, and combined with the positional parameters of the unknown term, the data to be generated is determined through multi-relational solutions.

Benefits of technology

It significantly reduces the number of codec operations and improves the performance of RAID.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120216255B_ABST
    Figure CN120216255B_ABST
Patent Text Reader

Abstract

The present invention discloses a data encoding and decoding method, circuit, device, program product and storage medium, which belongs to the field of independent disk redundant array, and is used to provide a concise and efficient data encoding and decoding method applicable to TP-RAID, solving the problem of large computational complexity of data encoding and decoding method. In the present invention, in an independent disk redundant array using triple check technology, three data to be generated in a target stripe can be determined, and then for any relational expression in the parity check principle of the target stripe, the addition operation result of each known term in the relational expression is used as an intermediate variable, and the position parameters of the unknown terms in each relational expression according to the parity check principle of the target stripe and the intermediate variable are combined to determine each data to be generated. Since the addition operation result of the known terms in each relational expression is used as an intermediate variable for data generation, the computational complexity can be significantly reduced, thereby improving RAID performance.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the field of independent disk redundant arrays, and in particular to a data encoding and decoding method, circuit, device, program product and storage medium. Background Art

[0002] RAID (Redundant Arrays of Independent Disks) combines multiple independent disks into a single entity to create a disk group with huge capacity. It also uses disk array data encoding and decoding methods to recover data from failed disks, thereby improving data reliability. However, the relevant technology lacks a mature disk array data encoding and decoding method. Current data encoding and decoding methods are computationally intensive, resulting in poor RAID performance.

[0003] Therefore, how to provide a solution to the above technical problems is a problem that those skilled in the art need to solve at present. Summary of the Invention

[0004] The purpose of the present invention is to provide a data encoding and decoding method, circuit, device, program product and storage medium, which can determine three data to be generated in a target stripe in an independent disk redundant array using triple check technology, and then for any relationship in the parity check principle of the target stripe, use the addition operation result of each known term in the relationship as an intermediate variable, and combine the position parameters of the unknown terms in each relationship based on the parity check principle of the target stripe and the intermediate variable to determine each data to be generated. Since the addition operation result of the known terms in each relationship is used as an intermediate variable for data generation, the amount of calculation can be significantly reduced, thereby improving RAID performance.

[0005] To solve the above technical problems, the present invention provides a data encoding and decoding method, comprising:

[0006] In a redundant array of independent disks using triple parity technology, three data to be generated in a target stripe are determined, wherein when encoding the target stripe, the data to be generated include data of each parity block in the target stripe, and when decoding the target stripe, the data to be generated include data of each fault block in the target stripe;

[0007] For any relational expression in the parity check principle of the target stripe, the result of the addition operation of each known term in the relational expression is used as an intermediate variable, where the known term is the term in the relational expression involving data in the difference set, the difference set is the difference set of the total data set of the target stripe with respect to the data set to be generated, and the data set to be generated includes each data to be generated;

[0008] According to the position parameters of the unknown terms in each relational expression of the parity check principle of the target stripe and the intermediate variables, each data to be generated is determined, wherein any term in the relational expression is the product of the data body and its corresponding positional parameter, and the unknown term is the term in the relational expression that contains the data to be generated.

[0009] On the other hand, according to the position parameters of the unknown terms in the relational expressions of the parity check principle of the target stripe and the intermediate variables, it is determined that each data to be generated includes:

[0010] Based on the position parameters of the unknown terms in each relational expression of the parity check principle of the target stripe and the intermediate variable, the first data to be generated is determined through the first corresponding relationship;

[0011] Determining the second data to be generated through a second corresponding relationship based on the position parameters of the unknown terms in each relational expression of the parity check principle of the target stripe, the intermediate variable, and the first data to be generated;

[0012] Based on the intermediate variable, the first data to be generated, and the second data to be generated, third data to be generated is determined through a third corresponding relationship.

[0013] On the other hand, in a redundant array of independent disks using triple parity technology, determining the three data to be generated in the target stripe includes:

[0014] Determine the total number of failed disks in a redundant array of independent disks using triple parity technology;

[0015] If the total number of failed disks is three, the data of the three failed blocks in the target stripe will be used as the data to be generated;

[0016] If the total number of failed disks is two, the non-faulty disk with the lowest read speed in the redundant array of independent disks is used as the failed disk, and the data of the three failed blocks in the target stripe are used as the data to be generated;

[0017] If the total number of failed disks is one, the two non-faulty disks with the lowest read speed in the redundant array of independent disks are used as failed disks, and the data of the three failed blocks in the target stripe are used as the data to be generated.

[0018] On the other hand, for any relational expression in the parity check principle of the target stripe, the addition result of each known term in the relational expression is used as an intermediate variable to include:

[0019] The addition operation result of each known term in the first relational expression in the parity check principle is used as an intermediate variable through the first sum relational expression;

[0020] The addition operation result of each known term in the second relational expression in the parity check principle is used as an intermediate variable through the second sum relational expression;

[0021] The addition operation result of each known term in the third relational expression in the parity check principle is used as an intermediate variable through the third sum relational expression;

[0022] The first summation relation includes:

[0023] ;

[0024] The second summation relationship includes:

[0025] ;

[0026] The third summation relationship includes:

[0027] ;

[0028] Among them, v1 is the intermediate variable determined by the first summation relation, v2 is the intermediate variable determined by the second summation relation, v3 is the intermediate variable determined by the third summation relation, n is the total number of blocks in the target stripe, d i is the data of the block with sequence number i in the target stripe, x, y, and z are the sequence numbers of the blocks where the three data to be generated are located, α i is the position parameter of the block with sequence number i in the target stripe in the second relation, β i is the position parameter of the block with sequence number i in the target stripe in the third relational expression.

[0029] On the other hand, the first correspondence relationship includes:

[0030] ;

[0031] ;

[0032] The second corresponding relationship includes:

[0033] ;

[0034] ;

[0035] ;

[0036] The third corresponding relationship includes:

[0037] ;

[0038] Among them, d x d y with d zare the first to third data to be generated, α x , α y , α z are the position parameters corresponding to the positions x, y, and z in the target strip in the second relation, β x , β y , β z are the position parameters corresponding to the positions x, y, and z in the target strip in the third relation, γ, 、 All are intermediate parameters.

[0039] On the other hand, the data encoding and decoding method further includes:

[0040] In a redundant array of independent disks using a double-check technology, two data to be generated in a target stripe are determined.

[0041] On the other hand, in the redundant array of independent disks using the double check technology, determining the two to-be-generated data in the target stripe includes:

[0042] Determine the total number of failed disks in a redundant array of independent disks using double parity technology;

[0043] If the total number of failed disks is two, the data of the two failed blocks in the target stripe is used as the data to be generated;

[0044] If the total number of failed disks is one, the non-faulty disk with the lowest read speed in the redundant array of independent disks is used as the failed disk, and the data of the two failed blocks in the target stripe are used as the data to be generated.

[0045] On the other hand, the data encoding and decoding method further includes:

[0046] In a redundant array of independent disks using a single-parity technology, data to be generated in a target stripe is determined.

[0047] To solve the above technical problems, the present invention further provides a data encoding and decoding circuit, comprising:

[0048] An intermediate variable determination circuit is configured to use, in a redundant array of independent disks using a triple check technology, for any relational expression in a parity check principle of a target stripe, an addition operation result of each known term in the relational expression as an intermediate variable;

[0049] A data determination circuit, configured to determine each data to be generated based on position parameters of unknown terms in each relational expression of the parity check principle of the target stripe and the intermediate variables;

[0050] Among them, there are three data to be generated in the independent disk redundant array using triple check technology. When encoding the target stripe, the data to be generated includes the data of each check block in the target stripe. When decoding the target stripe, the data to be generated includes the data of each fault block in the target stripe. Any term in the relationship is the product of the data body and its corresponding position parameter. The known term is the term in the relationship involving the data in the difference set. The unknown term is the term in the relationship containing the data to be generated. The difference set is the difference set of the total data set of the target stripe with respect to the data set to be generated. The data set to be generated includes each data to be generated.

[0051] On the other hand, the intermediate variable determination circuit is further configured to:

[0052] In a redundant array of independent disks using a double check technique or a single check technique, for any relational expression in a parity check principle of a target stripe, a result of an addition operation of each known term in the relational expression is used as an intermediate variable;

[0053] The intermediate variable determination circuit includes:

[0054] A first summing subcircuit, configured to sum each known term in a first relational expression of a parity check principle of a target stripe to obtain an intermediate variable;

[0055] a second summing subcircuit, configured to sum each known term in a second relational expression of the parity check principle of the target stripe to obtain an intermediate variable;

[0056] a third summing subcircuit, configured to sum each known term in a third relational expression of the parity check principle of the target stripe to obtain an intermediate variable;

[0057] The parity check principle of the triple check technology includes the first to third relational expressions, the parity check principle of the double check technology includes the first and second relational expressions, and the parity check principle of the single check technology includes the first relational expression.

[0058] On the other hand, the first summing subcircuit includes:

[0059] a first adder, configured to sum known terms in a first relational expression of a parity check principle of a target stripe to obtain an intermediate variable;

[0060] The second summing subcircuit comprises:

[0061] n-3 first multipliers, configured to determine each known term in the second relational expression of the parity check principle of the target stripe according to the data bodies of each known term and the corresponding position parameters in the second relational expression;

[0062] a second adder, configured to sum each known term in the second relational expression to obtain an intermediate variable;

[0063] The third summing subcircuit comprises:

[0064] n-3 second multipliers, configured to determine each known term in the third relational expression of the parity check principle of the target stripe according to the data bodies of each known term and the corresponding position parameters in the third relational expression;

[0065] The third adder is used to sum the known terms in the third relational expression to obtain an intermediate variable, wherein n is the total number of blocks in a single stripe of the redundant array of independent disks.

[0066] On the other hand, the data determination circuit includes:

[0067] A first determining circuit, configured to determine first data to be generated based on the elements in the first corresponding relationship;

[0068] A second determining circuit, configured to determine second data to be generated based on the elements in the second corresponding relationship;

[0069] a third determining circuit, configured to determine third data to be generated based on elements in a third corresponding relationship;

[0070] The first corresponding relationship includes:

[0071] ;

[0072] ;

[0073] The second corresponding relationship includes:

[0074] ;

[0075] ;

[0076] ;

[0077] The third corresponding relationship includes:

[0078] ;

[0079] Wherein, v1 is the intermediate variable determined by the first summing subcircuit, v2 is the intermediate variable determined by the second summing subcircuit, v3 is the intermediate variable determined by the third summing subcircuit, and d x d y with d z are the first to third data to be generated, α x , α y , αz are the position parameters corresponding to the positions x, y, and z in the target strip in the second relation, β x , β y , β z are the position parameters corresponding to the positions x, y, and z in the target strip in the third relation, γ, 、 All are intermediate parameters.

[0080] To solve the above technical problems, the present invention further provides a data encoding and decoding device, comprising:

[0081] memory for storing computer programs;

[0082] A processor is used to implement the steps of the data encoding and decoding method described above when executing the computer program.

[0083] To solve the above technical problems, the present invention further provides a computer program product, including a computer program / instruction, which implements the steps of the above data encoding and decoding method when executed by a processor.

[0084] To solve the above technical problems, the present invention further provides a computer-readable storage medium, on which a computer program is stored. When the computer program is executed by a processor, the steps of the above data encoding and decoding method are implemented.

[0085] Beneficial effect: The present invention provides a data encoding and decoding method. Considering that if all known items involved in the parity check principle are expanded and operated during the encoding and decoding process of the target stripe, a huge amount of calculation will be involved, and the sum of the known items can be used as a known intermediate variable for calculation, the present invention can determine three data to be generated in the target stripe in the independent disk redundant array that applies the triple check technology, and then for any relationship in the parity check principle of the target stripe, the addition operation result of each known item in the relationship is used as an intermediate variable, and combined with the position parameters of the unknown items in each relationship according to the parity check principle of the target stripe and the intermediate variable, each data to be generated is determined. Since the addition operation result of the known items in each relationship is used as an intermediate variable for data generation, the amount of calculation can be significantly reduced, thereby improving the RAID performance.

[0086] The present invention also provides a data encoding and decoding circuit, device, program product and storage medium, which have the same beneficial effects as the above data encoding and decoding method. BRIEF DESCRIPTION OF THE DRAWINGS

[0087] In order to more clearly illustrate the technical solutions in the embodiments of the present invention, the following briefly introduces the relevant technologies and the drawings required for use in the embodiments. Obviously, the drawings described below are only some embodiments of the present invention. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying any creative work.

[0088] Figure 1 A schematic diagram of a flow chart of a data encoding and decoding method provided by the present invention;

[0089] Figure 2 A schematic structural diagram of the first summing sub-circuit provided by the present invention;

[0090] Figure 3 A schematic structural diagram of the second summing sub-circuit provided by the present invention;

[0091] Figure 4 A schematic structural diagram of the third summing sub-circuit provided by the present invention;

[0092] Figure 5 A schematic structural diagram of a first determination circuit provided by the present invention;

[0093] Figure 6 A schematic structural diagram of a second determination circuit provided by the present invention;

[0094] Figure 7 A schematic structural diagram of a third determination circuit provided by the present invention;

[0095] Figure 8 A schematic structural diagram of a data encoding and decoding device provided by the present invention;

[0096] Figure 9 A schematic structural diagram of a computer-readable storage medium provided by the present invention. DETAILED DESCRIPTION

[0097] The core of the present invention is to provide a data encoding and decoding method, circuit, device, program product and storage medium, which can determine three data to be generated in the target stripe in an independent disk redundant array using triple check technology, and then for any relationship in the parity check principle of the target stripe, use the addition operation result of each known term in the relationship as an intermediate variable, and combine the position parameters of the unknown terms in each relationship based on the parity check principle of the target stripe and the intermediate variable to determine each data to be generated. Since the addition operation result of the known terms in each relationship is used as an intermediate variable for data generation, the amount of calculation can be significantly reduced, thereby improving RAID performance.

[0098] To make the objectives, technical solutions, and advantages of the embodiments of the present invention more clear, the technical solutions in the embodiments of the present invention will be clearly and completely described below in conjunction with the accompanying drawings in the embodiments of the present invention. Obviously, the described embodiments are only part of the embodiments of the present invention, not all of the embodiments. Based on the embodiments of the present invention, all other embodiments obtained by ordinary technicians in this field without making creative efforts shall fall within the scope of protection of the present invention.

[0099] Please refer to Figure 1 , Figure 1 A schematic diagram of a data encoding and decoding method provided by the present invention, the data encoding and decoding method comprising:

[0100] S101: In a redundant array of independent disks using triple check technology, three data to be generated in a target stripe are determined, wherein when encoding the target stripe, the data to be generated include data of each check block in the target stripe, and when decoding the target stripe, the data to be generated include data of each fault block in the target stripe.

[0101] Specifically, considering that if all known items involved in the parity check principle are expanded during the encoding and decoding process of the target stripe, a huge amount of calculation will be involved, and the encoding and decoding process involves "sum operation of known items", and the sum result of the known items can be used as a known intermediate variable for calculation, therefore, in the embodiment of the present invention, in the encoding and decoding process of TP-RAID (Triple Parity Redundant Arrays of Independent Disks), the "sum result of the known items" is used as a known intermediate variable to participate in the encoding and decoding operation process, thereby simplifying a large number of calculation processes. TP-RAID needs to generate three check blocks of data during the stripe encoding process, and can support data recovery of up to three fault blocks during fault recovery. Therefore, in this step, three data to be generated in the target stripe can be first determined in the independent disk redundant array that applies the triple check technology, so as to use it as the data basis for subsequent steps.

[0102] Among them, when encoding the target stripe, the data to be generated includes the data of each check block in the target stripe, and when decoding the target stripe, the data to be generated includes the data of each fault block in the target stripe. In this way, the same set of encoding and decoding methods can be used in the encoding and decoding processes, which is conducive to further reducing the volume of related circuits or the amount of programs, thereby further reducing costs.

[0103] S102: For any relational expression in the parity check principle of the target stripe, the addition operation result of each known term in the relational expression is used as an intermediate variable, wherein the known term is the term in the relational expression involving data in a difference set, the difference set is the difference set of the total data set of the target stripe with respect to the data set to be generated, and the data set to be generated includes each data to be generated.

[0104] Specifically, the encoding and decoding process of the target stripe can actually be understood as a process of solving the data to be generated based on the parity check principle. The parity check principle of TP-RAID includes three relational expressions, so it is necessary to determine the data of three check blocks. During the decoding process, it can also support data recovery of up to three faulty blocks. Any relational expression in the parity check principle is actually an equation for the data in each data block and the check block. Therefore, the three relational expressions can solve the three data to be generated. In the solution process, three equations about the data to be generated can be listed based on the three relational expressions, thereby realizing the joint solution of the three data to be generated. The relational expression involves the operation of "for the item where the data in the non-faulty block is located", that is, the operation of the known items in this article. By using the addition operation result of each known item in the relational expression as an intermediate variable, the amount of calculation in the solution process can be greatly reduced. Therefore, in an embodiment of the present invention, for any relational expression in the parity check principle of the target stripe, the addition operation result of each known item in the relational expression is used as an intermediate variable and used as the data basis for the subsequent solution process.

[0105] Among them, the block used to store data is called a data block, the block used to store verification data is called a verification block, and the block where a fault occurs is called a fault block.

[0106] S103: Determine each data to be generated based on the position parameters of the unknown terms in each relational expression of the parity check principle of the target stripe and the intermediate variables, wherein any term in the relational expression is the product of the data body and its corresponding positional parameter, and the unknown term is the term in the relational expression that contains the data to be generated.

[0107] Specifically, after determining the intermediate variables in each relational expression, it is equivalent to reducing the operation factors in the relational expression. Then, the data to be generated can be solved based on the position parameters of the unknown terms in each relational expression and the intermediate variables, which reduces the calculation complexity and is conducive to reducing the circuit area or program amount, thereby reducing costs.

[0108] The present invention provides a data encoding and decoding method. Considering that if all known items involved in the parity check principle are expanded and operated during the encoding and decoding process of the target stripe, a huge amount of calculation will be involved, and the sum of the known items can be used as a known intermediate variable for calculation, the present invention can determine three data to be generated in the target stripe in an independent disk redundant array that applies a triple check technology, and then for any relationship in the parity check principle of the target stripe, the addition result of the known items in the relationship is used as an intermediate variable, and the position parameters of the unknown items in each relationship according to the parity check principle of the target stripe and the intermediate variable are combined to determine each data to be generated. Since the addition result of the known items in each relationship is used as an intermediate variable for data generation, the amount of calculation can be significantly reduced, thereby improving RAID performance.

[0109] Based on the above embodiments.

[0110] As an optional embodiment, determining each data to be generated according to the position parameters of the unknown terms and the intermediate variables in each relational expression of the parity check principle of the target stripe includes:

[0111] Based on the position parameters of the unknown terms in each relational expression of the parity check principle of the target stripe and the intermediate variables, the first data to be generated is determined through the first corresponding relationship;

[0112] Determining the second data to be generated through a second corresponding relationship based on the position parameters of the unknown terms in each relational expression of the parity check principle of the target stripe, the intermediate variables, and the first data to be generated;

[0113] Based on the intermediate variable, the first data to be generated and the second data to be generated, the third data to be generated is determined through a third corresponding relationship.

[0114] Specifically, considering that the solution process of three data to be generated based on three relational equations can be regarded as a process of solving multiple relational equations simultaneously, we can first solve the first data to be generated, and then use the first data to be generated as known data to solve the second data to be generated. Finally, the first and second data to be generated can be used as known data to solve the third data to be generated, so that the three data to be generated can be solved efficiently and accurately.

[0115] As an optional embodiment, in a redundant array of independent disks using triple parity technology, determining three to-be-generated data in a target stripe includes:

[0116] Determine the total number of failed disks in a redundant array of independent disks using triple parity technology;

[0117] If the total number of failed disks is three, the data of the three failed blocks in the target stripe will be used as the data to be generated;

[0118] If the total number of failed disks is two, the non-faulty disk with the lowest read speed in the redundant array of independent disks is used as the failed disk, and the data of the three failed blocks in the target stripe are used as the data to be generated;

[0119] If the total number of failed disks is one, the two non-faulty disks with the lowest read speed in the redundant array of independent disks are used as failed disks, and the data of the three failed blocks in the target stripe are used as the data to be generated.

[0120] Specifically, considering that data recovery can be performed when 1-3 disk failures occur in TP-RAID, and in order to ensure that a unified set of encoding and decoding programs or a set of encoding and decoding circuits are used when 1-3 disk failures occur, in an embodiment of the present invention, the total number of failed disks can be first determined. If the total number of failed disks is three, the data of the three failed blocks in the target stripe can be used as the data to be generated. If the total number of failed disks is two, the non-faulty disk with the lowest read speed in the independent disk redundant array is used as the failed disk, and the data of the three failed blocks in the target stripe is used as the data to be generated, thereby avoiding the reading of data in the data block of the "non-faulty disk with the lowest read speed in the independent disk redundant array", which is beneficial to improving encoding and decoding efficiency. If the total number of failed disks is one, the two non-faulty disks with the lowest read speeds in the independent disk redundant array are used as the failed disks, and the data of the three failed blocks in the target stripe is used as the data to be generated, thereby avoiding the reading of data in the data block of the "two non-faulty disks with the lowest read speed in the independent disk redundant array", which is beneficial to improving encoding and decoding efficiency.

[0121] Specifically, when the total number of failed disks is two, it is sufficient to solve the data to be generated of the two blocks that are actually failed, without having to solve the data to be generated that is actually not failed; similarly, when the total number of failed disks is one, it is sufficient to solve the data to be generated of the one block that is actually failed, without having to solve the data to be generated that is actually not failed.

[0122] As an optional embodiment, for any relational expression in the parity check principle of the target stripe, the addition result of each known term in the relational expression is used as an intermediate variable, including:

[0123] The addition operation result of each known term in the first relational expression in the parity check principle is used as an intermediate variable through the first sum relational expression;

[0124] The addition operation result of each known term in the second relational expression in the parity check principle is used as an intermediate variable through the second sum relational expression;

[0125] The addition operation result of each known term in the third relational expression in the parity check principle is used as an intermediate variable through the third sum relational expression;

[0126] The first summation relation includes:

[0127] ;

[0128] The second summation relationship includes:

[0129] ;

[0130] The third summation relationship includes:

[0131] ;

[0132] Among them, v1 is the intermediate variable determined by the first summation relation, v2 is the intermediate variable determined by the second summation relation, v3 is the intermediate variable determined by the third summation relation, n is the total number of blocks in the target stripe, d i is the data of the block with sequence number i in the target stripe, x, y, and z are the sequence numbers of the blocks where the three data to be generated are located, α i is the position parameter of the block with sequence number i in the target stripe in the second relation, β i is the position parameter of the block with sequence number i in the target stripe in the third relational expression.

[0133] Specifically, in order to efficiently determine any relational expression in the parity check principle of the target stripe, the addition operation results of each known term in the relational expression are used as an intermediate variable, and in order to be able to use the same scheme to efficiently determine the intermediate variable regardless of the encoding and decoding process, the embodiment of the present invention can determine the intermediate variables corresponding to the three relational expressions through three summation relational expressions.

[0134] Specifically, the three relationships involved in the parity check principle in TP-RAID can be:

[0135] ;

[0136] Among them, the first line is the first relational expression, the second line is the second relational expression, and the third line is the third relational expression. k} are the data in the 1st to kth data blocks in the target stripe, p1, p2, and p3 are the data of the three check blocks of the target stripe, {α1,…,α k+1 ,α k+2 ,α k+3} are the position parameters corresponding to the data of the 1st to k+3th blocks of the target stripe in the second relational expression, {β1,…,β k+1 ,β k+2,β k+3} are the position parameters corresponding to the data of the 1st to k+3th blocks of the target stripe in the third relational expression. The 1st to kth blocks in the target stripe are all data blocks, and the k+1th to k+3th blocks are check blocks.

[0137] Specifically, the position parameter can be set flexibly, for example, it can be set to α i =i,β i =i x ,i∈{1,…,k+3};x≥2 is a parameter. In addition, the position parameter can also be set to other values that meet the verification constraints. Unless otherwise specified, all addition, multiplication and division operations are performed in the finite field GF(2 m ), where m is the finite field parameter of TP-RAID configuration.

[0138] As an optional embodiment, the first correspondence includes:

[0139] ;

[0140] ;

[0141] The second correspondence includes:

[0142] ;

[0143] ;

[0144] ;

[0145] The third correspondence includes:

[0146] ;

[0147] Among them, d x d y with d z are the first to third data to be generated, α x , α y , α z are the position parameters corresponding to the positions x, y, and z in the target strip in the second relation, β x , β y , β z are the position parameters corresponding to the positions x, y, and z in the target strip in the third relation, γ, 、 All are intermediate parameters.

[0148] Specifically, the three to-be-generated data can be calculated efficiently and accurately through the first to third corresponding relationships in the above form.

[0149] Of course, in addition to the above specific forms, the first correspondence to the third correspondence may also be in other specific forms, which are not limited in the embodiment of the present invention.

[0150] As an optional embodiment, the data encoding and decoding method further includes:

[0151] In a redundant array of independent disks using a double-check technology, two data to be generated in a target stripe are determined.

[0152] Specifically, considering that the parity check principle of TP-RAID can be used to solve at most three data to be generated, based on this, the above solution method can be used to solve the data to be generated in the RAID with double check technology, and the same set of encoding and decoding methods or circuits can be used. Therefore, the data encoding and decoding method in the embodiment of the present invention can also determine the two data to be generated in the target stripe in the independent disk redundant array using the double check technology, so that for the two data to be generated in the independent disk redundant array using the double check technology, the two data to be generated can be efficiently solved by determining the intermediate variables and obtaining the data to be generated. That is, even if the TP-RAID is downgraded to RAID 6, there is no need to change the corresponding encoding and decoding method or encoding and decoding circuit, which reduces the modification cost and improves the flexibility of the RAID card.

[0153] When TP-RAID is downgraded to RAID 6, the proposed TP-RAID data encoding and decoding method can still be used for RAID 6 encoding and decoding operations. Specifically:

[0154] First, after downgrading, the RAID 6 design still uses the TP-RAID parity check principle, using only the first and second equations:

[0155] ;

[0156] Note that the total number of blocks in the strip is n=k+2, and assume that the data block to be solved by the encoding and decoding algorithm is d y and d z (the positions are y and z respectively); the two data to be generated are p1 and p2 during encoding, and are the blocks where errors actually occur during decoding.

[0157] Then, when encoding or decoding, according to the difference set {d1,…,d n}-{d y ,d z} and the corresponding k position parameters, use the first and second summation formulas (or the first and second summation subcircuits) to calculate the values of the intermediate variables v1 and v2.

[0158] Next, set the temporary variable dx and α x The value of is 0. According to the intermediate variable values v1 and v2, the second determination circuit is used to calculate d y Then the third determination circuit is used to calculate the value of d z Completes the RAID 6 encoding or decoding operation.

[0159] As an optional embodiment, in a redundant array of independent disks using a double-check technology, determining two to-be-generated data in a target stripe includes:

[0160] Determine the total number of failed disks in a redundant array of independent disks using double parity technology;

[0161] If the total number of failed disks is two, the data of the two failed blocks in the target stripe is used as the data to be generated;

[0162] If the total number of failed disks is one, a non-faulty disk with the lowest read speed in the redundant array of independent disks is used as the failed disk, and the data of the two failed blocks in the target stripe are used as the data to be generated.

[0163] Specifically, similarly, in an independent disk redundant array that uses double-check technology, if the total number of failed disks is one, then the non-faulty disk with the lowest reading speed in the independent disk redundant array can also be used as the failed disk, and the data of the two failed blocks in the target stripe can be used as the data to be generated, thereby avoiding the reading of data in the "non-faulty disk with the lowest reading speed in the independent disk redundant array", which is beneficial to improving encoding and decoding efficiency.

[0164] As an optional embodiment, the data encoding and decoding method further includes:

[0165] In a redundant array of independent disks using a single-parity technology, data to be generated in a target stripe is determined.

[0166] Specifically, considering that the parity check principle of TP-RAID can be used to solve at most three data to be generated, based on this, the above solution method can be used to solve the data to be generated in the RAID (RAID 5) with a single check technology, and the same set of encoding and decoding methods or circuits can be used. Therefore, the data encoding and decoding method in the embodiment of the present invention can also determine one data to be generated in the target stripe in the independent disk redundant array using the single check technology, so that for one data to be generated in the independent disk redundant array using the single check technology, the method of determining the intermediate variables and obtaining the data to be generated can be used to achieve efficient solution of the data to be generated. That is, even if the TP-RAID is downgraded to RAID 5, there is no need to change the corresponding encoding and decoding method or encoding and decoding circuit, which reduces the modification cost and improves the flexibility of the RAID card.

[0167] Specifically, when TP-RAID is actively downgraded to RAID 5, since RAID 5 uses single parity check, the data block and check block meet the following conditions:

[0168] ;

[0169] Therefore, the encoding and decoding algorithm of RAID 5 can be implemented through the exclusive OR addition operation of the finite field.

[0170] Assume that the data block to be solved is d z , which is the check block p1 in encoding and the data block with error in decoding. n}-{d z}, the encoding and decoding method uses the first summation subcircuit to calculate the value of the intermediate variable v1, at this time v1 is d z Completes RAID 5 encoding or decoding operations.

[0171] To solve the above technical problems, the present invention further provides a data encoding and decoding circuit, comprising:

[0172] An intermediate variable determination circuit is configured to use, in a redundant array of independent disks using a triple check technology, for any relational expression in a parity check principle of a target stripe, an addition operation result of each known term in the relational expression as an intermediate variable;

[0173] A data determination circuit is used to determine each data to be generated based on the position parameters of the unknown terms and the intermediate variables in each relational expression of the parity check principle of the target stripe;

[0174] Among them, there are three data to be generated in the independent disk redundant array using triple check technology. When encoding the target stripe, the data to be generated includes the data of each check block in the target stripe. When decoding the target stripe, the data to be generated includes the data of each fault block in the target stripe. Any term in the relationship is the product of the data body and its corresponding position parameter. The known term is the term in the relationship involving the data in the difference set. The unknown term is the term in the relationship containing the data to be generated. The difference set is the difference set of the total data set of the target stripe with respect to the data set to be generated. The data set to be generated includes each data to be generated.

[0175] Specifically, considering that the data encoding and decoding circuit in hardware form in the RAID card can uniformly implement the encoding and decoding work for TP-RAID, RAID 6 and RAID 5, thereby improving the encoding and decoding efficiency and reducing the hardware modification cost, a data encoding and decoding circuit is provided in an embodiment of the present invention, wherein the intermediate variable determination circuit is used to use the addition operation result of each known term in any relationship in the parity check principle of the target stripe as an intermediate variable in the independent disk redundant array that applies the triple check technology; the data determination circuit can determine each data to be generated based on the position parameters of the unknown terms in each relationship in the parity check principle of the target stripe and the intermediate variables.

[0176] As an optional embodiment, the intermediate variable determination circuit is further configured to:

[0177] In a redundant array of independent disks using a double check technique or a single check technique, for any relational expression in a parity check principle of a target stripe, a result of an addition operation of each known term in the relational expression is used as an intermediate variable;

[0178] The intermediate variable determination circuit includes:

[0179] A first summing subcircuit, configured to sum each known term in a first relational expression of a parity check principle of a target stripe to obtain an intermediate variable;

[0180] a second summing subcircuit, configured to sum each known term in a second relational expression of the parity check principle of the target stripe to obtain an intermediate variable;

[0181] a third summing subcircuit, configured to sum each known term in a third relational expression of the parity check principle of the target stripe to obtain an intermediate variable;

[0182] The parity check principle of the triple check technology includes the first to third relational expressions, the parity check principle of the double check technology includes the first and second relational expressions, and the parity check principle of the single check technology includes the first relational expression.

[0183] Specifically, considering that the three relationship equations included in the parity check principle of the triple check technology include the relationship equations in the parity check principle of the double check technology or the single check technology, the above data encoding and decoding circuit can theoretically also be used to solve the data to be generated in the independent disk redundant array that applies the double check technology or the single check technology. Therefore, the intermediate variable determination circuit in the embodiment of the present invention can also use the independent disk redundant array that applies the double check technology or the single check technology for any relationship equation in the parity check principle of the target stripe, and use the addition operation results of each known item in the relationship equation as an intermediate variable; and the intermediate variable determination circuit can be composed of three summation sub-circuits corresponding to the three relationship equations respectively, with a simple structure and strong reliability.

[0184] Of course, in addition to this specific form, the intermediate variable determination circuit may also be in other forms, which is not limited in the embodiment of the present invention.

[0185] As an optional embodiment, the first summing subcircuit includes:

[0186] a first adder, configured to sum known terms in a first relational expression of a parity check principle of a target stripe to obtain an intermediate variable;

[0187] The second summing subcircuit includes:

[0188] n-3 first multipliers, configured to determine each known term in the second relational expression of the parity check principle of the target stripe according to the data bodies of each known term and the corresponding position parameters in the second relational expression;

[0189] a second adder, configured to sum each known term in the second relational expression to obtain an intermediate variable;

[0190] The third summing subcircuit includes:

[0191] n-3 second multipliers, configured to determine each known term in the third relational expression of the parity check principle of the target stripe according to the data bodies of each known term and the corresponding position parameters in the third relational expression;

[0192] The third adder is used to sum the known terms in the third relational expression to obtain an intermediate variable, wherein n is the total number of blocks in a single stripe of the redundant array of independent disks.

[0193] Specifically, to better illustrate the embodiments of the present invention, please refer to Figures 2 to 4 , Figure 2 This is a schematic structural diagram of the first summing sub-circuit provided by the present invention, Figure 3 This is a schematic structural diagram of the second summing sub-circuit provided by the present invention, Figure 4This is a schematic structural diagram of the third summing sub-circuit provided by the present invention.

[0194] Specifically, Figure 2 The adder in is the first adder, Figure 3 The first multiplier includes n-3 and a second adder. Figure 3 exist Figure 2 Based on the input data in , the position parameters corresponding to each input data in the second relation are also used. Figure 4 It includes n-3 second multipliers and 1 third adder, Figure 4 exist Figure 2 Based on the input data in , the position parameters corresponding to each input data in the third relational expression are also used.

[0195] The specific structures of the above-mentioned summing sub-circuits have the advantages of high versatility, small size and low cost.

[0196] Of course, in addition to the above specific forms, each summing sub-circuit may also be in other forms, which is not limited in the embodiment of the present invention.

[0197] As an optional embodiment, the data determination circuit includes:

[0198] A first determining circuit, configured to determine first data to be generated based on the elements in the first corresponding relationship;

[0199] A second determining circuit, configured to determine second data to be generated based on the elements in the second corresponding relationship;

[0200] a third determining circuit, configured to determine third data to be generated based on elements in a third corresponding relationship;

[0201] The first correspondence includes:

[0202] ;

[0203] ;

[0204] The second correspondence includes:

[0205] ;

[0206] ;

[0207] ;

[0208] The third correspondence includes:

[0209] ;

[0210] Wherein, v1 is the intermediate variable determined by the first summing subcircuit, v2 is the intermediate variable determined by the second summing subcircuit, v3 is the intermediate variable determined by the third summing subcircuit, and d x d y with d z are the first to third data to be generated, α x , α y , α z are the position parameters corresponding to the positions x, y, and z in the target strip in the second relation, β x , β y , β z are the position parameters corresponding to the positions x, y, and z in the target strip in the third relation, γ, 、 All are intermediate parameters.

[0211] Specifically, to better illustrate the embodiments of the present invention, please refer to Figures 5 to 7 , Figure 5 A schematic structural diagram of a first determination circuit provided by the present invention, Figure 6 A schematic structural diagram of a second determination circuit provided by the present invention, Figure 7 This is a schematic structural diagram of the third determination circuit provided by the present invention.

[0212] Specifically, the first to third determination circuits in the embodiment of the present invention can respectively execute the operation logic of the first to third corresponding relationships, and have the versatility in RAID5, RAID 6 and TP-RAID, thereby realizing the flexible switching of the RAID card between different RAID levels; wherein, Figure 5 The first determination circuit in the embodiment can realize the calculation logic of the first corresponding relationship, and is composed of 7 adders, 11 multipliers and 1 inverse element circuit (for calculating the inverse element of the finite field element). Figure 6 The second determination circuit in can realize the calculation logic of the second corresponding relationship, and is composed of 4 adders, 4 multipliers and 1 inverse element circuit. Figure 7 The third determination circuit in can realize the calculation logic of the third corresponding relationship and is composed of 1 adder.

[0213] Please refer to Figure 8 , Figure 8 This is a structural diagram of a data encoding and decoding device provided by the present invention, the data encoding and decoding device comprising:

[0214] Memory 81, for storing computer programs;

[0215] The processor 82 is configured to implement the steps of the data encoding and decoding method in the aforementioned embodiment when executing a computer program.

[0216] For an introduction to the data encoding and decoding device provided by an embodiment of the present invention, please refer to the aforementioned embodiment of the data encoding and decoding method, and the embodiment of the present invention will not be described in detail here.

[0217] The present invention also provides a computer program product, comprising a computer program / instruction, which, when executed by a processor, implements the steps of the data encoding and decoding method in the aforementioned embodiment.

[0218] For an introduction to the computer program product provided by the embodiment of the present invention, please refer to the aforementioned embodiment of the data encoding and decoding method, and the embodiment of the present invention will not be described in detail here.

[0219] Please refer to Figure 9 , Figure 9 This is a schematic diagram of the structure of a computer-readable storage medium provided by the present invention. A computer program 92 is stored on the computer-readable storage medium 91. When the computer program 92 is executed by a processor, the steps of the above data encoding and decoding method are implemented.

[0220] For an introduction to the computer-readable storage medium provided in an embodiment of the present invention, please refer to the aforementioned embodiment of the data encoding and decoding method, and the embodiment of the present invention will not be described in detail here.

[0221] In this specification, each embodiment is described in a progressive manner, and each embodiment focuses on the differences from other embodiments. The same and similar parts between the embodiments can be referred to each other. It should also be noted that in this specification, relational terms such as first and second are only used to distinguish one entity or operation from another entity or operation, and do not necessarily require or imply that there is any such actual relationship or order between these entities or operations. Moreover, the terms "comprise", "include" or any other variants thereof are intended to cover non-exclusive inclusion, so that the process, method, article or equipment including a series of elements includes not only those elements, but also other elements not explicitly listed, or also includes elements inherent to such process, method, article or equipment. In the absence of further restrictions, the elements defined by the sentence "comprise a..." do not exclude the presence of other identical elements in the process, method, article or equipment including the element.

[0222] The above description of the disclosed embodiments is intended to enable one skilled in the art to implement or use the present invention. Various modifications to these embodiments will be readily apparent to those skilled in the art, and the general principles defined herein may be implemented in other embodiments without departing from the spirit or scope of the present invention. Therefore, the present invention is not limited to the embodiments shown herein but is intended to conform to the widest scope consistent with the principles and novel features disclosed herein.

Claims

1. A data encoding and decoding method, characterized in that: include: In a redundant array of independent disks using triple parity technology, three data to be generated in a target stripe are determined, wherein when encoding the target stripe, the data to be generated include data of each parity block in the target stripe, and when decoding the target stripe, the data to be generated include data of each fault block in the target stripe; For any relational expression in the parity check principle of the target stripe, the result of the addition operation of each known term in the relational expression is used as an intermediate variable, where the known term is the term in the relational expression involving data in the difference set, the difference set is the difference set of the total data set of the target stripe with respect to the data set to be generated, and the data set to be generated includes each data to be generated; Determine each data to be generated based on the position parameters of the unknown terms in each relational expression of the parity check principle of the target stripe and the intermediate variables, wherein any term in the relational expression is the product of the data body and its corresponding positional parameter, and the unknown term is the term in the relational expression that contains the data to be generated; According to the position parameters of the unknown terms in the relational expressions of the parity check principle of the target stripe and the intermediate variables, each data to be generated is determined to include: Based on the position parameters of the unknown terms in each relational expression of the parity check principle of the target stripe and the intermediate variable, the first data to be generated is determined through the first corresponding relationship; Determining the second data to be generated through a second corresponding relationship based on the position parameters of the unknown terms in each relational expression of the parity check principle of the target stripe, the intermediate variable, and the first data to be generated; Based on the intermediate variable, the first data to be generated, and the second data to be generated, third data to be generated is determined through a third corresponding relationship.

2. The data encoding and decoding method according to claim 1, wherein: In a redundant array of independent disks using triple parity technology, the three data to be generated in the target stripe are determined to include: Determine the total number of failed disks in a redundant array of independent disks using triple parity technology; If the total number of failed disks is three, the data of the three failed blocks in the target stripe will be used as the data to be generated; If the total number of failed disks is two, the non-faulty disk with the lowest read speed in the redundant array of independent disks is used as the failed disk, and the data of the three failed blocks in the target stripe are used as the data to be generated; If the total number of failed disks is one, the two non-faulty disks with the lowest read speed in the redundant array of independent disks are used as failed disks, and the data of the three failed blocks in the target stripe are used as the data to be generated.

3. The data encoding and decoding method according to claim 1, wherein: For any relational expression in the parity check principle of the target stripe, the result of the addition operation of each known term in the relational expression is used as an intermediate variable, including: The addition operation result of each known term in the first relational expression in the parity check principle is used as an intermediate variable through the first sum relational expression; The addition operation result of each known term in the second relational expression in the parity check principle is used as an intermediate variable through the second sum relational expression; The addition operation result of each known term in the third relational expression in the parity check principle is used as an intermediate variable through the third sum relational expression; The first summation relation includes: ; The second summation relationship includes: ; The third summation relationship includes: ; Among them, v1 is the intermediate variable determined by the first summation relation, v2 is the intermediate variable determined by the second summation relation, v3 is the intermediate variable determined by the third summation relation, n is the total number of blocks in the target stripe, d i is the data of the block with sequence number i in the target stripe, x, y, and z are the sequence numbers of the blocks where the three data to be generated are located, α i is the position parameter of the block with sequence number i in the target stripe in the second relation, β i is the position parameter of the block with sequence number i in the target stripe in the third relational expression.

4. The data encoding and decoding method according to claim 3, wherein: The first corresponding relationship includes: ; ; The second corresponding relationship includes: ; ; ; The third corresponding relationship includes: ; Among them, d x d y with d z are the first to third data to be generated, α x , α y , α z are the position parameters corresponding to the positions x, y, and z in the target strip in the second relation, β x , β y , β z are the position parameters corresponding to the positions x, y, and z in the target strip in the third relation, γ, 、 All are intermediate parameters.

5. The data encoding and decoding method according to any one of claims 1 to 4, characterized in that: The data encoding and decoding method further includes: In a redundant array of independent disks using a double-check technology, two data to be generated in a target stripe are determined.

6. The data encoding and decoding method according to claim 5, characterized in that: In the redundant array of independent disks using the double check technology, determining two to-be-generated data in the target stripe includes: Determine the total number of failed disks in a redundant array of independent disks using double parity technology; If the total number of failed disks is two, the data of the two failed blocks in the target stripe is used as the data to be generated; If the total number of failed disks is one, the non-faulty disk with the lowest read speed in the redundant array of independent disks is used as the failed disk, and the data of the two failed blocks in the target stripe are used as the data to be generated.

7. The data encoding and decoding method according to claim 5, wherein: The data encoding and decoding method further includes: In a redundant array of independent disks using a single-parity technology, data to be generated in a target stripe is determined.

8. A data encoding and decoding circuit, characterized in that: include: An intermediate variable determination circuit is configured to use, in a redundant array of independent disks using a triple check technology, for any relational expression in a parity check principle of a target stripe, an addition operation result of each known term in the relational expression as an intermediate variable; A data determination circuit, configured to determine each data to be generated based on position parameters of unknown terms in each relational expression of the parity check principle of the target stripe and the intermediate variables; In a redundant array of independent disks using triple check technology, there are three data to be generated. When encoding a target stripe, the data to be generated includes data of each check block in the target stripe. When decoding the target stripe, the data to be generated includes data of each fault block in the target stripe. Any term in the relational expression is the product of the data body and its corresponding position parameter. The known term is the term in the relational expression involving data in a difference set. The unknown term is the term in the relational expression containing data to be generated. The difference set is the difference set of the total data set of the target stripe with respect to the data set to be generated. The data set to be generated includes each data to be generated. The data determination circuit includes: a first determining circuit, configured to determine first data to be generated through a first corresponding relationship based on position parameters of unknown terms in each relational expression of the parity check principle of the target stripe and the intermediate variable; a second determining circuit, configured to determine second data to be generated through a second corresponding relationship based on position parameters of unknown terms in each relational expression of the parity check principle of the target stripe, the intermediate variable, and the first data to be generated; The third determining circuit is configured to determine third data to be generated through a third corresponding relationship based on the intermediate variable, the first data to be generated, and the second data to be generated.

9. The data encoding and decoding circuit according to claim 8, characterized in that: The intermediate variable determination circuit is further configured to: In a redundant array of independent disks using a double check technique or a single check technique, for any relational expression in a parity check principle of a target stripe, a result of an addition operation of each known term in the relational expression is used as an intermediate variable; The intermediate variable determination circuit includes: A first summing subcircuit, configured to sum each known term in a first relational expression of a parity check principle of a target stripe to obtain an intermediate variable; a second summing subcircuit, configured to sum each known term in a second relational expression of the parity check principle of the target stripe to obtain an intermediate variable; a third summing subcircuit, configured to sum each known term in a third relational expression of the parity check principle of the target stripe to obtain an intermediate variable; The parity check principle of the triple check technology includes the first to third relational expressions, the parity check principle of the double check technology includes the first and second relational expressions, and the parity check principle of the single check technology includes the first relational expression.

10. The data encoding and decoding circuit according to claim 9, wherein: The first summing subcircuit comprises: a first adder, configured to sum known terms in a first relational expression of a parity check principle of a target stripe to obtain an intermediate variable; The second summing subcircuit comprises: n-3 first multipliers, configured to determine each known term in the second relational expression of the parity check principle of the target stripe according to the data bodies of each known term and the corresponding position parameters in the second relational expression; a second adder, configured to sum each known term in the second relational expression to obtain an intermediate variable; The third summing subcircuit comprises: n-3 second multipliers, configured to determine each known term in the third relational expression of the parity check principle of the target stripe according to the data bodies of each known term and the corresponding position parameters in the third relational expression; The third adder is used to sum the known terms in the third relational expression to obtain an intermediate variable, wherein n is the total number of blocks in a single stripe of the redundant array of independent disks.

11. The data encoding and decoding circuit according to claim 10, wherein: The data determination circuit includes: A first determining circuit, configured to determine first data to be generated based on the elements in the first corresponding relationship; A second determining circuit, configured to determine second data to be generated based on the elements in the second corresponding relationship; a third determining circuit, configured to determine third data to be generated based on elements in a third corresponding relationship; The first corresponding relationship includes: ; ; The second corresponding relationship includes: ; ; ; The third corresponding relationship includes: ; Wherein, v1 is the intermediate variable determined by the first summing subcircuit, v2 is the intermediate variable determined by the second summing subcircuit, v3 is the intermediate variable determined by the third summing subcircuit, and d x d y with d z are the first to third data to be generated, α x , α y , α z are the position parameters corresponding to the positions x, y, and z in the target strip in the second relation, β x , β y , β z are the position parameters corresponding to the positions x, y, and z in the target strip in the third relation, γ, 、 All are intermediate parameters.

12. A data encoding and decoding device, characterized in that: include: memory for storing computer programs; A processor, configured to implement the steps of the data encoding and decoding method according to any one of claims 1 to 7 when executing the computer program.

13. A computer program product comprising a computer program / instructions, characterized in that When the computer program / instruction is executed by a processor, the steps of the data encoding and decoding method according to any one of claims 1 to 7 are implemented.

14. A computer-readable storage medium, characterized in that The computer-readable storage medium stores a computer program, and when the computer program is executed by a processor, the steps of the data encoding and decoding method according to any one of claims 1 to 7 are implemented.

Citation Information

Patent Citations

  • RAID encoding and decoding system and method for SSD

    CN106775483A

  • Disk array data recovery method and system, storage medium, and equipment

    CN114090345A