Method, system and device for detecting newly added bad block of SSD (Solid State Disk)

By unifying the processing of SSD log data and using model prediction, the problems of universality and accuracy in the detection of various SSDs have been solved, and efficient identification of newly added bad blocks has been achieved.

CN121075404APending Publication Date: 2025-12-05UNITED MEMORY TECHNOLOGY (JIANGSU) LTD
View PDF 5 Cites 0 Cited by

Patent Information

Application Number
CN202511193725.1
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-08-25
Publication Date
2025-12-05

AI Technical Summary

Technical Problem

Existing methods for detecting new bad blocks in SSDs have poor universality and accuracy when dealing with SSDs with various communication protocols, and cannot effectively identify new bad blocks.

Method used

By acquiring SSD log data, processing it in a unified manner, and then inputting it into the new bad block prediction model, the probability of new bad blocks is determined. When the probability is high, the online change point detection model is used to locate suspected bad block clusters. The new bad blocks are confirmed through read and write verification, and a detection report is generated.

Benefits of technology

It improves the versatility and accuracy of SSD new bad block detection, and can effectively identify new bad blocks in different types of SSDs.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN121075404A_ABST
    Figure CN121075404A_ABST
Patent Text Reader

Abstract

The invention discloses a newly-added bad block detection method, system and device for an SSD (Solid State Disk), and the method comprises the steps: obtaining log data of the SSD, and carrying out the unified processing of the semantics of the log data, and obtaining standard log data; the standard log data are input into a newly-added bad block prediction model to obtain a newly-added bad block probability, and the newly-added bad block probability refers to the probability that newly-added bad blocks appear in the SSD; when the bad block adding probability is greater than a preset probability, inputting the standard log data into an online change point detection model to obtain a suspected bad block cluster; and performing read-write verification on the suspected bad block cluster to determine a newly added bad block, and generating a detection report according to the newly added bad block. According to the method, the semantic meaning of the log data is subjected to unified processing, the definition difference of the log field is eliminated, the detection universality is improved, and the detection accuracy is improved by firstly detecting the probability of the newly-added bad block, then detecting the suspected bad block cluster and accurately positioning the newly-added bad block from the suspected bad block cluster.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of data storage technology, and in particular to a method, system, and apparatus for detecting newly added bad blocks in an SSD. Background Technology

[0002] SSD (Solid State Drive) is a storage device that uses flash memory chips as its storage medium. SSDs are characterized by high read and write speeds, strong shock resistance, and low power consumption, and are widely used in electronic devices such as computers, servers, and mobile devices. Because flash memory chips have a limited lifespan, the need for detecting newly added bad blocks (GBBs) in SSDs is increasing.

[0003] Currently, there are many types of SSDs available, resulting in a wide variety of communication protocols and significant differences in the definition of log fields. This makes it difficult for testing devices to handle the testing of various SSDs. Furthermore, when testing SSDs, the devices mainly rely on simple logic such as comparing field differences and judging fixed thresholds to detect new bad blocks, which leads to poor universality and accuracy in the testing process.

[0004] Therefore, there is still an urgent need for a new bad block detection method for SSDs that can improve the versatility and accuracy of detection. Summary of the Invention

[0005] The main purpose of this application is to propose a method, system, and apparatus for detecting newly added bad blocks in SSDs, aiming to improve the versatility and accuracy of detecting newly added bad blocks in SSDs.

[0006] To achieve the above objectives, this application proposes a method for detecting newly added bad blocks in an SSD, the method comprising:

[0007] Obtain SSD log data and perform semantic unification processing on the log data to obtain standard log data;

[0008] The standard log data is input into the new bad block prediction model to obtain the probability of new bad blocks, wherein the probability of new bad blocks refers to the probability that new bad blocks will appear in the SSD;

[0009] When the probability of newly added bad blocks is greater than the preset probability, the standard log data is input into the online change point detection model to obtain suspected bad block clusters;

[0010] The suspected bad block cluster is read and written to identify the newly added bad blocks, and a detection report is generated based on the newly added bad blocks.

[0011] In some embodiments, the suspected bad block cluster includes multiple suspected bad blocks; the step of performing read / write verification on the suspected bad block cluster to determine the newly added bad block includes:

[0012] For any of the suspected bad blocks, erase the suspected bad block and write the preset test data into the suspected bad block;

[0013] Read the suspected bad blocks to obtain read data, and determine whether the read data is consistent with the preset test data;

[0014] If they match, then the suspected bad blocks are excluded;

[0015] If there is a discrepancy, the suspected bad block is marked as the newly added bad block.

[0016] In some embodiments, the process of unifying the semantics of the log data to obtain standard log data includes:

[0017] The SSD's identity data, time-series data, and spatial data are obtained by parsing the log data;

[0018] The identity data, the temporal data, and the spatial data are input into a unified semantic model to obtain standard identity data, standard temporal data, and standard spatial data.

[0019] In some embodiments, the identity data includes the SSD's chip model, firmware version, total write volume, and remaining lifetime; the timing data includes ECC correction bit-time variation trend data; and the spatial data includes error density data of logical block address segments.

[0020] In some embodiments, inputting the standard log data into the new bad block prediction model to obtain the probability of a new bad block includes:

[0021] Feature extraction is performed on the standard identity data, the standard time-series data, and the standard spatial data respectively to obtain standard identity features, standard time-series features, and standard spatial features;

[0022] The standard identity features, the standard temporal features, and the standard spatial features are input into the new bad block prediction model;

[0023] Receive the probability of newly added bad blocks output by the newly added bad block prediction model.

[0024] In some embodiments, inputting the standard log data into an online change point detection model to obtain suspected bad block clusters includes:

[0025] The standard time-series data and the standard spatial data are input into the online change point detection model;

[0026] Receive the suspected bad block clusters output by the online change point detection model.

[0027] In some embodiments, after inputting the standard log data into the new bad block prediction model to obtain the probability of a new bad block, the method further includes:

[0028] Determine whether the probability of the newly added bad block is greater than the preset probability;

[0029] When the probability of new bad blocks is less than or equal to the preset probability, a detection report is generated indicating that no new bad blocks have appeared on the SSD, and the step of obtaining the SSD's log data is re-executed after a preset time.

[0030] In some embodiments, the method for detecting newly added bad blocks in the SSD further includes:

[0031] A complete detection process record is generated based on the log data, the probability of newly added bad blocks, the suspected bad block clusters, the newly added bad blocks, and the detection report;

[0032] The entire detection process is recorded and stored in an additional data storage space.

[0033] This application also proposes a new bad block detection system for SSDs, the new bad block detection system for SSDs including a detection device and an SSD; the new bad block detection system for SSDs is capable of executing the new bad block detection method for SSDs described in any of the above-mentioned methods.

[0034] This application also proposes a new bad block detection device for SSDs, including:

[0035] At least one processor; and,

[0036] A memory communicatively connected to the at least one processor; wherein,

[0037] The memory stores instructions that are executed by the at least one processor, which enable the at least one processor to perform the new bad block detection method for the SSD described in any of the above descriptions.

[0038] This application's technical solution obtains SSD log data and standardizes its semantics to obtain standard log data. The standard log data is then input into a new bad block prediction model to obtain the probability of a new bad block. When the probability of a new bad block is greater than a preset probability, the standard log data is input into an online change point detection model to obtain suspected bad block clusters. Read and write verification is performed on the suspected bad block clusters to confirm the new bad blocks, and a detection report is generated based on the new bad blocks. By standardizing the semantics of the log data, the differences in log field definitions are eliminated, improving the universality of detection. Furthermore, by first detecting the probability of a new bad block, then detecting suspected bad block clusters, and accurately locating new bad blocks from the suspected bad block clusters, the accuracy of detection is improved. Attached Figure Description

[0039] Figure 1 This is a flowchart illustrating an embodiment of the new bad block detection method for SSDs in this application;

[0040] Figure 2 This is a flowchart illustrating another embodiment of the new bad block detection method for SSDs in this application;

[0041] Figure 3 This is a flowchart illustrating another embodiment of the new bad block detection method for SSDs in this application;

[0042] Figure 4 This is a flowchart illustrating another embodiment of the new bad block detection method for SSDs in this application;

