Solid state disk firmware damaged data recovery method and system
By entering safe mode on the solid-state drive (SSD), identifying the controller type and NAND flash memory information, selecting the target microcode, configuring parameter information, and rebuilding the file system for data recovery, the problem of data loss caused by SSD firmware corruption was solved, achieving efficient data recovery.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- XIAMEN MEIYABAIKE INFORMATION SECURITY RES INST CO LTD
- Filing Date
- 2025-12-05
- Publication Date
- 2026-05-05
AI Technical Summary
When solid-state drive firmware is damaged, data cannot be read normally, resulting in data loss, and current technology makes it difficult to effectively recover the data.
By identifying the information of the solid-state drive to be recovered, entering the preset safe mode, identifying the controller type and NAND flash memory information, selecting the target microcode, configuring parameter information, and rebuilding the file system for data recovery.
It enables normal reading of flash memory data even when the solid-state drive firmware is damaged, improving data recovery efficiency and integrity.
Smart Images

Figure CN121979722A_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of data storage and recovery technology, specifically to a method and system for recovering data from damaged solid-state drive firmware. Background Technology
[0002] In related technologies, solid-state drives (SSDs) mainly consist of an SSD controller and a flash array. They offer excellent random read and write performance and are gradually replacing traditional hard disk drives (HDDs). The SSD firmware is the core control software of the SSD, responsible for managing key functions such as read and write operations of the flash memory chips, wear leveling, garbage collection, and error correction. The proper functioning of the firmware is fundamental to ensuring the integrity and performance of SSD data. When the firmware is corrupted, the SSD may exhibit problems such as being unrecognized, unable to be partitioned, unable to be formatted, experiencing blue screen crashes during read / write operations, and displaying abnormal capacity, making it impossible to view the data on the SSD and ultimately resulting in data loss. Summary of the Invention
[0003] The purpose of this invention is to provide a method and system for recovering data from damaged solid-state drive firmware. The specific technical solution adopted is as follows: In a first aspect, embodiments of the present invention provide a method for recovering data from a corrupted solid-state drive firmware, the method comprising: Information identification is performed on the solid-state drive to be recovered; If no hard drive information meeting the preset conditions is identified, the hard drive to be recovered is controlled to enter a preset safe mode; In the preset security mode, the controller type and NAND flash memory information of the solid-state drive to be recovered are identified; Based on the identified controller type and NAND flash memory information, a matching target microcode is selected from the preset firmware library; Based on the target microcode, the information of the solid-state drive to be recovered is re-identified; If hard drive information that meets preset conditions is identified, the parameter information of the solid-state drive to be recovered is configured according to the hard drive information; Based on the NAND flash memory information and the parameter information, file system data recovery is performed on the solid-state drive to be recovered.
[0004] Secondly, a solid-state drive firmware corruption data recovery system is provided, the system comprising: The first identification module is used to identify information about the solid-state drive to be recovered. The control module is used to control the hard drive to be recovered to enter a preset safe mode if no hard drive information that meets the preset conditions is identified. The second identification module is used to identify the controller type and NAND flash memory information of the solid-state drive to be recovered under the preset security mode. The matching module is used to select a matching target microcode from a preset firmware library based on the identified main control type and NAND flash memory information. The third identification module is used to re-identify the information of the solid-state drive to be recovered based on the target microcode; The configuration module is used to configure the parameter information of the solid-state drive to be recovered according to the hard drive information if hard drive information that meets preset conditions is identified. The recovery module is used to recover file system data from the solid-state drive to be recovered based on the NAND flash memory information and the parameter information.
[0005] Thirdly, a computer program product is provided, comprising: computer program code, which, when run on a computer, causes the computer to perform the method described in the first aspect or any possible implementation thereof.
[0006] Fourthly, a computer-readable storage medium is provided that stores computer program code, which, when executed on a computer, causes the computer to perform the methods described in the first aspect or any possible implementation thereof.
[0007] This invention offers the following advantages: After acquiring the solid-state drive (SSD) to be recovered, information identification is performed on the SSD. If no hard drive information meeting preset conditions is identified, the SSD is controlled to enter a preset safe mode. This allows for the establishment of basic low-level communication by first controlling the hard drive to enter a preset safe mode, facilitating subsequent effective identification of the SSD's controller type and NAND flash memory information within this preset safe mode. Then, based on the identified controller type and NAND flash memory information, a matching target microcode is selected from a preset firmware library. Based on the target microcode, the SSD is re-identified. This process of first controlling the SSD to enter a preset safe mode and then matching the target microcode enables the SSD to read flash memory data normally. Finally, based on the identified hard drive information, the parameters of the SSD to be recovered are configured, and file system data recovery is performed on the SSD based on the NAND flash memory information and the parameters. In this way, after matching the target microcode, the information of the solid-state drive to be recovered is re-identified, the parameter information of the solid-state drive to be recovered is configured, the latest mapping table is reconstructed, and then the complete solid-state drive image is reassembled, thereby realizing data recovery and improving data recovery efficiency and data integrity. Attached Figure Description
[0008] To more clearly illustrate the technical solutions and advantages in the embodiments of the present invention or the prior art, the drawings used in the description of the embodiments or the prior art will be briefly introduced below. Obviously, the drawings described below are only some embodiments of the present invention. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.
[0009] Figure 1 This is a schematic diagram illustrating the implementation process of a solid-state drive firmware corruption data recovery method provided in an embodiment of the present invention; Figure 2 This is a schematic diagram of another implementation process of a solid-state drive firmware corruption data recovery method provided in an embodiment of the present invention; Figure 3 This is a schematic diagram of another implementation process of a solid-state drive firmware damage data recovery method provided in an embodiment of the present invention; Figure 4 This is a schematic diagram illustrating another implementation of a method for recovering data from damaged solid-state drive firmware provided in an embodiment of the present invention. Figure 5 This is a schematic diagram of the composition structure of a solid-state drive firmware corruption data recovery system provided in an embodiment of the present invention; Figure 6This is a schematic diagram of the structure of a computer block device provided in an embodiment of the present invention. Detailed Implementation
[0010] To further illustrate the technical means and effects adopted by the present invention to achieve its intended purpose, the following, in conjunction with the accompanying drawings and preferred embodiments, details the specific implementation, structure, features, and effects of a solid-state drive firmware damage data recovery method proposed according to the present invention. In the following description, different "one embodiment" or "another embodiment" do not necessarily refer to the same embodiment. Furthermore, specific features, structures, or characteristics in one or more embodiments may be combined from any suitable form.
[0011] In the description of the embodiments of the present invention, unless otherwise stated, " / " means "or". For example, A / B can mean A or B. The "and / or" in the text is merely a description of the relationship between related objects, indicating that there can be three relationships. For example, A and / or B can mean: A exists alone, A and B exist simultaneously, and B exists alone. In addition, in the description of the embodiments of the present invention, "multiple" means two or more.
[0012] Hereinafter, the terms "first" and "second" are used for descriptive purposes only and should not be construed as implying or suggesting relative importance or implicitly indicating the number of technical features indicated. Thus, a feature defined as "first" or "second" may explicitly or implicitly include one or more of that feature.
[0013] Unless otherwise defined, all technical and scientific terms used herein have the same meaning as commonly understood by one of ordinary skill in the art to which this invention pertains.
[0014] In-depth research into SSD firmware corruption has revealed that issues such as disk not being recognized, inability to partition, inability to format, blue screen crashes during read / write operations, and abnormal capacity may indicate firmware corruption. Although the SSD firmware is corrupted and data cannot be read normally, the data itself remains intact and stored in the flash memory chips. This necessitates data recovery from damaged SSDs. Based on this, this invention provides a method for data recovery from corrupted SSD firmware. The specific solution of this method is described below with reference to the accompanying drawings. Please refer to... Figure 1 The diagram illustrates a flowchart of a method for recovering data from a corrupted solid-state drive firmware according to an embodiment of the present invention. This method can be implemented through the following steps: 101. Information identification of the solid-state drive to be recovered.
[0015] Here, the solid-state drive to be restored is a hard drive with firmware corruption, such as hard drive not being recognized, unable to be partitioned, unable to be formatted, blue screen crashes during read / write operations, abnormal capacity, etc.
[0016] In some possible implementations, the solid-state drive (SSD) to be recovered is diagnosed to identify its model, capacity, controller type, etc. The model, capacity, and controller type of the SSD to be recovered are identified, and these identified information are used to determine the drive's information.
[0017] 102. If no hard drive information that meets the preset conditions is identified, the hard drive to be recovered is controlled to enter the preset safe mode.
[0018] Here, the preset condition is that the hard drive to be recovered can be correctly identified. In some possible implementations, during the status diagnosis phase, the model, capacity, and active type of the solid-state drive to be recovered are identified. If the correct model, capacity, and active type can be identified, then the hard drive information that meets the preset condition is confirmed, and the process proceeds to step 106. If the model, capacity, and active type of the solid-state drive to be recovered cannot be correctly identified, then the hard drive to be recovered is controlled to enter a preset safe mode, and the process proceeds to step 103.
[0019] 103. In the preset security mode, identify the controller type and NAND flash memory information of the solid-state drive to be recovered.
[0020] Here, if the SSD cannot be correctly identified, it is manually forced into a preset safe mode to establish basic low-level communication. In some possible implementations, if no hard drive information meeting preset conditions is identified, the pads marked with preset identifiers in the hard drive to be recovered are located and short-circuited to power on the hard drive. Here, by removing the SSD casing, locating the two holes next to the read-only memory (ROM) or the pads marked ROM, first jumper interface (JP1), etc., short-circuiting them with tweezers or other tools, and then powering on, the preset safe mode is entered, allowing for precise establishment of basic low-level communication.
[0021] 104. Based on the identified controller type and NAND flash memory information, select a matching target microcode from the preset firmware library.
[0022] Here, the NAND flash memory information refers to non-volatile flash memory. If the SSD controller type and NAND flash memory information are correctly identified, a matching microcode, i.e., the target microcode, is selected from the preset firmware library. This preset firmware library can be a custom firmware library, including various types of firmware, each carrying its own controller type, NAND flash memory information, and corresponding microcode. Based on the identified controller type and NAND flash memory information, the firmware matching the controller type and NAND flash memory information is identified in the preset firmware library, and the microcode corresponding to that firmware is determined as the target microcode.
[0023] 105. Based on the target microcode, re-identify the information of the solid-state drive to be recovered.
[0024] Here, after matching the target microcode, the target microcode is written into the memory of the main control chip, and the microcode is run to establish a low-level communication channel. Then, the process jumps to step 102 to re-identify the information of the solid-state drive to be recovered.
[0025] In some possible implementations, step 105 above can be achieved through steps 151 to 153 (not shown in the figure): 151. Write the target microcode into the memory of the main control chip corresponding to the solid-state drive to be recovered.
[0026] 152. The target microcode is run in the memory of the main control chip to establish a low-level communication channel.
[0027] 153. Based on the underlying communication channel, the information of the solid-state drive to be recovered is re-identified.
[0028] In steps 151 to 153 above, based on the NAND flash memory ID and controller type, a suitable target microcode is selected from the preset firmware library, written into the controller chip's memory, and executed to establish a low-level communication channel. Then, the process jumps to step 102 to re-identify the information of the SSD to be recovered. Thus, the SSD to be recovered is first controlled to enter a preset safe mode, then the microcode is written into the SSD's memory and executed, enabling the SSD to read flash memory data normally.
[0029] 106. If hard drive information that meets the preset conditions is identified, configure the parameter information of the solid-state drive to be recovered according to the hard drive information.
[0030] Here, if the hardware information of the hard drive to be recovered can be correctly identified, the controller instruction set and parameter information are configured according to the controller type in the hard drive information. For example, the parameters of the solid-state drive to be recovered, such as block, page, chip enable (CE), chip, channel, and plane, are configured. Among them, the controller instruction set includes: system block set and user block set.
[0031] 107. Based on the NAND flash memory information and the parameter information, perform file system data recovery on the solid-state drive to be recovered.
[0032] Here, the disk image of the solid-state drive to be recovered is reconstructed based on the NAND flash memory and parameter information, thereby enabling file system data recovery.
[0033] In some possible implementations, step 107 above can be achieved by... Figure 2 The steps shown are to be implemented as follows: 201. Based on the NAND flash memory information and the parameter information, reconstruct the disk image of the solid-state drive to be recovered.
[0034] Here, by traversing the NAND flash memory information, the system block set and user block set of the solid-state drive to be recovered are downloaded, and then the disk image of the solid-state drive to be recovered is reconstructed by combining the parameter information.
[0035] In some possible implementations, step 201 above can be achieved by... Figure 3 The steps shown are to be implemented as follows: 301. Based on the NAND flash memory information, determine the system block set and user block set of the solid-state drive to be recovered.
[0036] Here, the system block set consists of blocks within the SSD used for system management, including metadata such as firmware and mapping tables. It stores the firmware code of the SSD controller, the mapping relationship between Logical Block Addresses (LBAs) and Physical Block Addresses (PBAs) (maintained by the FTL), and system information such as wear leveling algorithms. The user block set consists of blocks within the SSD used to store user data. These are the actual readable and writable physical storage units used to store user files, operating system data, etc., and are dynamically allocated and managed by the FTL.
[0037] In some possible implementations, a master control instruction set is configured to communicate with the master control chip corresponding to the solid-state drive to be recovered, based on the master control type; and the system block set and user block set are downloaded from the master control instruction set based on the NAND flash memory information. Here, by traversing the NAND flash memory information, the system block set and user block set can be downloaded from the master control instruction set, facilitating rapid subsequent reconstruction of the disk image.
[0038] 302. Based on the parameter information, the system block set, and the user block set, reconstruct the disk image of the solid-state drive to be recovered.
[0039] Here, disk image reconstruction is achieved by combining parameter information with the system block set and the user block set, respectively. In some possible implementations, step 302 above can be achieved through the following steps 321 to 324 (not shown in the figure): 321. Based on the parameter information and the system block set, generate a flash memory converter.
[0040] Here, the flash memory translator is accurately generated by combining parameters such as block, page, chip enable, chip, channel, and plane from the parameter information with the system block set.
[0041] In some possible implementations, the flash translation layer (FTL) information of the system block set is determined; the FTL information is reconstructed to obtain reconstructed information; and the flash translation translator is generated according to the reconstructed information. Here, the system block set and user block set are downloaded by traversing all NAND flash memory information of the SSD. Combining the SSD parameter information and the flash translation layer (FTL) information of the system blocks, a reverse FTL algorithm is executed and the FTL is reconstructed to generate an FTL translator (i.e., a flash translation translator). In this way, by combining the parameter information with the flash translation layer information of the system block set, the latest mapping table is reconstructed, thus reconstructing the flash translation layer information and obtaining reconstructed information. Based on the reconstructed information, a flash translation translator can be accurately generated, facilitating more complete data recovery using this flash translation translator.
[0042] 322. Based on the parameter information and the user block set, generate an out-of-band data translator.
[0043] Here, the out-of-band data translator is accurately generated by combining parameters such as block, page, chip enable, chip, channel, and plane from the parameter information with the user block set.
[0044] In some possible implementations, an out-of-band (OOB) data translator is generated by identifying the extra data area outside the flash pages of the user block set and reconstructing this OOB data area. Here, the system block set and user block set are downloaded by traversing all NAND flash memory information of the SSD. Combining the SSD parameter information and the OOB information of the user blocks, a reverse OOB algorithm is executed and the FTL is reconstructed to generate the OOB translator. In this way, by combining the parameter information with the OOB information of the user block set, an accurate out-of-band data translator can be generated, facilitating more complete data recovery through this flash memory translation translator and the out-of-band data translator.
[0045] 323. Based on the flash memory converter and the out-of-band data converter, reconstruct the disk image of the solid-state drive to be recovered.
[0046] Here, a flash memory translator and an out-of-band data translator parse and reconstruct damaged or lost data structures. These translators analyze the correspondence between logical addresses and physical pages using the FTL mapping table to locate the original, un-overwritten data. By copying the original data sector by sector, the integrity and original state of the data are preserved, achieving a disk image and providing a reliable foundation for subsequent data recovery. Thus, by generating the flash memory translator and out-of-band data translator using system block sets and user block sets, a more accurate and complete disk image can be reconstructed, improving the precision of data recovery.
[0047] 202. Based on the disk image, perform file system data recovery on the solid-state drive to be recovered.
[0048] Here, SSD data is copied sector by sector using a disk image, avoiding further data corruption caused by direct manipulation. Especially when the SSD has physical faults (such as damaged read / write heads or firmware malfunctions), the image prevents data loss due to read errors during recovery. SSDs use NAND flash memory and a controller to manage data; the image completely preserves the file system, metadata, and bad sector distribution, facilitating subsequent analysis. For example, images of encrypted or non-standard partitions can retain original permissions and character set information. After image creation, recovery tools can perform deep scans based on the image file, reducing the risk of data overwriting. For SSDs with bad sectors, the image function supports multiple read strategies to maximize the extraction of readable data. Thus, by combining NAND flash memory information and parameter information to reconstruct the disk image, data recovery from solid-state drives can be achieved more efficiently.
[0049] In this embodiment of the invention, after acquiring the solid-state drive (SSD) to be recovered, information identification is performed on the SSD. If no hard drive information meeting preset conditions is identified, the SSD to be recovered is controlled to enter a preset safe mode. This allows for the establishment of basic low-level communication by first controlling the hard drive to enter a preset safe mode, facilitating the subsequent effective identification of the SSD's controller type and NAND flash memory information within this preset safe mode. Then, based on the identified controller type and NAND flash memory information, a matching target microcode is selected from a preset firmware library. Based on the target microcode, the SSD to be recovered is re-identified. Thus, by first controlling the SSD to be recovered to enter a preset safe mode and then matching the target microcode, the SSD can read flash memory data normally. Finally, based on the identified hard drive information, the parameters of the SSD to be recovered are configured, and file system data recovery is performed on the SSD based on the NAND flash memory information and the parameter information. In this way, after matching the target microcode, the information of the solid-state drive to be recovered is re-identified, the parameter information of the solid-state drive to be recovered is configured to rebuild the latest mapping table, and then the complete solid-state drive image is reassembled, thereby realizing data recovery and improving recovery efficiency and data integrity.
[0050] This invention provides a method for recovering data from a corrupted solid-state drive firmware, combined with... Figure 4 The process shown is explained below: The first step is to repair the damaged SSD by connecting it to the recovery device.
[0051] The second step is status diagnosis: identifying information (model, capacity, main controller type). The third step is to determine if the SSD can be correctly identified. If it can be correctly identified, proceed to the eighth step. If it cannot be correctly identified, proceed to the next step.
[0052] The fourth step is to manually force entry into the preset security mode and establish basic underlying communication.
[0053] The fifth step is to identify the controller type and NAND flash memory information. Step 6: Determine if the controller type and NAND flash memory information can be correctly identified. If they cannot be correctly identified, end the recovery process; if they can be correctly identified, proceed to the next step.
[0054] Step 7: Based on the flash memory chip ID and the main controller information, select the appropriate microcode from the preset firmware library, write it into the memory of the main controller chip, run the microcode, establish the underlying communication channel, and jump to step 2.
[0055] Step 8: Configure the master control instruction set. Based on the master control type information, configure the instruction set for communication with the master control.
[0056] Step 9: Obtain the SSD parameters, including: Block Total, Page, CE, Chip, Channel, and Plane.
[0057] Step 10: Traverse all NAND flash memory chips of the SSD and download the System block set and the User block set.
[0058] Step 11: Combining SSD parameters and FTL information of the System block, reverse the FTL algorithm and reconstruct the FTL to generate an FTL translator.
[0059] Step 12: Combining SSD parameters and user block OOB information, reverse the OOB algorithm and reconstruct the FTL to generate an OOB translator.
[0060] Step 13: Reconstruct the SSD disk image Step fourteen: Perform file system data recovery. Finally, the entire process concludes.
[0061] In this embodiment of the invention, the solid-state drive is first forced into a preset safe mode, then the microcode is written to the SSD's memory and run, enabling the SSD to read flash memory data normally. Next, multiple mapping tables in the SSD's flash memory are read, the latest mapping table is reconstructed, and a complete solid-state drive image is reassembled; finally, data recovery is achieved, thus making the method highly versatile, efficient in recovery, and with good data integrity.
[0062] This invention provides a solid-state drive firmware corruption data recovery system. Please refer to [link / reference]. Figure 5 The system 500 includes: The first identification module 501 is used to identify information about the solid-state drive to be recovered. Control module 502 is used to control the hard drive to be recovered to enter a preset safe mode if no hard drive information that meets the preset conditions is identified; The second identification module 503 is used to identify the controller type and NAND flash memory information of the solid-state drive to be recovered in the preset security mode. The matching module 504 is used to select a matching target microcode from a preset firmware library based on the identified main control type and NAND chip information. The third identification module 505 is used to re-identify the information of the solid-state drive to be recovered based on the target microcode; The configuration module 506 is used to configure the parameter information of the solid-state drive to be recovered according to the hard drive information if hard drive information that meets preset conditions is identified. Recovery module 507 is used to recover file system data from the solid-state drive to be recovered based on the NAND flash memory information and the parameter information.
[0063] In some possible implementations, the recovery module 507 is further configured to reconstruct the disk image of the solid-state drive to be recovered based on the NAND flash memory and the parameter information; and to perform file system data recovery on the solid-state drive to be recovered based on the disk image.
[0064] In some possible implementations, the recovery module 507 is further configured to determine the system block set and user block set of the solid-state drive to be recovered based on the NAND flash memory information; and to reconstruct the disk image of the solid-state drive to be recovered based on the parameter information, the system block set, and the user block set.
[0065] In some possible implementations, the recovery module 507 is further configured to generate a flash memory translation translator based on the parameter information and the system block set; generate an out-of-band data translator based on the parameter information and the user block set; and reconstruct the disk image of the solid-state drive to be recovered based on the flash memory translation translator and the out-of-band data translator.
[0066] In some possible implementations, the recovery module 507 is further configured to configure a master control instruction set for communication with the master control chip corresponding to the solid-state drive to be recovered, based on the master control type; and to download the system block set and user block set based on the NAND flash memory information from the master control instruction set.
[0067] In some possible implementations, the recovery module 507 is further configured to determine the flash translation layer information of the system block set; reconstruct the flash translation layer information to obtain reconstructed information; and generate the flash translation translator based on the reconstructed information.
[0068] In some possible implementations, the third identification module 505 is further configured to write the target microcode into the memory of the main control chip corresponding to the solid-state drive to be recovered; run the target microcode in the memory of the main control chip to establish a low-level communication channel; and re-identify the information of the solid-state drive to be recovered based on the low-level communication channel.
[0069] In some possible implementations, the first identification module 501 is further configured to identify the model, capacity and active type of the solid-state drive to be recovered; and to determine the identified model, capacity and active type as the hard drive information.
[0070] In some possible implementations, the control module 502 is further configured to, if no hard disk information meeting the preset conditions is identified, determine a pad marked with a preset identifier in the hard disk to be recovered; short-circuit the pad to power on the hard disk to be recovered.
[0071] Optionally, the transmission medium can be a wired link (e.g., but not limited to, coaxial cable, optical fiber, and Digital Subscriber Line (DSL)) or a wireless link (e.g., but not limited to, Wireless Fidelity (WIFI), Bluetooth, and mobile block device networks). It should be noted that the control block device provided in the above embodiments is only an example illustrating the division of the above functional modules. In practical applications, the above functions can be assigned to different functional modules as needed, that is, the internal structure of the computer block device can be divided into different functional modules to complete all or part of the functions described above. Furthermore, the method embodiments provided in the above embodiments belong to the same concept, and their specific implementation processes are detailed in the method embodiments, and will not be repeated here.
[0072] Figure 6 This is a schematic diagram of the structure of a computer block device provided in an embodiment of the present invention. For example, as shown... Figure 6 As shown, the computer block device 600 includes: a memory 601, a processor 602, and a computer program 603 stored in the memory 601 and running on the processor 602, wherein when the processor 602 executes the computer program 603, the computer block device can perform any of the aforementioned solid-state drive firmware corruption data recovery methods.
[0073] Furthermore, embodiments of the present invention also protect a control block device, which may include a memory and a processor. The memory stores executable program code, and the processor is used to call and execute the executable program code to perform a solid-state drive firmware corruption data recovery method provided by the embodiments of the present invention. Embodiments of the present invention can divide the control block device into functional modules based on the above method examples. For example, each module may correspond to a specific function, or two or more functions may be integrated into a processing module. The integrated module can be implemented in hardware. It should be noted that the module division in the embodiments of the present invention is illustrative and only represents a logical functional division; in actual implementation, there may be other division methods. It should be noted that all relevant content of each step involved in the above method embodiments can be referenced to the functional description of the corresponding functional module, and will not be repeated here. It should be understood that the control block device provided by the embodiments of the present invention is used to execute the above-mentioned solid-state drive firmware corruption data recovery method, and therefore can achieve the same effect as the above-mentioned implementation method. When using integrated units, the control block device may include a processing module and a storage module. When the control block device is applied to a block device, the processing module can be used to control and manage the actions of the block device. The storage module can be used to support block devices in executing mutual program code, etc. The processing module can be a processor or controller, which can implement or execute various exemplary logic blocks, modules, and circuits described in conjunction with the disclosure of this invention. The processor can also be a combination of functions that implement computing capabilities, such as a combination of one or more microprocessors, a combination of Digital Signal Processing (DSP) and microprocessors, etc., and the storage module can be a memory.
[0074] Furthermore, the control block device provided in the embodiments of the present invention may specifically be a chip, component, or module. The chip may include a connected processor and a memory. The memory stores instructions, and when the processor calls and executes the instructions, the chip can execute the solid-state drive firmware corruption data recovery method provided in the above embodiments. The embodiments of the present invention also provide a computer-readable storage medium storing computer program code. When the computer program code is run on a computer, the computer executes the aforementioned method steps to implement the solid-state drive firmware corruption data recovery method provided in the above embodiments.
[0075] This invention also provides a computer program product. When the computer program product is run on a computer, it causes the computer to execute the aforementioned related steps to achieve the solid-state drive firmware damage data recovery method provided in the above embodiments. The control block device, computer-readable storage medium, computer program product, or chip provided in this invention are all used to execute the corresponding methods provided above. Therefore, the beneficial effects they achieve can be referred to in the beneficial effects of the corresponding methods provided above, and will not be repeated here. Through the above description of the embodiments, those skilled in the art can understand that, for the sake of convenience and brevity, only the division of the above functional modules is used as an example. In practical applications, the above functions can be assigned to different functional modules as needed, that is, the internal structure of the control block device can be divided into different functional modules to complete all or part of the functions described above. In the embodiments provided by this invention, it should be understood that the disclosed control block device and method can be implemented in other ways. For example, the control block device embodiments described above are merely illustrative. For example, the division of modules or units is only a logical functional division. In actual implementation, there may be other division methods. For example, multiple units or components can be combined or integrated into another control block device, or some features can be ignored or not executed. Another point is that the mutual coupling or direct coupling or communication connection shown or discussed can be an indirect coupling or communication connection through some interface, control block device or unit, and can be electrical, mechanical or other forms.
[0076] It should be noted that the order of the above embodiments of the present invention is merely for descriptive purposes and does not represent the superiority or inferiority of the embodiments. The processes depicted in the accompanying drawings do not necessarily require a specific or sequential order to achieve the desired results. In some embodiments, multiple task processing and parallel processing are possible or may be advantageous. The various embodiments in this specification are described in a progressive manner, and the same or similar parts between the various embodiments can be referred to mutually. Each embodiment focuses on describing the differences from other embodiments. The above content is only a specific embodiment of the present invention, but the protection scope of the present invention is not limited thereto. Any changes or substitutions that can be easily conceived by those skilled in the art within the scope of the technology disclosed in the present invention should be covered within the protection scope of the present invention.
Claims
1. A method for recovering data from a corrupted solid-state drive firmware, characterized in that, The method includes: Information identification is performed on the solid-state drive to be recovered; If no hard drive information meeting the preset conditions is identified, the hard drive to be recovered is controlled to enter a preset safe mode; In the preset security mode, the controller type and NAND flash memory information of the solid-state drive to be recovered are identified; Based on the identified controller type and NAND flash memory information, a matching target microcode is selected from the preset firmware library; Based on the target microcode, the information of the solid-state drive to be recovered is re-identified; If hard drive information that meets preset conditions is identified, the parameter information of the solid-state drive to be recovered is configured according to the hard drive information; Based on the NAND flash memory information and the parameter information, file system data recovery is performed on the solid-state drive to be recovered.
2. The system according to claim 1, characterized in that, The process of recovering file system data from the solid-state drive to be recovered based on the NAND flash memory and the parameter information includes: Based on the NAND flash memory information and the parameter information, reconstruct the disk image of the solid-state drive to be recovered; Based on the disk image, file system data recovery is performed on the solid-state drive to be recovered.
3. The system according to claim 2, characterized in that, The process of reconstructing the disk image of the solid-state drive to be recovered based on the NAND flash memory and the parameter information includes: Based on the NAND flash memory information, the system block set and user block set of the solid-state drive to be recovered are determined; Based on the parameter information, the system block set, and the user block set, the disk image of the solid-state drive to be recovered is reconstructed.
4. The system according to claim 3, characterized in that, The process of reconstructing the disk image of the solid-state drive to be recovered based on the parameter information, the system block set, and the user block set includes: Based on the parameter information and the system block set, a flash memory converter is generated; Based on the parameter information and the user block set, an out-of-band data translator is generated; Based on the flash memory converter and the out-of-band data converter, the disk image of the solid-state drive to be recovered is reconstructed.
5. The system according to claim 3, characterized in that, The step of determining the system block set and user block set of the solid-state drive to be recovered based on the NAND flash memory information includes: Based on the main controller type, configure a main controller instruction set to communicate with the main controller chip corresponding to the solid-state drive to be recovered; Based on the NAND flash memory information, the system block set and user block set are downloaded from the master control instruction set.
6. The system according to claim 4, characterized in that, Based on the parameter information and the system block set, a flash memory translation translator is generated, including: Determine the flash translation layer information of the system block set; The flash memory conversion layer information is reconstructed to obtain the reconstructed information; Based on the reconstructed information, the flash memory converter is generated.
7. The system according to claim 1, characterized in that, The step of re-identifying the information of the solid-state drive to be recovered based on the target microcode includes: Write the target microcode into the memory of the main controller chip corresponding to the solid-state drive to be recovered; The target microcode is run in the memory of the main control chip to establish a low-level communication channel; Based on the underlying communication channel, the information of the solid-state drive to be recovered is re-identified.
8. The system according to claim 1, characterized in that, The information identification process for the solid-state drive to be recovered includes: Identify the model, capacity, and active type of the solid-state drive to be recovered; The identified model, capacity, and active type are determined as the hard drive information.
9. The system according to claim 1, characterized in that, If no hard drive information meeting the preset conditions is identified, the step of controlling the hard drive to be recovered to enter a preset safe mode includes: If no hard drive information that meets the preset conditions is identified, determine the pads marked with preset identifiers in the hard drive to be recovered; The pads are short-circuited to power on the hard drive to be recovered.
10. A solid-state drive firmware corruption data recovery system, characterized in that, The system includes: The first identification module is used to identify information about the solid-state drive to be recovered. The control module is used to control the hard drive to be recovered to enter a preset safe mode if no hard drive information that meets the preset conditions is identified. The second identification module is used to identify the controller type and NAND flash memory information of the solid-state drive to be recovered under the preset security mode. The matching module is used to select a matching target microcode from a preset firmware library based on the identified main control type and NAND flash memory information. The third identification module is used to re-identify the information of the solid-state drive to be recovered based on the target microcode; The configuration module is used to configure the parameter information of the solid-state drive to be recovered according to the hard drive information if hard drive information that meets preset conditions is identified. The recovery module is used to recover file system data from the solid-state drive to be recovered based on the NAND flash memory information and the parameter information.