Disk array data encoding and decoding method, device, equipment, program product and medium

By pre-stored the set of coefficient values corresponding to position parameters, the disk array data encoding and decoding process is simplified, the problem of high computational volume in the existing technology is solved, and the performance of RAID is improved.

CN120223098BActive 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
CN202510705334.7
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2025-05-29
Publication Date
2025-08-15
Estimated Expiration
2045-05-29

AI Technical Summary

Technical Problem

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

Method used

Prestores the set of coefficient values corresponding to various combined position parameters. During the encoding and decoding process, the expression of the data to be generated is determined based on the parity principle and known data of the target strip, and the coefficient value of the target coefficient is directly determined from the set of coefficient values, simplifying the calculation process.

Benefits of technology

Improves encoding and decoding efficiency and improves RAID performance.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120223098B_ABST
    Figure CN120223098B_ABST
Patent Text Reader

Abstract

The present invention discloses a disk array data encoding and decoding method, apparatus, device, program product, and medium, belonging to the field of independent redundant array of disks, and is used to provide an efficient disk array data encoding and decoding solution, solving the problems of large computational complexity and low efficiency in the encoding and decoding process. A set of coefficient values corresponding to various combinations of position parameters can be pre-stored. During the encoding and decoding process of a target stripe, after determining the expression of each data to be generated based on various relational expressions of the parity check principle of the target stripe and each known data in the target stripe, the pre-stored set of coefficient values corresponding to the position parameters of each data to be generated can be determined, and then the coefficient values of each target coefficient in the expression of the data to be generated can be directly determined from the set of coefficient values, thereby determining each data to be generated. This can simplify the process of determining the data to be generated, improve encoding and decoding efficiency, and improve 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 disk array data encoding and decoding method, device, equipment, program product and 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 disk array 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 disk array data encoding and decoding method, device, equipment, program product and medium, which can pre-store coefficient value sets corresponding to position parameters of various combinations. During the encoding and decoding process of the target stripe, after determining the expression of each data to be generated based on the various relationship formulas of the parity check principle of the target stripe and the various known data in the target stripe, the pre-stored coefficient value set corresponding to the position parameter of each data to be generated can be determined, and then the coefficient value of each target coefficient in the expression of the data to be generated can be directly determined from the coefficient value set, and then the data to be generated can be determined. This can simplify the process of determining the data to be generated and improve the encoding and decoding efficiency and RAID performance.

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

[0006] Determining each piece of data to be generated in a target stripe of a redundant array of independent disks storage system, wherein when encoding the target stripe, the data to be generated includes data of each parity block in the target stripe, and when decoding the target stripe, the data to be generated includes data of each fault block in the target stripe;

[0007] Determine expressions for each data to be generated based on the parity check principle of the target stripe and each known data in the target stripe, wherein each term in the expression is the product of the data body and its corresponding position parameter, and the expression for the data to be generated includes a target coefficient formed by the position parameters of each data to be generated;

[0008] Determining a pre-stored set of coefficient values corresponding to position parameters of each data to be generated, wherein each coefficient value in the set of coefficient values is determined by the corresponding position parameters;

[0009] The coefficient values of each target coefficient in the expression of the data to be generated are determined from the coefficient value set, and then the data to be generated are determined.

[0010] On the other hand, the expression for determining each data to be generated based on each relationship of the parity check principle of the target stripe and each known data in the target stripe includes:

[0011] For any relational expression in the parity check principle of the target stripe, convert the relational expression into a first expression of the addition operation of the unknown term with respect to the addition operation of the known term, wherein any term in the relational expression is the product of the data body and its corresponding position parameter, the unknown term is the term in the relational expression that contains the data to be generated, and the known term is the term in the relational expression that does not contain the data to be generated;

[0012] By solving the first expressions simultaneously, expressions of the data to be generated are obtained, wherein the expressions of the data to be generated include target coefficients composed of position parameters of the data to be generated.

[0013] On the other hand, the expressions of the data to be generated obtained by simultaneously solving the first expressions include:

[0014] For any first expression, the result of the addition operation of each known term in the first expression is used as an intermediate variable;

[0015] By solving the first expressions jointly, expressions of the data to be generated are obtained, wherein the expressions of the data to be generated include target coefficients composed of position parameters of the data to be generated, and also include intermediate variables corresponding to the first expressions.

[0016] On the other hand, the redundant array of independent disks storage system includes a redundant array of independent disks storage system applying a double check technology;

[0017] The parity check principle of the target stripe includes:

[0018] ;

[0019] Among them, {d1,…,d k} are the data in the 1st to kth data blocks in the target stripe, p is the data in the k+1th block in the target stripe, q is the data in the k+2th block in the target stripe, the 1st to kth blocks in the target stripe are all data blocks, the k+1th and k+2th blocks in the target stripe are all check blocks, {l1,…,lk ,l k+1 ,l k+2} are the position parameters corresponding to the 1st to k+2nd data respectively.

[0020] On the other hand, when encoding the target stripe, determining each data to be generated in the target stripe of the redundant array of independent disks storage system includes:

[0021] Determining that data of two parity blocks in a target stripe of a redundant array of independent disks storage system is data to be generated;

[0022] The first expression for the addition operation of unknown terms with respect to the addition operation of known terms includes:

[0023] ;

[0024] For any first expression, the result of the addition operation of each known term in the first expression is used as an intermediate variable, including:

[0025] Convert the first expression to the following form:

[0026] ;

[0027] ;

[0028] The expressions for the data to be generated include:

[0029] ;

[0030] Among them, v1 and v2 are both intermediate variables. In the expression of the data to be generated, the coefficients of the intermediate variables are all target coefficients.

[0031] On the other hand, when decoding the target stripe, determining each to-be-generated data in the target stripe of the redundant array of independent disks storage system includes:

[0032] Determining that data of two fault blocks in a target stripe of a redundant array of independent disks storage system are data to be generated;

[0033] For any first expression, the result of the addition operation of each known term in the first expression is used as an intermediate variable, including:

[0034] Convert the first expression to the following form:

[0035] ;

[0036] ;

[0037] The expressions for the data to be generated include:

[0038] ;

[0039] Among them, d x with d y are the data of a fault block in the target stripe, x and y are the sequence numbers of the fault block, l x With l y are the position parameters corresponding to the fault block, v1 and v2 are intermediate variables, d k+1 is p, d k+2 is q.

[0040] On the other hand, the pre-stored coefficient value set database includes a coefficient value set corresponding to any pair of position parameters in the target stripe;

[0041] The set of coefficient values corresponding to any pair of position parameters includes:

[0042] ;

[0043] Among them, l m With l n are a pair of position parameters numbered m and n in the target stripe, 、 and are respectively related to the position parameter l m and l n The three coefficient values in the corresponding coefficient value set.

[0044] On the other hand, the pre-stored coefficient value set database is constructed in the form of a lookup table.

[0045] On the other hand, determining that data of two failed blocks in a target stripe of a redundant array of independent disks storage system are data to be generated includes:

[0046] determining whether the number of failed disks in a redundant array of independent disks storage system is one;

[0047] If it is one, determining a non-faulty block in the target stripe as the faulty block and determining data of two faulty blocks in the target stripe of the redundant array of independent disks storage system as data to be generated;

[0048] If the number is not one, it is determined that the data of the two fault blocks in the target stripe of the redundant array of independent disks storage system are the data to be generated.

[0049] On the other hand, the disk array data encoding and decoding method further includes:

[0050] When an updated data block exists in the target stripe, determining the pre-update data and the post-update data of the updated data block, and determining the current check data of the check block of the target stripe, wherein the current check data is: the current check data;

[0051] Based on the pre-update data and post-update data of the updated data block and the current check data of the check block of the target stripe, an expression for the updated target check data of the target stripe is determined using a parity check principle of the target stripe, wherein the expression for the target check data includes a target coefficient formed by a position parameter of the current check data;

[0052] Determining a pre-stored set of coefficient values corresponding to position parameters of each current verification data;

[0053] The coefficient values of the target coefficients in the expression of the target verification data are determined from the determined coefficient value set, and then the updated target verification data of the target stripe are determined.

[0054] On the other hand, the redundant array of independent disks storage system includes a redundant array of independent disks storage system applying a double check technology;

[0055] The parity check principle of the target stripe includes:

[0056] ;

[0057] Among them, {d1,…,d k} are the data in the 1st to kth data blocks in the target stripe, p is the data in the k+1th block in the target stripe, q is the data in the k+2th block in the target stripe, the 1st to kth blocks in the target stripe are all data blocks, the k+1th and k+2th blocks in the target stripe are all check blocks, {l1,…,l k ,l k+1 ,l k+2} are the position parameters corresponding to the 1st to k+2th data respectively;

[0058] Based on the pre-update data and post-update data of the updated data block and the current check data of the check block of the target stripe, and using the parity check principle of the target stripe, an expression for determining the updated target check data of the target stripe includes:

[0059] Determine two update intermediate variables based on pre-update data and post-update data of the updated data block and current check data of the check block of the target stripe;

[0060] The two updated intermediate variables include:

[0061] ;

[0062] ;

[0063] Among them, v g1 With v g2 Update the intermediate variables for both, d t For the data before updating, is the updated data, p and q are the current check data of the two check blocks of the target stripe, l t is the position parameter of the target stripe with sequence number t, l k+1 is the position parameter with sequence number k+1 in the target stripe, l k+2 is the position parameter with sequence number k+2 in the target stripe;

[0064] Determine the expression of the updated target parity data of the target stripe by using the parity check principle of the updated target stripe and updating the intermediate variable;

[0065] The parity check principle of the updated target stripe includes:

[0066] ;

[0067] in, is the updated target check data at position k+1 in the target stripe, The updated target check data at position k+2 in the target stripe;

[0068] The expressions for target verification data include:

[0069] ;

[0070] 、 and are the target stripe and position parameters l respectively k+1 With l k+2 The three coefficient values in the corresponding coefficient value set.

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

[0072] A first determining module is configured to determine each piece of data to be generated in a target stripe of a redundant array of independent disks storage system, wherein when encoding the target stripe, the data to be generated includes data of each parity block in the target stripe, and when decoding the target stripe, the data to be generated includes data of each fault block in the target stripe;

[0073] a second determination module, configured to determine expressions for each data to be generated based on respective relational expressions of the parity check principle of the target stripe and respective known data in the target stripe, wherein any term in the relational expressions is a product of the data body and its corresponding position parameter, and the expressions for the data to be generated include target coefficients formed by the position parameters of the respective data to be generated;

[0074] A third determining module is configured to determine a pre-stored set of coefficient values corresponding to position parameters of each data to be generated, wherein each coefficient value in the set of coefficient values is determined by the corresponding position parameters;

[0075] The fourth determination module is used to determine the coefficient value of each target coefficient in the expression of the data to be generated from the coefficient value set, and then determine each data to be generated.

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

[0077] memory for storing computer programs;

[0078] The processor is configured to implement the steps of the disk array data encoding and decoding method described above when executing the computer program.

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

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

[0081] Beneficial effect: The present invention provides a disk array data encoding and decoding method. Considering that both the encoding and decoding processes of the target stripe and the calculation process of the data to be generated include "target coefficients composed of various position parameters corresponding to the data to be generated", the present invention can pre-store a set of coefficient values corresponding to various combinations of position parameters. In the encoding and decoding process of the target stripe, after determining the expression of each data to be generated based on various relationship formulas of the parity check principle of the target stripe and each known data in the target stripe, the pre-stored set of coefficient values corresponding to the position parameters of each data to be generated can be determined, and then the coefficient values of each target coefficient in the expression of the data to be generated can be directly determined from the coefficient value set, and then each data to be generated can be determined. This can simplify the process of determining the data to be generated and improve the encoding and decoding efficiency and RAID performance.

