Flash memory fault positioning method, system and device for solid state disk and medium

By generating and burning the default positioning logic firmware in the NVMe SSD, the accuracy and speed of NVME SSD fault positioning are solved, and efficient fault positioning is achieved in the case of failure to obtain a fault log.

CN119376988APending Publication Date: 2025-01-28INSPUR SUZHOU INTELLIGENT TECH CO LTD
View PDF 0 Cites 5 Cited by

Patent Information

Application Number
CN202411369640.X
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-09-29
Publication Date
2025-01-28

AI Technical Summary

Technical Problem

It is difficult to quickly and accurately determine whether an NVMe SSD failure is caused by NAND flash memory particles, especially when the failure log cannot be obtained.

Method used

By generating flash memory positioning firmware containing preset positioning logic, the flash memory positioning firmware is recorded into the device when the solid -state hard disk fails, and the standard firmware is diagnosed with the standard firmware. This method includes a serial port printing information during the monitoring and analysis of the initialization of flash memory to locate the position of the faulty flash memory.

Benefits of technology

It has significantly improved the accuracy and speed of fault positioning, avoids dependence on log analysis, and is suitable for the failure to obtain a fault log.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119376988A_ABST
    Figure CN119376988A_ABST
Patent Text Reader

Abstract

The invention discloses a flash memory fault positioning method, system and device for a solid state disk and a medium, and relates to the technical field of storage. According to the method, the flash memory positioning firmware containing the preset positioning logic is generated, so that when the solid state disk breaks down, the flash memory positioning firmware can be used for replacing standard firmware to execute fault diagnosis. After the solid state disk breaks down, restarting and troubleshooting can be carried out by burning the flash memory positioning firmware into the equipment, so that the limitation that only log analysis is depended on is avoided, and the method is particularly suitable for the situation that fault logs cannot be obtained. The feedback information of each step can be obtained in real time through the information in the initialization process printed and output by the serial port, and the specific fault flash memory position is positioned according to the feedback data, so that the fault positioning accuracy and speed are remarkably improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the field of storage technology, and in particular to a method, system, device and medium for locating a flash memory fault of a solid state drive. Background Art

[0002] In the information society, with the increasing demand for data collection and application, NVMe SSD (Non-Volatile Memory express Solid State Drives) is widely used in various industries due to its high performance, large capacity and small size. As the market demand for NVMe SSD continues to grow, major manufacturers have launched a variety of models of products, and shipments have also increased rapidly. However, with the widespread use and large-scale shipments of NVMe SSD, the number of faulty devices has also gradually increased within a certain probability range.

[0003] When an NVMe SSD cannot be recognized by the host due to a fault, the root cause of the fault may be a problem with the NAND particles. Therefore, it is critical to quickly and accurately determine whether the fault is caused by the NAND (flash memory) particles and identify the specific faulty particles.

[0004] Typically, the method to determine NAND particle failure is to analyze the log of the failed NVMe SSD and further analyze which NAND particles are related and the type of error. However, this method is only applicable to situations where fault logs can be collected. For fault situations where fault logs cannot be obtained, analysis is impossible. Summary of the invention

[0005] The purpose of the present invention is to provide a flash memory fault location method, system, device and medium for a solid-state hard disk, which can burn the flash memory location firmware into the device for restart and troubleshooting, thereby avoiding the limitation of relying only on log analysis. It is particularly suitable for situations where fault logs cannot be obtained. It can obtain feedback information of each step in real time and locate the specific faulty flash memory position based on these feedback data, thereby significantly improving the accuracy and speed of fault location.

[0006] On the one hand, the present application provides a method for locating a flash memory fault of a solid state drive, comprising:

[0007] Generate flash memory positioning firmware according to the official firmware of the solid state drive and the preset positioning logic, wherein the preset positioning logic is an algorithm for diagnosing errors during the flash memory initialization process;

[0008] When the solid state drive fails, burning the flash memory positioning firmware to the solid state drive;

[0009] enabling the solid state drive to initialize the flash memory according to the flash memory positioning firmware;

[0010] Serial port printing information of the flash memory during initialization is obtained, and a position of a faulty flash memory is located according to the serial port printing information.

[0011] Before burning the flash memory positioning firmware to the solid state drive, the method further includes:

[0012] Obtaining a fault status of the solid state drive;

[0013] Determining whether the solid state hard disk meets the pre-burning condition according to the fault state;

[0014] If the pre-burning condition is met, the step of burning the flash memory positioning firmware to the solid state drive is entered.

[0015] Wherein, determining whether the solid state hard disk meets the pre-burning condition according to the fault state includes:

[0016] Whether the fault state is any one of a first fault state, a second fault state and a third fault state, the first fault state is a state in which the host does not recognize the solid-state hard disk but recognizes the peripheral component interconnection fast channel device and the solid-state hard disk is currently in a burning mode, the second fault state is a state in which the host does not recognize the peripheral component interconnection fast channel device, and the third fault state is a state in which the host does not recognize the solid-state hard disk but recognizes the peripheral component interconnection fast channel device and the solid-state hard disk is currently not in a burning mode, but the acquired log information cannot locate the position of the faulty flash memory;

[0017] If the fault state of the solid state hard disk is any one of the first fault state, the second fault state and the third fault state, it is determined that the solid state hard disk meets the pre-burning condition.

[0018] The step of burning the flash memory positioning firmware to the solid state drive includes:

[0019] When the fault state is the first fault state or the third fault state, directly entering the step of burning the flash memory positioning firmware to the solid state drive;

[0020] When the fault state is the second fault state, the solid-state hard disk is physically short-circuited through a preset pin of the solid-state hard disk to power on the solid-state hard disk. After the solid-state hard disk is powered on, the step of burning the flash memory positioning firmware to the solid-state hard disk is entered.

[0021] Among them, it also includes:

[0022] When the host does not recognize the solid-state drive but recognizes the peripheral component interconnection fast channel device and the solid-state drive is not currently in a burning mode, obtaining log information of the faulty solid-state drive;

[0023] Determining whether the log information includes exception information of a correctable error register corresponding to a hardware interface for managing the flash memory;

[0024] If not, it is determined that the cause of the failure of the faulty solid state drive is not related to the flash memory;

[0025] If so, it is determined that the fault cause of the faulty solid state hard disk is related to the flash memory, and the fault state of the solid state hard disk is the third fault state.

[0026] The step of causing the solid state drive to initialize the flash memory according to the flash memory positioning firmware includes:

[0027] Monitor the microcode process of writing and updating each channel in the flash memory array, and obtain and output the status feedback information corresponding to each process;

[0028] When setting initialization configuration information for each channel, a failure prompt message is set for each chip enable pin of each channel and each die;

[0029] Obtaining serial port printing information of the flash memory initialization process, including:

[0030] During the flash memory initialization process, status feedback information corresponding to each process is obtained and printed in real time;

[0031] When the initialization configuration information of the crystal grain fails to be set, printing failure prompt information of the crystal grain that fails to be set;

[0032] Obtaining identification information of each of the grains;

[0033] After the initialization is completed, obtaining status information of a hardware interface for managing the flash memory, information of a correctable error register corresponding to the hardware interface, and information of an uncorrectable error register corresponding to the hardware interface;

[0034] Locating the location of the failed flash memory according to the serial port print information includes:

[0035] The position of the faulty flash memory is located according to the status feedback information corresponding to each process, the failure prompt information and the identity information corresponding to the grain, the status information of the hardware interface, the information of the correctable error register corresponding to the hardware interface, and the information of the uncorrectable error register corresponding to the hardware interface.

[0036] Wherein, according to the state feedback information corresponding to each process, the failure prompt information and the identity information corresponding to the die, the state information of the hardware interface, the information of the correctable error register corresponding to the hardware interface, and the information of the uncorrectable error register corresponding to the hardware interface, locating the position of the failed flash memory includes:

[0037] The status feedback information, the failure prompt information corresponding to the grain, the identity information, the status information of the hardware interface, the information of the correctable error register and the information of the uncorrectable error register are respectively compared with preset standard values, and the faulty grain and the fault type are determined according to the comparison result and the identity information.

[0038] On the other hand, the present application provides a flash memory fault location system for a solid state drive, comprising:

[0039] A firmware generation unit, configured to generate flash memory positioning firmware according to the official firmware of the solid state drive and a preset positioning logic, wherein the preset positioning logic is an algorithm for diagnosing errors during the flash memory initialization process;

[0040] A firmware burning unit, used for burning the flash memory positioning firmware to the solid state drive when the solid state drive fails;

[0041] an initialization unit, configured to enable the solid state drive to initialize the flash memory according to the flash memory positioning firmware;

[0042] The positioning unit is used to obtain the serial port printing information of the flash memory during the initialization process, and locate the position of the faulty flash memory according to the serial port printing information.

[0043] On the other hand, the present application provides a flash memory fault location device for a solid state drive, comprising:

[0044] Memory for storing computer programs;

[0045] The processor is used to implement the steps of the method for locating flash memory faults of a solid state drive as described above when executing a computer program.

[0046] On the other hand, the present application provides a non-volatile storage medium having a computer program stored thereon, and when the computer program is executed by a processor, the steps of the method for locating a flash memory fault of a solid state drive as described above are implemented.

[0047] The present invention provides a flash memory fault location method, system, device and medium for a solid state drive, and relates to the field of storage technology. The method generates a flash memory location firmware containing a preset location logic, so that when the solid state drive fails, the flash memory location firmware can be used instead of the standard firmware to perform fault diagnosis. After the solid state drive fails, the flash memory location firmware can be burned into the device for restart and troubleshooting, thereby avoiding the limitation of relying only on log analysis, which is particularly suitable for situations where fault logs cannot be obtained. Through the information in the initialization process printed out by the serial port, the feedback information of each step can be obtained in real time, and the specific faulty flash memory position can be located based on these feedback data, thereby significantly improving the accuracy and speed of fault location. BRIEF DESCRIPTION OF THE DRAWINGS

[0048] In order to more clearly illustrate the embodiments of the present invention, the following briefly introduces the drawings required for use in the embodiments. Obviously, the drawings described below are only some embodiments of the present invention. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying creative work.

[0049] Figure 1 A flow chart of a method for locating a flash memory fault of a solid state drive provided by the present invention;

[0050] Figure 2 A flow chart of another method for locating a flash memory fault of a solid state drive provided by the present invention;

[0051] Figure 3 A structural diagram of a flash memory particle provided by the present invention;

[0052] Figure 4 A schematic diagram of a flash memory fault location system for a solid state drive provided by the present invention;

[0053] Figure 5 A schematic diagram of a flash memory fault locating device for a solid state drive provided by the present invention. DETAILED DESCRIPTION

[0054] The core of the present invention is to provide a flash memory fault location method, system, device and medium for a solid-state hard disk, which can restart and troubleshoot by burning the flash memory location firmware into the device, thereby avoiding the limitation of relying only on log analysis. It is particularly suitable for situations where fault logs cannot be obtained. It can obtain feedback information of each step in real time and locate the specific faulty flash memory position based on these feedback data, thereby significantly improving the accuracy and speed of fault location.

[0055] In order to make the purpose, technical solution and advantages of the embodiments of the present invention clearer, the technical solution in the embodiments of the present invention will be clearly and completely described below in conjunction with the drawings in the embodiments of the present invention. Obviously, the described embodiments are part of the embodiments of the present invention, not all of the embodiments. Based on the embodiments of the present invention, all other embodiments obtained by ordinary technicians in this field without creative work are within the scope of protection of the present invention.

[0056] On the one hand, if Figure 1 As shown, the present application provides a method for locating a flash memory fault of a solid state drive, comprising:

[0057] S11: generating flash memory positioning firmware according to the official firmware of the solid state drive and the preset positioning logic, where the preset positioning logic is an algorithm for diagnosing errors during the flash memory initialization process;

[0058] The core principle of this step is to generate flash memory location firmware through the official firmware of the SSD and the preset location logic. The main purpose of this step is to provide basic support for subsequent fault detection and troubleshooting. The official firmware of the SSD is responsible for the normal operation of the device, while the flash memory location firmware is an alternative firmware specifically used for fault diagnosis. The preset location logic is a set of built-in algorithms that are specifically used to detect and diagnose errors during the initialization process of the flash memory. It can monitor each channel, chip, and die of the hardware at different stages of flash memory initialization to determine whether an error has occurred. For example, the location logic tracks the status feedback of each flash memory operation, especially in key steps such as data writing, configuration, and updating, to ensure that potential errors can be discovered and recorded in a timely manner. Through this mechanism, the location firmware can capture hidden faults that the standard firmware cannot detect in daily use, especially in complex initialization processes, and can generate serial port print information in real time to feedback specific error information to technicians.

[0059] In summary, through the preset diagnostic algorithm in this step, potential problems in the flash memory are actively located, providing accurate data support for subsequent fault analysis, thereby avoiding the limitation of log reliance in traditional fault detection methods.

[0060] S12: When the solid state drive fails, the flash memory positioning firmware is burned to the solid state drive;

[0061] The principle of this step is that when the SSD fails, the flash location firmware is burned into the SSD to replace the original official firmware for flash fault location. The process of burning the flash location firmware is to ensure that when the SSD fails, a firmware dedicated to diagnosis and troubleshooting can be run instead of the ordinary official firmware. Under normal circumstances, the SSD is operated and data managed by standard firmware, but when the device fails, especially when it cannot be recognized or initialized, the official firmware may not work effectively or provide sufficient diagnostic information. In this case, by burning the flash location firmware to the SSD, the standard operating mode can be bypassed and the diagnostic mode can be directly entered. This location firmware is based on preset error detection logic and can track and report specific fault information during flash initialization and subsequent operations. The burning process is essentially writing new firmware to the main controller of the hard disk, replacing the original firmware, so as to ensure that the next time the hard disk is started, the device will operate according to the new flash location firmware and start the troubleshooting mode.

[0062] S13: enabling the solid state drive to initialize the flash memory according to the flash memory positioning firmware;

[0063] The principle of this step is that after the SSD uses the flash memory positioning firmware, it starts the initialization operation of the flash memory in order to diagnose the fault problem in the flash memory. The initialization process is usually a key step when the device starts up, involving basic functional checks and configurations of the flash memory so that it can read and write data normally. In the case of using the flash memory positioning firmware, the main purpose of initialization is not only to start the hardware, but also to track and analyze the execution status of each stage through specific detection logic. During the initialization process, the positioning firmware will first perform a series of operations on each channel, each chip and each Die (grain) in the SSD, including loading microcode, setting initialization parameters, enabling communication signals, etc. Each step of these operations is monitored to ensure that any potential error signals can be captured. In this way, the firmware can perform a detailed inspection of the working status of the NAND particles (flash memory) and collect relevant diagnostic information. During the initialization process, if a step fails to execute or an abnormality is detected, the firmware will print out detailed error information through the serial port, including the specific step of the failure, chip location, error type, etc. This refined initialization is not only to restore the hard disk to work, but more importantly, by analyzing every detail in the initialization process, it is possible to identify which link or which grain has a problem. This makes the entire initialization process not just for starting the flash memory, but also for fault detection, helping technicians quickly locate the fault point by capturing the error feedback of the flash memory. This process is a key step in accurately locating the flash memory failure.

[0064] S14: Acquire serial port printing information of the flash memory initialization process, and locate the position of the faulty flash memory according to the serial port printing information.

[0065] The principle of this step is to obtain and analyze the relevant information printed out through the serial port during the initialization of the flash memory of the solid-state drive, so as to locate the specific flash memory location where the fault occurs. Each operation step in the initialization process will generate status feedback information, which is output in real time through the serial port interface for monitoring and analysis by external systems or technicians. The printed information includes status feedback for each channel, each chip (CE) and each Die (crystal), involving whether the operation is successful, whether the configuration is correct, and any error signals detected during the initialization process. This information can reflect the working conditions of each part of the flash memory, such as whether there are correctable errors (by checking the information of the correctable error register), whether there are uncorrectable errors (through the information of the uncorrectable error register), and the overall status of the hardware interface. Through this feedback information, the system can compare the error information with the normal operating standards to determine which chip, channel or die has an abnormality. Specifically, if a step is not executed correctly or the configuration of a channel fails, the flash memory location firmware will capture these abnormal information and print them in detail through the serial port, including the specific location of the fault, chip number, Die number, etc. With this precise error reporting, technicians can quickly identify and locate the fault area without disassembling the hardware device, greatly reducing the troubleshooting time. This process fully utilizes the diagnostic logic in the firmware and the self-test function of the flash memory, making it more efficient and accurate to locate NAND flash memory failures.

[0066] As a preferred embodiment, the method further includes: determining the fault type of the flash memory that has failed, and automatically taking specific recovery measures, such as reconfiguring the flash memory, retrying the initialization operation, or switching to a spare channel.

[0067] In this embodiment, the flash memory fault location method of the solid-state drive is further improved, and also includes determining the type of flash memory fault that has failed, and automatically executing specific recovery measures based on this. For example, after the flash memory fault type is determined through the diagnostic process, a variety of recovery measures can be automatically taken to solve or alleviate the impact of the fault. Specifically, the type of flash memory fault will be identified first, such as whether it is data loss, initialization failure or hardware failure. For different fault types, corresponding recovery measures will be automatically executed. If the fault type is a flash memory configuration error, the flash memory will be automatically reconfigured, including adjusting configuration parameters or reloading firmware to restore normal working conditions. If the fault is an initialization failure, the initialization operation will be retried, and the initialization failure caused by temporary problems will be resolved through multiple attempts. In addition, when a fault is detected in a specific channel or chip, it can automatically switch to a backup channel to ensure the continuous availability of data and the normal operation of the system.

