A multi-disk reconstruction method, device, electronic equipment and storage medium

By combining the main reconstruction process and the secondary reconstruction process, the reconstruction process in the event of multiple disk failures is optimized, solving the problem of long reconstruction time in existing technologies and improving system performance and security.

CN115237675BActive Publication Date: 2026-04-17INSPUR SUZHOU INTELLIGENT TECH CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
INSPUR SUZHOU INTELLIGENT TECH CO LTD
Filing Date
2022-07-22
Publication Date
2026-04-17

AI Technical Summary

Technical Problem

In cloud computing data centers, when multiple disks fail, existing technologies cannot effectively shorten the time for the first disk reconstruction and the overall reconstruction, leading to decreased system performance and an increased risk of data loss.

Method used

The method combines a main reconstruction process and a secondary reconstruction process. First, the first faulty disk is reconstructed. After the first faulty disk is reconstructed, the second faulty disk is reconstructed in parallel. Data is recovered through the verification disk and written to the hot spare disk. Faulty disks with higher priority are processed first, and disks with smaller identification numbers have higher priority, ensuring that there is no concurrent interference in the reconstruction process.

Benefits of technology

It shortens the initial disk reconstruction time when multiple disks fail, reduces the overall reconstruction time, improves system performance and security, and reduces the running time without redundancy protection.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115237675B_ABST
    Figure CN115237675B_ABST
Patent Text Reader

Abstract

The application discloses a multi-disk reconstruction method and device, electronic equipment and a storage medium, and relates to the technical field of computers. The method comprises the following steps: in response to detecting that the first fault disk fails, performing a main reconstruction process, sequentially reconstructing data blocks corresponding to the first fault disk in the order of a strip through the check disk until the first fault disk is reconstructed; in response to detecting that the second fault disk fails and the first fault disk is not reconstructed, performing a secondary reconstruction process based on the main reconstruction process, and simultaneously reconstructing data blocks corresponding to the second fault disk in the order of a current strip through the check disk; wherein the first fault disk comprises one fault disk, and the second fault disk comprises one or more fault disks. The application can shorten the first-disk reconstruction time when multiple disks fail and shorten the overall reconstruction time.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of computer technology, and in particular to a multi-disk reconstruction method, apparatus, electronic device, and storage medium. Background Technology

[0002] In cloud computing data centers, data storage performance and data security are core concerns for users. RAID (Redundant Arrays of Independent Disks) storage systems divide data into stripes, and then further divide each stripe into individual disk blocks. RAID improves performance through data striping and provides fault recovery and data security through data redundancy. If a disk fails, RAID uses redundant data to recover the data. RAID can have two or more redundant data, thus allowing for the failure of two or more disks; when a disk fails, RAID initiates reconstruction for data recovery, that is, reading the remaining disks to rebuild the data on the failed disk and writing the reconstructed data to a hot spare disk.

[0003] Generally, when multiple disks fail, there are two ways to reconstruct the RAID array. The first is to reconstruct and restore one failed disk, then another, and so on. The second is to perform multiple reconstruction processes concurrently. Since reconstruction and recovery can take hours or even tens of hours, if another disk fails during this period in a RAID array without redundant data, the RAID data will be lost and unrecoverable. Therefore, it's necessary to reduce the RAID redundancy recovery time, i.e., shorten the reconstruction and recovery time of the first failed disk. The first reconstruction method increases the overall reconstruction time, as I / O performance drops drastically during reconstruction and recovery, so it's also necessary to minimize the overall time of multiple reconstructions. The second reconstruction method significantly slows down the reconstruction time of the first disk, prolonging the time data remains without redundancy protection and increasing the risk of data loss. Therefore, how to shorten the reconstruction time of the first disk and the overall reconstruction time when multiple disks fail is a pressing issue that needs to be addressed. Summary of the Invention

[0004] To address at least one of the problems mentioned in the background art, this application provides a multi-disk reconstruction method, apparatus, electronic device, and storage medium that can shorten the reconstruction time of the first disk when multiple disks fail, while also shortening the overall reconstruction time.

[0005] The specific technical solutions provided in this application are as follows:

[0006] Firstly, a multi-disk reconstruction method is provided, applied to an independent disk redundancy array, wherein the independent disk redundancy array includes at least three parity disks, a first faulty disk, and a second faulty disk, and the method includes:

[0007] In response to the detection of a fault in the first faulty disk, the main reconstruction process is executed, and the data blocks of the corresponding stripe of the first faulty disk are reconstructed sequentially through the verification disk in stripe order until the reconstruction of the first faulty disk is completed.