[0043] Figure 5 This is a flowchart illustrating another embodiment of the new bad block detection method for SSDs in this application;

[0044] Figure 6 This is a flowchart illustrating another embodiment of the new bad block detection method for SSDs in this application;

[0045] Figure 7 This is a flowchart illustrating another embodiment of the new bad block detection method for SSDs in this application;

[0046] Figure 8 This is a schematic diagram of the structure of the new bad block detection system for SSDs according to the embodiments of this application;

[0047] Figure 9 This is a schematic diagram of the structure of the newly added bad block detection device for SSDs according to the embodiments of this application. Detailed Implementation

[0048] The solutions in the embodiments of this application will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only a part of the embodiments in this application, and not all of the embodiments. Based on the embodiments in this application, all other embodiments obtained by those of ordinary skill in the art without creative effort are within the scope of protection of this application.

[0049] It should be noted that all directional indicators (such as up, down, left, right, front, back, etc.) in the embodiments of this application are only used to explain the relative positional relationship and movement of each component in a certain specific posture (as shown in the figure). If the specific posture changes, the directional indicator will also change accordingly.

[0050] It should also be noted that when a component is referred to as "fixed to" or "set on" another component, it can be directly on the other component or may have an intervening component present. When a component is referred to as "connected to" another component, it can be directly connected to the other component or may have an intervening component present.

[0051] Furthermore, the use of terms such as "first" and "second" in this application is for descriptive purposes only and should not be construed as indicating or implying their relative importance or implicitly specifying the number of technical features indicated. Therefore, a feature defined as "first" or "second" may explicitly or implicitly include at least one of that feature. Additionally, the technical solutions of the various embodiments can be combined with each other, but only on the basis of being achievable by those skilled in the art. When the combination of technical solutions is contradictory or impossible to implement, such a combination of technical solutions should be considered non-existent and not within the scope of protection claimed in this application.

[0052] To achieve the above objectives, this application proposes a method for detecting newly added bad blocks in an SSD. The method includes:

[0053] Step S110: Obtain the log data of the SSD and perform semantic unification processing on the log data to obtain standard log data;

[0054] Step S120: Input standard log data into the new bad block prediction model to obtain the probability of new bad blocks, where the probability of new bad blocks refers to the probability of new bad blocks appearing in the SSD.

[0055] Step S130: When the probability of adding bad blocks is greater than the preset probability, standard log data is input into the online change point detection model to obtain suspected bad block clusters.

[0056] Step S140: Perform read / write verification on the suspected bad block cluster to identify newly added bad blocks, and generate a detection report based on the newly added bad blocks.

[0057] In this embodiment, refer to Figure 1 and Figure 8 The method for detecting newly added bad blocks in SSDs can be applied to an SSD newly added bad block detection system. The SSD newly added bad block detection system includes a detection device and an SSD. The detection device may include at least one communication interface, which can communicate with the SSD to detect newly added bad blocks. In this embodiment, the detection device is the primary entity executing the method steps.

[0058] As we understand it, an SSD is a storage device that uses flash memory chips as its storage medium; that is, an SSD can include one or more flash memory chips. A flash memory chip can include multiple storage blocks. Because flash memory chips have a limited lifespan (number of erase / write cycles), each storage block within a flash memory chip has a limited number of erase / write cycles. When the number of erase / write cycles for a storage block exceeds this limit, the storage function of that storage block will be damaged. Newly added bad blocks refer to newly added storage blocks whose storage function has been impaired. Suspected bad blocks refer to suspected newly added bad blocks; a suspected bad block cluster refers to a collection of suspected bad blocks.

[0059] When users need to test the reliability of an SSD, they can detect newly added bad blocks to determine the SSD's reliability. Users can first connect the SSD to the testing device. At this point, the testing device can then detect newly added bad blocks on the SSD.

[0060] The testing equipment first acquires the SSD's log data, then performs semantic standardization on the log data to obtain standard log data. For example, SSDs of various types may come from different manufacturers, and different manufacturers may have different semantic designs for the log data. For instance, log data may include the SSD's remaining lifespan; some manufacturers design this directly as remaining lifespan, while others design it as remaining write / erase cycles. Therefore, after acquiring the log data, the testing equipment performs semantic standardization on the log data, transforming its semantics into standard semantics to obtain standard log data.