[0082] The present invention also provides a disk array data encoding and decoding device, equipment, computer program product and computer-readable storage medium, which have the same beneficial effects as the above disk array data encoding and decoding method. BRIEF DESCRIPTION OF THE DRAWINGS

[0083] 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.

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

[0085] Figure 2 A schematic flow chart of another disk array data encoding and decoding method provided by the present invention;

[0086] Figure 3 A schematic structural diagram of a disk array data encoding and decoding device provided by the present invention;

[0087] Figure 4 A schematic structural diagram of a disk array data encoding and decoding device provided by the present invention;

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

[0089] The core of the present invention is to provide a disk array data encoding and decoding method, device, equipment, program product and medium, which can pre-store coefficient value sets corresponding to position parameters of various combinations. During the encoding and decoding process of the target stripe, after determining the expression of each data to be generated based on the various relationship formulas of the parity check principle of the target stripe and the various known data in the target stripe, the pre-stored coefficient value set corresponding to the position parameter of each data to be generated can be determined, and then the coefficient value of each target coefficient in the expression of the data to be generated can be directly determined from the coefficient value set, and then the data to be generated can be determined. This can simplify the process of determining the data to be generated and improve the encoding and decoding efficiency and RAID performance.

[0090] 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.

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

[0092] S101: Determine each piece of data to be generated in a target stripe of a redundant array of independent disks storage system, wherein when encoding the target stripe, the data to be generated includes data of each check block in the target stripe, and when decoding the target stripe, the data to be generated includes data of each fault block in the target stripe.

[0093] Specifically, taking into account the technical problems in the above background technology, and considering that regardless of the encoding and decoding process of the target stripe, the calculation process for the data to be generated includes "target coefficients composed of various position parameters corresponding to the data to be generated", if the target coefficients are directly calculated in each encoding and decoding process, it will consume more computing resources and time. Since the target coefficients exist in each encoding and decoding process, then in the embodiment of the present invention, it is possible to consider pre-setting the values of the target coefficients corresponding to "various different combinations of data to be generated", and then directly use the preset coefficient values in the encoding and decoding process, which can save a lot of calculations. The premise of the encoding and decoding process is the existence of the data to be generated "in the encoding and decoding process", so this step can determine the various data to be generated in the target stripe of the independent disk redundant array storage system, and use them as the data basis for subsequent steps.

[0094] S102: Based on the various relationship formulas of the parity check principle of the target stripe and the various known data in the target stripe, determine the expressions of the various data to be generated, wherein any item in the relationship formula is the product of the data body and its corresponding position parameter, and the expression of the data to be generated includes the target coefficient composed of the position parameters of the various data to be generated.

[0095] Specifically, the parity check principle of RAID involves several equations, the number of which depends on how many parity check technologies are applied in the RAID. For example, the parity check principle using triple parity check technology involves three equations, while the parity check principle of RAID 6 using double parity check technology involves two equations. Solving the data to be generated can be understood as a process of simultaneously solving the equations of the parity check principle. Since any term in the equation is the product of the data body and its corresponding position parameter, that is, the term containing the data to be generated also has a corresponding "known position parameter", the expression of the data to be generated will include a target coefficient composed of the position parameters of each data to be generated. Although the position parameters of each data to be generated are known, the calculation of the target coefficient requires a lot of computing resources and time. In this step, the expression of each data to be generated can be determined based on the equations of the parity check principle of the target stripe and the known data in the target stripe. The expression of the data to be generated includes the target coefficient composed of the position parameters of each data to be generated.

[0096] S103: Determine a pre-stored coefficient value set corresponding to each position parameter of the data to be generated, wherein each coefficient value in the coefficient value set is determined by each corresponding position parameter.

[0097] Specifically, in an embodiment of the present invention, a set of coefficient values of the target coefficients corresponding to "each theoretically possible combination of data to be generated" is pre-stored, that is, for any theoretically possible combination of data to be generated, the coefficient values of each target coefficient corresponding to the combination are pre-calculated, and the coefficient value sets of these coefficient values are stored for easy retrieval during the encoding and decoding process. Therefore, in this step, the pre-stored set of coefficient values corresponding to the position parameters of each data to be generated can be determined and used as the data basis for subsequent steps.

[0098] S104: Determine the coefficient value of each target coefficient in the expression of the data to be generated from the coefficient value set, and then determine each data to be generated.

[0099] Specifically, in the process of solving the expression of the data to be generated, since the coefficient value set corresponding to the position parameter of each data to be generated has the coefficient value of the target coefficient, the coefficient value of each target coefficient in the expression of the data to be generated can be directly determined from the coefficient value set, and then each data to be generated can be determined, which eliminates the calculation process of the target coefficient, helps to reduce the amount of calculation, and thus improves RAID performance.

[0100] The present invention provides a disk array data encoding and decoding method. Considering that both the encoding and decoding processes of a target stripe and the calculation process of the data to be generated include "target coefficients composed of various position parameters corresponding to the data to be generated", the present invention can pre-store sets of coefficient values corresponding to various combinations of position parameters. In the encoding and decoding process of the target stripe, after the expression of each data to be generated is determined based on various relationship expressions of the parity check principle of the target stripe and each known data in the target stripe, the pre-stored sets of coefficient values corresponding to the position parameters of each data to be generated can be determined, and then the coefficient values of each target coefficient in the expression of the data to be generated can be directly determined from the coefficient value set, thereby determining each data to be generated. This can simplify the process of determining the data to be generated and improve encoding and decoding efficiency and RAID performance.

[0101] Based on the above embodiment:

[0102] As an optional embodiment, based on various relationship expressions of the parity check principle of the target stripe and various known data in the target stripe, determining the expressions of various data to be generated includes:

[0103] S201: For any relational expression in the parity check principle of the target stripe, convert the relational expression into a first expression of an addition operation of unknown terms with respect to an addition operation of known terms, wherein any term in the relational expression is a product of a data body and its corresponding position parameter, an unknown term is a term in the relational expression that contains the data to be generated, and a known term is a term in the relational expression that does not contain the data to be generated;