[0008] In response to the detection that the second faulty disk has failed and the first faulty disk has not been reconstructed, a secondary reconstruction process is executed based on the main reconstruction process, and the data blocks of the stripe corresponding to the second faulty disk are reconstructed and calculated simultaneously through the verification disk according to the current stripe order.

[0009] The first faulty disk includes one faulty disk, and the second faulty disk includes one or more faulty disks.

[0010] Furthermore, in response to detecting a failure in the first faulty disk, the main reconstruction process is executed, reconstructing the data blocks corresponding to the stripe of the first faulty disk sequentially through the verification disk according to the stripe order until the reconstruction of the first faulty disk is completed, including:

[0011] In response to the detection of a fault in the first faulty disk, the main refactoring process is executed;

[0012] The data corresponding to the stripe of the verification disk is read in stripe order and the data is reconstructed in sequence to obtain the data block of the stripe corresponding to the first fault disk and written to the first corresponding block of the first hot spare disk. This process is repeated until the reconstruction of the first fault disk is completed.

[0013] Furthermore, in response to detecting a failure in the second faulty disk and the first faulty disk not being reconstructed, a secondary reconstruction process is executed based on the main reconstruction process, simultaneously reconstructing and calculating the data blocks corresponding to the stripe of the second faulty disk through the verification disk according to the current stripe order, including:

[0014] In response to the detection that the second faulty disk has failed and the first faulty disk has not been reconstructed, a secondary reconstruction process is executed based on the main reconstruction process.

[0015] Read the data of the check disk corresponding to the stripe according to the current stripe order, and reconstruct the data of the first fault disk and the second fault disk in sequence to obtain the first data block of the first fault disk corresponding to the stripe and the second data block of the second fault disk corresponding to the stripe.

[0016] Write the second data block into the second corresponding block of the stripe on the second hot spare disk.

[0017] Furthermore, before writing the second data block to the second corresponding block of the stripe on the second hot spare disk, the method further includes:

[0018] In response to the detection that the first data block has been written to the first corresponding block of the stripe, the main reconstruction process of the next stripe in the current stripe order is directly executed.

[0019] Furthermore, the method also includes:

[0020] In response to the detection that the reconstruction of the first faulty disk is completed, the secondary reconstruction process with the highest priority in the second faulty disk is upgraded to the current primary reconstruction process;

[0021] The current main reconstruction process and the remaining sub-reconstruction processes are executed in the order of the stripes that have not been reconstructed in the second faulty disk.

[0022] Furthermore, before upgrading the highest-priority secondary reconstruction process in the second faulty disk to the current primary reconstruction process in response to detecting the completion of the reconstruction of the first faulty disk, the method further includes:

[0023] If the second faulty disk includes multiple faulty disks, the priority of the multiple faulty disks is determined according to the order in which they fail.

[0024] Among them, the disk that fails first has a higher priority than the disk that fails later.

[0025] Furthermore, if the multiple faulty disks fail simultaneously, the method further includes:

[0026] The priority of the multiple faulty disks is determined based on their disk identification numbers;

[0027] Among them, the faulty disk with the smaller disk identification number has a higher priority than the faulty disk with the larger disk identification number.

[0028] In a second aspect, a multi-disk reconstruction apparatus is provided, the apparatus comprising:

[0029] The main reconstruction module is used to respond to the detection of a fault in the first faulty disk, execute the main reconstruction process, and reconstruct the data blocks of the corresponding stripe of the first faulty disk in the order of stripes through the verification disk until the reconstruction of the first faulty disk is completed.

[0030] The secondary reconstruction module is used to respond to the detection that the second faulty disk has failed and the first faulty disk has not been reconstructed. It executes the secondary reconstruction process based on the main reconstruction process and simultaneously reconstructs and calculates the data blocks of the stripe corresponding to the second faulty disk through the verification disk according to the current stripe order.

[0031] The first faulty disk includes one faulty disk, and the second faulty disk includes one or more faulty disks.

[0032] Thirdly, an electronic device is provided, including a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the processor implements the multi-disk reconstruction method when executing the computer program.

[0033] Fourthly, a computer-readable storage medium is provided, storing computer-executable instructions for executing the multi-disk reconstruction method.

[0034] The embodiments of this application have the following beneficial effects:

[0035] This application provides a multi-disk reconstruction method, apparatus, electronic device, and storage medium. The main reconstruction process is free from concurrent interference from other reconstruction processes, thus its reconstruction time is comparable to that of a single disk. Simultaneously, the main reconstruction process recovers some stripe data from the secondary reconstruction processes, significantly reducing the overall reconstruction time. This shortens both the initial disk reconstruction time and the overall reconstruction time when multiple disks fail, improving system performance and overall performance during reconstruction. It also reduces system runtime without redundancy, greatly enhancing system security. Attached Figure Description