[0061] The detection equipment can be configured with a new bad block prediction model. This model can be trained by the user and then configured onto the detection equipment. For example, a user can configure a basic new bad block prediction model based on their needs for predicting new bad blocks. Then, the user can collect standard log data when new bad blocks appear on the SSD, and standard log data when no new bad blocks appear on the SSD; and use this data to train the basic new bad block prediction model, thus obtaining the new bad block prediction model.

[0062] After obtaining standard log data, the testing equipment can input this data into the new bad block prediction model to obtain the probability of new bad blocks appearing on the SSD. The probability of new bad blocks refers to the likelihood of a new bad block appearing on the SSD. For example, after obtaining the standard log data, the new bad block prediction model can calculate the probability of a new bad block appearing on the SSD based on this data, thus obtaining the probability of new bad blocks, which is then output. At this point, the testing equipment can obtain the probability of new bad blocks.

[0063] After obtaining the probability of newly added bad blocks, the detection equipment can then assess this probability. It determines whether the probability of newly added bad blocks is greater than a preset probability. This preset probability can be set according to the detection requirements; in some cases, it can be set to 0. When the probability of newly added bad blocks is greater than the preset probability, the detection equipment can determine that the SSD is highly likely to have newly added bad blocks. When the probability of newly added bad blocks is less than or equal to the preset probability, the detection equipment can determine that the probability of the SSD having newly added bad blocks is very small and can be ignored; that is, the detection equipment can determine that the SSD has not had newly added bad blocks.

[0064] When the probability of newly added bad blocks exceeds a preset probability, the detection device can determine that the SSD is highly likely to have newly added bad blocks. At this point, the detection device can conduct further detection to determine the range where new bad blocks may appear. The detection device can input standard log data into an online change point detection model to obtain suspected bad block clusters. The online change point detection model can detect data with abrupt changes in the standard log data, thereby locating the range where new bad blocks may appear, and determining the suspected bad block clusters based on this range.

[0065] After identifying a cluster of suspected bad blocks, the detection equipment can perform read / write verification on the cluster to determine newly added bad blocks. For example, the equipment can perform read / write verification on each suspected bad block within the cluster, and then identify the suspected bad blocks that fail the verification as newly added bad blocks. There can be one or more newly added bad blocks. The detection equipment can generate a detection report based on all newly added bad blocks.

[0066] This embodiment acquires SSD log data and standardizes the semantics of the log data to obtain standard log data. The standard log data is then input into a new bad block prediction model to obtain the probability of a new bad block. When the probability of a new bad block is greater than a preset probability, the standard log data is input into an online change point detection model to obtain suspected bad block clusters. Read and write verification is performed on the suspected bad block clusters to confirm the new bad blocks, and a detection report is generated based on the new bad blocks. By standardizing the semantics of the log data, the differences in the definition of log fields are eliminated, improving the universality of the detection. Furthermore, by first detecting the probability of a new bad block, then detecting the suspected bad block clusters, and accurately locating the new bad blocks from the suspected bad block clusters, the accuracy of the detection is improved.

[0067] In some embodiments, a cluster of suspected bad blocks includes multiple suspected bad blocks; the aforementioned read / write verification of the cluster of suspected bad blocks to determine newly added bad blocks includes:

[0068] Step S150: For any suspected bad block, erase the suspected bad block and write the preset test data into the suspected bad block;

[0069] Step S151: Read the suspected bad block to obtain the read data, and determine whether the read data is consistent with the preset test data;

[0070] Step S152: If they match, then exclude the suspected bad blocks;

[0071] In step S153, if there is a discrepancy, the suspected bad block is marked as a newly added bad block.

[0072] In this embodiment, refer to Figure 2 When executing step S140, the detection device can first erase suspected bad blocks and then perform read / write verification on them. A cluster of suspected bad blocks includes multiple suspected bad blocks, and the detection device can perform read / write verification on each suspected bad block individually. For any suspected bad block, the detection device can first erase it, thereby clearing the suspected bad block. For example, the detection device can erase the data originally stored in the suspected bad block, thereby clearing the suspected bad block. The detection device can pre-set preset test data, which can be user-defined. After erasing the suspected bad blocks, the detection device can write the preset test data to them.