[0104] By solving the first expressions simultaneously, expressions of the data to be generated are obtained, wherein the expressions of the data to be generated include target coefficients composed of position parameters of the data to be generated.

[0105] Specifically, based on the above content, since the solution process of the data to be generated can be regarded as the joint solution of each relational expression in the parity check principle of the target stripe, in order to be able to perform the joint solution more efficiently and accurately, in an embodiment of the present invention, for any relational expression in the parity check principle of the target stripe, the relational expression can be converted into a first expression of the addition operation of the unknown term with respect to the addition operation of the known term, and then the expression of each data to be generated is obtained by jointly solving each first expression.

[0106] Specifically, to better illustrate the embodiments of the present invention, please refer to Figure 2 , Figure 2 This is a flow chart of another disk array data encoding and decoding method provided by the present invention.

[0107] As an optional embodiment, by simultaneously solving each first expression, the expressions of each data to be generated are obtained, including:

[0108] S202: For any first expression, use the result of the addition operation of each known term in the first expression as an intermediate variable;

[0109] S203: By solving the first expressions jointly, expressions of the data to be generated are obtained, wherein the expressions of the data to be generated include target coefficients composed of position parameters of the data to be generated, and also include intermediate variables corresponding to the first expressions.

[0110] Specifically, considering that the "addition operation of each known item" involves multiple contents, and each item may be further composed of multiple calculation factors, if the "addition operation of each known item" is directly expanded for calculation, the amount of calculation will be greatly increased. Considering that the "calculation result of the addition operation of each known item" can be used as an intermediate variable, thereby reducing the amount of calculation in the joint solution process, therefore, in an embodiment of the present invention, for any first expression, the calculation result of the addition operation of each known item in the first expression can be used as an intermediate variable, and then by jointly solving each first expression, the expression of each data to be generated is obtained.

[0111] As an optional embodiment, the redundant array of independent disks storage system includes a redundant array of independent disks storage system applying a double check technology;

[0112] The parity check principle of the target stripe includes:

[0113] ;

[0114] Among them, {d1,…,d k} are the data in the 1st to kth data blocks in the target stripe, p is the data in the k+1th block in the target stripe, q is the data in the k+2th block in the target stripe, the 1st to kth blocks in the target stripe are all data blocks, the k+1th and k+2th blocks in the target stripe are all check blocks, {l1,…,l k ,l k+1 ,l k+2} are the position parameters corresponding to the 1st to k+2nd data respectively.

[0115] Specifically, considering that each combination of data to be generated in a RAID storage system that applies the double-check technology has a clearer target coefficient and the types of target coefficients are not too many, the redundant array of independent disks storage system in the embodiment of the present invention is a redundant array of independent disks storage system that applies the double-check technology (i.e., RAID 6). The parity checking principle of RAID 6 includes the above two relational expressions, and the solution for the data to be generated is also based on the simultaneous solution of the above two relational expressions.

[0116] As an optional embodiment, when encoding the target stripe, determining each piece of data to be generated in the target stripe of the redundant array of independent disks storage system includes:

[0117] Determining that data of two parity blocks in a target stripe of a redundant array of independent disks storage system is data to be generated;

[0118] The first expression for the addition operation of unknown terms with respect to the addition operation of known terms includes:

[0119] ;

[0120] For any first expression, the result of the addition operation of each known term in the first expression is used as an intermediate variable, including:

[0121] Convert the first expression to the following form:

[0122] ;

[0123] ;

[0124] The expressions for the data to be generated include:

[0125] ;

[0126] Among them, v1 and v2 are both intermediate variables. In the expression of the data to be generated, the coefficients of the intermediate variables are all target coefficients.

[0127] Specifically, an embodiment of the present invention provides a specific process for solving two data to be generated when encoding a target stripe. First, the data of the two check blocks in the target stripe of the independent disk redundant array storage system can be determined as the data to be generated. Then, the two first expressions as above are determined. Then, the first expressions are converted into a form containing intermediate variables. Finally, the expressions of the two data to be generated (p and q) can be determined. It can be seen more intuitively from the above two expressions of the data to be generated that the expressions of the data to be generated are related to the target coefficient and the intermediate variable. If the coefficient value of the target coefficient can be directly determined from the coefficient value set, it will undoubtedly reduce a lot of computational complexity.

[0128] As an optional embodiment, when decoding the target stripe, determining each piece of data to be generated in the target stripe of the redundant array of independent disks storage system includes:

[0129] Determining that data of two fault blocks in a target stripe of a redundant array of independent disks storage system are data to be generated;

[0130] For any first expression, the result of the addition operation of each known term in the first expression is used as an intermediate variable, including:

[0131] Convert the first expression to the following form:

[0132] ;

[0133] ;

[0134] The expressions for the data to be generated include:

[0135] ;

[0136] Among them, d x with d y are the data of a fault block in the target stripe, x and y are the sequence numbers of the fault block, l x With l y are the position parameters corresponding to the fault block, v1 and v2 are intermediate variables, d k+1 is p, d k+2 is q.

[0137] Specifically, the embodiment of the present invention provides a method for first determining the data of two faulty blocks in the target stripe of the redundant array of independent disks storage system as the data to be generated when decoding the target stripe, and provides a specific form of the first expression containing intermediate variables in this case. In this case, the data to be generated is represented by d x with d y To express, based on the simultaneous solution of the two first expressions, the expression of the data to be generated can be determined, that is, d x with d y expression.

[0138] As an optional embodiment, the pre-stored coefficient value set database includes a coefficient value set corresponding to any pair of position parameters in the target stripe;

[0139] The set of coefficient values corresponding to any pair of position parameters includes:

[0140] ;

[0141] Among them, l m With ln are a pair of position parameters numbered m and n in the target stripe, 、 and are respectively related to the position parameter l m and l n The three coefficient values in the corresponding coefficient value set.

