A RAID 6 processing method, system, device and computer-readable storage medium

By adjusting and encoding the RAID 6 data storage information and constructing an appropriate matrix, the problem of slow decoding speed of traditional RAID 6 is solved and more efficient data decoding is achieved.

CN114661518BActive Publication Date: 2025-06-10SHANDONG YUNHAI GUOCHUANG CLOUD COMPUTING EQUIP IND INNOVATION CENT CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202210331101.1
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2022-03-31
Publication Date
2025-06-10
Estimated Expiration
2042-03-31

AI Technical Summary

Technical Problem

When the traditional RAID 6 solution is backward compatible with one error, it only uses half of the verification blocks, resulting in a huge IO throughput data and a slow decoding speed.

Method used

By adjusting the initial data storage information, the target data storage information is generated, and encoding it according to the encoding method of checking disks p and q in RAID 6, the initial matrix and the target matrix are constructed to equalize the disk pressure during decoding of RAID 6.

Benefits of technology

The decoding speed of RAID 6 is improved, and the overall performance of the system is improved by balancing the pressure of the data disk and the verification disk.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN114661518B_ABST
    Figure CN114661518B_ABST
Patent Text Reader

Abstract

The present application discloses a RAID 6 processing method, system, device and computer medium, which determine the initial data storage information of each data disk; adjust the initial data storage information to obtain the target data storage information; encode the target data storage information according to the encoding method of the parity disk p in RAID 6 to obtain the encoding result of the parity disk p; construct an initial matrix based on the target data storage information, and the initial matrix is used to represent the data loss situation of any two data disks; adjust the initial matrix to obtain a target matrix with a rank equal to the total data volume of any two data disks; encode the target data storage information according to the encoding method of the parity disk q in RAID6 based on the parameters of the target matrix to obtain the encoding result of the parity disk q. In the present application, the disk pressure during RAID 6 decoding can be balanced based on the encoding result of the parity disk q and the encoding result of the parity disk q, and the decoding speed of RAID 6 can be improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the technical field of data redundancy, and more particularly, to a RAID 6 processing method, system, device and computer-readable storage medium. Background Art

[0002] With the rapid development of communication technology and network technology, digital information has grown exponentially, and data storage technology has thus faced huge challenges. The reliability problem of data in the storage system and the energy consumption problem of the storage system have attracted more and more attention. Nowadays, in the face of such a huge data scale, the reliability of data in the storage system is inversely proportional to the number of components in the storage system, that is, the more components in the storage system, the lower the reliability of data in the storage system. To solve this problem, RAID technology came into being. RAID (Redundant Arrays of Independent Disks) is a disk array with redundancy capabilities. The disk array combines multiple independent disks to obtain a disk group with a large capacity. By using RAID storage technology, the storage capacity can be greatly improved, the request processing ability of the system input and output can be improved, and the reliability of data can be improved through data distributed storage technology, parallel access means and information redundancy technology.

[0003] Among them, RAID 6 is an independent disk structure with parity codes for two distributed storages. However, when the traditional RAID 6 scheme is downward compatible with one error, only half of the parity blocks are used, that is, one of the two parity disks is idle, and the pressure is all on one parity disk, resulting in a very large amount of IO throughput data and a slow decoding speed.

[0004] In summary, how to improve the decoding speed of RAID 6 is an urgent problem to be solved by those skilled in the art at present. Summary of the Invention

[0005] The purpose of the present application is to provide a RAID 6 processing method, which can to a certain extent solve the technical problem of how to improve the decoding speed of RAID 6. The present application also provides a RAID 6 processing system, device and computer-readable storage medium.

[0006] To achieve the above purpose, the present application provides the following technical solutions:

[0007] A RAID 6 processing method includes:

[0008] Determine the initial data storage information of each data disk;

[0009] Adjust the initial data storage information to obtain target data storage information;

[0010] Encode the target data storage information according to the encoding method of the parity disk p in RAID 6 to obtain the encoding result of the parity disk p;

[0011] Construct an initial matrix based on the target data storage information, where the initial matrix is used to represent the data loss situation of any two of the data disks;

[0012] Adjust the initial matrix to obtain a target matrix with a rank equal to the total data volume of any two of the data disks;

[0013] Based on the parameters of the target matrix, encode the target data storage information according to the encoding method of the parity disk q in RAID 6 to obtain the encoding result of the parity disk q.

[0014] Preferably, the adjusting the initial data storage information to obtain the target data storage information includes:

[0015] If there is data of two adjacent data disks that have not been selected in the initial data storage information, select the data of the two adjacent data disks, and adjust the data of the second data disk based on the data of the first data disk among the data of the two adjacent data disks;

[0016] If there is only data of one data disk that has not been selected in the initial data storage information, adjust the data of the one data disk until all the data in the initial data storage information participate in the adjustment to obtain the target data storage information.

[0017] Preferably, the adjusting the data of the second data disk based on the data of the first data disk among the data of the two adjacent data disks includes:

[0018] Determine the first numbering information of each data in the data of the first data disk in the initial data storage information, where the first numbering information includes the disk number and the row number;

[0019] Determine the second numbering information of each data in the data of the second data disk in the initial data storage information, where the second numbering information includes the disk number and the row number;

[0020] Determine the total number of the data disks, and use the difference between the total number and 1 as the iteration parameter;

