CN120406856B - Data processing method and device, storage medium and electronic equipment - Google Patents
Data processing method and device, storage medium and electronic equipmentInfo
- Publication number
- CN120406856B CN120406856B CN202510896719.6A CN202510896719A CN120406856B CN 120406856 B CN120406856 B CN 120406856B CN 202510896719 A CN202510896719 A CN 202510896719A CN 120406856 B CN120406856 B CN 120406856B
- Authority
- CN
- China
- Prior art keywords
- disk
- local
- data
- encoding
- error
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
- G06F3/0611—Improving I/O performance in relation to response time
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0604—Improving or facilitating administration, e.g. storage management
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0629—Configuration or reconfiguration of storage systems
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/064—Management of blocks
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0646—Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
- G06F3/0652—Erasing, e.g. deleting, data cleaning, moving of data to a wastebasket
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0653—Monitoring storage devices or systems
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Signal Processing For Digital Recording And Reproducing (AREA)
- Detection And Correction Of Errors (AREA)
Abstract
The embodiment of the disclosure provides a data processing method, a device, a storage medium and electronic equipment, and relates to the technical field of computers, wherein the method comprises the steps of responding to a wrong disc recovery request of a storage system and determining a recovery method corresponding to the wrong disc; the method comprises the steps of obtaining the number of error disks, carrying out data recovery on the error disks by using a recovery method to obtain a data recovery result, dividing each stripe in a storage system into a first local check group, a second local check group and a global check group, wherein the global check group comprises a global check disk, a first data disk part and a second data disk part, the first local check group comprises a first local check disk, a first data disk part and a global check disk, and the second local check group comprises a second local check disk, a second data disk part and a global check disk. Therefore, the grouping mode of the first local check group, the second local check group and the global check group is provided, at least one wrong disk can be recovered by using the recovery method corresponding to the wrong disk, and the fault tolerance is improved.
Description
Technical Field
The disclosure relates to the field of computer technology, and in particular, to a data processing method, a data processing device, a storage medium and electronic equipment.
Background
With the rapid development of communication technology and network technology, digital information is exponentially growing, and data storage technology also meets great challenges. Reliability problems of data in storage systems and power consumption problems of storage systems are becoming more and more of an issue. In view of the huge data scale, the reliability of data in a storage system is inversely related to the number of components contained in the storage system, i.e., the greater the number of components in the storage system, the lower the reliability of data in the storage system. Related investigation shows that in an internet data center consisting of 600 disks, 30 disks are damaged in about every month, and in a mass storage system, the data reliability degradation caused by disk failures is a serious problem, so that related fault tolerance technology is one of the important points of research.
RAID (Redundant Arrays of INDEPENDENT DISKS), i.e., a redundant disk array, is a key technology to improve storage space. The disk array is a disk group with huge capacity obtained by combining a plurality of independent disks together. By adopting the RAID storage technology, the storage capacity can be greatly improved, the request processing capacity of the input and output of the system is improved, and the reliability of the data is improved by a parallel access means and an information redundancy technology through a data distributed storage technology.
The RAID technology mainly utilizes the data stripe, data check and mirror technology to obtain stronger performance, higher reliability, better fault tolerance and stronger expansibility. Policies and architectures of the three technologies may be applied or combined according to different data application requirements, and according to different policies and architectures, RAID may be classified into different grades, RAID 0, RAID 1, RAID 5, RAID 6, RAID 10, etc.
RAID 0 employs data striping (DATA STRIPPING) technology, which does not provide redundancy or error repair capability, by concatenating identical hard disks of N (N greater than or equal to 2) together in hardware form through a smart disk controller or in software with disk drivers in an operating system to create a large volume set. When the system is used, computer data are sequentially written into each hard disk, the capacity of the hard disk can be improved by a whole time, if three 80GB hard disks are used for being assembled into a RAID 0 mode, the capacity of the magnetic disk is 240GB, and the system has the defects that any hard disk fails, the whole system can be damaged, and the reliability is low.
RAID 1 is called disk mirror image, the principle is that data of one disk is mirror-imaged onto another disk, namely, the data is written into one disk and mirror-imaged files are generated on the other idle disk, the reliability and repairability of the system are ensured to the greatest extent under the condition that the performance is not affected, as long as at least one disk in any pair of mirror-imaged disks in the system can be used, the system can normally operate even when a half number of hard disks have problems, when one hard disk fails, the system can ignore the hard disk, and the rest mirror-imaged disks are used for reading and writing data instead, so that the RAID has good disk redundancy capability. The disadvantage is that the cost is high, the disk utilization is only 50%, and the available disk space is only 160GB for four 80GB capacity hard disks. In addition, if the hard disk fails and the damaged hard disk needs to be replaced in time, otherwise, the rest mirror image disk also has problems, the whole system is crashed, and it takes a long time to resynchronize the mirror image after replacing a new disk. Therefore, RAID 1 is used in many cases to store critical data.
RAID 5 is a distributed parity independent disk structure with parity codes present on all disks, where p0 represents the 0 th stripe parity value. RAID 5 has higher read performance and general write performance, and the collective access efficiency of the block type is good. Since the parity code is on different disks, reliability is improved. But the parallelism of data transmission is not well solved and the design of the controller is quite difficult. For RAID 5, most data transfers operate on only one disk, and may operate in parallel. In RAID 5, there is a "write penalty," i.e., each write operation will result in four actual read/write operations, where the old data and parity information are read twice and the new data and parity information are written twice.
RAID 6 is an independent disk structure with two parity check codes which are distributed and stored, is an expansion of RAID 5, and is mainly used for occasions requiring that data cannot be in error absolutely. Since the second parity value is introduced, n+2 disks are required, and the design of the controller becomes very complex, further improving the data reliability of the disk array. More space is required to store the check values while having a higher performance penalty in the write operation.
RAID technology is widely applied to the current distributed storage servers, particularly in RAID 5 and RAID 6, one or two error blocks can be recovered respectively, and the availability and system stability of data can be effectively improved through fault tolerance and data recovery technology.
However, each time data recovery is still limited by the speed limit of the individual disk for large data reads, and fault tolerance is still to be improved.
Disclosure of Invention
The present disclosure provides a data processing method, apparatus, storage medium, and electronic device, so as to at least solve the above technical problems in the prior art.
The technical scheme of the embodiment of the disclosure is realized as follows:
in a first aspect, an embodiment of the present disclosure provides a data processing method, including:
Responding to a recovery request of a wrong disk of a storage system, and determining a recovery method corresponding to the wrong disk, wherein the number of the wrong disks is at least one;
Performing data recovery on the error disc by using the recovery method to obtain a data recovery result;
each stripe in the storage system is divided into a first local check group, a second local check group and a global check group;
The global check group comprises a global check disk, a first data disk part and a second data disk part, the first local check group comprises a first local check disk, a first data disk part and a global check disk, and the second local check group comprises a second local check disk, a second data disk part and a global check disk.
In a second aspect, embodiments of the present disclosure provide a data processing apparatus, the apparatus comprising:
the first processing module is used for responding to a wrong disc recovery request of the storage system and determining a recovery method corresponding to the wrong disc, wherein the number of the wrong discs is at least one;
The second processing module is used for carrying out data recovery on the error disc by utilizing the recovery method to obtain a data recovery result;
each stripe in the storage system is divided into a first local check group, a second local check group and a global check group;
The global check group comprises a global check disk, a first data disk part and a second data disk part, the first local check group comprises a first local check disk, a first data disk part and a global check disk, and the second local check group comprises a second local check disk, a second data disk part and a global check disk.
In a third aspect, an embodiment of the present disclosure provides an electronic device comprising at least one processor, and a memory communicatively coupled to the at least one processor, wherein the memory stores instructions executable by the at least one processor to enable the at least one processor to perform any one of the data processing methods.
In a fourth aspect, embodiments of the present disclosure provide a non-transitory computer-readable storage medium storing computer instructions for causing a computer to perform a data processing method according to any one of the above.
The embodiment of the disclosure has the following beneficial effects:
The data processing method, the device, the storage medium and the electronic equipment are applied to a storage system, the method comprises the steps of responding to a recovery request of an error disk of the storage system, determining a recovery method corresponding to the error disk, wherein the number of the error disk is at least one, performing data recovery on the error disk by using the recovery method to obtain a data recovery result, each stripe in the storage system is divided into a first local check group, a second local check group and a global check group, the global check group comprises a global check disk, a first data disk part and a second data disk part, the first local check group comprises a first local check disk, a first data disk part and a global check disk, and the second local check group comprises a second local check disk, a second data disk part and a global check disk. Therefore, a grouping mode of the first local check group, the second local check group and the global check group is provided, at least one wrong disk can be recovered by using a recovery method corresponding to the wrong disk based on the grouping mode, and the fault tolerance of the storage system is improved.
It should be understood that the description in this section is not intended to identify key or critical features of the embodiments of the disclosure, nor is it intended to be used to limit the scope of the disclosure. Other features of the present disclosure will become apparent from the following specification.
Drawings
FIG. 1 is a schematic diagram of a RAID55 grouping provided in an embodiment of the present disclosure;
fig. 2 is a schematic flow chart of a data processing method according to an embodiment of the disclosure;
FIG. 3 is a schematic diagram of a data disk and parity disk grouping provided in an embodiment of the present disclosure;
FIG. 4 is a schematic diagram of an error tray provided by an embodiment of the present disclosure;
FIG. 5 is a schematic diagram I of two error trays provided by an embodiment of the present disclosure;
FIG. 6 is a second schematic diagram of two error trays provided by an embodiment of the present disclosure;
FIG. 7 is a third schematic diagram of two misdisc provided by an embodiment of the present disclosure;
FIG. 8 is a schematic diagram IV of two misdisc provided by an embodiment of the present disclosure;
FIG. 9 is a schematic diagram I of three error trays provided by an embodiment of the present disclosure;
FIG. 10 is a second schematic diagram of three misdisc provided by an embodiment of the present disclosure;
FIG. 11 is a schematic diagram III of three error trays provided by an embodiment of the present disclosure;
FIG. 12 is a schematic diagram IV of three error trays provided by an embodiment of the present disclosure;
FIG. 13 is a fifth schematic diagram of three misdisc provided by an embodiment of the present disclosure;
FIG. 14 is a schematic diagram six of three error trays provided by an embodiment of the present disclosure;
FIG. 15 is a schematic diagram seven of three misdisc provided by an embodiment of the present disclosure;
FIG. 16 is a schematic diagram eight of three misdisc provided by an embodiment of the present disclosure;
FIG. 17 is a schematic diagram of a data processing apparatus according to an embodiment of the present disclosure;
fig. 18 is a schematic structural diagram of an electronic device according to an embodiment of the disclosure.
Detailed Description
In order to make the objects, features and advantages of the present disclosure more comprehensible, the technical solutions in the embodiments of the present disclosure will be clearly described in conjunction with the accompanying drawings in the embodiments of the present disclosure, and it is apparent that the described embodiments are only some embodiments of the present disclosure, but not all embodiments. Based on the embodiments in this disclosure, all other embodiments that a person skilled in the art would obtain without making any inventive effort are within the scope of protection of this disclosure.
In the following description, reference is made to "some embodiments" which describe a subset of all possible embodiments, but it is to be understood that "some embodiments" can be the same subset or different subsets of all possible embodiments and can be combined with one another without conflict.
If a similar description of "first/second" appears in the application document, the following description is added, in which the terms "first/second/third" are merely distinguishing between similar objects and not representing a particular ordering of the objects, it being understood that the "first/second/third" may be interchanged with a particular order or precedence, if allowed, so that embodiments of the application described herein may be practiced otherwise than as illustrated or described herein.
Unless defined otherwise, all technical and scientific terms used herein have the same meaning as commonly understood by one of ordinary skill in the art to which this application belongs. The terminology used herein is for the purpose of describing embodiments of the application only and is not intended to be limiting of the application.
Before explaining the embodiments of the present disclosure in further detail, terms and terminology involved in the embodiments of the present disclosure are explained, and the terms and terminology involved in the embodiments of the present disclosure are applicable to the following explanation.
RAID55 is an enhanced version of RAID5 that is more tolerant to faults than RAID 5. RAID55 is capable of recovering lost data through parity when one or both disks fail. In addition, RAID55 may recover portions of the data when three disk failures occur, but not in all cases. The following are two cases where RAID55 cannot recover data:
in the first case, when three failed disks (referred to as "failed disks") are all in the same local RAID5 group, the data cannot be recovered. Because all parity information is concentrated between the three disks, the disks are lost and cannot be recovered.
The second case is when one of the three wrong disks is a physical disk failure and the other two are in the same local RAID5 group, which cannot be recovered because some parity information is lost, resulting in recovery failure.
In addition, if the RAID55 adopts the conventional left-handed unaligned disk-drop method, only any one and two wrong disks can be recovered, and any three disks cannot be recovered, which also reduces the fault tolerance of the RAID55 algorithm.
An example is provided below, specifically describing the RAID55 in the related art.
Assume a commonWith 2 partial verification discs、1 Global check disk,A maximum of 2 erroneous disks can be recovered using RAID 55. Illustrated with k=13.
First, when k=13, 10 data disks in total, 10 data disks and 1 global parity diskA global RAID5 is formed, and the coding mode is as follows:。 representing an exclusive or operation, Respectively represent each data disk (also called data, data block),The global parity disk (may also be referred to as global parity block or global parity data) is represented, and the data disk and the global parity disk are data on the same stripe and belong to different physical disks.
Then, 10 data disks are divided into two groups of 5 data disks each;
Will be Totally 5 data discs and local check discThe first local RAID5 group is formed by the following coding modes: , wherein, For data discsIs provided with a position information of (a),For locally checking the discIs provided.Which varies according to the variation of the strip.
Will beTotally 5 data discs and local check discAnd forming a second local RAID5 group, wherein the coding mode is as follows: , wherein, For data discsIs provided with a position information of (a),For locally checking the discIs provided.
In summary, the encoding rule of RAID55 is as follows:
as shown in fig. 1, which is a schematic diagram of an encoding manner of the RAID55, it can be known in conjunction with fig. 1 that the following situations exist in the decoding of the RAID 55:
RAID55 can recover for any one wrong disk;
two disks in error RAID55 can recover for any two erroneous disks;
three disks are misplaced, and there are two cases where data recovery cannot be achieved. The first is that three wrong disks are in a local RAID5 group, and the second is that one of the three wrong disks is a global check disk The other two are in the same local RAID5 group.
In addition, the description above is based on one stripe, in actual production, in consideration of load balancing, common data is to be dropped in a left-hand misalignment manner, and as shown in table 1, a schematic diagram of a RAID55 drop manner is provided, where disk1, disk 2..disk 13 represents each physical disk, and t1, t 2..times.t 13 represents each stripe.
TABLE 1
In the table, the purpose of the left-hand unaligned drop disk approach is for load balancing, but this drop disk approach may result in no recovery of any three erroneous disks of RAID 55. As shown in Table 2 below, when an error occurs in the 2, 3, 8 th physical disk (i.e., disk2, disk3, disk 8), three error disks in stripe 8 (i.e., k 8)Are in the second local RAID5 group, at which point the data is not recoverable. In fact, the left-hand misalignment of the RAID55 drives the RAID55 to only resolve any two erroneous disks, and the fault tolerance is reduced. Accordingly, there is a need to provide a method for improving the fault tolerance performance of RAID 55.
TABLE 2
Based on the data, the embodiment of the disclosure provides a data processing method, a device, a storage medium and electronic equipment, wherein the method comprises the steps of responding to a recovery request of a wrong disk of a storage system, determining a recovery method corresponding to the wrong disk, wherein the number of the wrong disks is at least one, carrying out data recovery on the wrong disk by using the recovery method to obtain a data recovery result, each stripe in the storage system is divided into a first local check group, a second local check group and a global check group, the global check group comprises a global check disk, a first data disk part and a second data disk part, the first local check group comprises a first local check disk, a first data disk part and a global check disk, and the second local check group comprises a second local check disk, a second data disk part and a global check disk. Therefore, a grouping mode of the first local check group, the second local check group and the global check group is provided, at least one wrong disk can be recovered by using a recovery method corresponding to the wrong disk based on the grouping mode, and the fault tolerance of the storage system is improved.
Fig. 2 is a flow chart of a data processing method according to an embodiment of the disclosure, as shown in fig. 2, where the method includes:
Step 201, determining a recovery method corresponding to a wrong disk in response to a wrong disk recovery request of a storage system, wherein the number of the wrong disks is at least one;
step 202, performing data recovery on the error disc by using the recovery method to obtain a data recovery result;
each stripe in the storage system is divided into a first local check group, a second local check group and a global check group;
The global check group comprises a global check disk, a first data disk part and a second data disk part, the first local check group comprises a first local check disk, a first data disk part and a global check disk, and the second local check group comprises a second local check disk, a second data disk part and a global check disk.
Here, the method may be applied to a storage system. Each stripe in the storage system may include a first local parity disk, a second local parity disk, a global parity disk, a first data disk portion, and a second data disk portion, wherein the first data disk portion and the second data disk portion have the same number of data disks.
A data disc may also be referred to as a data block, a data unit, is the actual data stored on a physical disc.
The check disks such as the local check disk and the global check disk may also be called check blocks and check data units, and are check data stored on the physical disk.
In a storage system such as RAID, a physical disk is a physical entity in a disk array, and refers to a hard disk that actually exists. A data disc and a parity disc are understood to be logically conceptual blocks that are mapped to storage locations on a physical disc, i.e. each data block and parity block is written to a specific area on a physical disc.
Stripe (striping) is a technology for storing data on multiple disks in a scattered manner, specifically, the stripe divides the data into data blocks, the data blocks are sequentially stored on multiple physical disks, and accordingly, multiple data blocks can be obtained from multiple physical disks at the same time when the data is read, so that the performance of the storage system is improved.
For example, the sum of the disk numbers of the first local check disk, the second local check disk, the global check disk, the first data disk part and the second data disk part is k, namely k disks are total for each stripe of the storage system, and the total disk number is 1 first local check disk, 1 second local check disk, 1 global check disk and k-3 data disks, and k is more than or equal to 5. The first data disk portion and the second data disk portion have (k-3)/2 data disks, respectively.
The following is an illustration on a strip basis. In one example, assuming k=13, there are 10 data disks in total, 10 data disks and 1 global parity disk forming a global parity group (also referred to as a global RAID5 group), the first data disk portion comprisingThe second data disk portion includes。
The 5 data discs of the first data disc portion and the first partial verification disc (denoted as) Global check disk (record as)) Forming a first local parity group (which may also be referred to as a first local RAID5 group);
the 5 data discs of the second data disc portion and the second partial verification disc (denoted as ) Global check disk (record as)) A second local parity group (also referred to as a second local RAID5 group) is formed.
In another example, assuming k=15, then a total of 12 data disks, 10 data disks and 1 global parity disk form a global parity group (i.e., a global RAID5 group), the first data disk portion comprisingThe second data disk portion includes。
Correspondingly, the 6 data discs of the first data disc portion are identical to the first partial verification disc (denoted as) Global check disk (record as)) Forming a first local parity group (i.e., a first local RAID5 group);
The 6 data discs of the second data disc portion and the second partial verification disc (denoted as ) Global check disk (record as)) A second local parity group (i.e., a second local RAID5 group) is formed.
The above only provides an example of a storage system where k=13 and k=15, and the value of k is not limited in practical application.
In some embodiments, determining a recovery method corresponding to the wrong disc includes:
Determining the wrong disc information in the wrong disc recovery request, wherein the wrong disc information comprises at least one of wrong disc number, wrong disc type and verification group where the wrong disc is located;
Determining the recovery method according to the error disc information, wherein the recovery method is a method for recovering error disc data by utilizing a target coding and decoding rule;
the target codec rule includes at least one of:
The first local encoding and decoding rule is corresponding to the first local checking group, and represents that the result of exclusive-or operation after each disc in the first local checking group is multiplied by the position information of the disc is 0;
the second local encoding and decoding rule corresponding to the second local checking group characterizes that the result of exclusive-or operation after each disc in the second local checking group is multiplied by the position information of the disc is 0;
the first global encoding and decoding rule corresponding to the global checking group characterizes that the result of exclusive-or operation among the disks in the first local checking group is 0;
The first data disk portion and the second data disk portion have the same number of data disks.
Here, after the error disk is found, the management unit of the storage system may be triggered to perform data recovery, that is, the management unit determines a corresponding recovery method according to an error disk recovery request, where the error disk recovery request carries error disk information, and may determine a specifically adopted recovery method based on the error disk information.
The error disk refers to that a certain physical disk in the storage system has a fault or abnormality, so that the data disk and/or the check disk stored in the storage system cannot read or write data normally or the data is lost. Common misdisk conditions include hard disk damage, disk failure, inability of the disk to recognize or normal access, etc.
In a storage system, such as a RAID storage technology, the reliability of data can be ensured by redundancy check. If a problem occurs in a certain physical disk, the storage system can utilize the recovery method to recover the data of the wrong disk, so as to obtain a data recovery result.
Here, each of the local check group and the global check group corresponds to a codec rule so that data can be restored based on the codec rule when a wrong disc occurs.
The data processing method may be a data processing method based on a RAID55 algorithm, the RAID55 algorithm using striped storage with parity (STRIPING WITH PARITY). The data disks are stored in a distributed manner in a plurality of physical disks, and each data stripe is allocated with a corresponding check disk (including a global check disk and a local check disk), and each check disk is calculated through an exclusive or operation (XOR).
The codec rules may be used to encode when data is stored and to decode when data is restored.
Encoding (Data Encoding) when Data is written to a RAID 5 array, the Data disks are computed and stored while a local parity disk and a global parity disk are generated for each stripe of Data disks. The encoding process is to generate check information through exclusive or (XOR) operation, so that even if part of the disk is damaged, the data can be recovered through the check disk.
Decoding (Data Decoding) when reading Data, if a disk is damaged (i.e. an error disk occurs), the storage system can decode and recover the lost Data by using an exclusive or algorithm according to the rest of the Data disks and the corresponding check disk. The exclusive or operation is reversible, so that the original data blocks of the erroneous disk can be restored from the other data disks, the parity disk, etc. on the stripe.
Specifically, the first global encoding and decoding rule corresponding to the global check group characterizes that the result of exclusive-or operation between the disks (including the data disk and the global check disk p) is 0, which is expressed as formula (1):
(1)
wherein, the For each data disk, n is the total number of data disks,Representing an exclusive or operation;
The first local encoding and decoding rule corresponding to the first local checking group characterizes that each disc (including a data disc and a global checking disc) in the first local checking group First local check disk) The result of the exclusive-or operation after multiplication with the position information thereof is 0, expressed as formula (2):
(2)
wherein, the For the first local check diskIs provided.
The second local encoding and decoding rule corresponding to the second local checking group characterizes that each disc (including a data disc and a global checking disc) in the second local checking groupSecond local check disk) The result of the exclusive-or operation after multiplication with the position information thereof is 0, expressed as formula (3):
(3)
wherein, the For a second local check diskIs provided.
In the above formulas (2) and (3),For data discsThe location information may include a landing position in a physical disc where the disc is located.
Taking k=13 as an example and n is 10, the following codec rule can be obtained with reference to fig. 3:
a first global codec rule associated with each data disk and a global parity disk, expressed as: (4)
the first local encoding and decoding rule is that each data disk and one local check disk are combined In relation to the global parity disk, expressed as:(5)
the second local encoding and decoding rule is that each data disk and the other local check disk are combined In relation to the global parity disk, expressed as:(6)
In some embodiments, the determining the recovery method according to the misdisk information includes:
if the number of the error discs is 1, determining a coding and decoding rule corresponding to a check group where the error discs are located as a target coding and decoding rule;
And if the number of the error discs is 2 or 3, determining a target encoding and decoding rule according to the type of the error discs and the verification group where the error discs are located.
Here, the recovery method is a method of recovering the wrong disc data using the target codec rule, the number of wrong discs may be one or more, and the target codec rule may also include one or more, i.e., the recovery method may recover the one or more wrong disc data using the one or more target codec rules.
If the number of the wrong discs is 1, that is, whichever disc is wrong, the data recovery can be performed by using the local encoding and decoding rule. For example, if the error disk is a data disk, decoding is performed by using the local encoding and decoding rule corresponding to the local check group where the error disk is located.
Taking the example of k=13 as an example, when a wrong disc isCan be decoded by the above formula (5) when one of the error discs isCan be decoded using equation (6) above. When a wrong disc isWhen equations (5) and (6) are both decodable.
As shown in FIG. 4, a schematic diagram of a wrong tray is provided, and each row in FIG. 4 corresponds to a wrong tray.
Here, if the number of the misdisks is 2 or 3, the target codec rule may be determined according to the type of the misdisk and the check group where the misdisk is located. It should be noted that, the check group where the wrong disc is actually the check group where the wrong disc is specifically located in the stripe where the wrong disc is located, so it is easy to understand that the wrong disc information may also include the stripe where the wrong disc is located, and the like.
In some embodiments, if the number of the misdisks is 2, determining the target codec rule according to the type of the misdisk and the check group where the misdisk is located includes:
if the error disc meets a first condition, selecting a first combined encoding and decoding rule as the target encoding and decoding rule;
The first condition is that the two error disks comprise a global check disk and a first disk, wherein the first disk is any data disk or local check disk;
the first combined encoding and decoding rule comprises a local encoding and decoding rule which does not contain the first disc and a local encoding and decoding rule which contains the first disc.
Specifically, if the number of misdirected disks is 2, there are cases where the first case is when two disks are misdirected (respectively denoted as) One of them is a global check diskThe other being an arbitrary disc(May be a data disk, a local verification disk) As shown in fig. 5, each row corresponds to an example of two error disks, in which case decoding can be performed according to the first combined codec rule in the following two steps:
First step, use of a composition not containing Is restored first of allIn the second step, the method comprisesLocal codec rule recovery for (a)。
In some embodiments, if the number of the misdisks is 2, determining the target codec rule according to the type of the misdisk and the check group where the misdisk is located includes:
if the error disc meets a second condition, selecting a second combined encoding and decoding rule as the target encoding and decoding rule;
the second condition is that two wrong discs belong to different local check groups, and the two wrong discs are data discs or local check discs;
the second combined encoding and decoding rule comprises local encoding and decoding rules corresponding to each local check group respectively.
Specifically, if the number of misdisk is 2, there are cases where the second case is when two disks are misdirectedNone of the global check diskBut is provided withWhich belong to two different local check groups, as shown in fig. 6, each row corresponds to an example of an error disk, in which case the data can be recovered according to the second combined codec rule, i.e. both local codec rules are decoded simultaneously.
In some embodiments, if the number of the misdisks is 2, determining the target codec rule according to the type of the misdisk and the check group where the misdisk is located includes:
If the error disc meets a third condition, selecting a third combined encoding and decoding rule as the target encoding and decoding rule;
The third condition is that the two error disks comprise any data disk and local check disk belonging to the same local check group;
The third combined encoding and decoding rule comprises a first global encoding and decoding rule, and a local encoding and decoding rule corresponding to the random data disk and the local check disk.
Specifically, if the number of misdisk is 2, there are cases where the third case is when two disks are misrelatedNone of the global check diskTwo disks in error belong to the same local check group, but one is a data diskOne local check disk of the same groupAs shown in fig. 7, decoding can be performed according to the third combined codec rule in this case according to the following two steps:
First step, restoring data disk using first global encoding and decoding rule In the second step, by containingSolving and recovering local check disk by local encoding and decoding rules of (1)。
In some embodiments, if the number of the misdisks is 2, determining the target codec rule according to the type of the misdisk and the check group where the misdisk is located includes:
if the error disc meets a fourth condition, selecting a fourth combined encoding and decoding rule as the target encoding and decoding rule;
the fourth condition is that the two wrong discs comprise two data discs belonging to the same local check group;
The fourth combined encoding and decoding rule comprises a first target decoding rule aiming at two data discs, wherein the first target decoding rule is generated based on a second global encoding and decoding rule, and the second global encoding and decoding rule is generated after being combined based on the first local encoding and decoding rule, the second local encoding and decoding rule and the first global encoding and decoding rule.
Specifically, if the number of misdisk is 2, there are cases where the fourth case is when two disks are misrelatedNone of the global check diskTwo disks in errorAnd all belong to the same local check group and are data disks, as shown in fig. 8, in which case the data is recovered according to the first local codec rule, the second local codec rule, and the first global codec rule. Specifically, first, a second global codec rule (denoted as global RAID 6) is obtained by merging according to the first local codec rule, the second local codec rule, and the first global codec rule, where the second global codec rule includes:
The result of the exclusive-or operation between the disks (including the data disk and the global parity disk) is 0, expressed as formula (1):
(1)
The result of exclusive-or operation after multiplying each disc (including the data disc, the first partial verification disc and the second partial verification disc) and the position information thereof is 0, and the result is expressed as a formula (7):
(7)
recovery data discs can be obtained according to formulas (1) and (7) The first target decoding rules of (a) are as follows:
Taking the example of k=13 as an example, the codec rules are combined to construct a second global codec rule as follows:
according to the above (8) and (9), by Data discErasing and resolvable:
The method comprises the following steps:
In the same way can be understood By means ofData discErasing and resolvable:
In this way, the data discs can be restored respectively according to the second global encoding and decoding rules。
In some embodiments, if the number of the misdisks is 3, determining the target codec rule according to the type of the misdisk and the check group where the misdisk is located includes:
if the error disc meets a fifth condition, selecting a fifth combined encoding and decoding rule as the target encoding and decoding rule;
The fifth condition is that the three wrong discs comprise two second discs belonging to the same local check group and a third disc belonging to another local check group, wherein the second discs are data discs and the third discs are random discs;
The fifth combined encoding and decoding rule comprises a local encoding and decoding rule corresponding to a third disk and second target decoding rules aiming at two second disks, wherein the second target decoding rules are generated based on a third global encoding and decoding rule, and the third global encoding and decoding rule is generated after the local encoding and decoding rules corresponding to the second disks and the first global encoding and decoding rules are combined.
In some embodiments, if the number of the misdisks is 3, determining the target codec rule according to the type of the misdisk and the check group where the misdisk is located includes:
if the error disc meets a sixth condition, selecting a sixth combined encoding and decoding rule as the target encoding and decoding rule;
the sixth condition is that the three error discs comprise a data disc and a local check disc which belong to the same local check group, and a fourth disc which belongs to another local check group, wherein the fourth disc is any disc;
The sixth combined encoding and decoding rule comprises a local encoding and decoding rule corresponding to the fourth disc, a first global encoding and decoding rule, and local encoding and decoding rules corresponding to the data disc and the local verification disc.
Specifically, if the number of the misdisks is 3, there are a plurality of cases in which, in the first case, when three misdisks are three disks in the same partial verification group (including a data disk and/or a partial verification diskBut does not include global parity disk) At this point, it is not decodable, such as the case shown in fig. 9 and 10.
The second case is that the error pattern is 2+1, i.e. when two of the three error disks are any disk in the same local parity group (may be data disks and/or local parity disks, i.e. two second disks may be data disks and one local parity disk, or both data disks), the other error disk may be any disk in the other local parity group, i.e. the third disk may be data disk, or local parity disk, or global parity disk. For the second case, the error disc type may be further divided into two sub-cases, and for convenience of understanding, as shown in table 3 and table 4, a correspondence table of error patterns and corresponding recovery modes is provided.
TABLE 3 Table 3
TABLE 4 Table 4
Error pattern A (corresponding to the error disk satisfying the fifth condition) that two error disks in the same partial parity group are two data disks, and any disk in the second partial parity group(May be a data disk, global parity disk, local parity disk). The corresponding recovery mode adopts a mode one, which comprises the following steps:
the first step, recovering the error disk by using a local coding and decoding rule (corresponding to a local coding and decoding rule corresponding to a third disk) of a local check group only comprising one error disk, and then, leaving two error disks;
And determining a third global encoding and decoding rule, and decoding according to the third global encoding and decoding rule to recover the remaining two error disks, wherein the third global encoding and decoding rule is constructed according to the other local encoding and decoding rule and the first global encoding and decoding rule.
In an example, taking the example of k=13 as an example, assume that the wrong disk includes in the first partial parity groupAnd any disk of the data disks in the second partial verification group(May be a data disk, a global parity disk, a local parity disk), as shown in fig. 11, the decoding method includes:
first step, solving using a second local codec rule (equation (6) above) (May be a data disk, global parity disk, local parity disk);
a second step of constructing a global RAID6 (i.e., a third global codec rule) based on the first local codec rule (formula (5) above) and the first global codec rule (formula (4) above), and decoding based on the third global codec rule AndObtaining a second target decoding rule, wherein the second target decoding rule comprises the following formula:
By passing through Can be dissolved:
By passing throughCan be dissolved:
It will be appreciated that the above is only k=13, the wrong disc includesAndFor other misdisk cases, the recovery formulas for the remaining two misdisks may also be solved according to formulas (1) and (2), or formulas (1) and (3). For example, two error disks in the same local check group are two data disks, respectively recorded asAndBelonging to the first local check group, the method comprises the following steps:
;
。
if the second local check group belongs to the second local check group, a corresponding formula can be deduced, and the description is omitted here.
Error pattern B (corresponding to the error disk meeting the sixth condition) that two error disks in the same partial verification group are one data disk and one partial verification diskAnd any disk in another partial verification group(Which may be a data disk, global parity disk, local parity disk) as shown in fig. 12. The corresponding recovery mode adopts a mode II, which comprises the following steps:
Decoding the wrong disc by a local coding and decoding rule of the wrong disc (corresponding to a local coding and decoding rule corresponding to a fourth disc), wherein only two wrong discs are left at the moment;
the second step, decoding the data disk by using the first global encoding and decoding rule, wherein only one local check disk is left at the moment Is staggered with the disc;
third step, decoding the local check disk by using another local encoding and decoding rule Is a staggered disc.
In an example, taking the example of k=13 as an example, assume that the wrong disk includes in the first partial parity groupAnd any disk of the data disks in the second partial verification group(Which may be a data disk, a global parity disk, a local parity disk):
First step, solving by using a second local encoding/decoding rule (6) as above (May be a data disk, global parity disk, local parity disk);
second step, decoding by using the first global codec rule (equation (4) above) ;
Third step, adopting the first local encoding and decoding rule (the above formula (5)) to decode the local check diskIs a staggered disc.
In this way, three misplaced disks can be recovered separately.
In some embodiments, if the number of the misdisks is 3, determining the target codec rule according to the type of the misdisk and the check group where the misdisk is located includes:
If the error disc meets a seventh condition, selecting a seventh combined encoding and decoding rule as the target encoding and decoding rule;
the seventh condition is that the error disk comprises a global check disk, and a fifth disk and a sixth disk which are respectively from two local check groups, wherein the fifth disk is a local check disk or a data disk, and the sixth disk is a local check disk or a data disk;
The seventh combined codec rules include a third target decode rule for a fifth disk, a fourth target decode rule for a sixth disk, and the first global codec rule, first local codec rule, or second local codec rule;
The third target decoding rule and the fourth target decoding rule are generated based on the first global codec rule, the first local codec rule, and the second local codec rule.
Specifically, if the number of the misplaced disks is 3, the third situation is that when one of the three misplaced disks is a global check diskThe other two discs are from the data discs or the partial verification discs in the two partial verification groupsI.e. the case where the error pattern is 1+1+1. For the third case, the error disc type may be further divided into a plurality of sub-cases, and for convenience of understanding, as shown in table 5 and table 6, a correspondence table of error patterns and corresponding recovery modes is provided.
TABLE 5
TABLE 6
Error mode C1. Error disk includes local check disk in one local check group, local check disk in another local check group and global check diskAs shown in fig. 13, the recovery method 3.1 includes:
First step, decoding and recovering the global check disk by using the first global encoding and decoding rule At this time, only two partial verification disks are left for error disk;
Second step, decoding two local check disks simultaneously by using two local encoding and decoding rules Is a staggered disc.
Error mode C2. Error disk includes data disk in one local check group, local check disk in another local check group, global check diskAs shown in fig. 14, the recovery method 3.2 includes:
Pushing to obtain a third target decoding rule for the data disk and a fourth target decoding rule for the local check disk according to the first global encoding and decoding rule, the first local encoding and decoding rule and the second local encoding and decoding rule so as to recover the data disk and the local check disk respectively;
and recovering the global check disk through the first global encoding and decoding rule.
In an example, taking the example of k=13 as an example, assume that the wrong disk includes a data disk in the first partial parity groupAnd a local parity disk in a second local parity groupAnd global parity diskAs shown in fig. 14, the recovery method includes:
First step, the first local codec rule (formula (5) above) and the second local codec rule (formula (6) above) are pushed to derive a data disc according to the first global codec rule (formula (4) above) Local verification diskThe decoding rules of (2) are as follows:
Can be dissolved :
Obtaining a third target decoding rule:
And Can be dissolved:
Obtaining a fourth target decoding rule:。
it will be appreciated that the above is only k=13, the wrong disc includes AndFor other misdisk cases, the recovery formulas for two misdisks may also be solved according to formulas (1) and (2), or formulas (1) and (3). For example, a misdisk includes a data disk in a first partial parity group asAnd the local parity disk in the second local parity group is recorded asThen the following steps are obtained:
;
。
if the data disc belongs to the second local verification group and the local verification disc belongs to the first local verification group, a corresponding formula can be deduced, and the description is omitted here.
Second, the global parity disk is restored by decoding with the first global codec rule (formula (4) above), the first local codec rule (formula (5) above), or the second local codec rule (formula (6) above)。
Error pattern C3. Error disk includes partial verification disks in partial verification groupData disk in another local parity group, and global parity diskAs shown in fig. 15, the recovery method 3.3 is the same as the recovery method 3.2 described above, and will not be described again here.
Error pattern C4. Error disk includes data disk in one partial parity group, data disk in another partial parity group, and global parity diskAs shown in fig. 16, decoding method 3.4 includes:
pushing to obtain a third target decoding rule for the data disk and a fourth target decoding rule for another data disk according to the first global encoding and decoding rule, the first local encoding and decoding rule and the second local encoding and decoding rule so as to recover the two data disks respectively;
And recovering the global check disk by any local encoding and decoding rule.
In an example, taking the example of k=13 as an example, assume that the wrong disk includes a data disk in the first partial parity groupAnd data discs in a second partial verification groupGlobal verification diskAs shown in fig. 16, the recovery method 3.4 includes:
first step, the first local codec rule (formula (5) and the second local codec rule (formula (6)) are pushed to derive the data disc according to the first global codec rule (formula (4) and the first local codec rule (formula (5) above) AndThe decoding rules of (2) are as follows:
1. By passing through Elimination ofCan be solvedAnd:
2、Can be dissolved:
3、Can be dissolved:
It will be appreciated that the above is only k=13, the wrong disc includesAndFor other misdisk cases, the recovery formulas for the remaining two misdisks may also be solved according to formulas (1) and (2), or formulas (1) and (3). For example, two error disks in different local check groups are two data disks, respectively recorded asAndThen the following steps are obtained:
;
。
second, the global parity disk is restored by decoding with the first global codec rule (formula (4) above), the first local codec rule (formula (5) above), or the second local codec rule (formula (6) above) 。
As described above, the method provided by the embodiment of the disclosure can recover any one and two error disks and recover part of the three error disks (only three error disks are insoluble in a local check group), and has stronger fault tolerance.
In some embodiments, the method further comprises:
Carrying out data disk dropping on the data disk, the global check disk, the first local check disk and/or the second local check disk of each strip by adopting a target disk dropping mode:
The target landing mode comprises one of left-handed alignment, right-handed alignment and left-handed misalignment.
In some embodiments, if the left-handed unaligned disk-dropping method is adopted, the performing data disk dropping on the data disk, the global parity disk, the first local parity disk, and/or the second local parity disk of each stripe includes:
For the 1 st to N th stripes, taking the 1 st to N-2 th physical disks, the first local check physical disk and the global check physical disk as a group, and carrying out disk dropping according to a left-handed misalignment mode;
For the (N+1) -2N stripes, taking the 1 st to the (N-2) -th physical disks and the first local checking physical disk as a group, and carrying out disk dropping according to a left-handed misalignment mode;
Where n= (k+1)/2, the k represents that the storage system has a total number of disks.
For example, as example k=13 above, where 2n=13+1 stripes are used, for the 1 st to 7 th stripes (denoted as t1, t2, t3, t4, t5, t6, t 7), the physical d 1-physical d5 and physical l0 disks and physical P disks are grouped, the disks are dropped in left-hand misalignment, the physical d 6-physical d10 and physical l1 disks are grouped, the disks are dropped in left-hand misalignment, as shown in table 7:
TABLE 7
For the 8 th to 14 th bands (represented by t8, t9, t10, t11, t12, t13, and t 14), the physical d 1-physical d5 and physical l0 discs were set to be dropped in a left-handed misalignment manner, the physical p disc, physical d 6-physical d10, and physical l1 discs were set to be dropped in a left-handed misalignment manner, as shown in table 8.
TABLE 8
The overall left-hand misalignment tray drop pattern is shown in table 9.
TABLE 9
Physical d1., physical d10, physical l0, physical l1, and physical P disks in tables 7, 8, and 9 above represent each physical disk (disk), t1, t 2..the third t14 represents each stripe, d1, d 2..the fourth d10 represents a data disk, l0, l1 represent a local parity disk, and P represents a global parity disk.
The above example is a description based on one stripe, and in actual production, common data is dropped in a left-handed misalignment way in consideration of load balancing. The method and the device adopt the left-handed misalignment mode provided by the embodiment of the disclosure to drop, are suitable for the coding and decoding rule provided by the embodiment of the disclosure, can recover any one and two error disks, and can solve the situation of partial three error disks, wherein only the three error disks in the two situations are not recovered, namely, the first three error disks are in a local check group (comprising a physical data disk and a physical l disk), and the second three error disks are physicalThe disk, the other two are in one local parity group (including physical data disk and physical l disk).
Fig. 17 is a schematic structural diagram of a data processing apparatus according to an embodiment of the present disclosure, where, as shown in fig. 17, the apparatus includes:
the first processing module is used for responding to a wrong disc recovery request of the storage system and determining a recovery method corresponding to the wrong disc, wherein the number of the wrong discs is at least one;
The second processing module is used for carrying out data recovery on the error disc by utilizing the recovery method to obtain a data recovery result;
each stripe in the storage system is divided into a first local check group, a second local check group and a global check group;
The global check group comprises a global check disk, a first data disk part and a second data disk part, the first local check group comprises a first local check disk, a first data disk part and a global check disk, and the second local check group comprises a second local check disk, a second data disk part and a global check disk.
In some embodiments, the first processing module is configured to determine the information of the wrong disc in the wrong disc recovery request, where the information of the wrong disc includes at least one of a number of wrong discs, a type of wrong disc, and a check group where the wrong disc is located;
Determining the recovery method according to the error disc information, wherein the recovery method is a method for recovering error disc data by utilizing a target coding and decoding rule;
the target codec rule includes at least one of:
The first local encoding and decoding rule is corresponding to the first local checking group, and represents that the result of exclusive-or operation after each disc in the first local checking group is multiplied by the position information of the disc is 0;
the second local encoding and decoding rule corresponding to the second local checking group characterizes that the result of exclusive-or operation after each disc in the second local checking group is multiplied by the position information of the disc is 0;
the first global encoding and decoding rule corresponding to the global checking group characterizes that the result of exclusive-or operation among the disks in the first local checking group is 0;
The first data disk portion and the second data disk portion have the same number of data disks.
In some embodiments, the first processing module is configured to determine, as a target codec rule, a codec rule corresponding to a check group where the error disk is located if the number of the error disks is 1;
And if the number of the error discs is 2 or 3, determining a target encoding and decoding rule according to the type of the error discs and the verification group where the error discs are located.
In some embodiments, if the number of misdisks is 2, the first processing module is configured to select, as the target codec rule, a first combined codec rule if the number of misdisks satisfies a first condition;
the first condition is that the two error disks comprise a global check disk and a first disk, wherein the first disk is any data disk or local check disk;
the first combined encoding and decoding rule comprises a local encoding and decoding rule which does not contain the first disc and a local encoding and decoding rule which contains the first disc.
In some embodiments, if the number of misdisks is 2, the first processing module is configured to select, as the target codec rule, a second combined codec rule if the number of misdisks satisfies a second condition;
the second condition is that two wrong discs belong to different local check groups, and the two wrong discs are data discs or local check discs;
the second combined encoding and decoding rule comprises local encoding and decoding rules corresponding to each local check group respectively.
In some embodiments, if the number of misdisks is 2, the first processing module is configured to select, as the target codec rule, a codec rule of a third combination if the number of misdisks satisfies a third condition;
The third condition is that the two error disks comprise any data disk and local check disk belonging to the same local check group;
The third combined encoding and decoding rule comprises a first global encoding and decoding rule, and a local encoding and decoding rule corresponding to the random data disk and the local check disk.
In some embodiments, if the number of misdisks is 2, the first processing module is configured to select, as the target codec rule, a fourth combined codec rule if the number of misdisks satisfies a fourth condition;
the fourth condition is that the two wrong discs comprise two data discs belonging to the same local check group;
The fourth combined encoding and decoding rule comprises a first target decoding rule aiming at two data discs, wherein the first target decoding rule is generated based on a second global encoding and decoding rule, and the second global encoding and decoding rule is generated after being combined based on the first local encoding and decoding rule, the second local encoding and decoding rule and the first global encoding and decoding rule.
In some embodiments, if the number of misdisks is 3, the first processing module is configured to select, as the target codec rule, a fifth combined codec rule if the number of misdisks satisfies a fifth condition;
The fifth condition is that the three wrong discs comprise two second discs belonging to the same local check group and a third disc belonging to another local check group, wherein the second discs are data discs and the third discs are random discs;
The fifth combined encoding and decoding rule comprises a local encoding and decoding rule corresponding to a third disk and second target decoding rules aiming at two second disks, wherein the second target decoding rules are generated based on a third global encoding and decoding rule, and the third global encoding and decoding rule is generated after the local encoding and decoding rules corresponding to the second disks and the first global encoding and decoding rules are combined.
In some embodiments, if the number of misdisks is 3, the first processing module is configured to select, as the target codec rule, a sixth combined codec rule if the number of misdisks satisfies a sixth condition;
the sixth condition is that the three error discs comprise a data disc and a local check disc which belong to the same local check group, and a fourth disc which belongs to another local check group, wherein the fourth disc is any disc;
The sixth combined encoding and decoding rule comprises a local encoding and decoding rule corresponding to the fourth disc, a first global encoding and decoding rule, and local encoding and decoding rules corresponding to the data disc and the local verification disc.
In some embodiments, if the number of misdisks is 3, the first processing module is configured to select, as the target codec rule, a seventh combined codec rule if the number of misdisks satisfies a seventh condition;
The seventh condition is that the three error disks comprise a global check disk, and a fifth disk and a sixth disk which are respectively from two local check groups, wherein the fifth disk is a local check disk or a data disk, and the sixth disk is a local check disk or a data disk;
The seventh combined codec rules include a third target decode rule for a fifth disk, a fourth target decode rule for a sixth disk, and the first global codec rule, first local codec rule, or second local codec rule;
The third target decoding rule and the fourth target decoding rule are generated based on the first global codec rule, the first local codec rule, and the second local codec rule.
In some embodiments, the device further comprises a disk dropping module, a data disk loading module and a data disk loading module, wherein the disk dropping module is used for performing data disk dropping on the data disk, the global check disk, the first local check disk and/or the second local check disk of each strip in a target disk dropping mode;
The target landing mode comprises one of left-handed alignment, right-handed alignment and left-handed misalignment.
In some embodiments, if the left-handed misaligned drop tray mode is adopted, the drop tray module is configured to perform drop tray according to the left-handed misaligned mode by taking the 1 st physical disk to the N-2 nd physical disk, the first local check physical disk and the global check physical disk as a group for the 1 st to the N th stripes, and taking the N-1 st physical disk to the 2N-4 physical disk and the second local check physical disk as a group;
For the (N+1) -2N stripes, taking the 1 st to the (N-2) -th physical disks and the first local checking physical disk as a group, and carrying out disk dropping according to a left-handed misalignment mode;
where n= (k+1)/2, k represents that the storage system has a total number of disks.
It will be appreciated that the data processing apparatus provided in the above embodiment may allocate the above processing to be performed by different program modules as needed to complete all or part of the above described processing when implementing the corresponding data processing method. In addition, the apparatus provided in the foregoing embodiments and the embodiments of the corresponding methods belong to the same concept, and specific implementation processes of the apparatus and the embodiments of the methods are detailed in the method embodiments, which are not described herein again.
Embodiments of the present application provide a computer program product or computer program comprising computer instructions stored in a computer readable storage medium. A processor of a computer device reads the computer instructions from a computer readable storage medium, and the processor executes the computer instructions to cause the computer device to perform a data processing method.
Embodiments of the present application provide a computer readable storage medium storing executable instructions that, when executed by a processor, cause the processor to perform the data processing method provided by the embodiments of the present application.
In some embodiments, the computer readable storage medium may be FRAM, ROM, PROM, EPROM, EEPROM, flash memory, magnetic surface memory, optical disk, or CD-ROM, or various devices including one or any combination of the above.
In some embodiments, the executable instructions may be in the form of programs, software modules, scripts, or code, written in any form of programming language (including compiled or interpreted languages, or declarative or procedural languages), and they may be deployed in any form, including as stand-alone programs or as modules, components, subroutines, or other units suitable for use in a computing environment.
As an example, executable instructions may, but need not, correspond to files in a file system, may be stored as part of a file that holds other programs or data, such as in one or more scripts in a hypertext markup language (HTML, hyper Text Markup Language) document, in a single file dedicated to the program in question, or in multiple coordinated files (e.g., files that store one or more modules, sub-programs, or portions of code).
As an example, executable instructions may be deployed to be executed on one computing device or on multiple computing devices located at one site or distributed across multiple sites and interconnected by a communication network.
Fig. 18 is a schematic structural diagram of an electronic device according to an embodiment of the present disclosure, and as shown in fig. 18, the electronic device 180 includes a processor 1801 and a memory 1802 communicatively connected to the processor 1801, where the memory 1802 stores instructions executable by the processor 1801. The instructions are executed by the processor 1801 to enable the processor 1801 to perform:
Responding to a recovery request of a wrong disk of a storage system, and determining a recovery method corresponding to the wrong disk, wherein the number of the wrong disks is at least one;
Performing data recovery on the error disc by using the recovery method to obtain a data recovery result;
each stripe in the storage system is divided into a first local check group, a second local check group and a global check group;
The global check group comprises a global check disk, a first data disk part and a second data disk part, the first local check group comprises a first local check disk, a first data disk part and a global check disk, and the second local check group comprises a second local check disk, a second data disk part and a global check disk.
The electronic device provided in the foregoing embodiments and the embodiments of the corresponding data processing method belong to the same concept, and specific implementation processes of the electronic device are detailed in the method embodiments and are not described herein again.
In practice, the electronic device 180 may further comprise at least one network interface 1803. The various components in the electronic device 180 are coupled together by a bus system 1804. It is appreciated that the bus system 1804 is employed to facilitate connected communications between these components. The bus system 1804 includes a power bus, a control bus, and a status signal bus in addition to the data bus. The various buses are labeled as bus system 1804 in fig. 18 for clarity of illustration. The number of the processors 1801 may be at least one, and the number of the memories 1802 may be at least one. The network interface 1803 is used for wired or wireless communication between the electronic device 180 and other devices.
The memory 1802 in the presently disclosed embodiments is used to store various types of data to support the operation of the electronic device 180.
The methods disclosed in the embodiments of the present disclosure described above may be applied to the processor 1801 or implemented by the processor 1801. The processor 1801 may be an integrated circuit chip with signal processing capabilities. In implementation, the steps of the above method may be performed by integrated logic circuitry in hardware or instructions in software in the processor 1801. The Processor 1801 may be a general purpose Processor, a digital signal Processor (DSP, diGital Signal Processor), or other programmable logic device, discrete gate or transistor logic device, discrete hardware components, or the like. The processor 1801 may implement or perform the methods, steps, and logic blocks disclosed in embodiments of the present disclosure. The general purpose processor may be a microprocessor or any conventional processor or the like. The steps of the method disclosed in connection with the embodiments of the present disclosure may be embodied directly in hardware, in a decoded processor, or in a combination of hardware and software modules in the decoded processor. The software modules may be located in a storage medium including memory 1802, and processor 1801 reads information from memory 1802 and performs the steps of the data processing methods described above in connection with the hardware.
In some embodiments, the electronic device 180 may be implemented by one or more Application Specific Integrated Circuits (ASICs), DSPs, programmable logic devices (PLDs, programmable Logic Device), complex Programmable logic devices (CPLDs, complex Programmable Logic Device), field-Programmable gate arrays (FPGAs), general purpose processors, controllers, microcontrollers (MCUs, micro Controller Unit), microprocessors (microprocessors), or other electronic elements for performing the foregoing methods.
It should be appreciated that various forms of the flows shown above may be used to reorder, add, or delete steps. For example, the steps recited in the present disclosure may be performed in parallel, sequentially, or in a different order, provided that the desired results of the disclosed aspects are achieved, and are not limited herein.
In the above description reference has been made to "some embodiments" which describe a subset of all possible embodiments, but it is to be understood that "some embodiments" can be the same subset or different subsets of all possible embodiments and can be combined with each other without conflict.
Unless defined otherwise, all technical and scientific terms used herein have the same meaning as commonly understood by one of ordinary skill in the art to which this disclosure belongs. The terminology used in the present disclosure is for the purpose of describing embodiments of the present disclosure only and is not intended to be limiting of the present disclosure.
It should be understood that, in various embodiments of the present disclosure, the size of the sequence number of each implementation process does not mean that the execution sequence of each process should be determined by its function and internal logic, and should not constitute any limitation on the implementation process of the embodiments of the present disclosure.
Furthermore, the terms "first," "second," and the like, are used for descriptive purposes only and are not to be construed as indicating or implying a relative importance or implicitly indicating the number of technical features indicated. Thus, a feature defining "a first" or "a second" may explicitly or implicitly include at least one such feature. In the description of the present disclosure, the meaning of "a plurality" is two or more, unless explicitly defined otherwise.
The foregoing is merely specific embodiments of the disclosure, but the protection scope of the disclosure is not limited thereto, and any person skilled in the art can easily think about changes or substitutions within the technical scope of the disclosure, and it is intended to cover the scope of the disclosure. Therefore, the protection scope of the present disclosure shall be subject to the protection scope of the claims.
Claims (14)
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN202510896719.6A CN120406856B (en) | 2025-07-01 | 2025-07-01 | Data processing method and device, storage medium and electronic equipment |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN202510896719.6A CN120406856B (en) | 2025-07-01 | 2025-07-01 | Data processing method and device, storage medium and electronic equipment |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| CN120406856A CN120406856A (en) | 2025-08-01 |
| CN120406856B true CN120406856B (en) | 2025-10-28 |
Family
ID=96527303
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CN202510896719.6A Active CN120406856B (en) | 2025-07-01 | 2025-07-01 | Data processing method and device, storage medium and electronic equipment |
Country Status (1)
| Country | Link |
|---|---|
| CN (1) | CN120406856B (en) |
Families Citing this family (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN120723520B (en) * | 2025-08-26 | 2026-01-27 | 山东云海国创云计算装备产业创新中心有限公司 | An abnormal data processing method, apparatus, storage medium, and electronic device |
| CN120704957B (en) * | 2025-08-28 | 2026-01-27 | 山东云海国创云计算装备产业创新中心有限公司 | RAID data processing method, device, chip, electronic equipment, storage medium and computer program product |
| CN120704958B (en) * | 2025-08-28 | 2026-01-27 | 山东云海国创云计算装备产业创新中心有限公司 | RAID data processing method, device, chip, electronic equipment, storage medium and computer program product |
| CN120723544B (en) * | 2025-08-28 | 2026-01-27 | 山东云海国创云计算装备产业创新中心有限公司 | RAID data processing methods, devices, chips, electronic equipment, storage media, and computer program products |
Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN114442950A (en) * | 2022-01-21 | 2022-05-06 | 山东云海国创云计算装备产业创新中心有限公司 | Data recovery method, system, device and computer readable storage medium |
| CN115098295A (en) * | 2022-06-29 | 2022-09-23 | 阿里巴巴(中国)有限公司 | Data local recovery method, equipment and storage medium |
Family Cites Families (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US10606479B2 (en) * | 2018-08-07 | 2020-03-31 | International Business Machines Corporation | Catastrophic data loss prevention by global coordinator |
| CN114281270B (en) * | 2022-03-03 | 2022-05-27 | 山东云海国创云计算装备产业创新中心有限公司 | A data storage method, system, device and medium |
-
2025
- 2025-07-01 CN CN202510896719.6A patent/CN120406856B/en active Active
Patent Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN114442950A (en) * | 2022-01-21 | 2022-05-06 | 山东云海国创云计算装备产业创新中心有限公司 | Data recovery method, system, device and computer readable storage medium |
| CN115098295A (en) * | 2022-06-29 | 2022-09-23 | 阿里巴巴(中国)有限公司 | Data local recovery method, equipment and storage medium |
Also Published As
| Publication number | Publication date |
|---|---|
| CN120406856A (en) | 2025-08-01 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CN120406856B (en) | Data processing method and device, storage medium and electronic equipment | |
| CN107220148B (en) | Reconstruction method and device for redundant array of independent disks | |
| US8839028B1 (en) | Managing data availability in storage systems | |
| Greenan et al. | Flat XOR-based erasure codes in storage systems: Constructions, efficient recovery, and tradeoffs | |
| CN104246708B (en) | For the framework of the storage of data on nand flash memory | |
| US9606866B2 (en) | Method of, and apparatus for, improved data recovery in a storage system | |
| CN116501553B (en) | Data recovery method, device, system, electronic equipment and storage medium | |
| CN120469650A (en) | Data processing method, device, storage medium and electronic equipment | |
| KR20060052772A (en) | Data storage subsystem and data update method | |
| CN103577274A (en) | Management method and device of memory array | |
| CN114115729B (en) | An Efficient Data Migration Method under RAID | |
| CN115080303A (en) | Encoding method, decoding method, device and medium for RAID6 disk array | |
| US20120198195A1 (en) | Data storage system and method | |
| CN114153393B (en) | Data coding method, system, equipment and medium | |
| CN111782439B (en) | Double-disk circulation verification method based on horizontal coding | |
| CN109358980A (en) | A RAID6 encoding method friendly to data update and single-disk error repair | |
| CN114996047A (en) | A data storage method, system, device and medium | |
| CN114546272A (en) | Method, system, apparatus and storage medium for fast universal RAID demotion to RAID5 | |
| JP6260193B2 (en) | Storage system and storage program | |
| CN103809919B (en) | Efficiently hold many wrong fast quick-recovery coded methods and validation matrix generates method | |
| Liang et al. | Thou code: a triple-erasure-correcting horizontal code with optimal update complexity | |
| CN110600070B (en) | Coding and repairing method for improving repairing performance of solid state disk array system | |
| JP6375886B2 (en) | Parity layout determination program, parity layout determination method, storage apparatus and storage system | |
| CN113986608B (en) | Disk array data recovery method, system, storage medium and device | |
| CN102147714A (en) | Management method and management device of network storage system |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| PB01 | Publication | ||
| PB01 | Publication | ||
| SE01 | Entry into force of request for substantive examination | ||
| SE01 | Entry into force of request for substantive examination | ||
| GR01 | Patent grant | ||
| GR01 | Patent grant |