[0068] This automated recovery mechanism enables rapid response when a failure occurs, reduces the need for manual intervention, and improves overall system reliability and stability. It also improves the user experience and ensures that the SSD can effectively self-repair in the face of various failures.

[0069] In summary, the flash memory fault locating method of the solid-state hard disk provided by the present invention generates a flash memory locating firmware containing a preset locating logic, so that when the solid-state hard disk fails, the flash memory locating firmware can be used instead of the standard firmware to perform fault diagnosis. After the solid-state hard disk fails, the flash memory locating firmware can be burned into the device for restart and troubleshooting, thereby avoiding the limitation of relying only on log analysis, which is particularly suitable for situations where fault logs cannot be obtained. Through the information in the initialization process printed out by the serial port, the feedback information of each step can be obtained in real time, and the specific faulty flash memory position can be located based on these feedback data, thereby significantly improving the accuracy and speed of fault locating.

[0070] Based on the above embodiments:

[0071] As a preferred embodiment, before burning the flash memory positioning firmware to the solid state drive, the method further includes:

[0072] Get the fault status of the solid state drive failure;

[0073] Determine whether the solid state drive meets the pre-burning conditions according to the fault status;

[0074] If the pre-burning conditions are met, proceed to the step of burning the flash memory positioning firmware to the solid state drive.

[0075] In a preferred embodiment, in order to ensure that the flash memory positioning firmware can be correctly burned into the solid-state drive, it is first necessary to obtain the specific fault state when the solid-state drive fails. The core purpose of this step is to determine whether the current state of the solid-state drive allows the firmware update operation to be performed. The fault state may include a variety of situations, such as the solid-state drive cannot be recognized by the host, some channels or chips fail, or in some cases the solid-state drive can still perform some operations (such as communicating with the host through the PCIe bus but unable to read and write data normally). These different states will affect the feasibility of subsequent firmware burning, so it must be judged by a specific logic judgment system. Next, based on the acquired fault state, it is necessary to further confirm whether the solid-state drive meets the preset burning conditions. The pre-burning conditions are key criteria to ensure that the firmware is burned in a safe and controllable manner, usually including whether the hardware interface of the solid-state drive can work normally, whether the key control register responds, and whether the voltage and frequency state of the system are stable. If these conditions are not met, the burning operation may cause further damage to the solid-state drive or fail to complete the firmware update operation. Only when these conditions are met will the next step be entered, that is, the flash memory positioning firmware is burned to the solid-state drive.

[0076] This pre-burning condition setting and checking is to prevent improper operation in the case of serious faults or system instability, thereby protecting the hardware device and data integrity of the SSD. This series of checking steps ensures that the firmware burning process is more reliable and will only be carried out under appropriate conditions, effectively reducing the risk of further damage to the hardware, while providing a solid foundation for subsequent fault location.

[0077] As a preferred embodiment, determining whether the solid state hard disk meets the pre-burning condition according to the fault state includes:

[0078] Whether the fault state is any one of a first fault state, a second fault state and a third fault state, the first fault state is a state in which the host does not recognize the solid-state hard disk, but recognizes the peripheral component interconnection fast channel device and the solid-state hard disk is currently in a burning mode, the second fault state is a state in which the host does not recognize the peripheral component interconnection fast channel device, and the third fault state is a state in which the host does not recognize the solid-state hard disk, but recognizes the peripheral component interconnection fast channel device and the solid-state hard disk is currently not in a burning mode, but the acquired log information cannot locate the position of the faulty flash memory;

[0079] If the fault state of the solid state hard disk is any one of the first fault state, the second fault state and the third fault state, it is determined that the solid state hard disk meets the pre-burning condition.

[0080] In this preferred embodiment, the fault state of the solid state drive is classified and analyzed to determine whether the solid state drive meets the pre-burning conditions, thereby ensuring the safety and effectiveness of the firmware burning process. First, the fault state is divided into three types: the first fault state, the second fault state and the third fault state. The first fault state refers to the host being unable to recognize the solid state drive device, but being able to recognize the PCIe (Peripheral Component Interconnect Express) device connected to the solid state drive, and the solid state drive is currently in the burning mode. In this state, although the host cannot read the data of the solid state drive normally, since the solid state drive has entered the burning mode, this means that the firmware part of the device is still operable, so the firmware update operation can continue. The second fault state is that the host cannot recognize the PCIe device connected to the solid state drive, which usually indicates that the fault may involve a more underlying hardware problem, or even an interface problem. In this case, although the communication function of the solid state drive is completely ineffective, through the intervention of external devices and specific firmware update technology, it is still possible to try to burn the new firmware into the device to restore or repair the hardware state. The third fault state is that the host cannot recognize the SSD, but can recognize the PCIe device, and the SSD is not in the burning mode; at the same time, the obtained log information cannot accurately locate the problem location of the NAND flash memory, which means that although some functions are still normal, the fault cannot be located through the existing log analysis. In this case, by forcing the SSD to enter the burning mode and burning new firmware, new data basis can be provided for subsequent fault analysis and location. By judging these three fault states, if the SSD meets any of the states, it means that the device has the basic operating conditions and can safely perform firmware burning operations.

[0081] This hierarchical fault status analysis ensures that in different fault situations, the system can continue the firmware update operation through appropriate strategies, avoiding firmware burning failures due to hardware or software limitations, thereby improving the efficiency of troubleshooting.

[0082] like Figure 2 As shown, as a preferred embodiment, burning the flash memory positioning firmware to the solid state drive includes:

[0083] When the fault state is the first fault state or the third fault state, directly entering the step of burning the flash memory positioning firmware to the solid state hard disk;