[0036] To more clearly illustrate the technical solutions in the embodiments of this application, the accompanying drawings used in the description of the embodiments will be briefly introduced below. Obviously, the accompanying drawings described below are only some embodiments of this application. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.

[0037] Figure 1 This document shows a general flowchart of the multi-disk reconstruction method provided in an embodiment of this application;

[0038] Figure 2 This diagram illustrates the main reconstruction process of a multi-disk reconstruction method according to an embodiment of this application.

[0039] Figure 3 This illustration shows a multi-disk reconstruction method according to an embodiment of the present application, including a schematic diagram of the multi-disk reconstruction process.

[0040] Figure 4This diagram illustrates the completion of the main reconstruction process of a multi-disk reconstruction method according to an embodiment of this application.

[0041] Figure 5 This diagram illustrates the structure of the multi-disk reconstruction apparatus provided in an embodiment of this application.

[0042] Figure 6 Exemplary systems that can be used to implement the various embodiments described in this application are shown. Detailed Implementation

[0043] To make the objectives, technical solutions, and advantages of this application clearer, the technical solutions in the embodiments of this application will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of this application, and not all embodiments. Based on the embodiments in this application, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of this application.

[0044] It should be understood that, in the description of this application, unless the context explicitly requires it, the words "comprising," "including," and similar terms throughout the specification and claims should be interpreted as encompassing rather than being exclusive or exhaustive; that is, meaning "including but not limited to."

[0045] It should also be understood that the terms "first," "second," etc., are used for descriptive purposes only and should not be construed as indicating or implying relative importance. Furthermore, in the description of this application, unless otherwise stated, "a plurality of" means two or more.

[0046] Example 1

[0047] This application provides a multi-disk reconstruction method applied to an independent disk redundancy array, wherein the independent disk redundancy array includes at least three parity disks, a first faulty disk, and a second faulty disk, as described above. Figure 1 The methods include:

[0048] S1. In response to the detection of a fault in the first faulty disk, execute the main reconstruction process, and reconstruct the data blocks of the corresponding stripe of the first faulty disk in the order of stripes through the verification disk until the reconstruction of the first faulty disk is completed.

[0049] S2. In response to the detection that the second faulty disk has failed and the first faulty disk has not been reconstructed, the sub-reconstruction process is executed based on the main reconstruction process. The data blocks of the corresponding stripe of the second faulty disk are reconstructed and calculated simultaneously through the check disk according to the current stripe order.

[0050] The first faulty disk includes one faulty disk, and the second faulty disk includes one or more faulty disks.

[0051] Specifically, the reconstruction process can be divided into priority levels, such as high-priority, medium-priority, and low-priority; or high-priority and low-priority. Priority can be determined by the reconstruction startup order. For example, if two disks fail sequentially, the reconstruction process for the first disk to fail is initiated first, and its reconstruction process has high priority; the reconstruction process for the second disk to fail is initiated later, and its reconstruction process has low priority. If two disks fail simultaneously, the reconstruction process for the disk with the smaller disk ID is selected as high priority. The higher-priority disk performs the primary reconstruction process, and the lower-priority disk performs the secondary reconstruction process. The first failed disk has a higher priority than the second failed disk; the first failed disk corresponds to the primary reconstruction process, and the second failed disk corresponds to the secondary reconstruction process. It is important to note that all reconstruction processes can be managed uniformly. The primary reconstruction process is executed first, and the first failed disk only includes one failed disk, ensuring that data from the first failed disk is recovered first. The reconstruction process executes all stripes sequentially from front to back according to their stripe numbers. That is, the first stripe of the main reconstruction process is reconstructed first, then the second, and so on, until the main reconstruction process is complete. During the main reconstruction process, the recovery data of the secondary reconstruction processes for the same stripe can be calculated simultaneously, and the data of all main and secondary reconstruction processes for that stripe is recovered at the same time. The second failed disk can include one or more failed disks, and there can also be one or more secondary reconstruction processes. The main reconstruction process of this mechanism is not interfered with by other concurrent reconstruction processes, so the reconstruction time is comparable to that of a single disk. Simultaneously, the main reconstruction process recovers some stripe data from the secondary reconstruction processes, further reducing the overall reconstruction time. This shortens the initial disk reconstruction time and the overall reconstruction time when multiple disks fail, improving system performance during reconstruction and overall performance, while also reducing system runtime without redundancy, significantly enhancing system security.