[0021] For each target data in the data of the first data disk, determine the sum value of the target row number of the target data and the iteration parameter, and obtain the remainder of the sum value divided by the total number of rows. Adjust the data in the second data disk with the same row number as the remainder to the target row number of the second data disk; where when the sum value is the same as the total number of rows, the remainder is the total number of rows.

[0022] Preferably, the adjustment of the data on the one data disk includes:

[0023] Performing reverse sorting on the data on the one data disk.

[0024] Preferably, the adjustment of the initial matrix to obtain a target matrix with a rank equal to the total data volume of any two data disks includes:

[0025] Dividing the initial matrix vertically to obtain a first sub-matrix and a second sub-matrix, where the matrix relationship of the first sub-matrix satisfies the iterative property, and the second sub-matrix is the matrix in the initial matrix except the first sub-matrix;

[0026] Based on the left total row and column elements of the first sub-matrix, eliminating the left total row and column elements of the second sub-matrix to obtain a first intermediate matrix with the same number of element values as the initial matrix and satisfying the target property; where the target property includes:

[0027]

[0028] Adjusting the matrix in the first intermediate matrix based on the relatively prime relationship C to have a rank equal to the total number of rows, obtaining a second intermediate matrix;

[0029] Reversing the second intermediate matrix to obtain the target matrix.

[0030] Preferably, after encoding the target data storage information according to the encoding method of the parity disk q in RAID 6 based on the parameters of the target matrix to obtain the encoding result of the parity disk q, it further includes:

[0031] Based on the encoding result of the parity disk p and the encoding result of the parity disk q, selecting data for single error correction among each data disk, the parity disk p, and the parity disk q.

[0032] A RAID 6 processing system includes:

[0033] A first determination module, configured to determine the initial data storage information of each data disk;

[0034] A first adjustment module, configured to adjust the initial data storage information to obtain target data storage information;

[0035] A first encoding module, configured to encode the target data storage information according to the encoding method of the parity disk p in RAID 6 to obtain the encoding result of the parity disk p;

[0036] The first construction module is used to construct an initial matrix based on the target data storage information, and the initial matrix is used to characterize the data loss situation of any two of the data disks;

[0037] The second adjustment module is used to adjust the initial matrix to obtain a target matrix with a rank equal to the total data volume of any two of the data disks;

[0038] The second encoding module is used to encode the target data storage information according to the encoding method of the parity disk q in RAID 6 based on the parameters of the target matrix to obtain the encoding result of the parity disk q.

[0039] Preferably, the first adjustment module includes:

[0040] The first adjustment unit is used to select the data of two adjacent data disks if there is data of two adjacent data disks that have not been selected in the initial data storage information, and adjust the data of the second data disk based on the data of the first data disk among the data of the two adjacent data disks;

[0041] The second adjustment unit is used to adjust the data of the one data disk if there is only data of one data disk that has not been selected in the initial data storage information until all the data in the initial data storage information participate in the adjustment to obtain the target data storage information.

[0042] A RAID 6 processing device includes:

[0043] A memory for storing a computer program;

[0044] A processor for implementing the steps of any of the above RAID 6 processing methods when executing the computer program.

[0045] A computer-readable storage medium stores a computer program, and when the computer program is executed by a processor, the steps of any of the above RAID 6 processing methods are implemented.

[0046] A RAID 6 processing method provided by this application determines the initial data storage information of each data disk; adjusts the initial data storage information to obtain the target data storage information; encodes the target data storage information according to the encoding method of the parity disk p in RAID 6 to obtain the encoding result of the parity disk p; constructs an initial matrix based on the target data storage information, where the initial matrix is used to represent the data loss situation of any two data disks; adjusts the initial matrix to obtain a target matrix with a rank equal to the total data volume of any two data disks; encodes the target data storage information according to the encoding method of the parity disk q in RAID 6 based on the parameters of the target matrix to obtain the encoding result of the parity disk q. In this application, after determining the initial data storage information of each data disk, it is also necessary to adjust the initial data storage information to obtain the target data storage information, and encode the target data storage information according to the encoding method of the parity disk p in RAID 6 to obtain the encoding result of the parity disk p; and it is also necessary to construct an initial matrix based on the target data storage information, where the initial matrix is used to represent the data loss situation of any two data disks; adjust the initial matrix to obtain a target matrix with a rank equal to the total data volume of any two data disks; encode the target data storage information according to the encoding method of the parity disk q in RAID 6 based on the parameters of the target matrix to obtain the encoding result of the parity disk q; so that the subsequent disk pressure during RAID6 decoding can be balanced based on the encoding result of the parity disk q and the encoding result of the parity disk q, and the decoding speed of RAID 6 can be improved. The RAID 6 processing system, device, and computer-readable storage medium provided by this application also solve the corresponding technical problems. Description of the Drawings

[0047] In order to more clearly illustrate the technical solutions in the embodiments of this application or the prior art, the following will briefly introduce the drawings required for use in the description of the embodiments or the prior art. Obviously, the drawings in the following description are only the embodiments of this application. For those of ordinary skill in the art, without creative efforts, other drawings can also be obtained based on the provided drawings.

[0048] Figure 1 It is the first flowchart of a RAID 6 processing method provided by an embodiment of this application;

[0049] Figure 2 It is the second flowchart of a RAID 6 processing method provided by an embodiment of this application;