[0084] When the fault state is the second fault state, the solid state drive is physically short-circuited through a preset pin of the solid state drive to power on the solid state drive. After the solid state drive is powered on, the step of burning the flash memory positioning firmware to the solid state drive is entered.

[0085] In this preferred embodiment, differentiated firmware burning processes are designed for different fault states to improve the success rate and efficiency of fault repair. First, when the fault state of the solid-state drive is the first fault state or the third fault state, since the PCIe interface can still be recognized by the host and some key parts of the hard disk can still work normally, the flash memory positioning firmware of the solid-state drive can be directly burned. This means that there is no need to perform additional hardware operations, and the flash memory positioning firmware can be burned into the hard disk through the existing interface and firmware update mechanism, and then the faulty flash memory can be located and analyzed through the firmware.

[0086] However, when the fault state is the second fault state, the situation becomes more complicated. At this point, the PCIe interface of the SSD cannot be recognized by the host, which may be due to a fault at the interface hardware level or other more serious hardware problems. In order to still be able to burn the firmware to the SSD in this case, physical intervention must be taken. The hard disk can be physically short-circuited through the preset pins of the SSD (usually specific hardware interface pins). This short-circuit operation forces the SSD to be placed in a power-on mode, allowing the hard disk to be powered on again and enter a minimum working state. In this state, even if the host cannot interact with the hard disk through the normal communication protocol, the flash memory positioning firmware can still be burned into the SSD in a forced manner.

[0087] The physical shorting operation usually involves a specific pin layout of the hard drive. By shorting a specific pin combination, the low-level power management function of the solid-state drive can be activated or a special debugging mode can be entered. This operation is usually reserved for hardware developers or maintenance personnel to force operations on the solid-state drive when it cannot be accessed normally. With the hard drive successfully powered on and entering the burning mode, the system can perform the firmware burning operation, write the firmware used for fault location to the hard drive, and then perform further fault analysis on the flash memory.

[0088] In this way, it is ensured that even in the most unfavorable fault condition, control of the SSD can still be restored through physical operations and the key firmware burning steps can be completed, thus providing a basis for subsequent fault diagnosis.

[0089] As a preferred embodiment, it also includes:

[0090] When the host does not recognize the solid state drive but recognizes the peripheral component interconnect fast channel device and the solid state drive is not currently in a burning mode, obtaining log information of the faulty solid state drive;

[0091] Determining whether the log information includes abnormal information of a correctable error register corresponding to a hardware interface for managing the flash memory;

[0092] If not, it is determined that the cause of the failure of the failed solid state drive is not related to the flash memory;

[0093] If so, it is determined that the fault cause of the faulty solid state hard disk is related to the flash memory, and the fault state of the solid state hard disk is the third fault state.

[0094] In this preferred embodiment, an additional detailed diagnosis process for the fault status is introduced to ensure accurate determination of the cause of the fault and optimize the repair process of the SSD. Specifically, when the host cannot identify the SSD but can identify the Peripheral Component Interconnect Express (PCIe) device and the SSD is not currently in the burning mode, the log information of the faulty SSD is first obtained. The purpose of this step is to collect detailed records of the SSD operation and status, and provide the data required for further fault analysis.

[0095] Next, the log information is analyzed to determine whether it contains abnormal information about the correctable error registers of the hardware interface used to manage the flash memory. The correctable error register is a key component in the hardware interface and is responsible for recording and reporting errors that can be corrected during hardware operations. These errors are usually directly related to the read and write operations of the flash memory and may indicate problems with the flash memory itself or its related interfaces. Therefore, by checking whether the log information contains abnormal information about such registers, it is possible to identify whether there are potential problems related to the flash memory.

[0096] If the log information does not contain abnormal information about the correctable error register, it is determined that the cause of the faulty SSD is not related to the flash memory. This means that the problem may occur in other hardware components, such as the PCIe interface, controller chip, or other system parts, rather than the flash memory itself. In this case, the cause of the SSD failure may require further diagnosis and processing without immediate flash memory location.

[0097] However, if the log information does contain abnormal information of the correctable error register, it will be determined that the cause of the faulty SSD is related to the flash memory, and the fault state of the SSD at this time is determined to be the third fault state. This state usually means that the SSD fails to enter the burn mode, and the log information cannot clearly locate the specific flash memory problem. At this time, further firmware burning and fault location operations will help to analyze and repair the flash memory in more detail.

[0098] In summary, by obtaining and analyzing the key register information in the fault log, it is possible to effectively distinguish between faults related to and unrelated to the flash memory, thereby optimizing the fault diagnosis process of the solid-state drive and providing an accurate basis for subsequent maintenance work.

[0099] like Figure 3As shown, as a preferred embodiment, the solid state drive initializes the flash memory according to the flash memory positioning firmware, including:

[0100] Monitor the microcode process of writing and updating each channel in the flash memory array, and obtain and output the status feedback information corresponding to each process;

[0101] When setting initialization configuration information for each channel, a failure prompt message is set for each chip enable pin of each channel and each die;

[0102] Get the serial port print information of the flash memory initialization process, including:

[0103] During the flash memory initialization process, the status feedback information corresponding to each process is obtained and printed in real time;

[0104] When the initialization configuration information of a grain fails to be set, printing failure prompt information of the grain for which the setting fails;

[0105] Obtaining identification information of each grain;

[0106] After the initialization is completed, obtaining status information of a hardware interface for managing the flash memory, information of a correctable error register corresponding to the hardware interface, and information of an uncorrectable error register corresponding to the hardware interface;

[0107] Locate the faulty flash memory based on the information printed by the serial port, including:

[0108] The position of the faulty flash memory is located based on the status feedback information corresponding to each process, the failure prompt information and identity information corresponding to the grain, the status information of the hardware interface, the information of the correctable error register corresponding to the hardware interface, and the information of the uncorrectable error register corresponding to the hardware interface.