[0052] The following is combined with Figures 2-4 Further explanation:

[0053] In some implementations, S1 includes:

[0054] S11. In response to the detection of a fault in the first faulty disk, execute the main refactoring process;

[0055] S12. Read the data of the corresponding stripe of the verification disk in stripe order and reconstruct the data in sequence to obtain the data block of the corresponding stripe of the first fault disk and write it into the first corresponding block of the first hot spare disk. Repeat until the reconstruction of the first fault disk is completed.

[0056] For example, refer to Figure 2Taking disk 2 as the first failure disk as an example, disk 2 is the first failure disk mentioned above. At this time, the main reconstruction process is executed. First, stripe 0 is reconstructed. Data from at least three parity disks of stripe 0, namely D0_1, D0_3, P0, and Q0, is read, and D0_2 is calculated. D0_2 is written to the corresponding block of hot spare disk 1. At this point, the data reconstruction of stripe 0 is complete. Then, stripe 1 is reconstructed. Data from at least three parity disks of stripe 1, namely D1_1, D1_3, P1, and Q1, is read, and D1_2 is calculated. D1_2 is written to the corresponding block of hot spare disk 1. The reconstruction is repeated according to the stripe order (stripe 0 to stripe n) until the reconstruction of the first failure disk is completed.

[0057] In some implementations, S2 includes:

[0058] S21. In response to the detection that the second faulty disk has failed and the first faulty disk has not been reconstructed, the sub-reconstruction process is executed with the main reconstruction process as the baseline process.

[0059] S22. Read the data of the corresponding stripe of the verification disk according to the current stripe order, and reconstruct the data of the second faulty disk while reconstructing the data of the first faulty disk in sequence, to obtain the first data block of the stripe corresponding to the first faulty disk and the second data block of the stripe corresponding to the second faulty disk.

[0060] S23. Write the second data block into the second corresponding block of the corresponding stripe of the second hot spare disk.

[0061] For example, refer to Figure 3 At this point, the main reconstruction process is used as the baseline process. Simultaneously, the sub-reconstruction process data corresponding to the current stripe order is reconstructed and restored. Assuming the main reconstruction process is reconstructing stripe 2, D2_1, P2, and Q2 are read to calculate the main reconstruction process data D2_2 and the sub-reconstruction process data D2_3. Then, the main reconstruction process data D2_2 is written to the corresponding block on hot spare disk 1, and the sub-reconstruction process data D2_3 is written to the corresponding block on hot spare disk 2. Stripe 2 reconstruction is complete, and stripe 3 reconstruction begins, until all stripe data reconstruction in the main reconstruction process is complete.

[0062] In some implementations, prior to S23, the method further includes:

[0063] In response to the detection that the first data block has been written to the first corresponding block of the corresponding stripe, the main reconstruction process of the next stripe in the current stripe order is executed directly.

[0064] For example, after the primary reconstruction process data D2_2 is written to the corresponding block of hot spare disk 1, the primary reconstruction process for the next stripe in the current stripe order is executed directly without waiting for the secondary reconstruction process data D2_3 to be written. This means that reconstruction of stripe 3 is started immediately. By adopting this method, the reconstruction time of the entire stripe is the same as the reconstruction time of a single reconstruction process when a single disk 2 fails. This further shortens the reconstruction time of the first disk in the event of multiple disk failures. Simultaneously, the primary reconstruction process recovers some stripe data from the secondary reconstruction process, significantly reducing the overall reconstruction time.

[0065] In some implementations, the method further includes:

[0066] S3. In response to the detection that the reconstruction of the first faulty disk is completed, the highest priority secondary reconstruction process in the second faulty disk is upgraded to the current primary reconstruction process.

[0067] S4. Execute the current main reconstruction process and the remaining sub-reconstruction processes in the order of the stripes that have not been reconstructed in the second faulty disk.

[0068] For example, refer to Figure 4 After the main reconstruction process is completed, the highest-priority secondary reconstruction process can be upgraded to the main reconstruction process, and reconstruction can continue based on the upgraded main reconstruction process. For example, data from stripe 0 of D0_1, P0, and Q0 can be read, and D0_3 can be calculated. D0_3 is then written to the corresponding block on hot spare disk 2. At this point, the data of stripe 0 on disk 3 (the current main reconstruction process) is reconstructed. Then, stripe 1 is reconstructed by reading data from stripe 1 of D1_1, P1, and Q1, and calculating D1_3. D1_3 is then written to the corresponding block on hot spare disk 2. At this point, the unreconstructed stripes on disk 3 are also reconstructed. It should be noted that if there are other faulty disks besides disk 3 in the second faulty disk, the remaining secondary reconstruction processes based on the current main reconstruction process can also be executed in the order of the unreconstructed stripes on disk 3.