[0142] Specifically, as described above, in the embodiment of the present invention, a set of coefficient values corresponding to any pair of position parameter combinations can be pre-stored, so as to facilitate rapid determination of the numerical value of the target coefficient for any data to be generated during the encoding and decoding process. Therefore, the pre-stored coefficient value set database in the embodiment of the present invention includes a set of coefficient values corresponding to any pair of position parameters in the target strip. Referring to the target coefficient in the expression of the data to be generated above, it can be intuitively seen that any set of coefficient values for the data to be generated can include 、 and coefficient values, it is possible to quickly obtain the coefficient value of the target coefficient during the encoding and decoding process of RAID 6, so the RAID storage system can have t coefficient value sets, , k+2 is the total number of blocks in a single stripe.

[0143] As an optional embodiment, the pre-stored coefficient value set database is constructed in the form of a lookup table.

[0144] Specifically, considering that the lookup table format can efficiently maintain each coefficient value set and facilitate search, the pre-stored coefficient value set database in the embodiment of the present invention is constructed in the form of a lookup table. In a RAID 6 storage system with a total number of blocks in a stripe of k+2, the specific form of the coefficient value set database can be seen in Table 1 below. Table 1 is a schematic structural table of a coefficient value set database.

[0145] Table 1

[0146] .

[0147] Among them, the position parameters include l1 to l k+2 Table 1 shows the coefficient value set for any pair of position parameters. Since the format in the table may lead to repeated position parameter combinations, for repeated position parameter combinations in the table, only one coefficient value set is retained, for example, the coefficient value set of the upper right triangle part is retained to avoid the waste of storage resources caused by repeated data storage.

[0148] As an optional embodiment, determining that data of two failed blocks in a target stripe of a redundant array of independent disks storage system are data to be generated includes:

[0149] determining whether the number of failed disks in a redundant array of independent disks storage system is one;

[0150] If it is one, determining a non-faulty block in the target stripe as the faulty block and determining data of two faulty blocks in the target stripe of the redundant array of independent disks storage system as data to be generated;

[0151] If the number is not one, it is determined that the data of the two fault blocks in the target stripe of the redundant array of independent disks storage system are the data to be generated.

[0152] Specifically, when there is only one failed disk, in order to reduce the number of disk reads and improve the performance of the RAID 6 disk array, the embodiment of the present invention still adopts the above decoding method for two data to be generated, and determines a non-faulty block in the target stripe as the faulty block and determines the data of the two faulty blocks in the target stripe of the redundant array of independent disks storage system as the data to be generated.

[0153] There are many methods for determining a non-faulty block, such as random determination, which is not limited in the embodiment of the present invention.

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

[0155] When an updated data block exists in the target stripe, determining the pre-update data and the post-update data of the updated data block, and determining the current check data of the check block of the target stripe, wherein the current check data is: the current check data;

[0156] Based on the pre-update data and post-update data of the updated data block and the current check data of the check block of the target stripe, an expression for the updated target check data of the target stripe is determined using a parity check principle of the target stripe, wherein the expression for the target check data includes a target coefficient formed by a position parameter of the current check data;

[0157] Determining a pre-stored set of coefficient values corresponding to position parameters of each current verification data;

[0158] The coefficient values of the target coefficients in the expression of the target verification data are determined from the determined coefficient value set, and then the updated target verification data of the target stripe are determined.

[0159] Specifically, for a RAID 6 disk array, when the RAID storage system performs a write operation, the values of certain data blocks are updated, and the values of the parity blocks p and q also need to be updated. RAID storage systems have two data update methods: RMW (Read-Modify-Write) and RCW (Read-Construct-Write). The RMW update method first reads the updated data block and the original parity block, then calculates a new parity block using a specific algorithm. Finally, the new data block and updated parity block are written back to the disk array.

[0160] Specifically, taking the RMW method as an example, in an embodiment of the present invention, when there is an updated data block in the target stripe, the pre-update data and the post-update data of the updated data block can be determined, and the current check data of the check block of the target stripe can be determined. Then, based on the pre-update data and the post-update data of the updated data block and the current check data of the check block of the target stripe, the expression of the updated target check data of the target stripe can be determined through the parity check principle of the target stripe. Then, a set of pre-stored coefficient values corresponding to the position parameters of each current check data can be determined. Finally, the coefficient value of each target coefficient in the expression of the target check data can be determined from the determined coefficient value set, and then the updated target check data of the target stripe can be determined. By adopting this update scheme, the value of the target coefficient can be quickly determined using the pre-stored coefficient value set as above, thereby reducing the amount of calculation and improving the encoding and decoding efficiency.

[0161] Of course, in addition to the above forms, the method of generating new verification data when data changes occur in the target stripe can also be in other forms, which are not limited in the embodiment of the present invention.

[0162] As an optional embodiment, the redundant array of independent disks storage system includes a redundant array of independent disks storage system applying a double check technology;

[0163] The parity check principle of the target stripe includes:

[0164] ;

[0165] Among them, {d1,…,d k} are the data in the 1st to kth data blocks in the target stripe, p is the data in the k+1th block in the target stripe, q is the data in the k+2th block in the target stripe, the 1st to kth blocks in the target stripe are all data blocks, the k+1th and k+2th blocks in the target stripe are all check blocks, {l1,…,l k ,l k+1 ,l k+2} are the position parameters corresponding to the 1st to k+2th data respectively;

[0166] Based on the pre-update data and post-update data of the updated data block and the current check data of the check block of the target stripe, and using the parity check principle of the target stripe, an expression for determining the updated target check data of the target stripe includes:

[0167] Determine two update intermediate variables based on pre-update data and post-update data of the updated data block and current check data of the check block of the target stripe;

[0168] The two updated intermediate variables include:

[0169] ;

[0170] ;

[0171] Among them, v g1 With v g2 Update the intermediate variables for both, d t For the data before updating, is the updated data, p and q are the current check data of the two check blocks of the target stripe, l t is the position parameter of the target stripe with sequence number t, l k+1 is the position parameter with sequence number k+1 in the target stripe, l k+2 is the position parameter with sequence number k+2 in the target stripe;

[0172] Determine the expression of the updated target parity data of the target stripe by using the parity check principle of the updated target stripe and updating the intermediate variable;