[0109] In this preferred embodiment, the initialization process of the solid-state drive is managed in a refined manner to accurately locate the specific location of the flash memory failure. First, when the flash memory is initialized using the flash memory location firmware, the writing and updating process of the microcode in each channel will be monitored. This involves real-time monitoring of the microcode writing process of each channel and obtaining corresponding status feedback information. These status feedback information include the success or failure of each step, the type of error that may occur and its detailed description, through which the health status of the microcode update process can be evaluated. Secondly, when setting the initialization configuration information for each channel, special attention will be paid to each grain of each chip enable pin. Failure prompt information is set for each grain so that when an error occurs during the setting process, the faulty grain can be accurately identified. This detailed failure prompt mechanism enables problems that occur during the configuration process to be discovered and recorded immediately, facilitating subsequent analysis.

[0110] During the initialization process, the status feedback information of each process is obtained and output in real time through serial port printing. Through serial port printing, the specific execution status of each step can be monitored, and the success and failure of each step can be recorded. In particular, when it is found that the initialization configuration information setting of the grain fails, specific failure prompt information will be printed, including detailed information of the failed grain, to help identify the specific fault point. In addition, the identity information of each grain is also obtained, which helps to accurately determine the specific location of the faulty grain.

[0111] After initialization is complete, the status information of the hardware interface used to manage the flash memory is also obtained, including the information of the correctable error register and the uncorrectable error register. These registers record the various error types and severity that occurred during the initialization process. This information can be used to further understand the health of the hardware interface and its impact on the flash memory.

[0112] Finally, by comprehensively analyzing the status feedback information in the serial port print information, the chip failure prompt information, the identity information, the hardware interface status information, the correctable error register and the uncorrectable error register information, the system can accurately locate the location of the flash memory where the fault occurs. This process compares and analyzes all the acquired information to ensure that the fault point can be accurately identified and located, thus providing a reliable basis for troubleshooting and subsequent repairs.

[0113] As a preferred embodiment, according to the status feedback information corresponding to each process, the failure prompt information and identity information corresponding to the die, the status information of the hardware interface, the information of the correctable error register corresponding to the hardware interface, and the information of the uncorrectable error register corresponding to the hardware interface, the position of the failed flash memory is located, including:

[0114] The status feedback information, the failure prompt information corresponding to the grain, the identity information, the status information of the hardware interface, the information of the correctable error register and the information of the uncorrectable error register are respectively compared with the preset standard values, and the faulty grain and the fault type are determined based on the comparison result and the identity information.

[0115] In this preferred embodiment, the fault location method of the solid state drive accurately determines the location and type of the faulty flash memory by comprehensively analyzing multiple data sources. First, the status feedback information of each step in the flash memory initialization process is collected and recorded, including the success or failure of the microcode writing process, the specific situation of the initialization configuration settings, etc. This information reflects the actual execution effect of each operation step and is used to evaluate the overall health status of the initialization process. At the same time, for the initialization settings of each channel and each die, the corresponding failure prompt information is recorded, which provides specific details on whether each die is successfully configured. Next, the status information of the hardware interface is also obtained, including the information in the correctable error register and the uncorrectable error register. These registers record the type of errors and their severity that occurred during the initialization process, helping to determine whether the hardware interface is operating normally. Specifically, the correctable error register records errors that can be handled by retry or correction mechanisms, while the uncorrectable error register records errors that cannot be corrected, which is crucial for fault analysis. Then, the collected information is compared with the preset standard values ​​respectively. The preset standard values ​​are benchmark values ​​set according to the parameters of the flash memory and hardware interface under normal working conditions. By comparing the difference between the actual information and these standard values, it is possible to identify which information deviates from the normal range and further determine the specific grain where the fault occurs. For example, if the failure prompt information of a grain is significantly different from the standard value, or the error register information of a hardware interface exceeds the normal range, it can be determined that there is a problem with the grain or hardware interface. Finally, by combining the identification information, the located fault can be associated with the specific grain to determine the specific location and type of the fault. The identification information provides a unique identifier for each grain, so that after the fault is determined, it can be clearly pointed out which flash memory has a problem. In addition, by comparing the error type and the standard value, it is possible to identify whether the fault is caused by a configuration error, a hardware failure, or other reasons, thereby providing detailed diagnostic information for fault repair.

[0116] In summary, this embodiment achieves accurate positioning of the flash memory fault position and type by comprehensively collecting and analyzing information from multiple data sources and comparing the information with preset standard values.

[0117] On the other hand, the present application provides a flash memory fault location system for a solid state drive, comprising:

[0118] The firmware generation unit 41 is used to generate flash memory positioning firmware according to the official firmware of the solid state drive and the preset positioning logic, where the preset positioning logic is an algorithm for diagnosing errors during the flash memory initialization process;

[0119] The firmware burning unit 42 is used to burn the flash memory positioning firmware to the solid state drive when the solid state drive fails;

[0120] An initialization unit 43 is used to enable the solid state drive to initialize the flash memory according to the flash memory positioning firmware;

[0121] The positioning unit 44 is used to obtain the serial port printing information of the flash memory during the initialization process, and locate the position of the faulty flash memory according to the serial port printing information.

[0122] As a preferred embodiment, before burning the flash memory positioning firmware to the solid state drive, the method further includes:

[0123] Obtaining a fault status of the solid state drive;

[0124] Determining whether the solid state hard disk meets the pre-burning condition according to the fault state;

[0125] If the pre-burning condition is met, the step of burning the flash memory positioning firmware to the solid state drive is entered.

[0126] As a preferred embodiment, determining whether the solid state hard disk meets the pre-burning condition according to the fault state includes:

[0127] Whether the fault state is any one of a first fault state, a second fault state and a third fault state, the first fault state is a state in which the host does not recognize the solid-state hard disk but recognizes the peripheral component interconnection fast channel device and the solid-state hard disk is currently in a burning mode, the second fault state is a state in which the host does not recognize the peripheral component interconnection fast channel device, and the third fault state is a state in which the host does not recognize the solid-state hard disk but recognizes the peripheral component interconnection fast channel device and the solid-state hard disk is currently not in a burning mode, but the acquired log information cannot locate the position of the faulty flash memory;

[0128] If the fault state of the solid state hard disk is any one of the first fault state, the second fault state and the third fault state, it is determined that the solid state hard disk meets the pre-burning condition.

[0129] As a preferred embodiment, burning the flash memory positioning firmware to the solid state drive includes:

[0130] When the fault state is the first fault state or the third fault state, directly entering the step of burning the flash memory positioning firmware to the solid state drive;

[0131] When the fault state is the second fault state, the solid-state hard disk is physically short-circuited through a preset pin of the solid-state hard disk to power on the solid-state hard disk. After the solid-state hard disk is powered on, the step of burning the flash memory positioning firmware to the solid-state hard disk is entered.

[0132] As a preferred embodiment, it also includes:

[0133] When the host does not recognize the solid-state drive but recognizes the peripheral component interconnection fast channel device and the solid-state drive is not currently in a burning mode, obtaining log information of the faulty solid-state drive;

[0134] Determining whether the log information includes exception information of a correctable error register corresponding to a hardware interface for managing the flash memory;

[0135] If not, it is determined that the cause of the failure of the faulty solid state drive is not related to the flash memory;

[0136] If so, it is determined that the fault cause of the faulty solid state hard disk is related to the flash memory, and the fault state of the solid state hard disk is the third fault state.

[0137] As a preferred embodiment, enabling the solid state drive to initialize the flash memory according to the flash memory positioning firmware includes:

[0138] Monitor the microcode process of writing and updating each channel in the flash memory array, and obtain and output the status feedback information corresponding to each process;

[0139] When setting initialization configuration information for each channel, a failure prompt message is set for each chip enable pin of each channel and each die;

[0140] Obtaining serial port printing information of the flash memory initialization process, including:

[0141] During the flash memory initialization process, status feedback information corresponding to each process is obtained and printed in real time;

[0142] When the initialization configuration information of the crystal grain fails to be set, printing failure prompt information of the crystal grain that fails to be set;

[0143] Obtaining identification information of each of the grains;

[0144] After the initialization is completed, obtaining status information of a hardware interface for managing the flash memory, information of a correctable error register corresponding to the hardware interface, and information of an uncorrectable error register corresponding to the hardware interface;

[0145] Locating the location of the failed flash memory according to the serial port print information includes:

[0146] The position of the faulty flash memory is located according to the status feedback information corresponding to each process, the failure prompt information and the identity information corresponding to the grain, the status information of the hardware interface, the information of the correctable error register corresponding to the hardware interface, and the information of the uncorrectable error register corresponding to the hardware interface.

[0147] As a preferred embodiment, locating the position of the failed flash memory according to the state feedback information corresponding to each process, the failure prompt information and the identity information corresponding to the die, the state information of the hardware interface, the information of the correctable error register corresponding to the hardware interface, and the information of the uncorrectable error register corresponding to the hardware interface includes:

[0148] The status feedback information, the failure prompt information corresponding to the grain, the identity information, the status information of the hardware interface, the information of the correctable error register and the information of the uncorrectable error register are respectively compared with preset standard values, and the faulty grain and the fault type are determined according to the comparison result and the identity information.

[0149] For an introduction to the flash memory fault location system of a solid state drive, please refer to the above-mentioned embodiment, and this application will not go into details here.

[0150] On the other hand, the present application provides a flash memory fault location device for a solid state drive, comprising:

[0151] A memory 51, used for storing computer programs;

[0152] The processor 52 is used to implement the steps of the above-mentioned method for locating a flash memory fault of a solid state drive when executing a computer program. For the introduction of the flash memory fault locating device of the solid state drive, please refer to the above-mentioned embodiment, and this application will not repeat it here.

[0153] On the other hand, the present application provides a non-volatile storage medium, on which a computer program is stored, and when the computer program is executed by a processor, the steps of the flash memory fault location method of the solid state drive as described above are implemented. For the introduction of the non-volatile storage medium, please refer to the above embodiment, and the present application will not repeat it here.

[0154] On the other hand, the present application provides a computer program product, including a computer program / instruction, which, when executed by a processor, implements the steps of the above-mentioned method for locating a flash memory fault of a solid-state drive. For an introduction to the computer program product, please refer to the above-mentioned embodiment, and the present application will not repeat it here.

[0155] It should also be noted that, in this specification, relational terms such as first and second, etc. are only used to distinguish one entity or operation from another entity or operation, and do not necessarily require or imply any such actual relationship or order between these entities or operations. Moreover, the terms "comprises", "comprising" or any other variants thereof are intended to cover non-exclusive inclusion, so that a process, method, article or device including a series of elements includes not only those elements, but also other elements not explicitly listed, or also includes elements inherent to such process, method, article or device. In the absence of further restrictions, an element defined by the statement "comprising a ..." does not exclude the presence of other identical elements in the process, method, article or device including the element.

[0156] The above description of the disclosed embodiments enables those skilled in the art to implement or use the present invention. Various modifications to these embodiments will be apparent to those skilled in the art, and the general principles defined herein may be implemented in other embodiments without departing from the spirit or scope of the present invention. Therefore, the present invention will not be limited to the embodiments shown herein, but rather to the widest scope consistent with the principles and novel features disclosed herein.

Claims

1. A method for locating a flash memory fault of a solid state drive, characterized in that: include: Generate flash memory positioning firmware according to the official firmware of the solid state drive and the preset positioning logic, wherein the preset positioning logic is an algorithm for diagnosing errors during the flash memory initialization process; When the solid state drive fails, burning the flash memory positioning firmware to the solid state drive; enabling the solid state drive to initialize the flash memory according to the flash memory positioning firmware; Serial port printing information of the flash memory during initialization is obtained, and a position of a faulty flash memory is located according to the serial port printing information.

