RAID data processing method and device, chip, electronic equipment, storage medium and computer program product
By dividing the RAID50 stripe area into two area groups and generating second parity information, the problem of traditional RAID50 being unable to decode under multiple faulty disks is solved, achieving efficient data recovery and improved fault tolerance.
Patent Information
- Application Number
- CN202511212563.1
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-08-28
- Publication Date
- 2025-09-26
- Estimated Expiration
- 2045-08-28
AI Technical Summary
Traditional distributed RAID50 cannot decode when facing multiple failed disks, especially when two failed disks are distributed in the same RAID, resulting in system unavailability, low fault tolerance and poor recovery performance.
The RAID50 stripe area is divided into two area groups, each group contains at least two data areas, a check area and a first hot spare area. The second check information is generated by encoding and stored in the hot spare area. Decoding and recovery are performed using multiple formulas, supporting the recovery of up to four failed disks.
It significantly improves the fault tolerance and recovery performance of RAID50, and can quickly and accurately restore data information in the case of multiple failed disks, reduce I/O overhead and computing resources, and improve system responsiveness.
Smart Images

Figure CN120704957A_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of data processing, and in particular to a RAID data processing method, device, chip, electronic device, storage medium, and computer program product. Background Art
[0002] In the field of RAID technology, a traditional distributed RAID50 system consists of two traditional distributed RAID5s. With a traditional distributed RAID5, when a drive fails, all member drives participate in the data reconstruction process, eliminating the single-disk write bottleneck. While RAID5 can only tolerate a single failed drive, a traditional distributed RAID50 can tolerate up to two failed drives, and both failed drives can only be decoded if they are distributed across two RAIDs. If two failed drives are distributed across a single RAID, decoding is impossible, resulting in system unavailability, low fault tolerance, and poor recovery performance. Summary of the Invention
[0003] The present application provides a RAID data processing method, device, chip, electronic device, storage medium and computer program product.
[0004] On one hand, an embodiment of the present application provides a RAID data processing method, which is applied to RAID 50. The RAID 50 includes at least one stripe group, the stripe group includes multiple stripes, and the regions in the stripes are divided into two region groups. The region groups include at least two data regions, one parity region, and a first hot spare region. The data regions store data information, the parity region stores first parity information, and the first hot spare region stores second parity information. The first parity information is determined based on all data information in the region group to which it belongs, and the second parity information is determined based on all data information and all first parity information. The method includes: Detecting failures in at most four storage devices, and determining at most four corresponding areas to be recovered in the stripe, wherein the areas to be recovered are a data area, a check area, and / or a first hot spare area; Determining a target area based on the at most four areas to be restored, the target area being a data area, a check area, and / or a first hot standby area excluding the area to be restored; Target information in the target area is read, and data information and / or first verification information of the area to be restored are restored based on the target information.
[0005] The determining of the target area based on the at most four areas to be restored includes: A storage device failure is detected, and the corresponding area to be recovered in the stripe is a data area or a check area, and the target area is determined to be other data areas and / or check areas in the area group where the area to be recovered is located.
[0006] The determining of the target area based on the at most four areas to be restored includes: It is detected that two storage devices fail, and the corresponding two to-be-recovered areas in the stripe are both data areas and / or check areas and belong to the same area group, and the target areas are determined to be all other data areas and / or check areas and the first hot spare area.
[0007] The determining of the target area based on the at most four areas to be restored includes: It is detected that two storage devices fail, and the corresponding two to-be-recovered areas in the stripe are both data areas and / or check areas and belong to different area groups, and the target area is determined to be all other data areas and / or check areas.
[0008] The determining of the target area based on the at most four areas to be restored includes: Failures of two storage devices are detected, and one of the corresponding areas to be recovered in the stripe is a data area or a check area, and the other area to be recovered is a first hot spare area. The target area is determined to be other data areas and / or check areas in the area group to which the data area or check area to be recovered belongs.
[0009] The determining of the target area based on the at most four areas to be restored includes: It is detected that three storage devices fail, and the corresponding three areas to be recovered in the stripe are all data areas and / or check areas and belong to the same area group, and the target areas are determined to be all other data areas and / or check areas and the first hot spare area.
[0010] The determining of the target area based on the at most four areas to be restored includes: It is detected that three storage devices have failed, the corresponding three areas to be recovered in the stripe are all data areas and / or check areas, two of them belong to the same area group and the other belongs to another area group, and the target areas are determined to be all other data areas and / or check areas and the first hot spare area.
[0011] The determining of the target area based on the at most four areas to be restored includes: It is detected that three storage devices have failed, the corresponding two areas to be recovered in the stripe are data areas and / or check areas, the other area to be recovered is the first hot spare area, and the two data areas and / or check areas to be recovered belong to the same area group, and the target areas are determined to be all other data areas and / or check areas and the first hot spare area.
[0012] The determining of the target area based on the at most four areas to be restored includes: It is detected that three storage devices have failed, the corresponding two areas to be recovered in the stripe are data areas and / or check areas, the other area to be recovered is the first hot spare area, and the two data areas and / or check areas to be recovered belong to different area groups, and the target area is determined to be all other data areas and / or check areas.
[0013] The determining of the target area based on the at most four areas to be restored includes: Failures in three storage devices are detected, and the corresponding two areas to be recovered in the stripe are the first hot spare area, and the other area to be recovered is the data area or the check area, and the target area is determined to be all other data areas and / or check areas in the area group to which the data area or check area to be recovered belongs.
[0014] The determining of the target area based on the at most four areas to be restored includes: It is detected that four storage devices have failed, the corresponding four areas to be recovered in the stripe are all data areas and / or check areas, three of them belong to the same area group and the other belongs to another area group, and the target areas are determined to be all other data areas and / or check areas and the first hot spare area.
[0015] The determining of the target area based on the at most four areas to be restored includes: It is detected that four storage devices have failed, the corresponding two areas to be recovered in the stripe are data areas and / or check areas, the other two areas to be recovered are first hot spare areas, and the two data areas and / or check areas to be recovered belong to different area groups, and the target areas are determined to be all other data areas and / or check areas.
[0016] Another aspect of the present application provides a RAID data processing device, the device comprising: A processing module is configured to detect that at most four storage devices have failed, and determine at most four corresponding areas to be recovered in the stripe, wherein the areas to be recovered are a data area, a check area, and / or a first hot spare area; a calculation module, configured to determine a target area based on the at most four areas to be recovered, wherein the target area is a data area, a check area, and / or a first hot standby area other than the area to be recovered; The calculation module is further configured to read target information in the target area, and restore the data information and / or first verification information of the area to be restored based on the target information.
[0017] Another aspect of an embodiment of the present application provides a chip, the chip including a processor, and the processor capable of executing the RAID data processing method.
[0018] Another aspect of an embodiment of the present application provides an electronic device, the electronic device includes a chip, the chip includes a processor, and the processor is capable of executing the RAID data processing method.
[0019] Another aspect of an embodiment of the present application provides a computer-readable storage medium, wherein the storage medium stores a computer program, and the computer program is used to execute the RAID data processing method.
[0020] On the other hand, an embodiment of the present application provides a computer program product, including a computer program or instructions, for causing a processor to execute and implement the RAID data processing method provided in the embodiment of the present application.
[0021] It should be understood that the content described in this section is not intended to identify the key or important features of the embodiments of the present application, nor is it intended to limit the scope of the present application. Other features of the present application will become easily understood through the following description. BRIEF DESCRIPTION OF THE DRAWINGS
[0022] The above and other objects, features and advantages of the exemplary embodiments of the present application will become readily understood by reading the detailed description below with reference to the accompanying drawings. In the accompanying drawings, several embodiments of the present application are shown in an illustrative and non-limiting manner, in which: In the drawings, the same or corresponding reference numerals denote the same or corresponding parts.
[0023] Figure 1 A flowchart of a RAID data processing method according to an embodiment of the present application is shown; Figure 2 A schematic structural diagram of a RAID data processing device according to an embodiment of the present application is shown; Figure 3 A schematic diagram of the structure of an electronic device according to an embodiment of the present application is shown. DETAILED DESCRIPTION
[0024] In order to make the purpose, features, and advantages of this application more obvious and easy to understand, the technical solutions in the embodiments of this application will be clearly and completely described below in conjunction with the drawings in the embodiments of this application. Obviously, the described embodiments are only part of the embodiments of this application, not all of the embodiments. Based on the embodiments in this application, all other embodiments obtained by those skilled in the art without making creative efforts shall fall within the scope of protection of this application.
[0025] The solution of the present application is used in distributed RAID50 (a RAID level).
[0026] Each stripe in a distributed RAID 50 system divides all regions into two region groups. Each region group stores data in at least two data regions and one parity region, storing a copy of first parity information. This first parity information is encoded based on the data stored in the region group to which it belongs. In the event of a drive failure, up to two failed drives can be recovered simultaneously.
[0027] For example, a distributed RAID 50 is composed of k+2 storage devices, where each stripe includes two check areas (areas for storing first check information), k-2 data areas (areas for storing data information), and two first hot spare areas (for temporarily storing recovered data information and / or first check information). These areas belong to different storage devices. All areas of the stripe are divided into two area groups, each area group including at least two data areas, one check area, and one first hot spare area. The two copies of first check information are p and q. The two copies of first check information p and q can be determined using the data information stored in each area group and the following formulas (1) and (2).
[0028]
[0029] in, is the XOR operation, For the strip Data information in each data area, It is the data information of a group of area groups in a stripe. For the data information in another group of area groups in the stripe, , and The first check information in the stripe.
[0030] When a disk error occurs, if there is only one disk error, the data information and / or first check information in the regional group to which the error disk belongs and the above formula (1) or formula (2) can be decoded to recover the single error disk. If there are two error disks, and when the two error disks belong to different regional groups, the data information and / or first check information in the non-error disk area and the above formula (1) and formula (2) can be decoded to recover the data in the two error disks. However, if the two error disks belong to the same regional group, or if there are three or four error disks, recovery is impossible.
[0031] For example, as shown in Table 1, Table 1 shows a distributed RAID50 including 10 storage devices, divided into 2 stripe groups, each stripe group including 4 stripes and stored in a left-handed non-aligned manner. Each stripe has 6 data areas for storing data information, 2 check areas for storing first check information, and 2 first hot spare areas. The first hot spare area is used to temporarily store data recovered from a faulty disk when a faulty disk occurs in the RAID50. When the storage device 2 and the storage device 7 in the RIAD50 fail, it is necessary to read the data shown in the shaded portion in Table 1, that is, the data information and / or the first check information of all areas except the area where the faulty disk is located and the first hot spare area, to restore the data information and / or the first check information in the storage devices 2 and 7.
[0032] Table 1
[0033] For another example, Table 2 shows a distributed RAID 50 configuration consisting of 10 storage devices, divided into two stripe groups, each stripe group consisting of four stripes, and flushed to disk in a left-handed, non-aligned manner. Each stripe has six data areas for storing data information, two parity areas for storing first parity information, and two first hot spare areas. The first hot spare area is used to temporarily store data recovered from a failed disk in the RAID 50 configuration.
[0034] When storage device 2 and storage device 3 in RAID50 fail, RAID50 cannot recover the faulty disk because two pieces of data information and / or first check information are lost in each stripe and the two pieces of data information and / or first check information belong to the same area group.
[0035] When the storage device 2, the storage device 3 and the storage device 6 in the RAID 50 fail, the RAID 50 cannot recover the faulty disks because three pieces of data information and / or the first parity information are lost in each stripe.
[0036] Table 2
[0037] In order to break through the performance bottleneck of data recovery, improve the speed and efficiency of data recovery, improve the recovery performance of RAID50, and realize the simultaneous recovery of up to four faulty disks in RAID50, an embodiment of the present application provides a RAID data processing method, which is applied to RAID50, wherein the RAID50 includes at least one stripe group, the stripe group includes multiple stripes, and the areas in the stripes are divided into two area groups, the area groups include at least two data areas, a check area and a first hot spare area, the data area stores data information, the check area stores first check information, the first hot spare area stores second check information, the first check information is determined based on all data information in the area group to which it belongs, and the second check information is determined based on all data information and all first check information.
[0038] For example, as shown in Table 3, Table 3 shows that based on the distributed RAID 50, all data information and the first check information are encoded to obtain two second check information, and the two second check information are stored in the first hot spare area of the two area groups respectively. 、 、 、 and The strip is divided into regional groups 1, 、 、 、 and Divide into the area group 2 of the strip, and then encode based on all data information and the first check information through the following formula (3) and formula (4) to obtain the two second check information of the strip and The two second verification information are stored in the first hot spare area of the two area groups of the stripe respectively. The subsequent stripes are the same as the above method and will not be described again here.
[0039]
[0040] in, is the XOR operation, For the strip Data information in each data area, is the location information of the storage device to which the corresponding area belongs, and is the first verification information, and is the second verification information.
[0041] Table 3
[0042] like Figure 1 As shown, the method includes: Step 101: Detect failures in at most four storage devices, and determine at most four corresponding areas to be recovered in the stripe, where the areas to be recovered are a data area, a check area, and / or a first hot spare area.
[0043] On the basis of the traditional RAID50, after the above encoding is continued and two second parity information are obtained, the information in the corresponding area to be restored can be restored when a maximum of four storage devices fail.
[0044] Step 102: determining a target area based on the at most four areas to be recovered, wherein the target area is a data area, a check area, and / or a first hot standby area excluding the area to be recovered.
[0045] Depending on the number and type of areas to be restored, a corresponding target area needs to be determined, and then the target information in the target area is read to restore the information in the area to be restored. The target area can be a data area outside the area to be restored, a check area, and / or a first hot standby area.
[0046] Step 103: Read the target information in the target area, and restore the data information and / or first verification information of the area to be restored based on the target information.
[0047] When only one storage device fails at the same time, the corresponding area to be recovered in the stripe may be the data area, the check area, or the first hot spare area.
[0048] If the area to be recovered is a data area or a check area, the target area can be determined to be all other data areas and / or check areas in the area group where the area to be recovered is located, the target data in the target area is read, and the information in the area to be recovered is restored using the above formula (1) or formula (2).
[0049] If the area to be restored is the first hot spare area, no restoration is required. After the failure of the storage device is resolved or repaired, all data information, the first check information, and the second check information are read. The second check information is re-determined using the above formulas (3) and (4) and stored in the restored first hot spare area.
[0050] When only two storage devices fail simultaneously, there are four scenarios: The first type is that the two corresponding areas to be recovered in the stripe are both data areas and / or check areas, and the two areas to be recovered belong to the same area group. In this case, because there are two pieces of lost data information and / or first check information in a single area group, recovery cannot be performed using formula (1) or formula (2). Therefore, the target areas are determined to be all other data areas and / or check areas and the first hot spare area. The target information in the target areas is read and jointly decoded using formulas (3) and (4) to recover the data information and / or first check information in the two areas to be recovered.
[0051] The second scenario involves two corresponding areas to be recovered in the stripe, both of which are data areas and / or check areas, and these two areas belong to different area groups. In this case, each area group within the stripe contains only one piece of lost data information or first check information. Therefore, the target areas are determined to be all other data areas and / or check information. The remaining data information and / or first check information within each area group is read and decoded using Formulas (1) and (2), respectively, to recover the data information and / or first check information in the two areas to be recovered.
[0052] The third type is that one of the corresponding areas to be recovered in the stripe is a data area or a check area, and the other area to be recovered is the first hot spare area. In this case, only one area group in the stripe has lost information, and only one piece of data information or first check information has been lost. Therefore, the target area is determined to be the other data area and / or check area in the area group to which the data area or check area to be recovered belongs. The other data information and / or first check information in the area group is read and decoded using formula (1) or formula (2) to recover the data information or first check information in the area to be recovered. The second check information in the first hot spare area can be re-determined using formulas (3) and (4) after the failure of the storage device is repaired by reading all the data information, first check information and / or second check information and storing it in the recovered first hot spare area.
[0053] In the fourth case, both of the corresponding areas to be restored in the stripe are first hot spare areas. In this case, since no data loss has occurred, there is no need to immediately restore the second parity information. After the storage device is repaired, all data and the first parity information can be read, and the two second parity information can be re-determined using the above formulas (3) and (4) and stored in the two restored first hot spare areas.
[0054] When only three storage devices fail simultaneously, there are four scenarios: The first type is that the three corresponding areas to be recovered in the stripe are all data areas and / or check areas, and these three areas to be recovered belong to the same area group. In this case, since there are three lost data information and / or first check information in a single area group, recovery cannot be performed using formula (1) or formula (2). Therefore, the target areas are determined to be all other data areas and / or check areas and the first hot standby area. The target information in the target area is read, and formula (5) is obtained using formula (1) and formula (2). Formula (3), formula (4) and formula (5) are then jointly decoded to recover the data information and / or first check information in the two areas to be recovered.
[0055]
[0056] The second type is that the three corresponding areas to be recovered in the stripe are all data areas and / or check areas, of which two areas to be recovered belong to the same area group and the other area to be recovered belongs to another area group. In this case, there are two lost data information and / or first check information in one area group, and the two areas to be recovered in this area group cannot be recovered by formula (1) or formula (2). Therefore, the target area is determined to be all other data areas and / or check areas and the first hot standby area. First, read the other data information and / or first check information in the area group that only lost one data information or first check information, and recover the data information or first check information by formula (1) or formula (2). Then read the other data information and / or first check information and the second check information in the stripe, and perform joint decoding by formula (3) and formula (4) to recover the data information or first check information in the remaining two areas to be recovered.
[0057] The third type is that the two corresponding areas to be recovered in the stripe are data areas and / or check areas, and the other area to be recovered is the first hot spare area, and the two data areas and / or check areas to be recovered belong to different area groups. In this case, both area groups in the stripe have only one lost data information or first check information, which can be recovered using formulas (1) and (2) respectively. Therefore, the target area is determined to be all other data areas and / or check areas. The other data information and / or first check information in each area group is read and decoded using formulas (1) and (2) respectively to recover the data information and / or first check information in the two areas to be recovered. The second check information in the first hot spare area can be re-determined using formulas (3) and (4) after the failure of the storage device is repaired by reading all the data information, first check information and / or second check information and storing it in the recovered first hot spare area.
[0058] The fourth type is that the two corresponding areas to be recovered in the stripe are the first hot spare areas, and the other area to be recovered is the data area or the check area. In this case, only one area group in the stripe has lost one piece of data information or first check information, and it can be recovered by formula (1) or formula (2). Therefore, the target area is determined to be the other data areas and / or check areas in the area group to which the data area or check area to be recovered belongs. The other data areas and / or check areas in the area group are read, and the data information or the first check information is recovered by formula (1) or formula (2). The two second check information do not need to be recovered immediately. After the fault of the storage device is repaired, all the data information and the first check information can be read, and the two second check information can be re-determined by the above formulas (3) and (4) and stored in the two first hot spare areas after recovery.
[0059] When only four storage devices fail simultaneously, there are two situations: The first type is that the four corresponding areas to be recovered in the stripe are all data areas and / or check areas, of which three areas to be recovered belong to the same area group, and the other area to be recovered belongs to another area group. In this case, since a total of four data information and / or first check information are lost, they cannot be directly recovered using formulas (3) and (4). However, for the area group that only loses one data information or first check information, the lost data information or first check information in the area group can be first recovered using formulas (1) or (2). Then, based on the recovered data information or first check information, all other non-lost data information and / or first check information, and two second check information, joint decoding is performed using formulas (3), (4), and (5) to recover the three data information and / or first check information in the other area group. Therefore, the target area is determined to be all other data areas and / or check areas and the first hot standby area.
[0060] The second type is that the two corresponding areas to be recovered in the stripe are data areas and / or check areas, and the other two areas to be recovered are both first hot spare areas, and the two data areas and / or check areas to be recovered belong to different area groups. In this case, each of the two area groups in the stripe has only one lost data information or first check information, which can be recovered using formulas (1) and (2) respectively. Therefore, the target area is determined to be all other data areas and / or check areas. The other data information and / or first check information in each area group is read and decoded using formulas (1) and (2) respectively to recover the data information and / or first check information in the two areas to be recovered. The second check information in the first hot spare area can be re-determined using formulas (3) and (4) after the failure of the storage device is repaired by reading all the data information, first check information and / or second check information and storing it in the recovered first hot spare area.
[0061] In the above scheme, all data information and first check information in the traditional distributed RAID50 are jointly encoded to determine two global second check information and store them in the first hot spare area, thereby significantly improving the fault tolerance and recovery performance of the system. When three faulty data areas and / or check areas occur at the same time and belong to the same area group, formula (1) and formula (2) can be used to read the data information and / or first check information of the two area groups and the second check information of the first hot spare area to determine formula (5). Finally, formula (3), formula (4) and formula (5) are jointly encoded to restore the three lost data information and / or first check information, significantly improving the fault tolerance and recovery performance of the RAID system. When four faulty data areas and / or check areas occur at the same time, the lost data information and / or first check information in some cases can also be restored, further improving the fault tolerance and recovery performance of the RAID system.
[0062] In an example of the present application, a RAID data processing method is further provided, wherein determining a target area based on the at most four areas to be recovered includes: A storage device failure is detected, and the corresponding area to be recovered in the stripe is a data area or a check area, and the target area is determined to be other data areas and / or check areas in the area group where the area to be recovered is located.
[0063] For example, as shown in Table 4, in the distributed RAID 50 shown in Table 4, if storage device 3 fails, the shaded area in Table 4 is the area to be recovered for each stripe. The data area where the stripe 2 in stripe group 1 is located is The area to be restored for stripe 1 in stripe group 2 is The data area where the stripe 2 in stripe group 2 is located. The data area.
[0064] When only one storage device fails and the corresponding area to be recovered in the stripe is a data area or a check area, the target area may be determined to be all other data areas and / or check areas in the area group where the area to be recovered is located.
[0065] In the distributed RAID50 shown in Table 4, in stripe 1 of stripe group 1, the area to be recovered is The data area where the target area of stripe 1 in stripe group 1 is determined to be 、 The data area and The check area where the data is located. In stripe 2 of stripe group 1, the area to be recovered is The target area of stripe 2 in stripe group 1 is determined to be 、 、 The data area where it is located. In stripe 1 of stripe group 2, the area to be recovered is The data area where the target area of stripe 1 in stripe group 2 is determined to be 、 The data area and The check area where the data is located. In stripe 2 of stripe group 2, the area to be recovered is The data area where the target area of stripe 2 in stripe group 2 is determined to be 、 The data area and After reading the target information of the target area in the stripe, the data information or the first check information in the area to be recovered is recovered by formula (1) or formula (2) (determined based on the area group where the area to be recovered is located).
[0066] It should be noted that if only one storage device fails and the corresponding area to be restored in the stripe is the first hot spare area, immediate recovery is not required. After the storage device failure is repaired, all data information, first checksum information, and / or second checksum information in the stripe can be read, and the second checksum information can be re-determined using Formulas (3) and (4) and stored in the restored first hot spare area.
[0067] Table 4
[0068] In the above solution, by explicitly limiting the target area to other data areas and / or check areas within the zone group containing the area to be recovered, the recovery process is more targeted and efficient. This avoids unnecessary data access by reading entire stripes or across zone groups, significantly reducing the I / O overhead and computing resources required for recovery operations. This speeds up data recovery in the event of a single drive failure and improves system responsiveness and processing efficiency.
[0069] In an example of the present application, a RAID data processing method is further provided, wherein determining a target area based on the at most four areas to be recovered includes: It is detected that two storage devices fail, and the corresponding two to-be-recovered areas in the stripe are both data areas or check areas and belong to the same area group, and the target areas are determined to be all other data areas and / or check areas and the first hot spare area.
[0070] For example, as shown in Table 5, in the distributed RAID 50 shown in Table 5, if storage device 3 and storage device 4 fail at the same time, the shaded area in Table 5 is the area to be recovered for each stripe. The data area and The area to be restored for stripe 2 in stripe group 1 is The data area and The verification area.
[0071] When two storage devices fail at the same time, and the corresponding two areas to be recovered in the stripe are both data areas or check areas, and the two areas to be recovered belong to the same area group, the target areas can be determined to be all other data areas and / or check areas, and the first hot spare area.
[0072] In the distributed RAID50 shown in Table 5, in stripe 1 of stripe group 1, the area to be recovered is The data area and The target area of stripe 1 in stripe group 1 is determined to be 、 、 、 、 The data area, The verification area and 、 The first hot standby area. In stripe 2 of stripe group 1, the area to be restored is The data area and The target area of stripe 2 in stripe group 1 is determined to be 、 、 、 、 The data area, The verification area and 、 After reading the target information of the target area in the stripe, the data information and / or the first check information in the two areas to be recovered are restored by performing joint decoding using formulas (3) and (4).
[0073] Table 5
[0074] In the above solution, when two storage devices fail simultaneously, and both corresponding recovery areas are data areas and / or parity areas, and both areas belong to the same area group, the target areas are explicitly designated as all other data areas and / or parity areas, as well as the first hot spare area. Joint decoding is performed using the second parity information, effectively resolving the traditional problem of dual-disk failures within the same area group being unrecoverable. While maintaining data integrity, the system accurately reconstructs the data information and first parity information within the failed area, significantly improving the system's fault tolerance and recovery performance for dual-disk failures.
[0075] In an example of the present application, a RAID data processing method is further provided, wherein determining a target area based on the at most four areas to be recovered includes: It is detected that two storage devices fail, and the corresponding two to-be-recovered areas in the stripe are both data areas or check areas and belong to different area groups, and the target area is determined to be all other data areas and / or check areas.
[0076] For example, as shown in Table 6, in the distributed RAID 50 shown in Table 6, if storage device 3 and storage device 7 fail at the same time, the shaded area in Table 6 is the area to be recovered for each stripe. 、 The data area where the stripe 2 in stripe group 1 is located is The data area and The area to be restored for stripe 1 in stripe group 2 is The data area and The area to be restored for stripe 2 in stripe group 2 is 、 The data area.
[0077] When two storage devices fail at the same time, and the corresponding two areas to be recovered in the stripe are both data areas or parity areas, and the two areas to be recovered belong to different area groups, the target area can be determined to be all other data areas and / or parity areas.
[0078] In the distributed RAID50 shown in Table 6, in stripe 1 of stripe group 1, the area to be recovered is 、 The data area where the target area of stripe 1 in stripe group 1 is determined to be 、 、 、 The data area and 、 The verification area is based on 、 and Recover by formula (1) ,based on 、 and Recover by formula (2) In stripe 2 of stripe group 1, the area to be restored is The data area and The target area of stripe 2 in stripe group 1 is determined to be 、 、 、 、 The data area and The verification area is based on 、 、 Recover by formula (1) ,based on 、 、 recover In stripe 1 of stripe group 2, the area to be restored is The data area and The target area of stripe 1 in stripe group 2 is determined to be 、 、 、 、 The data area and The verification area is based on 、 、 Recover by formula (1) ,based on 、 、 recover In stripe 2 of stripe group 2, the area to be restored is 、 The data area where the target area of stripe 2 in stripe group 2 is determined to be 、 、 、 The data area and 、 The verification area is based on 、 、 Recover by formula (1) ,based on 、 、 recover .
[0079] Table 6
[0080] In the above solution, when two storage devices fail simultaneously, and the corresponding two areas to be recovered are both data areas and / or verification areas, and the two areas to be recovered belong to different area groups, the target area is explicitly designated as all other data areas and / or verification areas. Leveraging the existing verification relationships within each area group, the lost data information and / or first verification information within each group is independently and concurrently recovered. This avoids the overhead of reading global data or the first hot standby area, significantly reducing the I / O load and computational complexity during the recovery process, thereby achieving fast and accurate fault recovery and effectively improving the system's efficiency and overall performance when handling distributed faults across groups.
[0081] In an example of the present application, a RAID data processing method is further provided, wherein determining a target area based on the at most four areas to be recovered includes: Failures of two storage devices are detected, and one of the corresponding areas to be recovered in the stripe is a data area or a check area, and the other area to be recovered is a first hot spare area. The target area is determined to be other data areas and / or check areas in the area group to which the data area or check area to be recovered belongs.
[0082] For example, as shown in Table 5, in the distributed RAID 50 shown in Table 5, if storage device 3 and storage device 4 fail at the same time, the shaded area in Table 5 is the area to be recovered for each stripe. The area to be recovered for stripe 1 in stripe group 2 is The data area and The first hot standby area where the stripe 2 in stripe group 2 is located is The data area and The first hot standby zone.
[0083] When two storage devices fail at the same time, and one of the corresponding areas to be recovered in the stripe is a data area or a check area, and the other area to be recovered is a first hot spare area, the target area can be determined to be other data areas and / or check areas in the area group to which the data area or check area to be recovered belongs.
[0084] In the distributed RAID50 shown in Table 5, in stripe 1 of stripe group 2, the area to be recovered is The data area and The first hot standby area is located, then the target area of stripe 1 in stripe group 2 is determined to be 、 The data area and The verification area is based on 、 、 Recover by formula (1) In stripe 2 of stripe group 2, the area to be restored is The data area and The first hot standby area is located, then the target area of stripe 2 in stripe group 2 is determined to be 、 The data area and The verification area is based on 、 、 Recover by formula (1) It should be noted that if the data area or check area to be recovered is in another area group, then only all other data information and / or first check information in the other area group need to be read and restored using formula (2). However, the first hot spare area does not need to be restored immediately. After the failure of the storage device is repaired, all data information, first check information and / or second check information in the stripe can be read, and the second check information can be re-determined using formulas (3) and (4) and stored in the restored first hot spare area.
[0085] In the above solution, when two storage devices fail simultaneously, with one area to be recovered being a data area or a check area and the other being a first hot spare area, the target area is explicitly designated as another data area and / or check area in the area group to which the data area or check area to be recovered belongs. Verification relationships within the area group are then leveraged to quickly recover lost data or check information, eliminating the need to immediately address the failure of the first hot spare area. This significantly reduces the scope and computational burden of immediate recovery operations, prioritizing user data accessibility and the continuity of core system functions. Recovery of the first hot spare area is also delayed until the failed storage device is repaired, optimizing resource allocation and improving the speed and efficiency of system recovery in mixed failure scenarios.
[0086] In an example of the present application, a RAID data processing method is further provided, the method further comprising: If it is detected that two storage devices have failed and the corresponding two areas to be recovered in the stripe are both first hot spare areas, then after the storage device failure is resolved, all data information and first verification information in the stripe are read, and the second verification information in the first hot spare area is re-determined based on all data information and the first verification information.
[0087] When two storage devices fail simultaneously, and the two corresponding areas to be restored in the stripe are both first hot spare areas, immediate recovery is not required. After the storage device failure is repaired, all data information and first parity information in the stripe can be read, and the two second parity information can be re-determined using formulas (3) and (4) and stored in the two restored first hot spare areas.
[0088] In an example of the present application, a RAID data processing method is further provided, wherein determining a target area based on the at most four areas to be recovered includes: It is detected that three storage devices fail, and the corresponding three areas to be recovered in the stripe are all data areas and / or check areas and belong to the same area group, and the target areas are determined to be all other data areas and / or check areas and the first hot spare area.
[0089] For example, as shown in Table 7, in the distributed RAID 50 shown in Table 7, if storage device 2, storage device 3, and storage device 4 fail at the same time, the shaded area in Table 7 is the area to be recovered for each stripe. The area to be recovered for stripe 1 in stripe group 1 is 、 The data area and The area to be restored for stripe 2 in stripe group 1 is 、 The data area and The verification area.
[0090] When three storage devices fail at the same time, and the corresponding three areas to be recovered in the stripe are all data areas and / or check areas, and these three areas to be recovered belong to the same area group, the target areas can be determined to be all other data areas and / or check areas, and the first hot spare area.
[0091] In the distributed RAID50 shown in Table 7, in stripe 1 of stripe group 1, the area to be recovered is 、 The data area and The target area of stripe 1 in stripe group 1 is determined to be 、 、 、 The data area, The verification area and 、 The first hot standby area. In stripe 2 of stripe group 1, the area to be restored is 、 The data area and The target area of stripe 2 in stripe group 1 is determined to be 、 、 、 The data area, The verification area and 、 After reading the target information of the target area in the stripe, the data information and / or the first check information in the three areas to be recovered are restored by performing joint decoding using formulas (3), (4), and (5).
[0092] Table 7
[0093] In the above solution, when three storage devices fail simultaneously and the corresponding three areas to be recovered are all data areas and / or check areas, the target areas are clearly designated as all other data areas and / or check areas and the first hot spare area. By comprehensively utilizing the first check information and the second check information within the stripe for joint decoding, the three lost data information and / or first check information within the same area group can be successfully recovered. This breaks through the limitation of the traditional RAID50 architecture that cannot cope with more than two concurrent failures, significantly enhances the system's tolerance for severe local failures, ensures data recoverability and system continuity in extreme failure situations, and thus significantly improves the system's fault tolerance and recovery performance, thereby enhancing the reliability and risk resistance of the overall storage solution.
[0094] In an example of the present application, a RAID data processing method is further provided, wherein determining a target area based on the at most four areas to be recovered includes: It is detected that three storage devices have failed, the corresponding three areas to be recovered in the stripe are all data areas and / or check areas, two of them belong to the same area group and the other belongs to another area group, and the target areas are determined to be all other data areas and / or check areas and the first hot spare area.
[0095] For example, as shown in Table 8, in the distributed RAID 50 shown in Table 8, if storage device 4, storage device 6, and storage device 7 fail at the same time, the shaded area in Table 8 is the area to be recovered for each stripe. 、 The data area and The area to be restored for stripe 2 in stripe group 1 is 、 、 The data area.
[0096] When three storage devices fail simultaneously, and the corresponding three areas to be recovered in the stripe are all data areas and / or check areas, and two of the three areas to be recovered belong to the same area group, and the other area group to be recovered belongs to another area group, then the target areas can be determined to be all other data areas and / or check areas, and the first hot spare area.
[0097] In the distributed RAID50 shown in Table 8, in stripe 1 of stripe group 1, the area to be recovered is 、 The data area and The target area of stripe 1 in stripe group 1 is determined to be 、 、 、 The data area, The verification area and 、 The first hot standby area is based on 、 、 Recover by formula (1) , based on 、 、 、 、 、 、 、 By performing joint decoding with formula (3) and formula (4), we can recover and In stripe 2 of stripe group 1, the area to be restored is 、 、 The data area where the target area of stripe 2 in stripe group 1 is determined to be 、 、 The data area, and The verification area and 、 The first hot standby area is based on 、 、 Recover by formula (1) , based on 、 、 、 、 、 、 、 By performing joint decoding with formula (3) and formula (4), we can recover and It should be noted that if only one area group of data information or verification information is lost, then recovery can be performed based on formula (2) first.
[0098] Table 8
[0099] In the above solution, when three storage devices fail simultaneously, the corresponding three areas to be recovered are all data areas and / or check areas. Two of the three areas to be recovered belong to the same area group, while the other area group to be recovered belongs to another area group. The target areas are then explicitly designated as all other data areas and / or check areas, as well as the first hot spare area. The information to be recovered in the area group that lost a single piece of data information or first check information is first recovered, and then joint decoding is performed using the second check information. This allows for the successful recovery of the two pieces of data information and / or first check information lost in the other area group. This overcomes the limitation of the traditional RAID50 architecture, which cannot cope with more than two concurrent failures, significantly enhances the system's tolerance for severe local failures, ensures data recoverability and system continuity in extreme failure scenarios, and significantly improves the system's fault tolerance and recovery performance, thereby enhancing the reliability and risk resistance of the overall storage solution.
[0100] In an example of the present application, a RAID data processing method is further provided, wherein determining a target area based on the at most four areas to be recovered includes: It is detected that three storage devices have failed, the corresponding two areas to be recovered in the stripe are data areas and / or check areas, the other area to be recovered is the first hot spare area, and the two data areas and / or check areas to be recovered belong to the same area group, and the target areas are determined to be all other data areas and / or check areas and the first hot spare area.
[0101] For example, as shown in Table 9, in the distributed RAID 50 shown in Table 9, if storage device 4, storage device 6, and storage device 10 fail at the same time, the shaded area in Table 9 is the area to be recovered for each stripe. The area to be recovered for stripe 1 in stripe group 2 is 、 The data area and The first hot standby area where the stripe 2 in stripe group 2 is located is The data area, The verification area and The first hot standby zone.
[0102] When three storage devices fail at the same time, and the corresponding two areas to be recovered in the stripe are data areas and / or check areas, and the other area to be recovered is the first hot spare area, and the two data areas and / or check areas to be recovered belong to the same area group, the target area can be determined to be all other data areas and / or check areas, and the first hot spare area.
[0103] In the distributed RAID50 shown in Table 9, in stripe 1 of stripe group 2, the area to be recovered is 、 The data area and The first hot standby area is located, then the target area of stripe 1 in stripe group 2 is determined to be 、 、 、 The data area, and The verification area and The first hot standby area is based on 、 、 、 、 、 、 、 Through the joint decoding of formula (3), formula (4) and formula (5), we can recover 、 and In stripe 2 of stripe group 2, the area to be restored is The data area, The verification area and The first hot standby area is located, then the target area of stripe 2 in stripe group 2 is determined to be 、 、 、 、 The data area, The verification area and The first hot standby area is based on 、 、 、 、 、 、 Through the joint decoding of formula (3), formula (4) and formula (5), we can recover 、 and The first hot spare area does not need to be restored immediately. After the failure of the storage device is repaired, all data information, first check information and / or second check information in the stripe can be read, and the second check information can be re-determined using formulas (3) and (4) and stored in the restored first hot spare area.
[0104] Table 9
[0105] In the above solution, when three storage devices fail simultaneously, the corresponding two areas to be recovered are data areas and / or verification areas, and the other area to be recovered is the first hot spare area. If the two data areas and / or verification areas to be recovered belong to the same area group, then the target areas are clearly designated as all other data areas and / or verification areas and the first hot spare area. By comprehensively utilizing the first verification information and the second verification information in the stripe for joint decoding, the two lost data information and / or verification information in the same area group can be successfully recovered. This breaks through the limitation of the traditional RAID50 architecture that cannot cope with more than two concurrent failures, significantly enhances the system's tolerance for severe local failures, ensures data recoverability and system continuity in extreme failure situations, and thus significantly improves the system's fault tolerance and recovery performance, thereby improving the reliability and risk resistance of the overall storage solution.
[0106] In an example of the present application, a RAID data processing method is further provided, wherein determining a target area based on the at most four areas to be recovered includes: It is detected that three storage devices have failed, the corresponding two areas to be recovered in the stripe are data areas and / or check areas, the other area to be recovered is the first hot spare area, and the two data areas and / or check areas to be recovered belong to different area groups, and the target area is determined to be all other data areas and / or check areas.
[0107] For example, as shown in Table 9, in the distributed RAID 50 shown in Table 9, if storage device 4, storage device 6, and storage device 10 fail at the same time, the shaded area in Table 9 is the area to be recovered for each stripe. The area to be recovered for stripe 1 in stripe group 1 is The data area, The verification area and The first hot standby area. The area to be restored for stripe 2 in stripe group 1 is 、 The data area and The first hot standby zone.
[0108] When three storage devices fail at the same time, and the corresponding two areas to be recovered in the stripe are data areas and / or check areas, the other area to be recovered is the first hot spare area, and the two data areas and / or check areas to be recovered belong to different area groups, then the target area can be determined to be all other data areas and / or check areas.
[0109] In the distributed RAID50 shown in Table 9, in stripe 1 of stripe group 1, the area to be recovered is The data area, The verification area and The first hot standby area is located, then the target area of stripe 1 in stripe group 1 is determined to be 、 、 、 、 The data area, The verification area and The first hot standby area is based on 、 、 Recover by formula (1) ,based on 、 、 Recover by formula (2) In stripe 2 of stripe group 1, the area to be restored is 、 The data area and The first hot standby area is located, then the target area of stripe 2 in stripe group 1 is determined to be 、 、 、 The data area, and The verification area and The first hot standby area is based on 、 、 Recover by formula (1) ,based on 、 、 Recover by formula (2) The first hot spare area does not need to be restored immediately. After the failure of the storage device is repaired, all data information, first check information and / or second check information in the stripe can be read, and the second check information can be re-determined using formulas (3) and (4) and stored in the restored first hot spare area.
[0110] In the above solution, when three storage devices fail simultaneously, the corresponding two areas to be recovered are data areas and / or verification areas, and the other area to be recovered is the first hot spare area. Moreover, the two data areas and / or verification areas to be recovered belong to different area groups. Then, the target areas are explicitly designated as all other data areas and / or verification areas. Only the first verification information within the stripe can be used to recover the two lost data and / or verification information in the two area groups. This breaks through the limitation of the traditional RAID50 architecture that cannot cope with more than two concurrent failures, significantly enhances the system's tolerance for severe local failures, ensures data recoverability and system continuity in extreme failure situations, and thus significantly improves the system's fault tolerance and recovery performance, thereby improving the reliability and risk resistance of the overall storage solution.
[0111] In an example of the present application, a RAID data processing method is further provided, wherein determining a target area based on the at most four areas to be recovered includes: Failures in three storage devices are detected, and the corresponding two areas to be recovered in the stripe are the first hot spare area, and the other area to be recovered is the data area or the check area, and the target area is determined to be all other data areas and / or check areas in the area group to which the data area or check area to be recovered belongs.
[0112] For example, as shown in Table 10, in the distributed RAID 50 shown in Table 10, if storage device 5, storage device 6, and storage device 10 fail at the same time, the shaded area in Table 10 is the area to be recovered for each stripe. The data area and 、 The first hot standby area. The area to be restored for stripe 2 in stripe group 1 is The data area and 、 The first hot standby zone.
[0113] When three storage devices fail at the same time, and the corresponding two areas to be recovered in the stripe are the first hot spare area, and the other area to be recovered is the data area or the check area, the target area can be determined to be all other data areas and / or check areas in the area group to which the data area or check area to be recovered belongs.
[0114] In the distributed RAID50 shown in Table 10, in stripe 1 of stripe group 1, the area to be recovered is The data area and 、 The first hot standby area is located, then the target area of stripe 1 in stripe group 1 is determined to be 、 The data area and The verification area is based on 、 、 Recover by formula (2) In stripe 2 of stripe group 1, the area to be restored is The data area and 、 The first hot standby area is located, then the target area of stripe 2 in stripe group 1 is determined to be 、 The data area and The verification area is based on 、 、 Recover by formula (2) The first hot spare area does not need to be restored immediately. After the failure of the storage device is repaired, all data information, first check information and / or second check information in the stripe can be read, and the second check information can be re-determined using formulas (3) and (4) and stored in the restored first hot spare area.
[0115] Table 10
[0116] In the above solution, when three storage devices fail simultaneously, the corresponding two areas to be recovered are the first hot spare area, and the other area to be recovered is the data area or verification area. Then, the target area is explicitly designated as all other data areas and / or verification areas in the area group to which the data area or verification area to be recovered belongs. The lost data area or verification area can be recovered only through the first verification information within the stripe. This breaks through the limitation of the traditional RAID50 architecture that cannot cope with more than two concurrent failures, significantly enhances the system's tolerance for severe local failures, ensures data recoverability and system continuity in extreme failure situations, and thus significantly improves the system's fault tolerance and recovery performance, thereby improving the reliability and risk resistance of the overall storage solution.
[0117] In an example of the present application, a RAID data processing method is further provided, wherein determining a target area based on the at most four areas to be recovered includes: It is detected that four storage devices have failed, the corresponding four areas to be recovered in the stripe are all data areas and / or check areas, three of them belong to the same area group and the other belongs to another area group, and the target areas are determined to be all other data areas and / or check areas and the first hot spare area.
[0118] For example, as shown in Table 11, in the distributed RAID 50 shown in Table 11, if storage device 1, storage device 2, storage device 3, and storage device 9 fail at the same time, the shaded area in Table 11 is the area to be recovered for each stripe. The area to be recovered for stripe 1 in stripe group 1 is 、 、 The data area and The area to be restored for stripe 2 in stripe group 1 is 、 、 The data area and The verification area.
[0119] When four storage devices fail at the same time, the corresponding four areas to be recovered in the stripe are all data areas and / or check areas, and three of the areas to be recovered belong to the same area group, and the other area to be recovered belongs to another area group, then the target areas can be determined to be all other data areas and / or check areas and the first hot spare area.
[0120] In the distributed RAID50 shown in Table 11, in stripe 1 of stripe group 1, the area to be recovered is 、 、 The data area and The target area of stripe 1 in stripe group 1 is determined to be 、 、 The data area, The verification area and and The first hot standby area is based on 、 、 Recover by formula (2) , based on 、 、 、 、 、 、 Through the joint decoding of formula (3), formula (4) and formula (5), we can recover 、 、 In stripe 2 of stripe group 1, the area to be restored is 、 、 The data area and The target area of stripe 2 in stripe group 1 is determined to be 、 、 The data area, The verification area and and The first hot standby area is based on 、 、 Recover by formula (2) , based on 、 、 、 、 、 、 Through the joint decoding of formula (3), formula (4) and formula (5), we can recover 、 and .
[0121] Table 11
[0122] In the above solution, when four storage devices fail simultaneously, the corresponding four areas to be recovered are all data areas and / or check areas, and three of the areas to be recovered belong to the same area group, while the other area to be recovered belongs to another area group. Then, the target areas are explicitly designated as all other data areas and / or check areas and the first hot spare area. First, all other data information and / or first check information within the area group that has lost only one piece of data information or first check information is used to recover the data information or first check information. Then, the first check information and second check information within the stripe are combined for joint decoding, successfully recovering the three pieces of data information and / or check information lost in the other area group. This solution overcomes the limitation of the traditional RAID50 architecture that cannot cope with more than two concurrent failures, significantly enhances the system's tolerance for severe local failures, ensures data recoverability and system continuity in extreme failure scenarios, and significantly improves the system's fault tolerance and recovery performance, thereby enhancing the reliability and risk resistance of the overall storage solution.
[0123] In an example of the present application, a RAID data processing method is further provided, wherein determining a target area based on the at most four areas to be recovered includes: It is detected that four storage devices have failed, the corresponding two areas to be recovered in the stripe are data areas and / or check areas, the other two areas to be recovered are first hot spare areas, and the two data areas and / or check areas to be recovered belong to different area groups, and the target areas are determined to be all other data areas and / or check areas.
[0124] For example, as shown in Table 12, in the distributed RAID 50 shown in Table 12, if storage device 1, storage device 4, storage device 6, and storage device 9 fail at the same time, the shaded area in Table 12 is the area to be recovered for each stripe. The area to be recovered for stripe 1 in stripe group 2 is 、 The data area and 、 The first hot standby area where the stripe 2 in stripe group 2 is located is 、 The verification area and 、 The first hot standby zone.
[0125] When four storage devices fail at the same time, the corresponding two areas to be recovered in the stripe are data areas and / or check areas, the other two areas to be recovered are the first hot spare areas, and the two data areas and / or check areas to be recovered belong to different area groups, then the target area can be determined to be all other data areas and / or check areas.
[0126] In the distributed RAID50 shown in Table 12, in stripe 1 of stripe group 2, the area to be recovered is 、 The data area and 、 The first hot standby area is located, then the target area of stripe 1 in stripe group 2 is determined to be 、 、 、 The data area and and The verification area is based on 、 、 Recover by formula (1) , based on 、 、 Recover by formula (2) In stripe 2 of stripe group 2, the area to be restored is 、 The verification area and 、 The first hot standby area is located, then the target area of stripe 2 in stripe group 2 is determined to be 、 、 、 、 、 The data area where it is located is based on 、 、 Recover by formula (1) , based on 、 、 Recover by formula (2) .
[0127] Table 12
[0128] In the above solution, when four storage devices fail simultaneously, the corresponding two areas to be recovered are data areas and / or verification areas, and the other two areas to be recovered are first hot spare areas. Furthermore, the two data areas and / or verification areas to be recovered belong to different area groups. Then, all other data areas and / or verification areas are explicitly designated as target areas, and the lost data information or first verification information in the two area groups that have lost only one piece of data information or first verification information is used to recover the lost data information or first verification information in their respective area groups. This solution breaks through the limitation of the traditional RAID50 architecture that cannot cope with more than two concurrent failures, significantly enhances the system's tolerance for severe local failures, ensures data recoverability and system continuity in extreme failure scenarios, and significantly improves the system's fault tolerance and recovery performance, thereby enhancing the reliability and risk resistance of the overall storage solution.
[0129] In an example of the present application, a RAID data processing method is further provided, wherein the stripe further includes a second hot spare area, and the method further includes: The restored data information and / or first verification information is stored in the first hot standby area and / or the second hot standby area.
[0130] When a storage device fails and the corresponding data information to be recovered and / or first verification information in the stripe is recovered, if there is a hot spare area in the stripe that has not failed, the recovered data information and / or first verification information can be temporarily stored in the hot spare area.
[0131] When there is only one failed data area or check area, after the data information or the first check information is restored, it can be stored in the first hot spare area.
[0132] When there are two faulty data areas and / or check areas at the same time, after the data information and / or the first check information are restored, they can be stored in the two first hot standby areas respectively.
[0133] When there are three faulty data areas and / or check areas at the same time, a second hot spare area needs to be set in the stripe. A second hot spare area is also set in each area group. After the data information and / or the first check information is restored, if neither the first hot spare area nor the second hot spare area has any faults, they can be stored in one first hot spare area and two second hot spare areas respectively.
[0134] When there are three faulty data areas and / or check areas at the same time, a second hot spare area is also required in the stripe. A second hot spare area is also set in each area group. After the data information and / or the first check information is restored, if neither the first hot spare area nor the second hot spare area has any faults, they can be stored in two first hot spare areas and two second hot spare areas respectively.
[0135] It should be pointed out that when there is only one faulty data area or check area or there are two faulty data areas and / or check areas at the same time, if a second hot spare area is set in the stripe, the recovered data information and / or the first check information will be stored preferentially in the second hot spare area for storing data.
[0136] In the above solution, after the data information and / or the first verification information to be recovered are restored, they are stored in the hot spare area of the corresponding stripe, eliminating the need to wait for the bad disk to be replaced or repaired, significantly improving the timeliness of data recovery.
[0137] In an example of the present application, a RAID data processing method is further provided, the method further comprising: detecting that the fault of the storage device is resolved, and reading all data information and / or first verification information; Second verification information in the first hot standby area is determined based on the data information and / or the first verification information.
[0138] After the failed storage device is repaired or replaced, the second verification information that has failed or has been overwritten by the data information and the first verification information needs to be restored.
[0139] All data information and / or first verification information are read, and jointly decoded using the above formula (3) and formula (4) to re-determine the two second verification information.
[0140] After the second verification information is restored, if the corresponding first hot spare area is not overwritten by the data information and the first verification information, the data can be stored in the corresponding first hot spare area.
[0141] If the corresponding first hot spare area has been overwritten by the data information and the first verification information, the data information and the first verification information in the first hot spare area can be first transferred back to the restored data area or verification area, and then the restored second verification information can be stored in the first hot spare area. Alternatively, the first hot spare area can be modified into a data area or verification area based on the stored data information or first verification information, and then the restored second verification information can be stored in the restored data area or verification area, and then the restored data area or verification area can be modified into the first hot spare area based on the stored second verification information.
[0142] In the above solution, after the faulty storage device is rectified, the restored data temporarily stored in the first hot spare area can be migrated back to the restored original area, and the regenerated second verification information can then be written back to the corresponding first hot spare area. This improves the flexibility of data recovery while maintaining the overall structural integrity of the system after data recovery.
[0143] In order to implement the above-mentioned RAID data processing method, as Figure 2 As shown, an example of the present application provides a RAID data processing device, including: A processing module 201 is configured to detect failures in at most four storage devices and determine at most four corresponding areas to be recovered in a stripe, wherein the areas to be recovered are a data area, a check area, and / or a first hot spare area; A calculation module 202 is configured to determine a target area based on the at most four areas to be recovered, where the target area is a data area, a check area, and / or a first hot standby area other than the area to be recovered; The calculation module 202 is further configured to read target information in the target area, and restore the data information and / or first verification information of the area to be restored based on the target information.
[0144] The calculation module 202 is further configured to detect that a storage device fails and the corresponding area to be recovered in the stripe is a data area or a check area, and determine that the target area is other data areas and / or check areas in the area group where the area to be recovered is located.
[0145] In which, the calculation module 202 is also used to detect that two storage devices have failed, and the corresponding two areas to be recovered in the stripe are both data areas and / or verification areas and belong to the same area group, and determine that the target areas are all other data areas and / or verification areas and the first hot standby area.
[0146] The calculation module 202 is further configured to detect that two storage devices fail, that the corresponding two areas to be recovered in the stripe are both data areas and / or check areas and belong to different area groups, and to determine that the target areas are all other data areas and / or check areas.
[0147] In which, the calculation module 202 is also used to detect that two storage devices have failed, and one of the corresponding areas to be recovered in the stripe is a data area or a check area, and the other area to be recovered is a first hot standby area, and determine that the target area is other data areas and / or check areas in the area group to which the data area or check area to be recovered belongs.
[0148] In which, the calculation module 202 is also used to detect that three storage devices have failed, and the corresponding three areas to be recovered in the stripe are all data areas and / or verification areas and belong to the same area group, and determine that the target areas are all other data areas and / or verification areas and the first hot standby area.
[0149] In which, the calculation module 202 is also used to detect that three storage devices have failed, the corresponding three areas to be recovered in the stripe are all data areas and / or verification areas, two of them belong to the same area group and the other belongs to another area group, and determine that the target areas are all other data areas and / or verification areas and the first hot standby area.
[0150] In which, the calculation module 202 is also used to detect that three storage devices have failed, the corresponding two areas to be recovered in the stripe are data areas and / or verification areas, the other area to be recovered is the first hot spare area, and the two data areas and / or verification areas to be recovered belong to the same area group, and determine that the target areas are all other data areas and / or verification areas and the first hot spare area.
[0151] In which, the calculation module 202 is also used to detect that three storage devices have failed, the corresponding two areas to be recovered in the stripe are data areas and / or verification areas, the other area to be recovered is the first hot standby area and the two data areas and / or verification areas to be recovered belong to different area groups, and determine that the target area is all other data areas and / or verification areas.
[0152] In which, the calculation module 202 is also used to detect that three storage devices have failed, and the corresponding two areas to be recovered in the stripe are the first hot spare area, and the other area to be recovered is the data area or the verification area, and determine that the target area is all other data areas and / or verification areas in the area group to which the data area or verification area to be recovered belongs.
[0153] In which, the calculation module 202 is also used to detect that four storage devices have failed, the corresponding four areas to be recovered in the stripe are all data areas and / or verification areas, three of them belong to the same area group and the other belongs to another area group, and determine that the target areas are all other data areas and / or verification areas and the first hot standby area.
[0154] In which, the calculation module 202 is also used to detect that four storage devices have failed, the corresponding two areas to be recovered in the stripe are data areas and / or verification areas, the other two areas to be recovered are the first hot standby areas and the two data areas and / or verification areas to be recovered belong to different area groups, and determine that the target area is all other data areas and / or verification areas.
[0155] An embodiment of the present application further provides a chip, which includes a processor capable of executing the RAID data processing method provided in the embodiment of the present application.
[0156] An embodiment of the present application also provides an electronic device.
[0157] Figure 3 A schematic block diagram of an example electronic device 300 that can be used to implement embodiments of the present disclosure is shown. The electronic device is intended to represent various forms of digital computers, such as laptop computers, desktop computers, workstations, personal digital assistants, servers, blade servers, mainframe computers, and other suitable computers. The electronic device can also represent various forms of mobile devices, such as personal digital assistants, cellular phones, smartphones, wearable devices, and other similar computing devices. The components shown herein, their connections and relationships, and their functions are provided as examples only and are not intended to limit the implementation of the present disclosure described and / or claimed herein.
[0158] like Figure 3 As shown, electronic device 300 includes a computing unit 301, which can perform various appropriate actions and processes according to a computer program stored in a read-only memory (ROM) 302 or a computer program loaded from a storage unit 308 into a random access memory (RAM) 303. RAM 303 may also store various programs and data required for the operation of device 300. Computing unit 301, ROM 302, and RAM 303 are interconnected via a bus 304. An input / output (I / O) interface 305 is also connected to bus 304.
[0159] Various components in device 300 are connected to I / O interface 305, including: an input unit 306, such as a keyboard, mouse, etc.; an output unit 307, such as various types of displays, speakers, etc.; a storage unit 308, such as a magnetic disk, optical disk, etc.; and a communication unit 309, such as a network card, modem, wireless communication transceiver, etc. The communication unit 309 allows device 300 to exchange information / data with other devices via a computer network such as the Internet and / or various telecommunication networks.
[0160] The computing unit 301 can be any general-purpose and / or specialized processing component with processing and computing capabilities. Some examples of the computing unit 301 include, but are not limited to, a central processing unit (CPU), a graphics processing unit (GPU), various specialized artificial intelligence (AI) computing chips, various computing units running machine learning model algorithms, a digital signal processor (DSP), and any suitable processor, controller, microcontroller, etc. The computing unit 301 performs the various methods and processes described above, such as the RAID data processing method. For example, in some embodiments, the RAID data processing method may be implemented as a computer software program tangibly embodied on a machine-readable medium, such as the storage unit 308. In some embodiments, part or all of the computer program may be loaded and / or installed onto the device 300 via the ROM 302 and / or the communication unit 309. When the computer program is loaded into the RAM 303 and executed by the computing unit 301, one or more steps of the RAID data processing method described above may be performed. Alternatively, in other embodiments, the computing unit 301 may be configured to perform the RAID data processing method via any other suitable means (e.g., via firmware).
[0161] An embodiment of the present application provides a computer-readable storage medium storing executable instructions, wherein a computer program is stored therein, and the computer program is used to execute the RAID data processing method provided by the embodiment of the present application.
[0162] An embodiment of the present application provides a computer program product, comprising a computer program or instructions stored in a computer-readable storage medium. A processor of a computer device reads the computer program or instructions from the computer-readable storage medium and executes the computer program or instructions, causing the computer device to perform the RAID data processing method described above in the embodiment of the present application.
[0163] In some embodiments, the computer-readable storage medium may be a memory such as FRAM, ROM, PROM, EPROM, EEPROM, flash memory, magnetic surface storage, optical disk, or CD-ROM; or various devices including one or any combination of the above memories.
[0164] In some embodiments, a computer program may be in the form of a program, software, software module, script, or code, written in any form of programming language (including compiled or interpreted languages, or declarative or procedural languages), and may be deployed in any form, including as a stand-alone program or as a module, component, subroutine, or other unit suitable for use in a computing environment.
[0165] By way of example, a computer program may be deployed to be executed on one computing device or on multiple computing devices at one site or on multiple computing devices distributed across multiple sites and interconnected by a communication network.
[0166] Various embodiments of the systems and techniques described above can be implemented in digital electronic circuit systems, integrated circuit systems, field programmable gate arrays (FPGAs), application specific integrated circuits (ASICs), application specific standard products (ASSPs), systems on a chip (SOCs), complex programmable logic devices (CPLDs), computer hardware, firmware, software, and / or combinations thereof. These various embodiments can include being implemented in one or more computer programs that are executable and / or interpreted on a programmable system that includes at least one programmable processor, which can be a special purpose or general purpose programmable processor that can receive data and instructions from a storage system, at least one input device, and at least one output device, and transmit data and instructions to the storage system, the at least one input device, and the at least one output device.
[0167] The program code for implementing the method of the present disclosure can be written in any combination of one or more programming languages. These program codes can be provided to a processor or controller of a general-purpose computer, a special-purpose computer, or other programmable data processing device so that when the program code is executed by the processor or controller, the functions / operations specified in the flow chart and / or block diagram are implemented. The program code can be executed entirely on the machine, partially on the machine, as a stand-alone software package, partially on the machine and partially on a remote machine, or entirely on a remote machine or server.
[0168] In the context of the present disclosure, a machine-readable medium may be a tangible medium that may contain or store a program for use by or in conjunction with an instruction execution system, apparatus, or device. A machine-readable medium may be a machine-readable signal medium or a machine-readable storage medium. A machine-readable medium may include, but is not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any suitable combination of the foregoing. More specific examples of machine-readable storage media may include an electrical connection based on one or more wires, a portable computer disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), optical fibers, a portable compact disk read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing.
[0169] To provide interaction with a user, the systems and techniques described herein can be implemented on a computer having: a display device (e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor) for displaying information to the user; and a keyboard and pointing device (e.g., a mouse or trackball) through which the user can provide input to the computer. Other types of devices can also be used to provide interaction with the user; for example, the feedback provided to the user can be any form of sensory feedback (e.g., visual feedback, auditory feedback, or tactile feedback); and input from the user can be received in any form (including acoustic input, voice input, or tactile input).
[0170] The systems and techniques described herein can be implemented in a computing system that includes back-end components (e.g., as a data server), or a computing system that includes middleware components (e.g., an application server), or a computing system that includes front-end components (e.g., a user computer with a graphical user interface or a web browser through which a user can interact with implementations of the systems and techniques described herein), or a computing system that includes any combination of such back-end components, middleware components, or front-end components. The components of the system can be interconnected by any form or medium of digital data communication (e.g., a communication network). Examples of communication networks include a local area network (LAN), a wide area network (WAN), and the Internet.
[0171] A computer system may include a client and a server. The client and server are generally remote from each other and typically interact through a communication network. The client-server relationship arises through computer programs running on the respective computers and having a client-server relationship with each other. The server may be a cloud server, a server in a distributed system, or a server integrated with a blockchain.
[0172] It should be understood that the various forms of the processes shown above can be used to reorder, add, or delete steps. For example, the steps described in this disclosure can be performed in parallel, sequentially, or in a different order, as long as the desired results of the technical solutions disclosed in this disclosure can be achieved. This is not limited herein.
[0173] Furthermore, the terms "first" and "second" are used for descriptive purposes only and should not be construed as indicating or implying relative importance or implicitly specifying the number of technical features being referred to. Thus, a feature defined as "first" or "second" may explicitly or implicitly include at least one such feature. Throughout the present disclosure, "plurality" means two or more, unless otherwise specifically defined.
[0174] The above description is merely a specific embodiment of the present disclosure, but the scope of protection of the present disclosure is not limited thereto. Any changes or substitutions that can be easily conceived by a person skilled in the art within the technical scope disclosed in this disclosure should be included in the scope of protection of the present disclosure. Therefore, the scope of protection of the present disclosure should be based on the scope of protection of the claims.
Claims
1. A RAID data processing method, characterized in that: Applied to RAID50, the RAID50 includes at least one stripe group, the stripe group includes multiple stripes, the regions in the stripes are divided into two region groups, the region groups include at least two data regions, one parity region, and a first hot spare region, the data region stores data information, the parity region stores first parity information, the first hot spare region stores second parity information, the first parity information is determined based on all data information in the region group to which it belongs, and the second parity information is determined based on all data information and all first parity information, the method comprising: Detecting failures in at most four storage devices, and determining at most four corresponding areas to be recovered in the stripe, wherein the areas to be recovered are a data area, a check area, and / or a first hot spare area; Determining a target area based on the at most four areas to be restored, the target area being a data area, a check area, and / or a first hot standby area excluding the area to be restored; Target information in the target area is read, and data information and / or first verification information of the area to be restored are restored based on the target information.
2. The method according to claim 1, characterized in that The determining of the target area based on the at most four areas to be restored includes: A storage device failure is detected, and the corresponding area to be recovered in the stripe is a data area or a check area, and the target area is determined to be other data areas and / or check areas in the area group where the area to be recovered is located.
3. The method according to claim 1, characterized in that The determining of the target area based on the at most four areas to be restored includes: It is detected that two storage devices fail, and the corresponding two to-be-recovered areas in the stripe are both data areas and / or check areas and belong to the same area group, and the target areas are determined to be all other data areas and / or check areas and the first hot spare area.
4. The method according to claim 1, wherein The determining of the target area based on the at most four areas to be restored includes: It is detected that two storage devices fail, and the corresponding two to-be-recovered areas in the stripe are both data areas and / or check areas and belong to different area groups, and the target area is determined to be all other data areas and / or check areas.
5. The method according to claim 1, wherein The determining of the target area based on the at most four areas to be restored includes: Failures of two storage devices are detected, and one of the corresponding areas to be recovered in the stripe is a data area or a check area, and the other area to be recovered is a first hot spare area. The target area is determined to be other data areas and / or check areas in the area group to which the data area or check area to be recovered belongs.
6. The method according to claim 1, characterized in that The determining of the target area based on the at most four areas to be restored includes: It is detected that three storage devices fail, and the corresponding three areas to be recovered in the stripe are all data areas and / or check areas and belong to the same area group, and the target areas are determined to be all other data areas and / or check areas and the first hot spare area.
7. The method according to claim 1, characterized in that The determining of the target area based on the at most four areas to be restored includes: It is detected that three storage devices have failed, the corresponding three areas to be recovered in the stripe are all data areas and / or check areas, two of them belong to the same area group and the other belongs to another area group, and the target areas are determined to be all other data areas and / or check areas and the first hot spare area.
8. The method according to claim 1, characterized in that The determining of the target area based on the at most four areas to be restored includes: It is detected that three storage devices have failed, the corresponding two areas to be recovered in the stripe are data areas and / or check areas, the other area to be recovered is the first hot spare area, and the two data areas and / or check areas to be recovered belong to the same area group, and the target areas are determined to be all other data areas and / or check areas and the first hot spare area.
9. The method according to claim 1, characterized in that The determining of the target area based on the at most four areas to be restored includes: It is detected that three storage devices have failed, the corresponding two areas to be recovered in the stripe are data areas and / or check areas, the other area to be recovered is the first hot spare area, and the two data areas and / or check areas to be recovered belong to different area groups, and the target area is determined to be all other data areas and / or check areas.
10. The method according to claim 1, characterized in that The determining of the target area based on the at most four areas to be restored includes: Failures in three storage devices are detected, and the corresponding two areas to be recovered in the stripe are the first hot spare area, and the other area to be recovered is the data area or the check area, and the target area is determined to be all other data areas and / or check areas in the area group to which the data area or check area to be recovered belongs.
11. The method according to claim 1, characterized in that The determining of the target area based on the at most four areas to be restored includes: It is detected that four storage devices have failed, the corresponding four areas to be recovered in the stripe are all data areas and / or check areas, three of them belong to the same area group and the other belongs to another area group, and the target areas are determined to be all other data areas and / or check areas and the first hot spare area.
12. The method according to claim 1, characterized in that The determining of the target area based on the at most four areas to be restored includes: It is detected that four storage devices have failed, the corresponding two areas to be recovered in the stripe are data areas and / or check areas, the other two areas to be recovered are first hot spare areas, and the two data areas and / or check areas to be recovered belong to different area groups, and the target areas are determined to be all other data areas and / or check areas.
13. A RAID data processing device, characterized in that: The device comprises: A processing module is configured to detect that at most four storage devices have failed, and determine at most four corresponding areas to be recovered in the stripe, wherein the areas to be recovered are a data area, a check area, and / or a first hot spare area; a calculation module, configured to determine a target area based on the at most four areas to be recovered, wherein the target area is a data area, a check area, and / or a first hot standby area other than the area to be recovered; The calculation module is further configured to read target information in the target area, and restore the data information and / or first verification information of the area to be restored based on the target information.
14. A chip, characterized in that: The chip includes a processor, and the processor is capable of executing the RAID data processing method according to any one of claims 1 to 12.
15. An electronic device, characterized in that: The electronic device includes a chip, the chip includes a processor, and the processor can execute the RAID data processing method according to any one of claims 1 to 12.
16. A computer-readable storage medium, characterized in that The storage medium stores a computer program, and the computer program is used to execute the RAID data processing method according to any one of claims 1 to 12.
17. A computer program product comprising a computer program or instructions, characterized in that When the computer program or instruction is executed by a processor, the RAID data processing method according to any one of claims 1 to 12 is implemented.
Citation Information
Patent Citations
Data recovery method, device and system, electronic equipment and storage medium
CN116501553A
Data storage method and device, medium and product
CN118779146A
Data recovery method and device for RAID (redundant array of independent disks)
CN118796538A
Data recovery method and device, computer equipment and storage medium
CN120179455A
Data processing method and device, equipment, medium and program product
CN120371595A