[0050] Figure 3 It is a schematic diagram of a 3*4 matrix composed of 12 data blocks;

[0051] Figure 4 It is a schematic diagram of the adjustment of the initial data storage information on two adjacent data disks;

[0052] Figure 5 Schematic diagram of target data storage information;

[0053] Figure 6 The third flowchart of a RAID 6 processing method provided by an embodiment of the present application;

[0054] Figure 7 Schematic diagram of the first sub-matrix and the second sub-matrix;

[0055] Figure 8 Schematic diagram of the first intermediate matrix;

[0056] Figure 9 Schematic diagram of the second intermediate matrix;

[0057] Figure 10 Schematic diagram of data information on each disk read during single error correction;

[0058] Figure 11 Schematic diagram of the structure of a RAID 6 processing system provided by an embodiment of the present application;

[0059] Figure 12 Schematic diagram of the structure of a RAID 6 processing device provided by an embodiment of the present application;

[0060] Figure 13 Another schematic diagram of the structure of a RAID 6 processing device provided by an embodiment of the present application. Detailed implementation manners

[0061] Next, the technical solutions in the embodiments of the present application will be clearly and completely described in conjunction with the accompanying drawings in the embodiments of the present application. Obviously, the described embodiments are only a part of the embodiments of the present application, rather than all the embodiments. All other embodiments obtained by those of ordinary skill in the art based on the embodiments of the present application without creative efforts shall fall within the protection scope of the present application.

[0062] Please refer to Figure 1 , Figure 1 The first flowchart of a RAID 6 processing method provided by an embodiment of the present application.

[0063] A RAID 6 processing method provided by an embodiment of the present application may include the following steps:

[0064] Step S101: Determine the initial data storage information of each data disk.

[0065] In practical applications, the initial data storage information of each data disk can be determined first. The number of data disks and the initial data information can be determined according to actual needs, and the present application does not make specific limitations here.

[0066] Step S102: Adjust the initial data storage information to obtain the target data storage information.

[0067] Step S103: Encode the target data storage information according to the encoding method of the parity disk p in RAID 6 to obtain the encoding result of the parity disk p.

[0068] In practical applications, after determining the initial data storage information of each data disk, the initial data storage information can be adjusted to obtain the target data storage information, and the target data storage information can be encoded according to the encoding method of the parity disk p in RAID 6 to obtain the encoding result of the parity disk p, so that the encoding result of the parity disk p can carry the data storage information of each disk at different time sequences.

[0069] Step S104: Construct an initial matrix based on the target data storage information, and the initial matrix is used to represent the data loss situation of any two data disks.

[0070] In practical applications, after encoding the target data storage information according to the encoding method of the parity disk p in RAID 6 to obtain the encoding result of the parity disk p, in the process of obtaining the encoding result of the parity disk q, it can be carried out based on the matrix, that is, an initial matrix can be constructed based on the target data storage information, and the initial matrix is used to represent the data loss situation of any two data disks.

[0071] Step S105: Adjust the initial matrix to obtain a target matrix with a rank equal to the total data volume of any two data disks.

[0072] In practical applications, after constructing an initial matrix based on the target data storage information, and the initial matrix is used to represent the data loss situation of any two data disks, because the number of ranks of the initial matrix is the number of data blocks to be recovered, the initial matrix can be adjusted to obtain a target matrix with a rank equal to the total data volume of any two data disks.

[0073] Step S106: Encode the target data storage information according to the encoding method of the parity disk q in RAID 6 based on the parameters of the target matrix to obtain the encoding result of the parity disk q.

[0074] In practical applications, after adjusting the initial matrix to obtain a target matrix with a rank equal to the total data volume of any two data disks, the target data storage information can be encoded according to the encoding method of the parity disk q in RAID 6 based on the parameters of the target matrix to obtain the encoding result of the parity disk q.

[0075] In practical applications, after encoding the target data storage information according to the encoding method of parity disk q in RAID 6 based on the parameters of the target matrix to obtain the encoding result of parity disk q, it is also possible to perform single error correction by selecting data from each data disk, parity disk p, and parity disk q based on the encoding result of parity disk p and the encoding result of parity disk q.

[0076] A RAID 6 processing method provided by this application includes: determining the initial data storage information of each data disk; adjusting the initial data storage information to obtain the target data storage information; encoding the target data storage information according to the encoding method of parity disk p in RAID 6 to obtain the encoding result of parity disk p; constructing an initial matrix based on the target data storage information, where the initial matrix is used to represent the data loss situation of any two data disks; adjusting the initial matrix to obtain a target matrix with a rank equal to the total data volume of any two data disks; encoding the target data storage information according to the encoding method of parity disk q in RAID 6 based on the parameters of the target matrix to obtain the encoding result of parity disk q. In this application, after determining the initial data storage information of each data disk, it is also necessary to adjust the initial data storage information to obtain the target data storage information, and encode the target data storage information according to the encoding method of parity disk p in RAID 6 to obtain the encoding result of parity disk p; and it is also necessary to construct an initial matrix based on the target data storage information, where the initial matrix is used to represent the data loss situation of any two data disks; adjust the initial matrix to obtain a target matrix with a rank equal to the total data volume of any two data disks; encode the target data storage information according to the encoding method of parity disk q in RAID 6 based on the parameters of the target matrix to obtain the encoding result of parity disk q; so that the subsequent disk pressure during RAID 6 decoding can be balanced based on the encoding results of parity disk q and parity disk q, and the decoding speed of RAID 6 can be improved.