[0069] In some implementations, prior to S3, the method further includes:

[0070] If the second faulty disk includes multiple faulty disks, the priority of the multiple faulty disks shall be determined according to the order in which they failed.

[0071] Among them, the disk that fails first has a higher priority than the disk that fails later.

[0072] Specifically, the priority classification of the second faulty disk can also follow the above priority classification. For example, it can be divided into three levels: high priority, medium priority, and low priority, or two levels: high priority and low priority. Priority can also be classified according to the reconstruction startup order. For example, if multiple faulty disks in the second faulty disk have failed sequentially, then the reconstruction process started by the first faulty disk will have high priority, and so on.

[0073] In some implementations, if multiple faulty disks fail simultaneously, the method further includes:

[0074] The priority of multiple failed disks is determined based on their disk identification numbers;

[0075] Among them, the faulty disk with the smaller disk identification number has a higher priority than the faulty disk with the larger disk identification number.

[0076] Specifically, if two disks fail simultaneously, the reconstruction process corresponding to the disk with the smaller disk identification number can be selected as the higher priority. The higher priority disk will undergo the primary reconstruction process, while the lower priority disk will undergo the secondary reconstruction process.

[0077] In this embodiment, all reconstruction processes can be managed uniformly. The primary reconstruction process is executed first, with the first faulty disk consisting of only one faulty disk, ensuring priority recovery of data from that single faulty disk. The reconstruction processes execute all stripes sequentially from front to back according to their stripe numbers; that is, the first stripe of the primary reconstruction process is reconstructed first, then the second, and so on, until the primary reconstruction process is complete. During the primary reconstruction process, the recovery data of the secondary reconstruction processes for the same stripe can be calculated simultaneously, and the data of all primary and secondary reconstruction processes for that stripe can be recovered at the same time. The second faulty disk may include one or more faulty disks, and there can also be one or more secondary reconstruction processes. This mechanism ensures that the primary reconstruction process is not interfered with by other concurrent reconstruction processes, thus its reconstruction time is comparable to that of a single disk. Simultaneously, the primary reconstruction process recovers some stripe data from the secondary reconstruction processes, significantly reducing the overall reconstruction time. This shortens the primary disk reconstruction time and the overall reconstruction time when multiple disks fail, improving system performance during reconstruction and overall performance, while also reducing system runtime without redundancy, greatly enhancing system security.

[0078] It should be noted that the terms "S1," "S2," etc., are used only for descriptive purposes and do not specifically refer to the order or sequence, nor are they intended to limit this application. They are merely for the convenience of describing the method of this application and should not be construed as indicating the sequential order of the steps. Furthermore, the technical solutions of the various embodiments can be combined with each other, but this must be based on the ability of those skilled in the art to implement them. When the combination of technical solutions is contradictory or impossible to implement, it should be considered that such a combination of technical solutions does not exist and is not within the scope of protection claimed in this application.

[0079] Example 2

[0080] Corresponding to the above embodiments, this application also provides a multi-disk reconstruction apparatus, referring to... Figure 5 The device includes a main reconstruction module and a secondary reconstruction module.

[0081] The main reconstruction module is used to execute a main reconstruction process in response to the detection of a first faulty disk failure. This process reconstructs the data blocks corresponding to the stripe of the first faulty disk sequentially using the check disk in stripe order until the first faulty disk reconstruction is complete. The secondary reconstruction module is used to execute a secondary reconstruction process based on the main reconstruction process in response to the detection of a second faulty disk failure before the first faulty disk reconstruction is complete. This process simultaneously reconstructs and calculates the data blocks corresponding to the stripe of the second faulty disk using the check disk in the current stripe order. The first faulty disk includes one faulty disk, and the second faulty disk includes one or more faulty disks.

[0082] Furthermore, the main reconstruction module is also used to execute the main reconstruction process in response to the detection of a fault in the first faulty disk; and to read the data corresponding to the stripe of the verification disk in stripe order and perform data reconstruction in sequence to obtain the data block corresponding to the stripe of the first faulty disk and write it into the first corresponding block of the first hot spare disk, repeating until the reconstruction of the first faulty disk is completed.