[0073] After writing preset test data into suspected bad blocks, the testing equipment can then read the suspected bad blocks to obtain the read data. For example, after writing preset test data into suspected bad blocks, the testing equipment can read the preset test data written into the suspected bad blocks and then identify the read data as the read data.

[0074] After receiving the read data, the testing equipment can determine whether the read data matches the preset test data. If the read data matches the preset test data, the testing equipment can determine that the storage function of the suspected bad block is not faulty, thus confirming that the suspected bad block is not a newly added bad block, and the testing equipment can then exclude the suspected bad block. If the read data does not match the preset test data, the testing equipment can determine that the storage function of the suspected bad block is faulty, thus confirming that the suspected bad block is a newly added bad block, and the testing equipment can then mark the suspected bad block as a newly added bad block.

[0075] In some embodiments, the aforementioned semantic unification processing of log data to obtain standard log data includes:

[0076] Step S160: Parse the log data to obtain the SSD's identity data, time-series data, and space data;

[0077] Step S161: Input identity data, time series data and spatial data into the unified semantic model to obtain standard identity data, standard time series data and standard spatial data.

[0078] In this embodiment, refer to Figure 3 When executing step S110, the detection device can perform unified processing on the log data using a unified semantic model. The detection device can have a pre-configured unified semantic model. For example, a user can collect log data from various types of SSDs, establish a mapping relationship between the log data from different types of SSDs and standard log data, configure a unified semantic model based on this mapping relationship, and finally configure the unified semantic model on the detection device.

[0079] The detection equipment can first parse the log data to obtain the SSD's identity data, time-series data, and spatial data. Then, the identity data, time-series data, and spatial data are input into a unified semantic model.

[0080] After obtaining identity data, temporal data, and spatial data through the unified semantic model, standard identity data, standard temporal data, and standard spatial data can be matched based on the identity data, temporal data, and spatial data and their mapping relationships. Finally, the standard identity data, standard temporal data, and standard spatial data are output. At this point, the detection device can obtain standard identity data, standard temporal data, and standard spatial data. In this embodiment, "standard" refers to a semantic standard (unified).

[0081] In some embodiments, the identity data includes the SSD's chip model, firmware version, total write volume, and remaining lifetime; the timing data includes ECC correction bit-time variation trend data; and the spatial data includes error density data of the logical block address segment.

[0082] In this embodiment, identity data may include the SSD's chip model, firmware version, total write volume, and remaining lifetime; timing data may include ECC correction bit width-time variation trend data; and spatial data may include error density data for logical block address segments. Similarly, standard identity data may include the SSD's standard chip model, standard firmware version, standard total write volume, and standard remaining lifetime; standard timing data may include standard ECC correction bit width-time variation trend data; and standard spatial data may include error density data for standard logical block address segments. Here, "standard" in this embodiment refers to a semantic standard (uniformity).

[0083] In some embodiments, the aforementioned input of standard log data into the new bad block prediction model to obtain the probability of a new bad block includes:

[0084] Step S170: Extract features from standard identity data, standard time series data, and standard spatial data respectively to obtain standard identity features, standard time series features, and standard spatial features;

[0085] Step S171: Input the standard identity features, standard temporal features, and standard spatial features into the new bad block prediction model;

[0086] Step S172: Receive the probability of new bad blocks output by the new bad block prediction model.

[0087] In this embodiment, refer to Figure 4 When executing step S120, the detection device first performs feature extraction. The detection device can be configured with a new bad block prediction model. This model can be trained by the user and then configured onto the detection device. For example, the user can configure an initial new bad block prediction model based on the prediction requirements for new bad blocks. Then, the user can collect standard log data when new bad blocks appear on the SSD, and standard log data when no new bad blocks appear on the SSD; perform feature extraction on this standard log data; and finally train the initial new bad block prediction model based on the extracted features, thus obtaining the new bad block prediction model.