[0173] The parity check principle of the updated target stripe includes:

[0174] ;

[0175] in, is the updated target check data at position k+1 in the target stripe, The updated target check data at position k+2 in the target stripe;

[0176] The expressions for target verification data include:

[0177] ;

[0178] 、 and are the target stripe and position parameters l respectively k+1 With l k+2 The three coefficient values in the corresponding coefficient value set.

[0179] Specifically, the embodiment of the present invention provides a specific process for updating check data in a RAID storage system using the dual check technology. Through the above process, a pre-stored coefficient value set can be utilized to obtain updated target check data efficiently and accurately.

[0180] Please refer to Figure 3 , Figure 3 This is a schematic diagram of the structure of a disk array data encoding and decoding device provided by the present invention, the disk array data encoding and decoding device includes:

[0181] A first determining module 31 is configured to determine data to be generated in a target stripe of a redundant array of independent disks storage system, wherein when encoding the target stripe, the data to be generated includes data of each parity block in the target stripe, and when decoding the target stripe, the data to be generated includes data of each fault block in the target stripe;

[0182] A second determining module 32 is configured to determine expressions for each data to be generated based on various relational expressions of the parity check principle of the target stripe and various known data in the target stripe, wherein each term in the relational expression is a product of the data body and its corresponding position parameter, and the expression for the data to be generated includes a target coefficient formed by the position parameters of each data to be generated;

[0183] A third determining module 33 is configured to determine a pre-stored set of coefficient values corresponding to position parameters of each data to be generated, wherein each coefficient value in the set of coefficient values is determined by the corresponding position parameters;

[0184] The fourth determination module 34 is used to determine the coefficient value of each target coefficient in the expression of the data to be generated from the coefficient value set, and then determine each data to be generated.

[0185] Based on the above embodiment:

[0186] As an optional embodiment, the second determining module 32 includes:

[0187] a first conversion module, configured to convert any relational expression in the parity check principle of the target stripe into a first expression of an addition operation of unknown terms with respect to an addition operation of known terms, wherein any term in the relational expression is a product of a data body and its corresponding position parameter, the unknown term is a term in the relational expression that contains the data to be generated, and the known term is a term in the relational expression that does not contain the data to be generated;

[0188] The first action module is used to obtain expressions of each data to be generated by solving the first expressions simultaneously, wherein the expressions of the data to be generated include target coefficients composed of position parameters of each data to be generated.

[0189] As an optional embodiment, the first action module includes:

[0190] a fifth determining module, configured to use, for any first expression, a result of an addition operation of each known term in the first expression as an intermediate variable;

[0191] The first action submodule is used to obtain expressions of each data to be generated by jointly solving each first expression, wherein the expression of the data to be generated includes target coefficients composed of position parameters of each data to be generated, and also includes intermediate variables corresponding to each first expression.

[0192] As an optional embodiment, when encoding the target slice, the first determining module 31 is specifically configured to:

[0193] Determining that data of two parity blocks in a target stripe of a redundant array of independent disks storage system is data to be generated;

[0194] The first expression for the addition operation of unknown terms with respect to the addition operation of known terms includes:

[0195] ;

[0196] The fifth determination module is specifically configured to:

[0197] Convert the first expression to the following form:

[0198] ;

[0199] ;

[0200] The expressions for the data to be generated include:

[0201] ;

[0202] Among them, v1 and v2 are both intermediate variables. In the expression of the data to be generated, the coefficients of the intermediate variables are all target coefficients.

[0203] As an optional embodiment, when decoding the target slice, the first determining module 31 is specifically configured to:

[0204] Determining that data of two fault blocks in a target stripe of a redundant array of independent disks storage system are data to be generated;

[0205] The fifth determination module is specifically configured to:

[0206] Convert the first expression to the following form:

[0207] ;

[0208] ;

[0209] The expressions for the data to be generated include:

[0210] ;

[0211] Among them, d x with d y are the data of a fault block in the target stripe, x and y are the sequence numbers of the fault block, l x With l y are the position parameters corresponding to the fault block, v1 and v2 are intermediate variables, d k+1 is p, d k+2 is q.

[0212] As an optional embodiment, when decoding the target slice, the first determining module 31 includes:

[0213] A first determination module is configured to determine whether the number of failed disks in the redundant array of independent disks storage system is one, and if so, trigger the sixth determination module; if not, trigger the seventh determination module;

[0214] a sixth determining module, configured to determine a non-faulty block in the target stripe as a faulty block and determine data of two faulty blocks in the target stripe of the redundant array of independent disks storage system as data to be generated;

[0215] The seventh determining module is configured to determine that data of two faulty blocks in a target stripe of the redundant array of independent disks storage system are data to be generated.

[0216] As an optional embodiment, the disk array data encoding and decoding device further includes:

[0217] an eighth determination module, configured to determine, when an updated data block exists in the target stripe, pre-update data and post-update data of the updated data block, and determine current check data of the check block of the target stripe, wherein the current check data is: current check data;

[0218] a ninth determining module, configured to determine an expression for updated target parity data of the target stripe based on the pre-update data and post-update data of the updated data block and the current parity data of the parity block of the target stripe and using a parity check principle of the target stripe, wherein the expression for the target parity data includes a target coefficient formed by a position parameter of the current parity data;

[0219] an eleventh determining module, configured to determine a pre-stored set of coefficient values corresponding to position parameters of each current verification data;

[0220] The twelfth determination module is configured to determine the coefficient value of each target coefficient in the expression of the target verification data from the determined coefficient value set, and further determine each updated target verification data of the target stripe.

[0221] As an optional embodiment, the redundant array of independent disks storage system includes a redundant array of independent disks storage system applying a double check technology;

[0222] The parity check principle of the target stripe includes:

[0223] ;

[0224] Among them, {d1,…,d k} are the data in the 1st to kth data blocks in the target stripe, p is the data in the k+1th block in the target stripe, q is the data in the k+2th block in the target stripe, the 1st to kth blocks in the target stripe are all data blocks, the k+1th and k+2th blocks in the target stripe are all check blocks, {l1,…,l k ,l k+1 ,l k+2} are the position parameters corresponding to the 1st to k+2th data respectively;