[0083] Furthermore, the secondary reconstruction module is also used to execute a secondary reconstruction process based on the main reconstruction process in response to the detection that the second faulty disk has failed and the first faulty disk has not been reconstructed; and to read the data of the check disk corresponding to the stripe according to the current stripe order and to reconstruct the data of the second faulty disk while reconstructing the data of the first faulty disk in sequence, so as to obtain a first data block of the first faulty disk corresponding to the stripe and a second data block of the second faulty disk corresponding to the stripe; and to write the second data block into the second corresponding block of the second hot spare disk corresponding to the stripe.

[0084] Furthermore, the main reconstruction module is also used to directly execute the main reconstruction process of the next stripe in the current stripe order in response to detecting that the first data block has been written to the first corresponding block of the stripe.

[0085] Furthermore, the main reconstruction module is also used to upgrade the highest priority sub-reconstruction process in the second faulty disk to the current main reconstruction process in response to detecting that the reconstruction of the first faulty disk is completed; and to execute the current main reconstruction process and the remaining sub-reconstruction processes in the order of the stripes in the second faulty disk that have not been reconstructed.

[0086] Furthermore, the device also includes a priority module, used to determine the priority of the multiple faulty disks according to the order of their failures if the second faulty disk includes multiple faulty disks; wherein the faulty disk that fails first has a higher priority than the faulty disk that fails later.

[0087] Furthermore, if the multiple faulty disks fail simultaneously, the priority module is also used to determine the priority of the multiple faulty disks based on their disk identification numbers; wherein, the faulty disk with the smaller disk identification number has a higher priority than the faulty disk with the larger disk identification number.

[0088] Specific limitations regarding the multi-disk reconstruction apparatus can be found in the relevant limitations of the method embodiments above, and will not be repeated here. Each module in the above-described multi-disk reconstruction apparatus can be implemented entirely or partially through software, hardware, or a combination thereof. These modules can be embedded in or independent of the processor in a computer device in hardware form, or stored in the memory of a computer device in software form, so that the processor can call and execute the operations corresponding to each module.

[0089] Example 3

[0090] Corresponding to the above embodiments, this application also provides an electronic device, including a memory, a processor, and a computer program stored in the memory and executable on the processor. When the processor executes the program, it can implement the above-described multi-disk reconstruction method.

[0091] like Figure 6 As shown, in some embodiments, the system can serve as any of the aforementioned electronic devices for the multi-disk reconstruction method in each of the described embodiments. In some embodiments, the system may include one or more computer-readable media (e.g., system memory or NVM / storage device) having instructions and one or more processors (e.g., one or more processors) coupled to the one or more computer-readable media and configured to execute the instructions to implement the module and thereby perform the actions described in this application.

[0092] In one embodiment, the system control module may include any suitable interface controller to provide any suitable interface to at least one of the processors(s) and / or any suitable device or component communicating with the system control module.

[0093] The system control module may include a memory controller module to provide an interface to the system memory. The memory controller module may be a hardware module, a software module, and / or a firmware module.

[0094] System memory can be used, for example, to load and store data and / or instructions for the system. In one embodiment, system memory may include any suitable volatile memory, such as suitable DRAM. In some embodiments, system memory may include Double Data Rate Type Quad Synchronous Dynamic Random Access Memory (DDR4 SDRAM).

[0095] In one embodiment, the system control module may include one or more input / output (I / O) controllers to provide interfaces to the NVM / storage device and (one or more) communication interfaces.

[0096] For example, an NVM / storage device can be used to store data and / or instructions. An NVM / storage device may include any suitable non-volatile memory (e.g., flash memory) and / or may include any suitable (one or more) non-volatile storage devices (e.g., one or more hard disk drives (HDDs), one or more optical disc drives (CDs), and / or one or more digital universal optical disc (DVD) drives).

[0097] NVM / storage devices may include storage resources that are physically part of a device on which the system is mounted, or that can be accessed by the device without necessarily being part of it. For example, an NVM / storage device may be accessed over a network via one or more communication interfaces.

[0098] One or more communication interfaces may provide the system with an interface to communicate over one or more networks and / or with any other suitable device. The system may wirelessly communicate with one or more components of a wireless network in accordance with any of the standards and / or protocols in one or more wireless network standards and / or protocols.

[0099] In one embodiment, at least one of the processors may be logically packaged with one or more controllers of the system control module (e.g., a memory controller module). In one embodiment, at least one of the processors may be logically packaged with one or more controllers of the system control module to form a system-in-package (SiP). In one embodiment, at least one of the processors may be integrated with the logic of one or more controllers of the system control module on the same die. In one embodiment, at least one of the processors may be integrated with the logic of one or more controllers of the system control module on the same die to form a system-on-a-chip (SoC).