[0088] The detection equipment can extract features from standard identity data, standard time-series data, and standard spatial data respectively, thereby obtaining standard identity features, standard time-series features, and standard spatial features. For example, the detection equipment extracts features from standard identity data to obtain standard identity features. The detection equipment extracts features from standard time-series data to obtain standard time-series features. The detection equipment extracts features from standard spatial data to obtain standard spatial features.

[0089] After obtaining standard identity features, standard temporal features, and standard spatial features, the detection equipment can input these features into the new bad block prediction model. Upon receiving these features, the new bad block prediction model can analyze them to obtain the probability of a new bad block, and finally output the probability. At this point, the detection equipment can receive the new bad block probability output by the new bad block prediction model.

[0090] For example, standard identification data can include the SSD's standard chip model, standard firmware version, standard total write volume, and standard remaining lifetime; standard timing data can include standard ECC correction bit-time variation trend data; and standard spatial data can include error density data for standard logical block address segments. Testing equipment can input the SSD's standard chip model, standard firmware version, standard total write volume, standard remaining lifetime, standard ECC correction bit-time variation trend data, and standard logical block address segment error density data into the new bad block prediction model. The new bad block prediction model can then predict the probability of new bad blocks appearing based on this data, thus obtaining the probability of new bad blocks.

[0091] In some embodiments, the aforementioned input of standard log data into the online change point detection model to obtain suspected bad block clusters includes:

[0092] Step S180: Input the standard time series data and standard spatial data into the online change point detection model;

[0093] Step S181: Receive the suspected bad block clusters output by the online change point detection model.

[0094] In this embodiment, refer to Figure 5 When executing step S130, the detection equipment can input standard time-series data and standard spatial data into the online change point detection model. The standard time-series data may include standard ECC correction bit-time variation trend data; the standard spatial data may include error density data for standard logical block address segments. The standard ECC correction bit-time variation trend data can be a curve showing the ECC correction bit number changing over time. The error density data for standard logical block address segments can be an error density distribution map showing the variation of logical block address segments. Multiple consecutive logical block addresses can form a logical block address segment, and a logical block address segment can map multiple memory blocks, with the number of memory blocks being the same as the number of consecutive logical block addresses.

[0095] The detection equipment can input standard time-series data and standard spatial data into the online change point detection model, that is, input standard ECC correction bit-time change trend data and standard logic block address segment error density data into the online change point detection model.

[0096] After obtaining the standard ECC correction bit-time variation trend data and the error density data of the standard logic block address segment, the online change point detection model can determine suspected bad block clusters based on the curve changes of the standard ECC correction bit-time variation trend data and the error density distribution of the standard logic block address segment error density data. For example, the online change point detection model can determine suspected bad block clusters based on the abrupt change points of the curve and the standard logic block address segment with the highest error density distribution, and finally output the suspected bad block clusters. After a few iterations, the detection device can receive the suspected bad block clusters output by the online change point detection model.

[0097] In some embodiments, after inputting standard log data into the new bad block prediction model to obtain the probability of a new bad block, the method further includes:

[0098] Step S190: Determine whether the probability of adding a bad block is greater than the preset probability;

[0099] Step S191: When the probability of new bad blocks is less than or equal to the preset probability, generate a detection report that no new bad blocks have appeared on the SSD, and re-execute the step of obtaining the SSD's log data after a preset time.

[0100] In this embodiment, refer to Figure 6 After executing step S120, the detection device can further determine whether the probability of newly added bad blocks is greater than a preset probability. The preset probability can be set according to detection needs; for example, it can be set to 0. When the probability of newly added bad blocks is greater than the preset probability, the detection device can determine that the SSD is highly likely to have newly added bad blocks. When the probability of newly added bad blocks is less than or equal to the preset probability, the detection device can determine that the probability of the SSD having newly added bad blocks is very small and can be ignored; that is, the detection device can determine that the SSD has not had newly added bad blocks.

[0101] When the probability of newly added bad blocks is less than or equal to a preset probability, the detection device can generate a detection report indicating that no new bad blocks have appeared on the SSD, and then re-execute the step of obtaining SSD log data after a preset time. For example, the preset time can be 24 hours. This embodiment allows for cyclical detection, where the detection device can re-detect after a preset time when the probability of newly added bad blocks is less than or equal to the preset probability.