[0225] The ninth determination module includes:

[0226] A first determining submodule, configured to determine two update intermediate variables based on pre-update data and post-update data of the updated data block and current check data of the check block of the target stripe;

[0227] The two updated intermediate variables include:

[0228] ;

[0229] ;

[0230] Among them, v g1 With v g2 Update the intermediate variables for both, d x For the data before updating, is the updated data, p and q are the current check data of the two check blocks of the target stripe, l x is the position parameter of the target strip with sequence number x, l k+1 is the position parameter with sequence number k+1 in the target stripe, l k+2 is the position parameter with sequence number k+2 in the target stripe;

[0231] A second determining submodule is configured to determine an expression of updated target check data of the target stripe by using the parity check principle of the updated target stripe and updating the intermediate variable;

[0232] The parity check principle of the updated target stripe includes:

[0233] ;

[0234] in, is the updated target check data at position k+1 in the target stripe, The updated target check data at position k+2 in the target stripe;

[0235] The expressions for target verification data include:

[0236] ;

[0237] 、 and are the target stripe and position parameters l respectively k+1 With l k+2 The three coefficient values in the corresponding coefficient value set.

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

[0239] Please refer to Figure 4 , Figure 4 This is a structural diagram of a disk array data encoding and decoding device provided by the present invention, the disk array data encoding and decoding device includes:

[0240] Memory 41, for storing computer programs;

[0241] The processor 42 is configured to implement the steps of the disk array data encoding and decoding method in the aforementioned embodiment when executing the computer program.

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

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

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

[0245] Please refer to Figure 5 , Figure 5This is a structural diagram of a computer-readable storage medium provided by the present invention. A computer program 52 is stored on the computer-readable storage medium 51. When the computer program 52 is executed by a processor, the steps of the disk array data encoding and decoding method in the above embodiment are implemented.

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

[0247] In this specification, the various embodiments are described in a progressive manner, with each embodiment focusing on the differences from the other embodiments. Similar or identical parts between the various embodiments may be referred to in conjunction with each other. For the devices disclosed in the embodiments, since they correspond to the methods disclosed in the embodiments, the description is relatively simple, and for relevant parts, reference may be made to the method description. It should also be noted that, in this specification, relational terms such as first and second, etc., are used solely to distinguish one entity or operation from another, and do not necessarily require or imply any actual relationship or order between these entities or operations. Furthermore, the terms "comprise," "include," or any other variations thereof are intended to encompass non-exclusive inclusion, such that a process, method, article, or device comprising a series of elements includes not only those elements, but also other elements not explicitly listed, or elements inherent to such process, method, article, or device. In the absence of further limitations, an element defined by the phrase "comprises a..." does not exclude the presence of other identical elements in the process, method, article, or device comprising that element.

[0248] 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 disk array data encoding and decoding method, characterized in that: include: Determining each piece of data to be generated in a target stripe of a redundant array of independent disks storage system, wherein when encoding the target stripe, the data to be generated includes data of each parity block in the target stripe, and when decoding the target stripe, the data to be generated includes data of each fault block in the target stripe; For any relational expression in the parity check principle of the target stripe, convert the relational expression into a first expression of the addition operation of the unknown term with respect to the addition operation of the known term, wherein any term in the relational expression is the product of the data body and its corresponding position parameter, the unknown term is the term in the relational expression that contains the data to be generated, and the known term is the term in the relational expression that does not contain the data to be generated; By simultaneously solving each of the first expressions, an expression of each of the data to be generated is obtained, wherein the expression of the data to be generated includes a target coefficient composed of position parameters of each of the data to be generated; Determining a pre-stored set of coefficient values corresponding to position parameters of each data to be generated, wherein each coefficient value in the set of coefficient values is determined by the corresponding position parameters; Determine the coefficient value of each target coefficient in the expression of the data to be generated from the coefficient value set, and then determine each data to be generated; The redundant array of independent disks storage system includes a redundant array of independent disks storage system using a double check technology; The parity check principle of the target stripe includes: ; in,{ d 1 ,…, d k } are the 1st to the 2nd in the target stripe respectively. k The data in the data block, p The target strip k+1 The data in the block, q The target strip k+2 The data in blocks 1 to 2 in the target stripe k Each block is a data block. k+1 and k+2 Each block is a check block, l 1 ,…, l k , l k+1 , l k+2 } are 1st to k+2 The position parameters corresponding to the data.

2. The disk array data encoding and decoding method according to claim 1, wherein: The expression of each data to be generated obtained by simultaneously solving each first expression includes: For any first expression, the result of the addition operation of each known term in the first expression is used as an intermediate variable; By solving the first expressions jointly, expressions of the data to be generated are obtained, wherein the expressions of the data to be generated include target coefficients composed of position parameters of the data to be generated, and also include intermediate variables corresponding to the first expressions.

3. The disk array data encoding and decoding method according to claim 2, wherein: When encoding the target stripe, determining each piece of data to be generated in the target stripe of the redundant array of independent disks storage system includes: Determining that data of two parity blocks in a target stripe of a redundant array of independent disks storage system is data to be generated; The first expression for the addition operation of unknown terms with respect to the addition operation of known terms includes: ; For any first expression, the result of the addition operation of each known term in the first expression is used as an intermediate variable, including: Convert the first expression to the following form: ; ; The expressions for the data to be generated include: ; in, v 1 and v 2 All are intermediate variables. In the expression of the data to be generated, the coefficients of the intermediate variables are all target coefficients.

4. The disk array data encoding and decoding method according to claim 2, wherein: When decoding the target stripe, determining each piece of data to be generated in the target stripe of the redundant array of independent disks storage system includes: Determining that data of two fault blocks in a target stripe of a redundant array of independent disks storage system are data to be generated; For any first expression, the result of the addition operation of each known term in the first expression is used as an intermediate variable, including: Convert the first expression to the following form: ; ; The expressions for the data to be generated include: ; in, d x and d y are the data of a fault block in the target stripe, x and y is the sequence number of the fault block, l x and l y are the position parameters corresponding to the fault block, v 1 and v 2 are intermediate variables. d k+1 for p , d k+2 for q .

