Data reconstruction method, device and computing equipment applied to disk array system
By distinguishing the first physical address and the second physical address in the fault disk, only reconstructing the unreliable data, and directly copying the reliable data to the new disk, the problem of high data reconstruction time consumption in the prior art is solved, and more efficient data reconstruction is achieved.
Patent Information
- Application Number
- CN201980101699.1
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2019-11-01
- Publication Date
- 2025-04-11
- Estimated Expiration
- 2039-11-01
AI Technical Summary
Existing disk array systems need to read a large amount of data during data reconstruction, resulting in large time consumption. As the capacity of solid-state disks increases, the reconstruction time increases linearly, reducing the data reconstruction efficiency.
By distinguishing the first physical address and the second physical address in a fault disk, only unreliable data is reconstructed and the reliable data is copied directly to the new disk, reducing the amount of data read and processed.
It shortens the data reconstruction time, improves the data reconstruction efficiency, and reduces the impact on customers' normal use.
Smart Images

Figure CN114600073B_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of storage technology, and in particular to a data reconstruction method, apparatus, computing device, storage device and storage medium. Background Art
[0002] As the amount of data processed by the server increases, it is difficult for the main memory in the server to simultaneously meet the requirements of large storage capacity and fast read and write speed. In order to solve this problem, disks with different storage capacities and read and write speeds can be used to form a disk array system based on a certain hierarchy, and a suitable control scheduling algorithm can be selected to achieve the optimal performance of the disk array system. For example, the disk array system can be a system based on redundant array of independent disks (RAID) technology.
[0003] In the prior art, taking a disk array system with a RAID level of RAID4 as an example, the disk array system includes four solid state drives (SSDs), three of which are data disks and one is a check disk. The disk array system performs XOR check on the data of the three data disks on the same stripe, and writes the check data obtained by the XOR check into the check disk. When a data disk in the disk array system fails, the server needs to read all the data in the same stripe in other disks except the failed disk, and then perform an anti-XOR check based on the check data in the check disk, and reconstruct all the data in the failed disk, and finally write the reconstructed data into a new disk to replace the failed disk.
[0004] However, in the above data reconstruction process, it is necessary to first read all the data in the corresponding stripes in other disks, and then reconstruct all the data of the failed disk. This process takes a lot of time, and as the capacity of the SSD becomes larger and larger, the reconstruction time will also increase linearly, which will reduce the data reconstruction efficiency and affect the normal use of customers. Summary of the invention
[0005] The embodiments of the present application provide a data reconstruction method, apparatus, computing device, storage device and storage medium, which can save reconstruction time and improve reconstruction efficiency. The technical solution is as follows.
[0006] In a first aspect, a data reconstruction method is provided, the method comprising: receiving a data read request from a computing device, the data read request carrying a target logical address; determining a corresponding target physical address in a faulty disk according to the target logical address; if the target physical address includes a first physical address in the faulty disk, feeding back a response message indicating a data read error to the computing device, wherein a physical address at which data is written in the faulty disk after a first time point is the first physical address, and the first time point is the time at which an address mapping table of the faulty disk was last saved before the fault occurred.
[0007] In the technical solution provided in the present application, a portion of data with higher reliability in a failed disk in a disk array system is directly copied to a new disk, and only the unreliable data in the failed disk is reconstructed, and the reconstructed data is written to the new disk to achieve replacement of the failed disk. In this way, the amount of data read and processed during reconstruction can be greatly reduced, the data reconstruction time can be shortened, and the data reconstruction efficiency can be improved.
[0008] In one possible implementation, if the target physical address is a second physical address in the faulty disk, the data stored in the second physical address is fed back to the computing device, and the storage address in the faulty disk where the data was written before the first time point is the second physical address.
[0009] In the above implementation, by reconstructing the data corresponding to the first physical address and directly copying the data at the second physical address, the data of the failed disk can be quickly transferred, which greatly reduces the amount of data read and processed during reconstruction, shortens the data reconstruction time, and improves the data reconstruction efficiency.
[0010] In one possible implementation, if the target physical address includes the first physical address in the faulty disk, then before feeding back a response message indicating a data read error to the computing device, the method further includes: querying a fault data table according to the target physical address, the fault data table being used to record the first physical address; if the target physical address hits any physical address recorded in the fault data table, determining that the target physical address includes the first physical address in the faulty disk.
[0011] In the above implementation, the first physical address is marked in the form of a fault data table, and the first physical address can be quickly determined by querying, thereby realizing the above reconstruction process.
[0012] In one possible implementation, before receiving a data read request from a computing device, the method further includes: obtaining the time when the address mapping table of the faulty disk was most recently saved before the fault occurred as the first time point; using the physical address of the faulty disk at which the data was written after the first time point as the first physical address; and using the physical address of the faulty disk at which the data was written before the first time point as the second physical address.
[0013] In the above implementation, a specific process of distinguishing the first physical address from the second physical address is provided, so that which data is reliable and which data is unreliable is determined based on the time when the fault occurs, thereby achieving the goal of selectively reconstructing certain data during the data reconstruction process to obtain the above technical effect.
[0014] In one possible implementation, based on the time when the failure of the faulty disk occurs, the time when the address mapping table of the faulty disk was most recently saved before the time when the failure occurs is obtained as before the first time point, and the method also includes: receiving a first command, the first command is used to instruct the faulty disk to enter a target data processing mode, and the target data processing mode is used to distinguish between a first physical address and a second physical address; and executing the step of obtaining the first time point.
[0015] In the above implementation, the faulty disk is instructed to enter the target data processing mode by using a customized first command to start the above physical address differentiation process, thereby avoiding possible reading failures caused by failure to run the target data processing mode.
[0016] In one possible implementation, the time when the address mapping table of the faulty disk was most recently saved before the failure occurred is obtained as before the first time point, and the method also includes: receiving a second command, the second command is used to inquire whether the faulty disk supports a target data processing mode, the target data processing mode is used to distinguish between a first physical address and a second physical address; when the target data processing mode is supported, returning a confirmation response.
[0017] In the above implementation, whether the physical address distinction can be supported is confirmed through interaction with the failed disk, thereby ensuring the success rate of subsequently improving the reconstruction efficiency.
[0018] In a possible implementation, the method further includes: receiving a third command, wherein the third command is used to instruct resumption of operation; and resuming operation.
[0019] In the above implementation, by resuming operation based on commands, it can be ensured that it can resume normal operation after the reconstruction is completed.
[0020] In a second aspect, a data reconstruction method is provided, the method comprising:
[0021] Sending a data read request to a failed disk in the disk array system, wherein the data read request carries a target logical address;
[0022] Receive a response message fed back by the faulty disk in response to the data read request, wherein the response message is a data reading result of the target physical address corresponding to the target logical address; if the response message is a response message for indicating a data read error, reconstruct the data stored at the target physical address and write the reconstructed data to a replacement disk.
[0023] In a possible implementation, the method further includes: if the response message is data, writing the received data into the replacement disk.
[0024] In one possible implementation, before sending a data read request to a faulty disk in a disk array system, the method further includes: sending a first command to the faulty disk, wherein the first command is used to instruct the faulty disk to enter a target data processing mode, and the target data processing mode is used to distinguish physical addresses.
[0025] In one possible implementation, before sending a data read request to a faulty disk in a disk array system, the method further includes: sending a second command to the faulty disk, the second command being used to inquire whether the faulty disk supports a target data processing mode, the target data processing mode being used to distinguish physical addresses; and when receiving a confirmation response sent by the faulty disk, executing the step of sending a data read request to the faulty disk in the disk array system.
[0026] In a possible implementation, the method further includes: sending a third command to the failed disk, where the third command is used to instruct the failed disk to resume operation.
[0027] In one possible implementation, reconstructing the data stored at the target physical address includes: determining a stripe corresponding to the data in the disk array system, reading data corresponding to the stripe from disks other than the failed disk in the disk array system; and reconstructing the data based on the read data.
[0028] In a third aspect, a data reconstruction apparatus is provided, the apparatus comprising: a function module for executing the data reconstruction method executed by the computing device side. Specifically, the data reconstruction apparatus comprises a function module for executing the data reconstruction method described in the first aspect or any optional manner of the first aspect.
[0029] In a fourth aspect, a data reconstruction apparatus is provided, the apparatus comprising: a function module for executing the data reconstruction method executed by the storage device side. Specifically, the data reconstruction apparatus comprises a function module for executing the data reconstruction method described in the second aspect or any optional manner of the second aspect.
[0030] In a fifth aspect, a storage device is provided, comprising a controller and one or more storage chips, wherein the one or more storage chips are used to store data, and the controller is used to implement the data reconstruction method described in the first aspect or any optional method of the first aspect.
[0031] In a sixth aspect, a computing device is provided, comprising a processor, a memory, and a transceiver, wherein the memory stores instructions, and the transceiver is used to receive and send data, and when the instructions are loaded and executed by the processor, the computing device implements the data reconstruction method as described in the second aspect or any optional method of the second aspect.
[0032] In the seventh aspect, a computer-readable storage medium is provided, wherein the storage medium stores at least one instruction, and the instruction is loaded and executed by the processor to implement the data reconstruction method described in the first aspect, the second aspect, or any optional manner of the first aspect or the second aspect.
[0033] In an eighth aspect, a disk array system is provided, comprising: a computing device as described in the sixth aspect and a plurality of storage devices as described in the fifth aspect.
[0034] In any of the above aspects, the disk in the disk array system is any type of disk among SSD, embedded multi media card (embedded multi media card, eMMC) and universal flash storage (universal flash storage, UFS).
[0035] In any of the above aspects, the address mapping table is a flash translation layer mapping table.
[0036] In any of the above aspects, the response message for indicating a data read error carries an error code. BRIEF DESCRIPTION OF THE DRAWINGS
[0037] Figure 1 It is a schematic diagram of the principle of a flash translation layer (FTL) provided in an embodiment of the present application;
[0038] Figure 2 It is a schematic diagram of an implementation environment of a data reconstruction method provided in an embodiment of the present application;
[0039] Figure 3 It is a flowchart of a data reconstruction method provided in an embodiment of the present application;
[0040] Figure 4 It is a schematic diagram of the relationship between the saving time point, the fault occurrence time and the written data of a timeline-based address mapping table provided in an embodiment of the present application;
[0041] Figure 5 is a structural schematic diagram of a data reconstruction device provided in an embodiment of the present application;
[0042] Figure 6 is a structural schematic diagram of another data reconstruction device provided in an embodiment of the present application;
[0043] Figure 7 is a structural schematic diagram of another data reconstruction device provided in an embodiment of the present application;
[0044] Figure 8 is a structural schematic diagram of a data reconstruction device provided in an embodiment of the present application;
[0045] Fig. 9 is a schematic diagram of the structure of a computing device provided in an embodiment of the present application;
[0046] Fig.10 It is a structural schematic diagram of a storage device provided in an embodiment of the present application. DETAILED DESCRIPTION
[0047] In order to make the objectives, technical solutions and advantages of the present application clearer, the implementation methods of the present application will be further described in detail below with reference to the accompanying drawings.
[0048] First, a brief introduction to the RAID system involved in the embodiment of the present application is given:
[0049] The Redundant Array of Independent Disks (RAID) system refers to: multiple separate disks are combined in different ways to form a logical hard disk, thereby improving the disk reading performance and data security.
[0050] In the RAID system, there are the following concepts:
[0051] Strip: A stripe can include a single or multiple consecutive sectors on a disk. It is the smallest unit for reading and writing data on a disk and is an element that makes up a stripe.
[0052] Stripe: A strip of the same "position" (or same number) on multiple disk drives in the same disk array.
[0053] Stripe width: The number of data member disks in a stripe.
[0054] Stripe depth: The capacity of a stripe.
[0055] Based on the above introduction, it can be known that RAID can have different combinations, and different combinations can be identified by RAID levels. Different RAID levels represent different storage performance, data security and storage costs.
[0056] RAID technology has been continuously developed and currently has 6 clear standard RAID levels from RAID 0 to RAID 5. In addition, there are RAID 6, RAID 7, RAID 10 (a combination of RAID 1 and RAID 0), RAID01 (a combination of RAID 0 and RAID 1), RAID 30 (a combination of RAID 3 and RAID 0), RAID 50 (a combination of RAID 0 and RAID 5), etc. It should be noted that for the convenience of subsequent description, the corresponding RAID system will be directly represented by RAID level in the following text.
[0057] The following is an illustrative introduction to RAID using RAID 3 as an example:
[0058] RAID 3 uses one disk as a check disk and the rest of the disks as data disks. Data is accessed to each data disk in a bit or byte manner. RAID 3 also provides data fault tolerance and will not affect the user's reading of data. RAID3 performs XOR check on the data of the same strip on different disks and writes the check value to the check disk. When a data disk in RAID 3 is damaged, if the data block to be read happens to be on the damaged disk, it is necessary to read all the data blocks on the same strip, and then reconstruct the data on the damaged disk according to the check value. RAID 3 is suitable for applications with a large number of read operations such as website (web) systems and information query or continuous large block data flow (such as non-linear editing).
[0059] Of course, the above RAID 3 is only an example of RAID, and its data verification is achieved through P code. In technologies such as RAID6, P / Q code can also be used to achieve double parity verification, which can be suitable for systems with higher data security level requirements.
[0060] The following is an exemplary introduction to data reconstruction in RAID technology:
[0061] For RAID systems, RAID (such as RAID 1, RAID 3, RAID 5, RAID 6, RAID 10 or RAID50, etc.) can also provide a data reconstruction function, referred to as data reconstruction, that is, for a member disk in the RAID system, when a member disk in the RAID system fails, all data on the failed member disk is recalculated and generated according to the RAID algorithm and other normal member disks, and the data is written to a replacement disk, that is, a hot spare disk or a replacement new hard disk. Based on this data reconstruction, the security and reliability of the data in the RAID system can be guaranteed.
[0062] The following is a brief introduction to FTL:
[0063] FTL exists between the file system and the physical medium (flash memory), and is responsible for all conversions from logical block address (LBA) to physical block address (PBA). It can be used to manage the reading and writing of physical media. For the file system, it only needs to operate LBA like the original file system. Among them, FTL maintains an FTL mapping table. When the file system sends an instruction to write or update a specific LBA, FTL actually writes the data to a different free PBA, updates the FTL mapping table, and establishes a mapping relationship between the LBA and the new PBA. Since the updated data has been written to the new PBA, the data in the old PBA is naturally invalid. Therefore, the "old data" contained in this old PBA can be marked as "invalid". Through the above-mentioned FTL mapping function, the file system achieves the purpose of operating the SSD as a mechanical hard disk.
[0064] It should be noted that the above-mentioned FTL function can be implemented by the main controller in the disk array system or the firmware in the disk, and the FTL mapping table can be stored in the internal static random access memory (SRAM) or dynamic random access memory (DRAM) or external DRAM or NAND particles. Of course, in order to prevent power failure and loss, the FTL mapping table can also have multiple backups.
[0065] by Figure 1For example, suppose data is written to page0 (physical address n), and then data is written to page1 (physical address n+1). Then the page0 data is updated, but the updated data is not overwritten. The FTL writes it to physical address n+2, and then marks physical address n as "invalid". After many such operations, the block will be filled with a lot of "valid" and "invalid" data.
[0066] Figure 2 The embodiment of the present application provides an implementation environment of a data reconstruction method, which can be a disk array system, which can specifically include: a storage controller 210, a plurality of storage devices 220 connected to the storage controller 210, and a computing device 230.
[0067] Among them, the storage controller 210 is used to implement the storage control function between the computing device 230 and the storage device 220. For example, when receiving a read or write request from the computing device, the storage controller can determine the storage device to be read based on the read or write request, and interact with the storage device through read or write instructions to implement data reading and writing.
[0068] The plurality of storage devices 220 may be solid state drives (SSDs), etc. A solid state drive may include components such as a controller and a storage chip, wherein the storage chip may include a NOR flash chip, a dynamic random access memory (DRAM) chip, etc. SSDs are widely used in military, vehicle-mounted, industrial control, video surveillance, network surveillance, network terminals, electricity, medical treatment, aviation, navigation equipment, and many other fields.
[0069] The number of computing devices 230 may be one or more. When there are multiple computing devices 230, there are at least two computing devices for providing different services, and / or there are at least two computing devices for providing the same service, such as multiple computing devices providing the same service in a load balancing manner, which is not limited in this embodiment of the present application. The computing device 230 can be used for data scheduling and data operation, and the data in the multiple storage devices 220 can be scheduled and operated through a suitable data scheduling algorithm.
[0070] Figure 3 is a flow chart of a data reconstruction method provided in an embodiment of the present application, combined with Figure 3 , the method comprising:
[0071] 301. A computing device sends a first command to a faulty disk, where the first command is used to instruct the faulty disk to enter a target data processing mode, where the target data processing mode is used to distinguish between a first physical address and a second physical address.
[0072] In the embodiment of the present application, the faulty disk is the above-mentioned storage device, that is, a disk in a disk array system. The above-mentioned first command may be a restart command. For a computing device, the restart command may be used to instruct the faulty disk to perform subsequent data differentiation and other processes, thereby realizing data reconstruction.
[0073] Among them, the first physical address and the second physical address are determined by the faulty disk according to the address mapping table, the physical address of the faulty disk after the first time point when the data is written is the first physical address, and the physical address of the faulty disk before the first time point when the data is written is the second physical address, and the first time point is the time when the address mapping table of the faulty disk was last saved before the failure occurred.
[0074] For example, the first time point is a saving time point among at least one saving time point corresponding to the FTL mapping table, which is located before the time when the failure of the faulty disk occurs, that is, a saving time point among at least one saving time point corresponding to the FTL mapping table, which has the shortest time interval with the time when the failure of the faulty disk occurs, and is located before the failure time.
[0075] For example, Figure 4 is a schematic diagram of the relationship between the saving time point of the address mapping table based on the timeline, the fault occurrence time and the written data provided by an embodiment of the present application, such as Figure 4 As shown, the FTL mapping table is saved every 13 data writes. Figure 4 It can be seen that before the moment of SSD failure, at least three saves were performed, that is, at least one save time point of the FTL mapping table includes the time point of saving FTL mapping table 1, the time point of saving FTL mapping table 2, and the time point of saving FTL mapping table 3. The address mapping table was last saved as FTL mapping table 3 before the moment of failure, and the save time point of FTL mapping table 3 can be determined as the first time point. Among them, the address mapping table is used to represent the mapping relationship between logical addresses and physical addresses. It should be noted that the address mapping table will be saved periodically. For example, the address mapping table can be an FTL mapping table.
[0076] It should be noted that, for a disk array system, its computing device may periodically monitor the fault conditions of each disk in the system to determine the faulty disk, or the faulty disk may report its own fault condition to the computing device, so that the computing device learns of the faulty disk; and the computing device may periodically process data on the faulty disk, or may perform the above data processing after determining the faulty disk, and the embodiments of the present application do not limit this.
[0077] 302. The faulty disk receives a first command.
[0078] It should be noted that, for a failed disk, in most failure scenarios, the firmware (FW) of the failed disk can still work, so when the firmware of the failed disk receives the first command, it can restart based on the first command. After the failed disk restarts, it can enter the target data processing mode for distinguishing the second physical address from the first physical address to perform the subsequent data distinction process.
[0079] In step 302 of the embodiment of the present application, after the failed disk receives the first command, the failed disk can be restarted to stop the current data processing in the failed disk, so as to provide a safer and more stable operating environment for data differentiation, etc. In another possible implementation, after receiving the first command, the failed disk can also directly enter the target data processing mode without restarting.
[0080] The first command is used to power off and then power on the faulty disk so that the faulty disk executes a restart process. This form of powering off and on can directly and effectively implement the restart process when the faulty disk cannot restart itself due to a firmware failure of the faulty disk itself, thereby allowing the faulty disk to enter the address distinction processing step.
[0081] 303. The computing device sends a second command to the faulty disk, where the second command is used to inquire whether the faulty disk supports a target data processing mode.
[0082] The second command may be a user-defined command. For example, the second command may be implemented by adding a new definition to an existing field of an existing command format in the disk array system.
[0083] It should be noted that, when the computing device does not receive feedback from the faulty disk, it can repeatedly send the second command to the faulty disk multiple times to inquire whether the faulty disk supports the above-mentioned differentiation process, and when the number of repetitions reaches the preset number of times and still does not receive a confirmation response from the faulty disk, it can stop sending and reconstruct data through other data reconstruction methods. Of course, the computing device can also not execute the sending of the above-mentioned second command, but assume that all the faulty disks in the disk array system support the differentiation process by default.
[0084] In addition, for the computing device, the second command can also be executed after the faulty disk is determined and before the first command is sent, so that when it is determined that the faulty disk can support the target data processing mode, it can be notified to enter the target data processing mode, thereby ensuring the normal data reconstruction.
[0085] 304. After receiving the second command, the faulty disk returns a confirmation response to the computing device if it supports the target data processing mode. The confirmation response is used to indicate that the faulty disk supports the target data processing mode.
[0086] In a possible implementation, the faulty disk can detect whether it supports the target data processing mode, that is, whether it supports the distinction between the second physical address and the first physical address. The detection process may include: detecting whether the faulty disk can read the address mapping table, which is used to represent the mapping relationship between the logical address and the physical address. If the address mapping table can be read, it is determined that the faulty disk supports the mode. If the address mapping table cannot be read, it is determined that the faulty disk does not support the mode. Alternatively, the detection process may include: detecting whether the setting item of the target data processing mode of the faulty disk is turned on, etc., which is not limited in the embodiments of the present application.
[0087] In addition, if the faulty disk does not support this mode, the target response may not be returned, for example, the second command may be ignored or a rejection response may be returned. The rejection response is used to indicate that the faulty disk does not support the target data processing mode, so that the computing device can know that the current faulty disk cannot support it, and instead use other data reconstruction methods to reconstruct, thereby avoiding excessive delay in reconstruction.
[0088] If the disk array system is a RAID system, the address mapping table may be an FTL mapping table. Of course, in other types of disk array systems, the address mapping table may be called other names, which will not be described in detail here.
[0089] 305. The faulty disk obtains the time when the address mapping table was most recently saved by the faulty disk before the fault occurred as the first time point.
[0090] For a hard disk, whenever the data written to the hard disk reaches a certain capacity, or the running time of the hard disk reaches a certain length, or new data is written to the hard disk, the address mapping table can be automatically saved, and for each save, the corresponding save time point is stored.
[0091] Based on the above address mapping table, a possible implementation of step 305 is: obtaining a saving time point before the time when the fault of the faulty disk occurs among at least one saving time point of the address mapping table as the first time point. For example, the faulty disk can read the saving time points and the time when the fault occurs of each address mapping table, sort these times, and determine the saving time point before the time when the fault occurs and with the smallest difference with the time when the fault occurs as the first time point.
[0092] It should be noted that the above-mentioned address mapping table may be a general term for a collection of multiple address mapping tables, and a mapping relationship between a pair of logical addresses and physical addresses may be referred to as an address mapping table.
[0093] 306. The faulty disk uses a physical address at which the data in the faulty disk is written after the first time point as the first physical address.
[0094] After determining the first time point, the data can be marked based on the first time point. The specific marking method can be achieved by writing the first physical address into the fault data table. Of course, other forms can also be used to maintain the first physical address, for example, instead of using a form, recording in a document form, etc. The embodiments of the present application do not limit this.
[0095] It should be noted that, in the above process, only the first physical address may be determined, and other physical addresses on the faulty disk may be directly determined as the second physical address as long as they are not marked. For example, in a scenario where a fault data table is used for marking, the fault data table may only include the first physical address, and other physical addresses on the faulty disk may be directly determined as the second physical address. Alternatively, in order to avoid errors, the write times may be compared to determine the second physical address and the first physical address, so as to prepare for subsequent data reconstruction.
[0096] The above steps 305 to 306 are the process of distinguishing the physical addresses of the faulty disk. This process is essentially based on the time when the failure occurs to determine which data has higher reliability and which data has lower reliability, so that the reconstruction process does not need to be performed for the data with higher reliability. The distinction process is simple to operate and has high accuracy, and provides a reference for the subsequent data reconstruction of the computing device.
[0097] 307. The computing device sends a data read request to the failed disk, where the data read request carries a target logical address.
[0098] For a computing device, one or more reading processes can be initiated based on the logical address or physical address corresponding to the faulty disk to read the data. Here, only one reading process is used as an example for explanation. The data reading request can carry the logical address to be read.
[0099] 308. The faulty disk receives a data read request from a computing device, where the data read request carries a target logical address.
[0100] 309. The faulty disk determines a corresponding target physical address in the faulty disk according to the target logical address.
[0101] The faulty disk can convert the logical address to the physical address by querying the address mapping table, thereby determining the physical address of the data to be read by the computing device.
[0102] 310. If the target physical address includes the first physical address in the faulty disk, the faulty disk feeds back a response message indicating a data read error to the computing device.
[0103] In one possible implementation, in the scenario of marking through a fault data table, the faulty disk can query the fault data table according to the data read request, and the fault data table is used to record the first physical address; if the target physical address hits any physical address recorded in the fault data table, it is determined that the target physical address includes the first physical address in the faulty disk.
[0104] Taking the case where the first physical address is marked but the second physical address is not marked as an example, any unmarked physical address can be directly used as the second physical address to respond to the data read request of the computing device. For example, in the scenario where the marking is performed through a fault data table, the fault data table may also only store the first physical address. Then, when the data read request hits the physical address stored in the fault data table, the computing device may be instructed to reconstruct the data stored in the target physical address.
[0105] In another possible implementation, the faulty disk may also mark the second physical address instead of the first physical address, and when a data read request hits any unmarked physical address, it may directly be used as the first physical address to respond to the data read request of the computing device. For example, in the scenario of marking through a fault data table, the fault data table may also only store the second physical address, and when the data read request hits a physical address outside the fault data table, that is, the first physical address outside the second physical address, the computing device may be instructed to reconstruct the data stored in the target physical address.
[0106] It should be noted that the present disclosure does not limit which of the above-mentioned marking methods is specifically adopted.
[0107] In a possible implementation, the response message may carry an error code for indicating a data read error, that is, the physical address corresponding to the data read request includes the first physical address on the faulty disk.
[0108] It should be noted that when some of the target physical addresses corresponding to the data read request hit the first physical address and the other parts hit the second physical address, in order to ensure the simplicity of the entire process, an error code can be directly returned to inform the data read request of a read error, so that the computing device can reconstruct the data corresponding to the target physical address.
[0109] Optionally, if the target physical address hits the second physical address, then for the second physical address other than the first physical address, the faulty disk sends the data stored at the second physical address in the faulty disk to the computing device, and the computing device copies the data read from the second physical address of the faulty disk to a replacement disk of the faulty disk. The replacement disk may be any normal disk in the disk array system, or a disk newly added to the disk array system by replacement or other means, which is not limited in the embodiments of the present application.
[0110] It should be noted that when the computing device reads any data, it can also verify the read data. When the data verification passes, the above-mentioned copying process can be executed to ensure the consistency and integrity of the data.
[0111] It should be noted that the data stored in the physical address involved in the embodiments of the present application is used to refer to the data stored in the storage space corresponding to the physical address.
[0112] 311. The computing device reconstructs the data stored at the target physical address, and writes the reconstructed data into the replacement disk.
[0113] In a possible implementation, the process of “reconstructing the data stored at the target physical address” in step 311 may include the following steps 311A and 311B:
[0114] 311A. The computing device determines the stripe corresponding to the data stored at the target physical address in the disk array system, and reads the data corresponding to the stripe from the disks in the disk array system except the failed disk.
[0115] The process may include: the computing device determines, based on the stripe to which the data corresponds in the disk array system, a disk other than a failed disk for storing each data block on the stripe, and the computing device reads the data belonging to the stripe from the determined disk, wherein the data belonging to the stripe includes the data block itself and a check data block.
[0116] It should be noted that when continuous data is written into a disk array system, striping processing is required. The striping processing refers to dividing the continuous data into data blocks of the same size, and writing each segment of data to different disks respectively, so that each segment of data can be determined as data belonging to the same stripe. In addition, check data can be generated based on the data belonging to the same stripe, and the check data is stored on the same stripe. The check data can be used for data reconstruction, wherein the generation method of the check data can include parity check, XOR check, Hamming check, etc.
[0117] 311B. The computing device reconstructs the data based on the read data.
[0118] The data reconstruction process may include: based on the read data and the verification data generation method when the faulty disk writes data, executing the reverse verification data generation method, and using the obtained data as the reconstructed data. For example, when the XOR verification method is used when writing data, the read data is reversed XOR verified to obtain the reconstructed data.
[0119] 312. After data reconstruction is completed, the computing device sends a third command to the failed disk, where the third command is used to instruct the failed disk to resume operation.
[0120] After the copying process and the reconstruction process are completed, the computing device can inform the failed disk to resume normal operation, and the notification process can be implemented through the above step 312. The third command can be a custom command, for example, the third command is implemented by adding a newly defined word to an existing field of an existing command in the disk array system. Of course, the computing device can also inform the failed disk to resume operation immediately after the copying is completed, without waiting for the data reconstruction to be completed, so that the failed disk can be resumed in advance.
[0121] 313. The faulty disk receives the third command and resumes operation.
[0122] The failed disk can resume operation on its own based on whether the response to the data read request is completed. Of course, it can also resume operation and execute subsequent tasks after receiving the third command.
[0123] The method provided in the embodiment of the present application directly copies a portion of data with higher reliability in the failed disk to a new disk, and only reconstructs the unreliable data in the disk, thereby greatly reducing the amount of data read and processed during reconstruction, shortening the data reconstruction time, and improving the data reconstruction efficiency.
[0124] For a faulty disk, in an actual scenario, since data with poor reliability only accounts for a minority of the data on the disk, the above-mentioned method of copying part of the data and reconstructing the other data with reliability issues is used. In other words, it can be proved through actual results that the application of this application embodiment can greatly reduce the amount of read and write data in the data reconstruction process.
[0125] Figure 5 is a structural diagram of a data reconstruction device provided in an embodiment of the present application, such as Figure 5 As shown, the device comprises:
[0126] A receiving module 501 is used to receive a data read request from a computing device, wherein the data read request carries a target logical address;
[0127] A determination module 502, configured to determine a corresponding target physical address in the failed disk according to the target logical address;
[0128] The sending module 503 is used to feed back a response message indicating a data read error to the computing device if the target physical address includes the first physical address in the faulty disk, wherein the physical address at which the data in the faulty disk is written after a first time point is the first physical address, and the first time point is the time when the address mapping table of the faulty disk was last saved before the fault occurred.
[0129] For example, the response message indicating a data read error carries an error code. For another example, the address mapping table is a flash memory translation layer mapping table.
[0130] In the device provided in the above embodiment, the faulty disk will perform address conversion based on the target logical address in the data read request to obtain the target physical address, and then determine whether the target physical address includes the first physical address based on the target physical address, that is, whether it includes the physical address where the data is written after the first time point. The first time point is the time when the address mapping table was most recently saved by the faulty disk before the fault occurred. Through the above determination process, the faulty disk can know which physical addresses have reliable data and which are unreliable data, so as to respond to the data read request. If the target physical address includes the first physical address, a response message indicating a data read error can be fed back to inform the computing device of the read error, and the computing device will reconstruct based on the target physical address.
[0131] In one possible implementation, the sending module is also used to feedback the data stored in the second physical address to the computing device if the target physical address is the second physical address in the faulty disk, and the storage address in the faulty disk where the data is written before the first time point is the second physical address.
[0132] In one possible implementation, see Figure 6 , the device further comprises:
[0133] The query module 504 is used to query the fault data table according to the target physical address, and the fault data table is used to record the first physical address; if the target physical address hits any physical address recorded in the fault data table, it is determined that the target physical address includes the first physical address in the faulty disk.
[0134] In a possible implementation, the device further includes:
[0135] An acquisition module 505 is used to acquire the time when the address mapping table of the faulty disk was most recently saved before the time when the fault occurred as the first time point;
[0136] The address distinguishing module 506 is used to use the physical address in the failed disk where the data is written after the first time point as the first physical address; and use the physical address in the failed disk where the data is written before the first time point as the second physical address.
[0137] In a possible implementation, the receiving module 501 is further used to receive a first command, the first command is used to instruct the faulty disk to enter a target data processing mode, the target data processing mode is used to distinguish between a first physical address and a second physical address; and trigger the acquisition module 505 to execute the step of acquiring the first time point. The first command may be a system-defined command, which may be used to trigger the faulty disk to enter the target data processing mode. It should be noted that the faulty disk may enter the target data processing mode after restarting to avoid mode startup errors caused by some data being read. Of course, the target data processing mode may also be entered directly, and this is not limited in the present embodiment of the application.
[0138] In a possible implementation, the receiving module 501 is further used to receive a second command, the second command is used to inquire whether the faulty disk supports a target data processing mode, the target data processing mode is used to distinguish between the first physical address and the second physical address; the sending module 503 is further used to return a confirmation response when the target data processing mode is supported. The second command can be a system-defined command, through which the computing device can ensure the success rate of the subsequent process implementation based on the inquiry mechanism. Of course, for the entire system, it can also be assumed that the target data processing mode is supported by default, and the inquiry can be performed without the above inquiry mechanism, but the above physical address distinction process can be directly executed.
[0139] In a possible implementation, the receiving module 501 is further configured to receive a third command, wherein the third command is configured to instruct the resumption of operation; Figure 7 The device further includes: an operation processing module 507, which is used to resume operation according to the instruction of the third command. In this process, the failed disk can exit from the target data processing mode and resume its normal operation, so as to ensure the normal reading of the data in the storage space indicated by the second physical address to a certain extent, and provide a data basis for the normal operation of the business when the replacement disk is not officially online.
[0140] The disk array system is a RAID; for example, the disks in the disk array system include at least one of an SSD, an eMMC, and a UFS.
[0141] It should be noted that: the data reconstruction device provided in the above embodiment only uses the division of the above functional modules as an example to illustrate the data reconstruction. In actual applications, the above functions can be assigned to different functional modules as needed, that is, the internal structure of the device is divided into different functional modules to complete all or part of the functions described above. In addition, the data reconstruction device provided in the above embodiment and the data reconstruction method embodiment belong to the same concept. The specific implementation process is detailed in the method embodiment and will not be repeated here.
[0142] Figure 8 is a structural diagram of a data reconstruction device provided in an embodiment of the present application, such as Figure 8 As shown, the device comprises:
[0143] A sending module 801 is used to send a data read request to a failed disk in a disk array system, wherein the data read request carries a target logical address;
[0144] A receiving module 802 is used to receive a response message fed back by the failed disk in response to the data read request, wherein the response message is a data read result of a target physical address corresponding to the target logical address;
[0145] The reconstruction module 803 is used to reconstruct the data stored at the target physical address if the response message is a response message for indicating a data read error; for example, the response message for indicating a data read error carries an error code.
[0146] The writing module 804 is used to write the reconstructed data into the replacement disk.
[0147] In the device provided in the above embodiment, the faulty disk will perform address conversion based on the target logical address in the data read request to obtain the target physical address, and then determine whether the target physical address includes the first physical address based on the target physical address, that is, whether it includes the physical address where the data is written after the first time point. The first time point is the time when the address mapping table was most recently saved by the faulty disk before the fault occurred. Through the above determination process, the faulty disk can know which physical addresses have reliable data and which are unreliable data, so as to respond to the data read request. If the target physical address includes the first physical address, a response message indicating a data read error can be fed back to inform the computing device of the read error, and the computing device will reconstruct based on the target physical address.
[0148] For example, the disk array system is a RAID. For another example, the disks of the disk array system are any type of disks among SSD, eMMC and UFS.
[0149] In a possible implementation, the address mapping table is a flash translation layer mapping table.
[0150] In a possible implementation, the writing module 804 is further configured to write the received data into the replacement disk if the response message is data. For the storage data directly fed back by the faulty disk, the data writing process can be directly performed to complete the data backup process from the faulty disk to the replacement disk. Optionally, the computing device can also verify the data when receiving the data, and then perform the process of writing the data into the replacement disk after the verification passes, which is not limited in the embodiment of the present disclosure.
[0151] In a possible implementation, the sending module 801 is further used to send a first command to the faulty disk, the first command being used to instruct the faulty disk to enter a target data processing mode, the target data processing mode being used to distinguish physical addresses. The first command may be a system-defined command, which may be used to trigger the faulty disk to enter the target data processing mode. It should be noted that the faulty disk may enter the target data processing mode after restarting to avoid mode startup errors caused by some data being read, etc. Of course, the target data processing mode may also be entered directly, which is not limited in the present embodiment of the application.
[0152] In a possible implementation, the sending module 801 is further used to send a second command to the faulty disk, the second command is used to inquire whether the faulty disk supports the target data processing mode, and the target data processing mode is used to distinguish physical addresses; the sending module 801 is also used to execute the step of sending a data read request to the faulty disk in the disk array system when receiving a confirmation response sent by the faulty disk. The second command can be a system-defined command. Through the second command, the computing device can ensure the success rate of the subsequent process implementation based on the inquiry mechanism. Of course, for the entire system, it can also be assumed that the target data processing mode is supported by default, and the inquiry can be performed without the above inquiry mechanism, but the above physical address distinction process can be directly executed.
[0153] In a possible implementation, the sending module 801 is further used to send a third command to the failed disk, and the third command is used to instruct the failed disk to resume operation. In this process, the failed disk can exit from the target data processing mode and resume its normal operation, so as to ensure the normal reading of the data in the storage space indicated by the second physical address to a certain extent, and provide a data basis for the normal operation of the business when the replacement disk is not officially online.
[0154] In one possible implementation, the reconstruction module 803 is used to: determine the stripe corresponding to the data in the disk array system, read the data corresponding to the stripe from the disks in the disk array system except the failed disk; and reconstruct the data based on the read data.
[0155] It should be noted that: the data reconstruction device provided in the above embodiment only uses the division of the above functional modules as an example to illustrate the data reconstruction. In actual applications, the above functions can be assigned to different functional modules as needed, that is, the internal structure of the device is divided into different functional modules to complete all or part of the functions described above. In addition, the data reconstruction device provided in the above embodiment and the data reconstruction method embodiment belong to the same concept. The specific implementation process is detailed in the method embodiment and will not be repeated here.
[0156] Fig. 9It is a structural diagram of a computing device provided in an embodiment of the present application. The computing device can be provided as a personal computer (PC) or a server and other devices. The computing device can include one or more processors (central processing unit, CPU) 901, one or more memories 902 and a transceiver 903, wherein the memory 902 stores at least one instruction, and the at least one instruction is loaded and executed by the processor 901 to implement the steps on the computing device side in the data reconstruction method provided in the above method embodiment, and the transceiver 903 can be used for data transmission and reception. Of course, the computing device can also have components such as a wired or wireless network interface, a keyboard, and an input and output interface for input and output. The computing device can also include other components for implementing device functions, which will not be repeated here.
[0157] For example, the above-mentioned memory 902 can be used to execute the step of storing the read data in the above-mentioned embodiment, and the processor 901 can be used to execute the data reconstruction and other processes in the above-mentioned embodiment, and the transceiver 903 can perform the sending steps of the first command, the second command, the third command and the data reading request based on the control of the processor 901, and can also perform the receiving step of the response message.
[0158] In an exemplary embodiment, a computer-readable storage medium is also provided, such as a memory including a program code, and the program code can be executed by a processor in a computing device to complete the data reconstruction method in the above embodiment. For example, the computer-readable storage medium can be a ROM (Read-Only Memory), a RAM (random access memory), a CD-ROM (Compact Disc Read-Only Memory), a magnetic tape, a floppy disk, an optical data storage device, etc.
[0159] Fig.10 This is a method provided by the embodiment of the present application. Figure 2The structural diagram of the storage device 220 shown in the figure may include a controller 1001 and one or more storage chips 1002. The storage chip 1002 includes an erasable block for storing one or more flash memory pages. The controller 1001 can perform the various steps performed by the faulty disk in the above-mentioned embodiment through interaction with the storage chip 1002. Taking RAID as an example, the controller 1001 is operably coupled to the storage chip 1002, and is used to organize at least two flash memory pages into a RAID row group and write the composition information of the RAID row group members into each flash memory page of the RAID row group. The controller 1001 can perform parallel operations on the storage chip 1002 through multiple channels, and the main functions of the controller 1001 may include: error checking and correction, wear leveling, bad block mapping, cache control, garbage collection, encryption, etc.
[0160] For example, the above-mentioned storage chip 1002 can be used to store data, and the controller 1001 can be used to perform processes such as physical address distinction in the above-mentioned embodiments, and the controller 1001 can receive the sending steps of the first command, the second command, the third command and the data read request from the computing device, and execute corresponding steps based on the above-mentioned commands or requests, and can also return a response message to the computing device based on the data read request.
[0161] In an exemplary embodiment, a computer-readable storage medium is also provided, such as a memory including a program code, and the program code can be executed by a controller in a storage device to complete the data reconstruction method in the above embodiment. For example, the computer-readable storage medium can be a ROM (Read-Only Memory), a RAM (random access memory), a CD-ROM (Compact Disc Read-Only Memory), a magnetic tape, a floppy disk, an optical data storage device, etc.
[0162] A person skilled in the art will understand that all or part of the steps of implementing the above embodiments may be accomplished by hardware or by instructing related hardware through a program, and the program may be stored in a computer-readable storage medium, and the above-mentioned storage medium may be a read-only memory, a disk or an optical disk, etc.
[0163] The above are only optional embodiments of the present application and are not intended to limit the present application. Any modifications, equivalent substitutions, improvements, etc. made within the spirit and principles of the present application should be included in the protection scope of the present application.
Claims
1. A data reconstruction method, characterized in that: The method comprises: receiving a data read request from a computing device, wherein the data read request carries a target logical address; Determine a corresponding target physical address in the faulty disk according to the target logical address; If the target physical address includes the first physical address in the failed disk, a response message indicating a data read error is fed back to the computing device, wherein the physical address of the failed disk after the data writing time at the first time point is the first physical address, and the first time point is the time when the address mapping table of the failed disk was last saved before the failure occurred; If the target physical address is a second physical address in the faulty disk, the data stored in the second physical address is fed back to the computing device, and the storage address in the faulty disk where the data was written before the first time point is the second physical address.
2. The method according to claim 1, characterized in that If the target physical address includes the first physical address in the failed disk, before feeding back a response message indicating a data read error to the computing device, the method further includes: According to the target physical address, query a fault data table, wherein the fault data table is used to record the first physical address; If the target physical address hits any physical address recorded in the fault data table, it is determined that the target physical address includes the first physical address in the faulty disk.
3. The method according to claim 1, characterized in that Before receiving a data reading request from a computing device, the method further includes: Acquire the time when the address mapping table of the faulty disk is most recently saved before the time when the fault occurs as the first time point; Using the physical address in which the data in the failed disk is written after the first time point as the first physical address; The physical address in which the data in the failed disk is written before the first time point is used as the second physical address.
4. The method according to claim 3, characterized in that The time of acquiring the address mapping table most recently saved by the faulty disk before the time of the fault occurrence as before the first time point, the method further comprises: receiving a first command, wherein the first command is used to instruct the failed disk to enter a target data processing mode, wherein the target data processing mode is used to distinguish between a first physical address and a second physical address; Execute the step of obtaining the first time point.
5. The method according to claim 3, characterized in that: The time of acquiring the address mapping table most recently saved by the faulty disk before the time of the fault occurrence as before the first time point, the method further comprises: receiving a second command, wherein the second command is used to inquire whether the faulty disk supports a target data processing mode, wherein the target data processing mode is used to distinguish between a first physical address and a second physical address; When the target data processing mode is supported, a confirmation response is returned.
6. The method according to any one of claims 1 to 5, characterized in that: The method further comprises: receiving a third command, wherein the third command is used to instruct to resume operation; According to the instruction of the third command, the operation is resumed.
7. The method according to any one of claims 1 to 5, characterized in that: The faulty disk is any type of disk among SSD, eMMC and UFS.
8. The method according to any one of claims 1 to 5, characterized in that: The address mapping table is a flash memory translation layer mapping table.
9. The method according to any one of claims 1 to 5, characterized in that: The response message indicating a data read error carries an error code.
10. A data reconstruction method, characterized in that: The method comprises: Sending a data read request to a failed disk in the disk array system, wherein the data read request carries a target logical address; receiving a response message fed back by the failed disk in response to the data read request, wherein the response message is a data read result of a target physical address corresponding to the target logical address; If the response message is a response message for indicating a data read error, reconstructing the data stored at the target physical address, and writing the reconstructed data into a replacement disk; If the response message is data, the received data is written into the replacement disk.
11. The method according to claim 10, characterized in that Before sending a data read request to a failed disk in the disk array system, the method further includes: A first command is sent to the faulty disk, where the first command is used to instruct the faulty disk to enter a target data processing mode, where the target data processing mode is used to distinguish physical addresses.
12. The method according to claim 10, characterized in that Before sending a data read request to a failed disk in the disk array system, the method further includes: Sending a second command to the faulty disk, wherein the second command is used to inquire whether the faulty disk supports a target data processing mode, wherein the target data processing mode is used to distinguish physical addresses; When a confirmation response sent by the failed disk is received, a step of sending a data read request to the failed disk in the disk array system is executed.
13. The method according to any one of claims 10 to 12, characterized in that: The method further comprises: A third command is sent to the failed disk, where the third command is used to instruct the failed disk to resume operation.
14. The method according to any one of claims 10 to 12, characterized in that: The data reconstruction of the data stored at the target physical address includes: Determine a stripe corresponding to the data in the disk array system, and read data corresponding to the stripe from disks in the disk array system except the failed disk; Based on the read data, data reconstruction is performed on the data.
15. The method according to any one of claims 10 to 12, characterized in that: The disk array system is RAID.
16. The method according to any one of claims 10 to 12, characterized in that: The disk in the disk array system includes at least one of SSD, eMMC and UFS.
17. The method according to any one of claims 10 to 12, characterized in that: The response message indicating a data read error carries an error code.
18. A data reconstruction device, characterized in that: The device comprises: A receiving module, configured to receive a data read request from a computing device, wherein the data read request carries a target logical address; A determination module, used to determine a corresponding target physical address in the faulty disk according to the target logical address; a sending module, configured to feed back a response message indicating a data read error to the computing device if the target physical address includes a first physical address in the failed disk, wherein the physical address of the failed disk after the data writing time at a first time point is the first physical address, and the first time point is the time of the address mapping table most recently saved by the failed disk before the failure occurs; The sending module is also used to feedback the data stored in the second physical address to the computing device if the target physical address is the second physical address in the faulty disk, and the storage address in the faulty disk where the data is written before the first time point is the second physical address.
19. The device according to claim 18, characterized in that The device also includes: A query module is used to query a fault data table according to the target physical address, wherein the fault data table is used to record the first physical address; if the target physical address hits any physical address recorded in the fault data table, it is determined that the target physical address includes the first physical address in the faulty disk.
20. The device according to claim 18, characterized in that The device also includes: An acquisition module, configured to acquire the time at which the address mapping table of the faulty disk was most recently saved before the time at which the fault occurred as the first time point; The address distinguishing module is used to use the physical address in the faulty disk where the data is written after the first time point as the first physical address; and use the physical address in the faulty disk where the data is written before the first time point as the second physical address.
21. The device according to claim 20, characterized in that The receiving module is also used to receive a first command, the first command is used to instruct the faulty disk to enter a target data processing mode, the target data processing mode is used to distinguish between a first physical address and a second physical address; and trigger the acquisition module to execute the step of acquiring the first time point.
22. The device according to claim 20, characterized in that The receiving module is further used to receive a second command, wherein the second command is used to inquire whether the faulty disk supports a target data processing mode, wherein the target data processing mode is used to distinguish between the first physical address and the second physical address; The sending module is further configured to return a confirmation response when the target data processing mode is supported.
23. The device according to any one of claims 18 to 22, characterized in that The receiving module is further used to receive a third command, where the third command is used to instruct to resume operation; The operation processing module is used to resume operation according to the instruction of the third command.
24. The device according to any one of claims 18 to 22, characterized in that The faulty disk is any type of disk among SSD, eMMC and UFS.
25. The device according to any one of claims 18 to 22, characterized in that The address mapping table is a flash memory translation layer mapping table.
26. The device according to any one of claims 18 to 22, characterized in that The response message indicating a data read error carries an error code.
27. A data reconstruction device, characterized in that: The device comprises: A sending module, used for sending a data read request to a failed disk in the disk array system, wherein the data read request carries a target logical address; A receiving module, configured to receive a response message fed back by the failed disk in response to the data read request, wherein the response message is a data read result of a target physical address corresponding to the target logical address; a reconstruction module, configured to reconstruct the data stored at the target physical address if the response message is a response message indicating a data read error; A writing module, used for writing the reconstructed data into a replacement disk; The writing module is further configured to write the received data into the replacement disk if the response message is data.
28. The device according to claim 27, characterized in that The sending module is further used to send a first command to the faulty disk, where the first command is used to instruct the faulty disk to enter a target data processing mode, where the target data processing mode is used to distinguish physical addresses.
29. The device according to any one of claims 27, characterized in that The sending module is further used to send a second command to the faulty disk, wherein the second command is used to inquire whether the faulty disk supports a target data processing mode, wherein the target data processing mode is used to distinguish physical addresses; The sending module is further configured to execute the step of sending a data reading request to the failed disk in the disk array system when receiving a confirmation response sent by the failed disk.
30. The device according to any one of claims 27 to 29, characterized in that The sending module is further used to send a third command to the failed disk, where the third command is used to instruct the failed disk to resume operation.
31. The device according to any one of claims 27 to 29, characterized in that The reconstruction module is used to: Determine a stripe corresponding to the data in the disk array system, and read data corresponding to the stripe from disks in the disk array system except the failed disk; Based on the read data, data reconstruction is performed on the data.
32. The device according to any one of claims 27 to 29, characterized in that The disk array system is RAID.
33. The device according to any one of claims 27 to 29, characterized in that The disk in the disk array system includes at least one of SSD, eMMC and UFS.
34. The device according to any one of claims 27 to 29, characterized in that The response message indicating a data read error carries an error code.
35. A storage device, characterized in that: The storage device includes a controller and one or more storage chips, the one or more storage chips are used to store data, and the controller is used to implement the data reconstruction method according to any one of claims 1 to 9.
36. A computing device, characterized in that The computing device includes a processor, a memory, and a transceiver, wherein the memory stores instructions, and the transceiver is used to receive and send data. When the instructions are loaded and executed by the processor, the computing device implements the data reconstruction method as described in any one of claims 10 to 17.
37. A disk array system, characterized in that: include: A computing device as claimed in claim 36 and a plurality of storage devices as claimed in claim 35.
38. A computer-readable storage medium, characterized in that: The storage medium stores at least one instruction, and the instruction is loaded and executed by the device to implement the data reconstruction method according to any one of claims 1 to 17.
Citation Information
Patent Citations
Method for improving capability of redundant array of independent disk and controller therefor
CN101526885A
Data recovery method and device
CN103678039A
Rebuilding drive data
CN105453180A