[0102] In some embodiments, the aforementioned method for detecting new bad blocks in an SSD further includes:

[0103] Step S200: Generate a record of the entire detection process based on log data, probability of new bad blocks, suspected bad block clusters, new bad blocks, and detection reports;

[0104] Step S201: Record the entire detection process in the append-only data storage space.

[0105] In this embodiment, refer to Figure 7 After executing step S140, the detection equipment can also generate a complete detection process record. The detection equipment can generate this record based on log data, the probability of newly added bad blocks, suspected bad block clusters, newly added bad blocks, and the detection report. This complete detection process record is then stored in an append-only data storage space. The complete detection process record refers to the record of the entire detection process performed by the detection equipment. The append-only data storage space is a storage area that only allows appending and writing, prohibiting modification or deletion of existing data. Its core characteristic is that once data is written, it cannot be tampered with; new data can only be added sequentially to the end of existing data, forming a traceable linear data sequence. This embodiment ensures the traceability of results through a closed-loop end-to-end evidence chain and guarantees the reliability of the detection through the immutability of the data.

[0106] This invention obtains standard log data by acquiring SSD log data and unifying its semantics. The standard log data is then input into a new bad block prediction model to obtain the probability of a new bad block. When the probability of a new bad block is greater than a preset probability, the standard log data is input into an online change point detection model to obtain suspected bad block clusters. Read and write verification is performed on the suspected bad block clusters to confirm the new bad blocks, and a detection report is generated based on these new bad blocks. By unifying the semantics of the log data, the differences in log field definitions are eliminated, improving the universality of the detection. Furthermore, by first detecting the probability of a new bad block, then detecting suspected bad block clusters, and accurately locating new bad blocks from the suspected bad block clusters, the accuracy of the detection is improved.

[0107] The present invention also proposes a new bad block detection system for SSDs, the new bad block detection system for SSDs comprising a detection device and an SSD; the new bad block detection system for SSDs is capable of executing the new bad block detection method for SSDs described in any of the above-mentioned methods.

[0108] In this embodiment, refer to Figure 8 A new bad block detection system for SSDs includes a detection device and an SSD. The detection device may include at least one communication interface that can communicate with the SSD to detect new bad blocks. An SSD is a storage device that uses flash memory chips as its storage medium; that is, an SSD may include one or more flash memory chips. A flash memory chip may include multiple storage blocks.

[0109] The newly added bad block detection device for SSDs in this embodiment of the invention can be a controller capable of running a newly added bad block detection method for SSDs; there is at least one controller. For example... Figure 9 As shown, the newly added bad block detection device for this SSD may include: a controller 1001 (e.g., a CPU), a network interface 1004, a user interface 1003, a memory 1005, and a communication bus 1002. The communication bus 1002 is used to establish communication between these components. The user interface 1003 may include a display screen or an input unit, such as a keyboard; optionally, the user interface 1003 may also include a standard wired interface or a wireless interface. The network interface 1004 may optionally include a standard wired interface or a wireless interface (such as a Wi-Fi interface). The memory 1005 may be high-speed RAM or non-volatile memory, such as a disk drive. Optionally, the memory 1005 may also be a storage device independent of the aforementioned controller 1001.

[0110] Those skilled in the art will understand that Figure 9 The structure of the new bad block detection device for SSD shown does not constitute a limitation on the new bad block detection device for SSD. It may include more or fewer components than shown, or combine certain components, or have different component arrangements.

[0111] like Figure 9 As shown, the memory 1005, which serves as a computer storage medium, may include an operating system, a network communication module, a user interface module, and computer programs.

[0112] exist Figure 9 In the SSD new bad block detection device shown, the network interface 1004 is mainly used to connect to the backend server and communicate with the backend server; the user interface 1003 is mainly used to connect to the client (user end) and communicate with the client; and the controller 1001 can be used to call the computer program stored in the memory 1005. When the computer program is called and executed by the controller 1001, it implements the steps of the above-mentioned SSD new bad block detection method.

[0113] The present invention also proposes a storage medium storing a computer program configured to execute the new bad block detection method for SSD described in any of the above-described methods.