2. The method for locating a flash memory fault of a solid state drive according to claim 1, wherein: Before burning the flash memory positioning firmware to the solid state drive, the method further includes: Obtaining a fault status of the solid state drive; Determining whether the solid state hard disk meets the pre-burning condition according to the fault state; If the pre-burning condition is met, the step of burning the flash memory positioning firmware to the solid state drive is entered.

3. The method for locating a flash memory fault of a solid state drive according to claim 2, wherein: Determining whether the solid state hard disk meets the pre-burning condition according to the fault state includes: Whether the fault state is any one of a first fault state, a second fault state and a third fault state, the first fault state is a state in which the host does not recognize the solid-state hard disk but recognizes the peripheral component interconnection fast channel device and the solid-state hard disk is currently in a burning mode, the second fault state is a state in which the host does not recognize the peripheral component interconnection fast channel device, and the third fault state is a state in which the host does not recognize the solid-state hard disk but recognizes the peripheral component interconnection fast channel device and the solid-state hard disk is currently not in a burning mode, but the acquired log information cannot locate the position of the faulty flash memory; If the fault state of the solid state hard disk is any one of the first fault state, the second fault state and the third fault state, it is determined that the solid state hard disk meets the pre-burning condition.

4. The method for locating a flash memory fault of a solid state drive according to claim 3, wherein: Burning the flash memory positioning firmware to the solid state drive includes: When the fault state is the first fault state or the third fault state, directly entering the step of burning the flash memory positioning firmware to the solid state hard disk; When the fault state is the second fault state, the solid-state hard disk is physically short-circuited through a preset pin of the solid-state hard disk to power on the solid-state hard disk. After the solid-state hard disk is powered on, the step of burning the flash memory positioning firmware to the solid-state hard disk is entered.

5. The method for locating a flash memory fault of a solid state drive according to claim 3, wherein: Also includes: When the host does not recognize the solid-state drive but recognizes the peripheral component interconnection fast channel device and the solid-state drive is not currently in a burning mode, obtaining log information of the faulty solid-state drive; Determining whether the log information includes exception information of a correctable error register corresponding to a hardware interface for managing the flash memory; If not, it is determined that the cause of the failure of the faulty solid state drive is not related to the flash memory; If so, it is determined that the fault cause of the faulty solid state hard disk is related to the flash memory, and the fault state of the solid state hard disk is the third fault state.

6. The method for locating a flash memory fault of a solid state drive according to any one of claims 1 to 5, characterized in that: Enabling the solid state drive to initialize the flash memory according to the flash memory positioning firmware includes: Monitor the microcode process of writing and updating each channel in the flash memory array, and obtain and output the status feedback information corresponding to each process; When setting initialization configuration information for each channel, a failure prompt message is set for each chip enable pin of each channel and each die; Obtaining serial port printing information of the flash memory initialization process, including: During the flash memory initialization process, status feedback information corresponding to each process is obtained and printed in real time; When the initialization configuration information of the crystal grain fails to be set, printing failure prompt information of the crystal grain that fails to be set; Obtaining identification information of each of the grains; After the initialization is completed, obtaining status information of a hardware interface for managing the flash memory, information of a correctable error register corresponding to the hardware interface, and information of an uncorrectable error register corresponding to the hardware interface; Locating the location of the failed flash memory according to the serial port print information includes: The position of the faulty flash memory is located according to the status feedback information corresponding to each process, the failure prompt information and the identity information corresponding to the grain, the status information of the hardware interface, the information of the correctable error register corresponding to the hardware interface, and the information of the uncorrectable error register corresponding to the hardware interface.

7. The method for locating a flash memory fault of a solid state drive according to claim 6, wherein: Locating the position of the failed flash memory according to the state feedback information corresponding to each process, the failure prompt information and the identity information corresponding to the die, the state information of the hardware interface, the information of the correctable error register corresponding to the hardware interface, and the information of the uncorrectable error register corresponding to the hardware interface, including: The status feedback information, the failure prompt information corresponding to the grain, the identity information, the status information of the hardware interface, the information of the correctable error register and the information of the uncorrectable error register are respectively compared with preset standard values, and the faulty grain and the fault type are determined according to the comparison result and the identity information.

8. A flash memory fault location system for a solid state drive, characterized in that: include: A firmware generation unit, configured to generate flash memory positioning firmware according to the official firmware of the solid state drive and a preset positioning logic, wherein the preset positioning logic is an algorithm for diagnosing errors during the flash memory initialization process; A firmware burning unit, used for burning the flash memory positioning firmware to the solid state drive when the solid state drive fails; an initialization unit, configured to enable the solid state drive to initialize the flash memory according to the flash memory positioning firmware; The positioning unit is used to obtain the serial port printing information of the flash memory during the initialization process, and locate the position of the faulty flash memory according to the serial port printing information.

9. A flash memory fault location device for a solid state drive, characterized in that: include: Memory for storing computer programs; A processor, used to implement the steps of the flash memory fault locating method of a solid state drive as described in any one of claims 1 to 7 when executing a computer program.

10. A non-volatile storage medium, characterized in that: The non-volatile storage medium stores a computer program, and when the computer program is executed by the processor, the steps of the flash memory fault locating method for a solid state drive as described in any one of claims 1 to 7 are implemented.

Citation Information

Cited By

  • Firmware updating method, electronic equipment, firmware updating equipment and firmware updating system

    CN120428993A

  • Firmware update method, electronic device, firmware update device, and firmware update system

    CN120428993B

  • Firmware updating method, electronic equipment, firmware updating device and firmware updating system

    CN120428995A

  • Firmware updating method, electronic device, firmware updating apparatus, and firmware updating system

    CN120428995B

  • Fault-tolerant method for firmware update, electronic equipment, storage medium and program product

    CN121349761A