[0077] Please refer to Figure 2 , Figure 2 which is the second flowchart of a RAID 6 processing method provided by an embodiment of this application.

[0078] A RAID 6 processing method provided by an embodiment of this application may include the following steps:

[0079] Step S201: Determine the initial data storage information of each data disk.

[0080] Step S202: If there is data of two adjacent data disks that have not been selected in the initial data storage information, select the data of the two adjacent data disks, and adjust the data of the second data disk based on the data of the first data disk among the data of the two adjacent data disks.

[0081] Step S203: If there is only the data of one data disk that has not been selected in the initial data storage information, adjust the data of the one data disk until all the data in the initial data storage information participate in the adjustment, and obtain the target data storage information.

[0082] In practical applications, in the process of adjusting the initial data storage information to obtain the target data storage information, the adjustment of the initial data storage information can be performed according to the relationship between the data storage information of adjacent data disks. That is, if there is the data of two adjacent data disks that have not been selected in the initial data storage information, select the data of the two adjacent data disks, and adjust the data of the second data disk based on the data of the first data disk among the data of the two adjacent data disks; if there is only the data of one data disk that has not been selected in the initial data storage information, adjust the data of the one data disk until all the data in the initial data storage information participate in the adjustment, and obtain the target data storage information.

[0083] In a specific application scenario, in the process of adjusting the data of the second data disk based on the data of the first data disk among the data of two adjacent data disks, the first numbering information of each data in the data of the first data disk in the initial data storage information can be determined. The first numbering information includes the disk number and the row number; determine the second numbering information of each data in the data of the second data disk in the initial data storage information. The second numbering information includes the disk number and the row number; determine the total number of data disks, and use the difference between the total number and 1 as the iteration parameter; for each target data in the data of the first data disk, determine the sum value of the target row number of the target data and the iteration parameter, and obtain the remainder of the sum value divided by the total number of rows, and adjust the data in the second data disk with the same number of rows as the remainder to the target row number of the second data disk; where when the sum value is the same as the total number of rows, the remainder is the total number of rows. And in the process of adjusting the data of one data disk, the data of the one data disk can be arranged in reverse order.

[0084] Specifically, for the sake of easy understanding, assume that a 3*4 matrix composed of 12 data blocks is as Figure 3 shown. Then, in the process of adjusting the initial data storage information to obtain the target data storage information, it can be determined that the iteration parameter is 3 - 1 = 2, and disk 1 and disk 2 are two adjacent data disks, and the adjustment process of their initial data storage information is as Figure 4 shown. And for disk 3, only the initial data information needs to be reversed, and the finally obtained target data storage information is as Figure 5 shown.

[0085] Step S204: Encode the target data storage information according to the encoding method of the parity disk p in RAID 6 to obtain the encoding result of the parity disk p.

[0086] In practical applications, the process of encoding the target data storage information according to the encoding method of the parity disk p in RAID 6 to obtain the encoding result of the parity disk p can be determined according to actual needs. Taking Figure 3 the data block information shown as an example, the encoding result of p is as follows:

[0087]

[0088] Step S205: Construct an initial matrix based on the target data storage information, where the initial matrix is used to represent the data loss situation of any two data disks.

[0089] Step S206: Adjust the initial matrix to obtain a target matrix with a rank equal to the total data volume of any two data disks.

[0090] Step S207: Based on the parameters of the target matrix, encode the target data storage information according to the encoding method of the parity disk q in RAID 6 to obtain the encoding result of the parity disk q.

[0091] Please refer to Figure 6 , Figure 6 , which is the third flowchart of a RAID 6 processing method provided by an embodiment of the present application.

[0092] A RAID 6 processing method provided by an embodiment of the present application may include the following steps:

[0093] Step S301: Determine the initial data storage information of each data disk.

[0094] Step S302: Adjust the initial data storage information to obtain the target data storage information.

[0095] Step S303: Encode the target data storage information according to the encoding method of the parity disk p in RAID 6 to obtain the encoding result of the parity disk p.

[0096] Step S304: Construct an initial matrix based on the target data storage information, where the initial matrix is used to represent the data loss situation of any two data disks.

[0097] Step S305: Divide the initial matrix vertically to obtain a first sub-matrix and a second sub-matrix. The matrix relationship of the first sub-matrix satisfies the iterative property, and the second sub-matrix is the matrix in the initial matrix except for the first sub-matrix.

[0098] In practical applications, in the process of adjusting the initial matrix to obtain a target matrix with a rank equal to the total data volume of any two data disks, the initial matrix can be divided vertically to obtain a first sub-matrix and a second sub-matrix. The matrix relationship of the first sub-matrix satisfies the iterative property, and the second sub-matrix is the matrix in the initial matrix except for the first sub-matrix.

[0099] For ease of understanding, still taking Figure 3 the data information shown as an example, the initial matrix is as follows:

[0100]

[0101] Among them, each 1 in the initial matrix represents the a1 ,1,a1,2,a1,3,a1,4,a2,1,a2,2,a2,3,a2,4. The first sub-matrix and the second sub-matrix obtained after its upper and lower division are as Figure 7 shown. Among them, matrix A’ represents the first sub-matrix, and matrix B’ represents the second sub-matrix.