[0100] In various embodiments, the system may be, but is not limited to, a server, workstation, desktop computing device, or mobile computing device (e.g., laptop computing device, handheld computing device, tablet computer, netbook, etc.). In various embodiments, the system may have more or fewer components and / or different architectures. For example, in some embodiments, the system includes one or more cameras, a keyboard, a liquid crystal display (LCD) screen (including a touchscreen display), a non-volatile memory port, multiple antennas, a graphics chip, an application-specific integrated circuit (ASIC), and a speaker.

[0101] It should be noted that this application can be implemented in software and / or a combination of software and hardware, for example, using an application-specific integrated circuit (ASIC), a general-purpose computer, or any other similar hardware device. In one embodiment, the software program of this application can be executed by a processor to implement the steps or functions described above. Similarly, the software program of this application (including related data structures) can be stored in a computer-readable recording medium, such as RAM memory, magnetic or optical drives, floppy disks, and similar devices. Furthermore, some steps or functions of this application can be implemented in hardware, for example, as circuitry that cooperates with a processor to perform the various steps or functions.

[0102] Furthermore, a portion of this application can be applied as a computer program product, such as computer program instructions, which, when executed by a computer, can invoke or provide the methods and / or technical solutions according to this application through the operation of the computer. Those skilled in the art will understand that the forms in which computer program instructions exist in a computer-readable medium include, but are not limited to, source files, executable files, installation package files, etc. Correspondingly, the ways in which computer program instructions are executed by a computer include, but are not limited to: the computer directly executing the instructions, or the computer compiling the instructions and then executing the corresponding compiled program, or the computer reading and executing the instructions, or the computer reading and installing the instructions and then executing the corresponding installed program. Here, the computer-readable medium can be any available computer-readable storage medium or communication medium accessible to a computer.

[0103] Communication media include media through which communication signals containing, for example, computer-readable instructions, data structures, program modules, or other data are transmitted from one system to another. Communication media can include guided transmission media (such as cables and wires (e.g., optical fibers, coaxial cables, etc.)) and wireless (unguided transmission) media capable of propagating energy waves, such as sound, electromagnetic, RF, microwave, and infrared. Computer-readable instructions, data structures, program modules, or other data can be embodied as modulated data signals in, for example, wireless media (such as carrier waves or similar mechanisms embodied as part of spread spectrum technology). The term "modulated data signal" refers to a signal whose one or more characteristics are altered or set in a manner that encodes information in the signal. Modulation can be analog, digital, or a hybrid modulation technique.

[0104] Herein, one embodiment of this application includes an apparatus comprising a memory for storing computer program instructions and a processor for executing the program instructions, wherein when the computer program instructions are executed by the processor, the apparatus is triggered to run a method and / or technical solution based on the foregoing embodiments of this application.

[0105] Example 4

[0106] Corresponding to the above embodiments, this application also provides a computer-readable storage medium storing computer-executable instructions for executing a multi-disk reconstruction method.

[0107] In this embodiment, a computer-readable storage medium may include volatile and non-volatile, removable and non-removable media implemented by any method or technology for storing information such as computer-readable instructions, data structures, program modules or other data. For example, a computer-readable storage medium includes, but is not limited to, volatile memories such as random access memory (RAM, DRAM, SRAM); and non-volatile memories such as flash memory, various read-only memories (ROM, PROM, EPROM, EEPROM), magnetic and ferromagnetic / ferroelectric memories (MRAM, FeRAM); and magnetic and optical storage devices (hard disks, magnetic tapes, CDs, DVDs); or other currently known media or those developed hereafter capable of storing computer-readable information / data for use by a computer system.

[0108] Although preferred embodiments have been described in this application, those skilled in the art, upon learning the basic inventive concept, can make other changes and modifications to these embodiments. Therefore, the appended claims are intended to be interpreted as including the preferred embodiments as well as all changes and modifications falling within the scope of the embodiments of this application.

[0109] Obviously, those skilled in the art can make various modifications and variations to this application without departing from the spirit and scope of this application. Therefore, if such modifications and variations fall within the scope of the claims of this application and their equivalents, this application also intends to include such modifications and variations.

Claims