5. The disk array data encoding and decoding method according to claim 2, wherein: The pre-stored coefficient value set database includes a coefficient value set corresponding to any pair of position parameters in the target strip; The set of coefficient values corresponding to any pair of position parameters includes: ; in, l m and l n They are respectively in the target stripe with sequence number m and n A pair of positional parameters, 、 and and positional parameters respectively l m and l n The three coefficient values in the corresponding coefficient value set.

6. The disk array data encoding and decoding method according to claim 5, characterized in that: The pre-stored coefficient value set database is constructed in the form of a lookup table.

7. The disk array data encoding and decoding method according to claim 4, characterized in that: Determining that data of two faulty blocks in a target stripe of a redundant array of independent disks storage system are data to be generated includes: determining whether the number of failed disks in a redundant array of independent disks storage system is one; If it is one, determining a non-faulty block in the target stripe as the faulty block and determining data of two faulty blocks in the target stripe of the redundant array of independent disks storage system as data to be generated; If the number is not one, it is determined that the data of the two fault blocks in the target stripe of the redundant array of independent disks storage system are the data to be generated.

8. The disk array data encoding and decoding method according to any one of claims 1 to 7, characterized in that: The disk array data encoding and decoding method further includes: When an updated data block exists in the target stripe, determining the pre-update data and the post-update data of the updated data block, and determining the current check data of the check block of the target stripe, wherein the current check data is: the current check data; Based on the pre-update data and post-update data of the updated data block and the current check data of the check block of the target stripe, an expression for the updated target check data of the target stripe is determined using a parity check principle of the target stripe, wherein the expression for the target check data includes a target coefficient formed by a position parameter of the current check data; Determining a pre-stored set of coefficient values corresponding to position parameters of each current verification data; The coefficient values of the target coefficients in the expression of the target verification data are determined from the determined coefficient value set, and then the updated target verification data of the target stripe are determined.

9. The disk array data encoding and decoding method according to claim 8, characterized in that: The redundant array of independent disks storage system includes a redundant array of independent disks storage system using a double check technology; The parity check principle of the target stripe includes: ; in,{ d 1 ,…, d k } are the 1st to the 2nd in the target stripe respectively. k The data in the data block, p The target strip k+1 The data in the block, q The target strip k+2 The data in blocks 1 to 2 in the target stripe k Each block is a data block. k+1 and k+2 Each block is a check block, l 1 ,…, l k , l k+1 , l k+2 } are 1st to k+2 The position parameters corresponding to the data; Based on the pre-update data and post-update data of the updated data block and the current check data of the check block of the target stripe, and using the parity check principle of the target stripe, an expression for determining the updated target check data of the target stripe includes: Determine two update intermediate variables based on pre-update data and post-update data of the updated data block and current check data of the check block of the target stripe; The two updated intermediate variables include: ; ; in, v g1 and v g2 Update the intermediate variables for both, d t For the data before updating, For updated data, p and q The current check data of the two check blocks of the target stripe, l t The sequence number in the target strip is t The position parameters, l k+1 The sequence number in the target strip is k+1 The position parameters, l k+2 The sequence number in the target strip is k+2 Positional parameters; Determine the expression of the updated target parity data of the target stripe by using the parity check principle of the updated target stripe and updating the intermediate variable; The parity check principle of the updated target stripe includes: ; in, The position in the target strip is k+1 The updated target verification data at The position in the target strip is k +2 The updated target verification data at ; The expressions for target verification data include: ; 、 and are the target band and position parameters respectively l k+1 and l k+2 The three coefficient values in the corresponding coefficient value set.

10. A disk array data encoding and decoding device, characterized in that: include: A first determining module is configured to determine each piece of data to be generated in a target stripe of a redundant array of independent disks storage system, wherein when encoding the target stripe, the data to be generated includes data of each parity block in the target stripe, and when decoding the target stripe, the data to be generated includes data of each fault block in the target stripe; a first conversion module, configured to convert any relational expression in the parity check principle of the target stripe into a first expression of an addition operation of unknown terms with respect to an addition operation of known terms, wherein any term in the relational expression is a product of a data body and its corresponding position parameter, the unknown term is a term in the relational expression that contains the data to be generated, and the known term is a term in the relational expression that does not contain the data to be generated; A first action module is configured to obtain an expression of each to-be-generated data by simultaneously solving each of the first expressions, wherein the expression of the to-be-generated data includes a target coefficient composed of position parameters of each to-be-generated data; A third determining module is configured to determine a pre-stored set of coefficient values corresponding to position parameters of each data to be generated, wherein each coefficient value in the set of coefficient values is determined by the corresponding position parameters; a fourth determining module, configured to determine, from the coefficient value set, coefficient values of respective target coefficients in the expression of the data to be generated, and further determine respective data to be generated; The redundant array of independent disks storage system includes a redundant array of independent disks storage system using a double check technology; The parity check principle of the target stripe includes: ; in,{ d 1 ,…, d k } are the 1st to the 2nd in the target stripe respectively. k The data in the data block, p The target strip k+1 The data in the block, q The target strip k+2 The data in blocks 1 to 2 in the target stripe k Each block is a data block. k+1 and k+2 Each block is a check block, l 1 ,…, l k , l k+1 , l k+2 } are 1st to k+2 The position parameters corresponding to the data.

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

12. 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 disk array data encoding and decoding method according to any one of claims 1 to 9 are implemented.

13. 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 disk array data encoding and decoding method according to any one of claims 1 to 9 are implemented.

Citation Information

Patent Citations

  • Method for degrading RAID6 (redundant array of independent disks 6) into RAID5 (redundant array of independent disks 5)

    CN116450048A

  • Data storage method, computer program product, equipment and computer medium

    CN118656039A