[0102] Step S306: Eliminate the left total row-column elements of the second sub-matrix based on the left total row-column elements of the first sub-matrix to obtain a first intermediate matrix with the same number of elements as the initial matrix and satisfying the target properties.

[0103] In practical applications, after dividing the initial matrix into upper and lower parts to obtain the first sub-matrix and the second sub-matrix, the left total row-column elements of the second sub-matrix can be eliminated based on the left total row-column elements of the first sub-matrix to obtain a first intermediate matrix with the same number of elements as the initial matrix and satisfying the target properties, and the target properties include:

[0104]

[0105] Still taking Figure 3 the data information shown as an example, the first intermediate matrix is as Figure 8 shown.

[0106] Step S307: Adjust the rank of the matrix C in the first intermediate matrix to the total number of rows based on the coprime relationship to obtain a second intermediate matrix.

[0107] Step S308: Reverse the second intermediate matrix to obtain the target matrix.

[0108] Step S309: Encode the target data storage information according to the encoding method of the parity disk q in RAID 6 based on the parameters of the target matrix to obtain the encoding result of the parity disk q.

[0109] In practical applications, after eliminating the left total row-column elements of the second sub-matrix based on the left total row-column elements of the first sub-matrix to obtain a first intermediate matrix with the same number of elements as the initial matrix and satisfying the target properties, the rank of the matrix in the first intermediate matrix can be adjusted to the total number of rows based on the coprime relationship to obtain a second intermediate matrix; and the second intermediate matrix is reversed to obtain the target matrix.

[0110] Still takingFigure 3 Taking the data information shown as an example, the second intermediate matrix is as Figure 9 shown, and the finally obtained target matrix is as follows:

[0111]

[0112] Correspondingly, the encoding result of the parity disk q is as follows:

[0113]

[0114] At this time, if it is assumed that the data on disk 1 is incorrect, the data information on each disk that needs to be read is as Figure 10 shown, where the data hit by the dashed circle is the data that needs to be read. It can be seen that the data pressure on each disk is the same during single error correction, which can balance the pressure on each data disk in the RAID 6 method and improve the decoding speed.

[0115] Please refer to Figure 11 , Figure 11 which is a schematic structural diagram of a RAID 6 processing system provided by an embodiment of the present application.

[0116] A RAID 6 processing system provided by an embodiment of the present application may include:

[0117] A first determination module 101, configured to determine the initial data storage information of each data disk;

[0118] A first adjustment module 102, configured to adjust the initial data storage information to obtain target data storage information;

[0119] A first encoding module 103, configured to encode the target data storage information according to the encoding method of the parity disk p in RAID 6 to obtain a parity disk p encoding result;

[0120] A first construction module 104, configured to construct an initial matrix based on the target data storage information, where the initial matrix is used to represent the data loss situation of any two data disks;

[0121] A second adjustment module 105, configured to adjust the initial matrix to obtain a target matrix with a rank equal to the total data volume of any two data disks;

[0122] A second encoding module 106, configured to encode the target data storage information based on the parameters of the target matrix according to the encoding method of the parity disk q in RAID 6 to obtain a parity disk q encoding result.

[0123] For a RAID 6 processing system provided by an embodiment of the present application, the first adjustment module may include:

[0124] The first adjustment unit is configured to, if there are data of two adjacent data disks that have not been selected in the initial data storage information, select the data of the two adjacent data disks, and adjust the data of the second data disk based on the data of the first data disk among the data of the two adjacent data disks;

[0125] The second adjustment unit is configured to, if there is only data of one data disk that has not been selected in the initial data storage information, adjust the data of the one data disk until all the data in the initial data storage information participate in the adjustment, so as to obtain the target data storage information.

[0126] For a RAID 6 processing system provided by an embodiment of the present application, the first adjustment unit may specifically be configured to: determine the first numbering information of each data in the data of the first data disk in the initial data storage information, where the first numbering information includes a disk number and a row number; determine the second numbering information of each data in the data of the second data disk in the initial data storage information, where the second numbering information includes a disk number and a row number; determine the total number of data disks, and use the difference between the total number and 1 as an iteration parameter; for each target data in the data of the first data disk, determine the sum value of the target row number of the target data and the iteration parameter, and obtain the remainder of the sum value divided by the total number of rows, and adjust the data with the same number of rows as the remainder in the data of the second data disk to the target row number of the second data disk; where when the sum value is the same as the total number of rows, the remainder is the total number of rows.

[0127] For a RAID 6 processing system provided by an embodiment of the present application, the second adjustment unit may specifically be configured to: reverse the order of the data of one data disk.

[0128] For a RAID 6 processing system provided by an embodiment of the present application, the second adjustment module may include:

[0129] The first partitioning unit is configured to partition the initial matrix vertically and horizontally to obtain a first sub-matrix and a second sub-matrix, where the matrix relationship of the first sub-matrix satisfies the iteration property, and the second sub-matrix is the matrix in the initial matrix except the first sub-matrix;

[0130] The first elimination unit is configured to eliminate the left total row and column elements of the second sub-matrix based on the left total row and column elements of the first sub-matrix, so as to obtain a first intermediate matrix with the same number of elements as the initial matrix and satisfying the target property; where the target property includes:

[0131]

[0132] The third adjustment unit is configured to adjust the matrix in the first intermediate matrix based on the relatively prime relationship C to have a rank equal to the total number of rows, so as to obtain a second intermediate matrix;

[0133] The first reverse unit is used to reverse the second intermediate matrix to obtain a target matrix.

[0134] A RAID 6 processing system provided by an embodiment of the present application may further include:

[0135] The first error correction module is configured to, after the second encoding module encodes the target data storage information according to the encoding method of the parity disk q in RAID 6 based on the parameters of the target matrix to obtain the encoding result of the parity disk q, perform single error correction by selecting data from each data disk and the parity disks p and q based on the encoding result of the parity disk p and the encoding result of the parity disk q.

[0136] The present application also provides a RAID 6 processing device and a computer-readable storage medium, both of which have the corresponding effects of a RAID 6 processing method provided by an embodiment of the present application. Please refer to Figure 13 , Figure 12 which is a schematic structural diagram of a RAID 6 processing device provided by an embodiment of the present application.

[0137] A RAID 6 processing device provided by an embodiment of the present application includes a memory 201 and a processor 202. A computer program is stored in the memory 201. When the processor 202 executes the computer program, the following steps are implemented:

[0138] Determine the initial data storage information of each data disk;

[0139] Adjust the initial data storage information to obtain target data storage information;

[0140] Encode the target data storage information according to the encoding method of the parity disk p in RAID 6 to obtain the encoding result of the parity disk p;

[0141] Construct an initial matrix based on the target data storage information, where the initial matrix is used to represent the data loss situation of any two data disks;

[0142] Adjust the initial matrix to obtain a target matrix with a rank equal to the total data volume of any two data disks;

[0143] Encode the target data storage information according to the encoding method of the parity disk q in RAID 6 based on the parameters of the target matrix to obtain the encoding result of the parity disk q.

[0144] A RAID 6 processing device provided by an embodiment of the present application includes a memory 201 and a processor 202. A computer program is stored in the memory 201. When the processor 202 executes the computer program, the following steps are implemented: If there are data of two adjacent data disks that have not been selected in the initial data storage information, select the data of the two adjacent data disks, and adjust the data of the second data disk based on the data of the first data disk among the data of the two adjacent data disks; If there is only data of one data disk that has not been selected in the initial data storage information, adjust the data of the one data disk until all the data in the initial data storage information participate in the adjustment to obtain the target data storage information.

[0145] A RAID 6 processing device provided by an embodiment of the present application includes a memory 201 and a processor 202. A computer program is stored in the memory 201. When the processor 202 executes the computer program, the following steps are implemented: Determine the first numbering information of each data in the first data disk data in the initial data storage information, where the first numbering information includes a disk number and a row number; Determine the second numbering information of each data in the second data disk data in the initial data storage information, where the second numbering information includes a disk number and a row number; Determine the total number of data disks, and use the difference between the total number and 1 as the iteration parameter; For each target data in the first data disk data, determine the sum value of the target row number of the target data and the iteration parameter, and obtain the remainder of the sum value divided by the total number of rows, and adjust the data with the same number of rows as the remainder in the second data disk data to the target row number of the second data disk; Wherein, when the sum value is the same as the total number of rows, the remainder is the total number of rows.

[0146] A RAID 6 processing device provided by an embodiment of the present application includes a memory 201 and a processor 202. A computer program is stored in the memory 201. When the processor 202 executes the computer program, the following steps are implemented: Reverse the order of the data on one data disk.

[0147] A RAID 6 processing device provided by an embodiment of the present application includes a memory 201 and a processor 202. A computer program is stored in the memory 201. When the processor 202 executes the computer program, the following steps are implemented: Divide the initial matrix vertically to obtain a first sub-matrix and a second sub-matrix. The matrix relationship of the first sub-matrix satisfies the iterative property, and the second sub-matrix is the matrix in the initial matrix except the first sub-matrix; Eliminate the left total row and column elements of the second sub-matrix based on the left total row and column elements of the first sub-matrix to obtain a first intermediate matrix with the same number of elements as the initial matrix and satisfying the target property; Wherein, the target property includes:

[0148]

[0149] Adjust the matrix in the first intermediate matrix based on the relatively prime relationshipC The rank is the total number of rows to obtain a second intermediate matrix; reverse the second intermediate matrix to obtain the target matrix.

[0150] A RAID 6 processing device provided by an embodiment of the present application includes a memory 201 and a processor 202. A computer program is stored in the memory 201. When the processor 202 executes the computer program, the following steps are implemented: Based on the parameters of the target matrix, encode the target data storage information according to the encoding method of the parity disk q in RAID 6. After obtaining the encoding result of the parity disk q, based on the encoding result of the parity disk p and the encoding result of the parity disk q, select data from each data disk and the parity disks p and q for single error correction.

[0151] Please refer to Figure 13 , another RAID 6 processing device provided by an embodiment of the present application may further include: an input port 203 connected to the processor 202 for transmitting an externally input command to the processor 202; a display unit 204 connected to the processor 202 for displaying the processing result of the processor 202 to the outside; a communication module 205 connected to the processor 202 for implementing communication between the RAID 6 processing device and the outside. The display unit 204 may be a display panel, a laser scanning display, etc.; the communication methods adopted by the communication module 205 include but are not limited to Mobile High-Definition Link technology (HML), Universal Serial Bus (USB), High-Definition Multimedia Interface (HDMI), wireless connections: Wireless Fidelity technology (WiFi), Bluetooth communication technology, Low-Energy Bluetooth communication technology, and communication technology based on IEEE802.11s.