1. A multi-disk reconstruction method applied to a redundant array of independent disks, characterized in that, The independent disk redundancy array includes at least three parity disks, a first faulty disk, and a second faulty disk; the method includes: In response to the detection of a fault in the first faulty disk, the main reconstruction process is executed, and the data blocks of the corresponding stripe of the first faulty disk are reconstructed sequentially through the verification disk in stripe order until the reconstruction of the first faulty disk is completed. In response to the detection that the second faulty disk has failed and the first faulty disk has not been reconstructed, a secondary reconstruction process is executed based on the main reconstruction process, and the data blocks of the stripe corresponding to the second faulty disk are reconstructed and calculated simultaneously through the verification disk according to the current stripe order. The first faulty disk includes one faulty disk, and the second faulty disk includes one or more faulty disks.

2. The multi-disk reconstruction method of claim 1, wherein, In response to the detection of a fault in the first faulty disk, the main reconstruction process is executed, which reconstructs the data blocks corresponding to the stripe of the first faulty disk sequentially through the verification disk according to the stripe order until the reconstruction of the first faulty disk is completed, including: In response to the detection of a fault in the first faulty disk, the main refactoring process is executed; The data corresponding to the stripe of the verification disk is read in stripe order and the data is reconstructed in sequence to obtain the data block of the stripe corresponding to the first fault disk and written to the first corresponding block of the first hot spare disk. This process is repeated until the reconstruction of the first fault disk is completed.

3. The multi-disk reconstruction method of claim 2, wherein, In response to the detection that the second faulty disk has failed and the first faulty disk has not been reconstructed, a secondary reconstruction process is executed based on the main reconstruction process. This process simultaneously reconstructs and calculates the data blocks corresponding to the stripe of the second faulty disk using the verification disk according to the current stripe order, including: In response to the detection that the second faulty disk has failed and the first faulty disk has not been reconstructed, a secondary reconstruction process is executed based on the main reconstruction process. Read the data of the check disk corresponding to the stripe according to the current stripe order, and reconstruct the data of the first fault disk and the second fault disk in sequence to obtain the first data block of the first fault disk corresponding to the stripe and the second data block of the second fault disk corresponding to the stripe. Write the second data block into the second corresponding block of the stripe on the second hot spare disk.

4. The multi-disk reconstruction method of claim 3, wherein, Before writing the second data block to the second corresponding block of the stripe on the second hot spare disk, the method further includes: In response to the detection that the first data block has been written to the first corresponding block of the stripe, the main reconstruction process of the next stripe in the current stripe order is directly executed.

5. The multi-disk reconstruction method of claim 1, wherein, The method further includes: In response to the detection that the reconstruction of the first faulty disk is completed, the secondary reconstruction process with the highest priority in the second faulty disk is upgraded to the current primary reconstruction process; The current main reconstruction process and the remaining sub-reconstruction processes are executed in the order of the stripes that have not been reconstructed in the second faulty disk.

6. The multi-disk reconstruction method of claim 5, wherein, Before upgrading the highest-priority secondary reconstruction process in the second faulty disk to the current primary reconstruction process in response to detecting the completion of the reconstruction of the first faulty disk, the method further includes: If the second faulty disk includes multiple faulty disks, the priority of the multiple faulty disks is determined according to the order in which they fail. Among them, the disk that fails first has a higher priority than the disk that fails later.

7. The multi-disk reconstruction method of claim 6, wherein, If the multiple faulty disks fail simultaneously, the method further includes: The priority of the multiple faulty disks is determined based on their disk identification numbers; Among them, the faulty disk with the smaller disk identification number has a higher priority than the faulty disk with the larger disk identification number.

8. A multi-disk reconstruction apparatus, characterized by comprising: The device includes: The main reconstruction module is used to respond to the detection of a fault in the first faulty disk, execute the main reconstruction process, and reconstruct the data blocks of the corresponding stripe of the first faulty disk in the order of stripes through the verification disk until the reconstruction of the first faulty disk is completed. The secondary reconstruction module is used to respond to the detection of a second faulty disk failure and the first faulty disk failure not being reconstructed, and to execute the secondary reconstruction process based on the main reconstruction process, and simultaneously reconstruct and calculate the data blocks of the stripe corresponding to the second faulty disk through the verification disk according to the current stripe order; The first faulty disk includes one faulty disk, and the second faulty disk includes one or more faulty disks.

9. An electronic device comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, characterized in that, When the processor executes the computer program, it implements the multi-disk reconstruction method as described in any one of claims 1 to 7.

10. A computer-readable storage medium storing computer-executable instructions, the computer-executable instructions comprising: The computer-executable instructions are used to execute the multi-disk reconstruction method according to any one of claims 1 to 7.

Citation Information

Patent Citations

  • Method for reconstructing single disk in vertical redundant array of independent disks (RAID)-6 coding

    CN102419697A

  • Initialization performance improvement method of redundant arrays of inexpensive disks

    CN103645862A