[0114] The above description is only a part or preferred embodiment of this application. Neither the text nor the drawings should limit the scope of protection of this application. All equivalent structural transformations made using the content of this application's specification and drawings under the overall concept of this application, or direct / indirect applications in other related technical fields, are included within the scope of protection of this application.

Claims

1. A method for detecting newly added bad blocks of an SSD, the method comprising: The method for detecting new bad blocks of the SSD comprises the following steps: Obtaining log data of the SSD, and uniformly processing semantics of the log data to obtain standard log data; Inputting the standard log data into a new bad block prediction model to obtain a new bad block probability, wherein the new bad block probability refers to a probability of the SSD having a new bad block; When the new bad block probability is greater than a preset probability, inputting the standard log data into an online change point detection model to obtain a suspected bad block cluster; Performing read-write verification on the suspected bad block cluster to determine the new bad block, and generating a detection report according to the new bad block. 2.The method of claim 1, wherein, The suspected bad block cluster comprises a plurality of suspected bad blocks; the read-write verification on the suspected bad block cluster to determine the new bad block comprises the following steps: Erasing any suspected bad block, and writing preset test data into the suspected bad block; Reading the suspected bad block to obtain reading data, and determining whether the reading data is consistent with the preset test data; If yes, the suspected bad block is excluded; If no, the suspected bad block is marked as the new bad block. 3.The method of claim 1, wherein, The uniform processing of the semantics of the log data to obtain the standard log data comprises the following steps: Analyzing the log data to obtain identity data, time sequence data and space data of the SSD; Inputting the identity data, the time sequence data and the space data into a unified semantic model to obtain standard identity data, standard time sequence data and standard space data. 4.The method of claim 3, wherein, The identity data comprises a chip model, a firmware version, a total amount of written data and a remaining life of the SSD; the time sequence data comprises ECC correction bit number-time variation trend data; and the space data comprises error density data of a logical block address segment. 5.The method of claim 4, wherein, The inputting of the standard log data into the new bad block prediction model to obtain the new bad block probability comprises the following steps: Respectively extracting features of the standard identity data, the standard time sequence data and the standard space data to obtain standard identity features, standard time sequence features and standard space features; Inputting the standard identity features, the standard time sequence features and the standard space features into the new bad block prediction model; Receiving the new bad block probability output by the new bad block prediction model. 6.The method of claim 4, wherein, The inputting of the standard log data into the online change point detection model to obtain the suspected bad block cluster comprises the following steps: Inputting the standard time sequence data and the standard space data into the online change point detection model; Receiving the suspected bad block cluster output by the online change point detection model. 7.The method of claim 1, wherein, After the inputting of the standard log data into the new bad block prediction model to obtain the new bad block probability, the following steps are further included: Determining whether the new bad block probability is greater than the preset probability; When the new bad block probability is less than or equal to the preset probability, generating a detection report that the SSD has no new bad block, and re-executing the step of obtaining the log data of the SSD after a preset time.

8. The method of claim 1-7, wherein, The method for detecting new bad blocks of the SSD further comprises the following steps: Generating a detection whole-process record according to the log data, the new bad block probability, the suspected bad block cluster, the new bad block and the detection report; The detection whole process record is saved in an additional data storage space.

9. A system for detecting newly added bad blocks of an SSD, the system comprising: The SSD's new bad block detection system comprises a detection device and an SSD; the SSD's new bad block detection system can execute the SSD's new bad block detection method in any one of claims 1 to 8.

10. An apparatus for detecting newly added bad blocks of an SSD, the apparatus comprising: Comprise: At least one processor; And, The memory is in communication connection with the at least one processor; wherein, The memory stores instructions executed by the at least one processor, and the instructions are executed by the at least one processor to enable the at least one processor to execute the SSD's new bad block detection method in any one of claims 1 to 8.

Citation Information

Patent Citations

  • Fault detection method and device, electronic equipment and storage medium

    CN118588145A

  • Abnormality detection method and device, equipment, storage medium and program product

    CN118673489A

  • Log management method and system

    CN119046471A

  • SSD fault prediction method and device based on multi-task learning and medium

    CN119884986A

  • Method for predicting memory fault, and electronic device and computer-readable storage medium

    WO2023061209A1