[0152] A computer-readable storage medium provided by an embodiment of the present application stores a computer program. When the computer program is executed by a processor, the following steps are implemented:

[0153] Determine the initial data storage information of each data disk;

[0154] Adjust the initial data storage information to obtain the target data storage information;

[0155] Encode the target data storage information according to the encoding method of the parity disk p in RAID 6 to obtain the encoding result of the parity disk p;

[0156] Construct an initial matrix based on the target data storage information. The initial matrix is used to represent the data loss situation of any two data disks;

[0157] Adjust the initial matrix to obtain a target matrix with a rank equal to the total data volume of any two data disks;

[0158] Based on the parameters of the target matrix, encode the target data storage information according to the encoding method of the parity disk q in RAID 6 to obtain the encoding result of the parity disk q.

[0159] A computer-readable storage medium provided by an embodiment of the present application stores a computer program. When the computer program is executed by a processor, the following steps are implemented: If there is data of two adjacent data disks that have not been selected in the initial data storage information, select the data of the two adjacent data disks, and adjust the data of the second data disk based on the data of the first data disk among the data of the two adjacent data disks; If there is only data of one data disk that has not been selected in the initial data storage information, adjust the data of the one data disk until all the data in the initial data storage information participate in the adjustment to obtain the target data storage information.

[0160] A computer-readable storage medium provided by an embodiment of the present application stores a computer program. When the computer program is executed by a processor, the following steps are implemented: Determine the first numbering information of each data in the first data disk data in the initial data storage information, where the first numbering information includes the disk number and the row number; Determine the second numbering information of each data in the second data disk data in the initial data storage information, where the second numbering information includes the disk number and the row number; Determine the total number of data disks, and use the difference between the total number and 1 as the iteration parameter; For each target data in the first data disk data, determine the sum value of the target row number of the target data and the iteration parameter, and obtain the remainder of the sum value divided by the total number of rows, and adjust the data with the same number of rows as the remainder in the second data disk data to the target row number of the second data disk; Where, when the sum value is the same as the total number of rows, the remainder is the total number of rows.

[0161] A computer-readable storage medium provided by an embodiment of the present application stores a computer program. When the computer program is executed by a processor, the following step is implemented: Reverse the order of the data of one data disk.

[0162] A computer-readable storage medium provided by an embodiment of the present application stores a computer program. When the computer program is executed by a processor, the following steps are implemented: Divide the initial matrix vertically to obtain a first sub-matrix and a second sub-matrix. The matrix relationship of the first sub-matrix satisfies the iterative property, and the second sub-matrix is the matrix in the initial matrix except the first sub-matrix; Eliminate the left total row and column elements of the second sub-matrix based on the left total row and column elements of the first sub-matrix to obtain a first intermediate matrix with the same number of elements as the initial matrix and satisfying the target property; Where the target property includes:

[0163]

[0164] Adjust the matrix in the first intermediate matrix based on the co-prime relationship C whose rank is the total number of rows to obtain a second intermediate matrix; reverse the second intermediate matrix to obtain the target matrix.

[0165] A computer-readable storage medium provided by an embodiment of the present application stores a computer program. When the computer program is executed by a processor, the following steps are implemented: Based on the parameters of the target matrix, encode the target data storage information according to the encoding method of the parity disk q in RAID 6. After obtaining the encoding result of the parity disk q, based on the encoding result of the parity disk p and the encoding result of the parity disk q, select data in each data disk, the parity disk p, and the parity disk q for single error correction.

[0166] The computer-readable storage medium involved in the present application includes random access memory (RAM), memory, read-only memory (ROM), electrically programmable ROM, electrically erasable programmable ROM, registers, hard disks, removable disks, CD-ROMs, or any other form of storage medium known in the art.

[0167] For the description of the relevant parts in a RAID 6 processing system, device, and computer-readable storage medium provided by an embodiment of the present application, please refer to the detailed description of the corresponding parts in a RAID 6 processing method provided by an embodiment of the present application, which will not be repeated here. In addition, in the above technical solutions provided by the embodiments of the present application, the parts that are the same as the corresponding technical solutions in the prior art in terms of implementation principles are not described in detail to avoid excessive repetition.

[0168] It should also be noted that in this article, 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 any actual relationship or order between these entities or operations. Moreover, the term "comprising", "including" or any other variant thereof is intended to cover non-exclusive inclusion, so that a process, method, article or device including a series of elements not only includes those elements, but also includes other elements not expressly listed, or further includes elements inherent to such process, method, article or device. Without further limitation, an element defined by the statement "including a..." does not exclude the existence of another identical element in the process, method, article or device including the element.

[0169] The foregoing description of the disclosed embodiments enables those skilled in the art to implement or use the present application. Various modifications to these embodiments will be apparent to those skilled in the art, and the general principles defined herein can be implemented in other embodiments without departing from the spirit or scope of the present application. Therefore, the present application will not be limited to the embodiments shown herein, but is to be accorded the widest scope consistent with the principles and novel features disclosed herein.

Claims

1. A RAID 6 processing method, characterized in that, it includes: Determine the initial data storage information of each data disk; If there is data of two adjacent data disks that have not been selected in the initial data storage information, select the data of the two adjacent data disks, and adjust the data of the second data disk based on the data of the first data disk among the data of the two adjacent data disks; If there is only data of one data disk that has not been selected in the initial data storage information, adjust the data of the one data disk until all the data in the initial data storage information participate in the adjustment to obtain the target data storage information; Encode the target data storage information according to the encoding method of the parity disk p in RAID 6 to obtain the encoding result of the parity disk p; Construct an initial matrix based on the target data storage information, and the initial matrix is used to represent the data loss situation of any two data disks; Perform upper and lower partitioning on the initial matrix to obtain a first sub-matrix and a second sub-matrix. The matrix relationship of the first sub-matrix satisfies the iterative property, and the second sub-matrix is the matrix in the initial matrix except the first sub-matrix; Eliminate the elements of the left total row column of the second sub-matrix based on the elements of the left total row column of the first sub-matrix to obtain a first intermediate matrix with the same number of elements as the initial matrix and satisfying the target property; where the target property includes: Adjust the rank of matrix C in the first intermediate matrix to the total number of rows based on the relatively prime relationship to obtain a second intermediate matrix; Reverse the second intermediate matrix to obtain the target matrix; Encode the target data storage information according to the encoding method of the parity disk q in RAID 6 based on the parameters of the target matrix to obtain the encoding result of the parity disk q.

2. The method according to claim 1, characterized in that, The adjustment of the data of the second data disk based on the data of the first data disk among the data of the two adjacent data disks includes: Determine the first numbering information of each data in the data of the first data disk in the initial data storage information, and the first numbering information includes the disk number and the row number; Determine the second numbering information of each data in the data of the second data disk in the initial data storage information, and the second numbering information includes the disk number and the row number; Determine the total number of the data disks, and use the difference between the total number and 1 as the iteration parameter; For each target data in the data of the first data disk, determine the sum value of the target row number of the target data and the iteration parameter, and obtain the remainder of the sum value divided by the total number of rows. Adjust the data with the same row number as the remainder in the data of the second data disk to the target row number of the second data disk; where when the sum value is the same as the total number of rows, the remainder is the total number of rows.

3. The method according to claim 2, characterized in that, The adjustment of the data of the one data disk includes: Reverse the order of the data of the one data disk.

4. The method according to claim 3, characterized in that, After encoding the target data storage information according to the encoding method of the parity disk q in RAID6 based on the parameters of the target matrix to obtain the encoding result of the parity disk q, it further includes: Based on the encoding results of the parity disk p and the encoding results of the parity disk q, data is selected from each of the data disks, the parity disk p, and the parity disk q for single error correction.

5. A RAID 6 processing system, characterized in that, it includes: A first determination module, configured to determine the initial data storage information of each data disk; A first adjustment module, configured to, if there is data of two adjacent data disks that have not been selected in the initial data storage information, select the data of the two adjacent data disks, and adjust the data of the second data disk based on the data of the first data disk among the data of the two adjacent data disks; if there is only data of one data disk that has not been selected in the initial data storage information, adjust the data of the one data disk until all the data in the initial data storage information participates in the adjustment to obtain the target data storage information; A first encoding module, configured to encode the target data storage information according to the encoding method of the parity disk p in RAID 6 to obtain the encoding result of the parity disk p; A first construction module, configured to construct an initial matrix based on the target data storage information, and the initial matrix is used to represent the data loss situation of any two of the data disks; A second adjustment module, configured to divide the initial matrix vertically and horizontally to obtain a first sub-matrix and a second sub-matrix, the matrix relationship of the first sub-matrix satisfies the iterative property, and the second sub-matrix is the matrix in the initial matrix except the first sub-matrix; Based on the left total row and column elements of the first sub-matrix, eliminate the left total row and column elements of the second sub-matrix to obtain a first intermediate matrix with the same number of elements as the initial matrix and satisfying the target property; where the target property includes: Based on the relatively prime relationship, adjust the rank of matrix C in the first intermediate matrix to the total number of rows to obtain a second intermediate matrix; reverse the second intermediate matrix to obtain the target matrix; A second encoding module, configured to encode the target data storage information according to the encoding method of the parity disk q in RAID 6 based on the parameters of the target matrix to obtain the encoding result of the parity disk q.

6. The system according to claim 5, characterized in that, the first adjustment module includes: A first adjustment unit, configured to, if there is data of two adjacent data disks that have not been selected in the initial data storage information, select the data of the two adjacent data disks, and adjust the data of the second data disk based on the data of the first data disk among the data of the two adjacent data disks; A second adjustment unit, configured to, if there is only data of one data disk that has not been selected in the initial data storage information, adjust the data of the one data disk until all the data in the initial data storage information participates in the adjustment to obtain the target data storage information.

7. A RAID 6 processing device, characterized in that, it includes: A memory, configured to store a computer program; A processor, configured to implement the steps of the RAID 6 processing method according to any one of claims 1 to 4 when executing the computer program.

8. 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, it implements the steps of the RAID 6 processing method according to any one of claims 1 to 4.

Citation Information

Patent Citations

  • Verification data generation method and device, equipment and storage medium

    CN114168087A

  • Selection of data arrays

    US20080209253A1