Method and device for analyzing high read-out error number caused by NAND Flash characteristics in SSD (Solid State Disk) and medium
By accurately collecting and analyzing various characteristics of NAND Flash, the key factors leading to high number of SSD read errors are identified, which solves the read error problem caused by NAND Flash in long-term use, and improves the data reliability and SSD life.
Patent Information
- Application Number
- CN202411965626.6
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-12-30
- Publication Date
- 2025-04-18
AI Technical Summary
NAND Flash is affected by a variety of physical characteristics during long-term use, resulting in high number of read errors of SSD, affecting the reliability of data and the lifetime of SSD.
Through precise data acquisition and analysis, key factors leading to high read errors are identified, including the number of erases, data retention time, read interference, shallow erases, unfilled blocks, inconsistent first read and write temperatures, etc.
It provides a comprehensive analysis method that can comprehensively consider the various characteristics of NAND Flash, identify key factors that lead to high read errors, provide scientific basis for the optimized design and maintenance of SSDs, and improve data reliability and SSD life.
Smart Images

Figure CN119851741A_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the field of storage, and in particular to a method, a device and a medium for analyzing a high number of read errors caused by NAND Flash characteristics in an SSD. Background Art
[0002] NAND Flash is a non-volatile memory that does not lose data when power is off. It is small in size and can achieve cheap and efficient large-capacity storage, so it is widely used.
[0003] Generally speaking, a NAND Flash has multiple chip select signals (CE), each chip select signal (CE) consists of LUN, which is the smallest unit for executing commands. Each LUN consists of many blocks, each block contains many word lines, and each word line contains several pages. Users can erase, write, and read NAND Flash. Block is generally the smallest addressing unit for erase operation, word line is generally the smallest addressing unit for write operation, and page is generally the smallest addressing unit for read operation. As the core storage medium of SSD, the performance of NAND Flash directly affects the overall performance of SSD. However, NAND Flash will be affected by many physical properties during long-term use, such as erase and write times (PE), data retention, read disturb, shallow erase, incomplete block, first read, inconsistent write and read temperatures (tcross), etc. These problems will significantly increase the number of read errors of SSDs, affecting data reliability and SSD life. Therefore, a method is needed to analyze the causes of high read errors. Summary of the invention
[0004] The present invention aims to provide a method for comprehensively analyzing the high number of read errors caused by NAND Flash characteristics in SSDs. The method can comprehensively consider various characteristics of NAND Flash, identify key factors leading to high number of read errors through precise data collection and analysis, and provide a scientific basis for the optimized design and maintenance of SSDs.
[0005] In order to solve the technical problem, the technical solution adopted by the present invention is: a method for analyzing the high number of read errors caused by NAND Flash characteristics in SSD, comprising the following steps: S01), check the erase and write times, data retention time, and read interference information of the block with high error count in the SSD, and use normal read to read the block with high error count, and draw the error count change trend graph a; S02), re-erase multiple unused blocks normally to make the number of erase and write times, data retention, and read interference the same as those of the block with the highest read error number in the SSD. Within time T1 after Refresh, read the block at the same temperature as when writing, and draw a trend chart of the number of errors for each block. Different blocks are b0, b1, b2, ... bn, and take the average number of errors of different blocks to draw a trend chart of the number of errors; S03) Compare b0, b1, b2, ..., bn. If the difference in the number of errors is greater than the set requirement, and a group of bn can be found that corresponds to Figure a, it is considered to be a NAND particle consistency problem, that is, the Blocks perform inconsistently after the same number of erase and write times, data retention, and read disturbance. Otherwise, execute S04); S04), compare Figure a and Figure b. If the difference in the number of errors between Figure a and Figure b is within the set range, it is only affected by the number of erase and write times, data retention, and read interference. Otherwise, execute S05); S05), compare figure a and figure b, if the difference between the number of errors of the WL in front of figure a and the number of errors of figure b is within the set range, and the number of errors of the WL in the back is higher than that of figure b, it is affected by shallow erasure, otherwise, execute S06); S06) Check the number of WLs written in the block with high read error count in the SSD. If the entire block is not fully written, it is affected by the incomplete block; otherwise, execute S07); S07) Check the current refresh block recorded in real time by the SSD every time T2, calculate the time for refreshing all blocks in the whole disk according to the change of the refresh block number in each LUN within time T2, compare the interval time of refreshing the same block twice, if the interval time is greater than the set time, it is affected by the first read, otherwise, execute S08).
[0006] S08) Check the writing and reading temperatures of the block records with high read errors in the SSD. If the temperatures are inconsistent, it is affected by the inconsistent writing and reading temperatures.
[0007] Furthermore, in steps S01) and S02), with the WL in the block as the horizontal axis and the number of errors in each WL as the vertical axis, a graph a showing the change trend of the number of errors according to the WL and a graph b showing the change trend of the number of errors in each block are drawn, and the average number of errors in different blocks is calculated according to the WL to draw a graph b showing the change trend of the number of errors.
[0008] Furthermore, in step S02), multiple blocks on multiple NAND chips are selected for normal re-erasing.
[0009] Furthermore, in step S02), the plurality of NAND chips selected are not shallowly erased and are fully written to blocks.
[0010] Furthermore, T1=3min.
[0011] Furthermore, T2=3min.
[0012] Furthermore, let the change of refresh block number in each LUN in time T2 be N1, then the time T for refreshing all blocks is , N is the number of all blocks.
[0013] The present invention also discloses a device for analyzing a high number of read errors caused by NAND Flash characteristics in an SSD, comprising a processor and a memory storing program instructions, wherein the processor is configured to execute the method for analyzing a high number of read errors caused by NAND Flash characteristics in an SSD as described above when running the program instructions.
[0014] The present invention also discloses a storage medium storing program instructions, wherein when the program instructions are run, the method for analyzing a high number of read errors caused by NAND Flash characteristics in an SSD as described above is executed.
[0015] The beneficial effects of the present invention are as follows: a method for comprehensively analyzing the high number of read errors caused by NAND Flash characteristics in SSDs is provided. The method can comprehensively consider various characteristics of NAND Flash, identify key factors leading to the high number of read errors through precise data collection and analysis, and provide a scientific basis for the optimized design and maintenance of SSDs. BRIEF DESCRIPTION OF THE DRAWINGS
[0016] Figure 1 Flowchart of this method. DETAILED DESCRIPTION
[0017] The present invention will be further described below in conjunction with the accompanying drawings and specific implementations.
[0018] Example 1 This embodiment discloses a method for analyzing the high number of read errors caused by NAND Flash characteristics in an SSD, such as Figure 1 As shown, the following steps are included: S01) Check the number of erase / write times (PE), data retention, and read disturb information recorded in the block with high error count in the SSD, and use normal read to read the block with high error count. Take the WL in the block as the horizontal axis and the number of errors in each WL as the vertical axis to draw a graph a showing the trend of the number of errors according to the WL.
[0019] S02) Re-erase multiple NAND chips and multiple unused blocks normally (no shallow erase, full block), so that the number of erases (PE), data retention, and read disturbance (read disturb) are the same as the block with high read errors in the SSD. Within 3 minutes after refresh (excluding the impact of the first read), read the block at the same temperature as when writing (excluding the impact of inconsistent writing and reading temperatures (tcross)), and use the same method to draw a trend chart of the number of errors according to WL. Different blocks are b0, b1, b2, ...bn. And calculate the average number of errors in different blocks according to WL, and draw Figure b.
[0020] S03) Compare b0, b1, b2, ... bn. If the number of errors is quite different and a group of bn can be found that corresponds to Figure a, it is considered to be a NAND particle consistency problem, that is, different NANDs or blocks of the same NAND behave inconsistently after the same number of erase / write times (PE), data retention, and read disturb. Otherwise, execute S04).
[0021] S04), compare Figure a with Figure b. If the number of errors in Figure a and Figure b is similar, it is only affected by the number of erase times (PE), data retention, and read disturb. Otherwise, execute S05).
[0022] S05), compare the graph a with the graph b. If the number of errors in the WL in front of the graph a is similar to that in the graph b, and the number of errors in the WL in the back is higher than that in the graph b, it is affected by shallow erase. Otherwise, execute S06).
[0023] S06) Check the number of WLs written in the block with a high number of read errors in the SSD. If the entire block is not fully written, it is affected by the incomplete block (open block); otherwise, execute S07).
[0024] S07) Check the current refresh block recorded in real time by the SSD every 3 minutes. According to the change of the refresh block number in each LUN within 3 minutes (for example, from Block 100 to Block 200), it is possible to calculate the time to refresh 100 blocks in each LUN in 3 minutes, and thus calculate the time to refresh all blocks in the whole disk, and compare the interval time of refreshing the same block twice. If the interval time is too long, such as more than 15 minutes, it is affected by the first read. Otherwise, execute S08).
[0025] Assume that the change in the refresh block number in each LUN within time T2 is N1, then the time T required to fully refresh all blocks is , N is the number of all blocks.
[0026] S08) Check the writing and reading temperatures of the blocks with high read errors in the SSD. If the temperatures are inconsistent, it is affected by the inconsistent writing and reading temperatures (tcross).
[0027] Example 2 The embodiment of the present disclosure provides a device for analyzing the high number of read errors caused by NAND Flash characteristics in an SSD, including a processor and a memory. Optionally, the device may also include a communication interface and a bus. The processor, the communication interface, and the memory may communicate with each other through the bus. The communication interface may be used for information transmission. The processor may call the logic instructions in the memory to execute the method for analyzing the high number of read errors caused by NAND Flash characteristics in the SSD of the above embodiment.
[0028] In addition, the logic instructions in the above-mentioned memory can be implemented in the form of software functional units and can be stored in a computer-readable storage medium when sold or used as an independent product.
[0029] The memory, as a computer-readable storage medium, can be used to store software programs and computer executable programs, such as program instructions / modules corresponding to the method in the embodiment of the present disclosure. The processor executes the function application and data processing by running the program instructions / modules stored in the memory, that is, the method for analyzing the high number of read errors caused by NAND Flash characteristics in the SSD in the above embodiment is implemented.
[0030] The memory may include a program storage area and a data storage area, wherein the program storage area may store an operating system and an application required for at least one function; the data storage area may store data created according to the use of the terminal device, etc. In addition, the memory may include a high-speed random access memory and may also include a non-volatile memory.
[0031] Example 3 An embodiment of the present disclosure provides a computer-readable storage medium storing computer-executable instructions, wherein the computer-executable instructions are configured to execute the above-mentioned method for analyzing a high number of read errors caused by NAND Flash characteristics in an SSD.
[0032] The computer-readable storage medium mentioned above may be a transient computer-readable storage medium or a non-transitory computer-readable storage medium.
[0033] The technical solution of the embodiment of the present disclosure can be embodied in the form of a software product, which is stored in a storage medium and includes one or more instructions for enabling a computer device (which may be a personal computer, a server, or a network device, etc.) to execute all or part of the steps of the method described in the embodiment of the present disclosure. The aforementioned storage medium may be a non-transient storage medium, including: a USB flash drive, a mobile hard disk, a read-only memory (ROM, Read-Only Memory), a random access memory (RAM, Random Access Memory), a disk or an optical disk, and other media that can store program codes, or a transient storage medium.
[0034] The above description and the accompanying drawings fully illustrate the embodiments of the present disclosure so that those skilled in the art can practice them. Other embodiments may include structural, logical, electrical, process and other changes. The embodiments represent only possible changes. Unless explicitly required, separate components and functions are optional, and the order of operations may vary. Parts and features of some embodiments may be included in or replace parts and features of other embodiments. Moreover, the words used in this application are only used to describe the embodiments and are not used to limit the claims. As used in the description of the embodiments and the claims, unless the context clearly indicates, the singular forms of "a", "an" and "the" are intended to include plural forms as well. Similarly, the term "and / or" as used in this application refers to any and all possible combinations of one or more associated listings. In addition, when used in this application, the term "comprise" and its variants "comprises" and / or comprising refer to the presence of stated features, wholes, steps, operations, elements, and / or components, but do not exclude the presence or addition of one or more other features, wholes, steps, operations, elements, components and / or groups thereof. In the absence of further restrictions, the elements defined by the sentence "including one..." do not exclude the presence of other identical elements in the process, method or device including the elements. In this article, each embodiment may focus on the differences from other embodiments, and the same and similar parts between the embodiments may refer to each other. For the methods, products, etc. disclosed in the embodiments, if they correspond to the method part disclosed in the embodiments, then the relevant parts can refer to the description of the method part.
[0035] Those skilled in the art will appreciate that the units and algorithm steps of each example described in conjunction with the embodiments disclosed herein can be implemented in electronic hardware, or a combination of computer software and electronic hardware. Whether these functions are performed in hardware or software may depend on the specific application and design constraints of the technical solution. The technicians may use different methods to implement the described functions for each specific application, but such implementation should not be considered to be beyond the scope of the embodiments of the present disclosure. The technicians may clearly understand that for the convenience and simplicity of description, the specific working processes of the systems, devices and units described above can refer to the corresponding processes in the aforementioned method embodiments, and will not be repeated here.
Claims
1. A method for analyzing a high number of read errors caused by NAND Flash characteristics in an SSD, characterized by: The following steps are involved: S01), check the erase and write times, data retention time, and read interference information of the block with high error count in the SSD, and use normal read to read the block with high error count, and draw the error count change trend graph a; S02), re-erase multiple unused blocks normally to make the number of erase and write times, data retention, and read interference the same as those of the block with the highest read error number in the SSD. Within time T1 after Refresh, read the block at the same temperature as when writing, and draw a trend chart of the number of errors for each block. Different blocks are b0, b1, b2, ... bn, and take the average number of errors of different blocks to draw a trend chart of the number of errors; S03) Compare b0, b1, b2, ..., bn. If the difference in the number of errors is greater than the set requirement, and a group of bn can be found that corresponds to Figure a, it is considered to be a NAND particle consistency problem, that is, the Blocks perform inconsistently after the same number of erase and write times, data retention, and read disturbance. Otherwise, execute S04); S04), compare Figure a and Figure b. If the difference in the number of errors between Figure a and Figure b is within the set range, it is only affected by the number of erase and write times, data retention, and read interference. Otherwise, execute S05); S05), compare figure a and figure b, if the difference between the number of errors of the WL in front of figure a and the number of errors of figure b is within the set range, and the number of errors of the WL in the back is higher than that of figure b, it is affected by shallow erasure, otherwise, execute S06); S06) Check the number of WLs written in the block with high read error count in the SSD. If the entire block is not fully written, it is affected by the incomplete block; otherwise, execute S07); S07) Check the current refresh block recorded in real time by the SSD every time T2, calculate the time for refreshing all blocks in the whole disk according to the change of the refresh block number in each LUN within time T2, compare the interval time of refreshing the same block twice, if the interval time is greater than the set time, it is affected by the first read, otherwise, execute S08). S08) Check the writing and reading temperatures of the block records with high read errors in the SSD. If the temperatures are inconsistent, it is affected by the inconsistent writing and reading temperatures.
2. The method for analyzing a high number of read errors caused by NAND Flash characteristics in an SSD according to claim 1, characterized in that: In steps S01) and S02), with the WL in the block as the horizontal axis and the number of errors in each WL as the vertical axis, draw a graph a showing the change trend of the number of errors according to the WL and a graph showing the change trend of the number of errors in each block. Calculate the average number of errors in different blocks according to the WL and draw a graph b showing the change trend of the number of errors.
3. The method for analyzing a high number of read errors caused by NAND Flash characteristics in an SSD according to claim 1, characterized in that: In step S02), multiple blocks on multiple NAND chips are selected for normal re-erasing.
4. The method for analyzing a high number of read errors caused by NAND Flash characteristics in an SSD according to claim 1, characterized in that: Step S02) The selected multiple NAND chips are not shallowly erased and are fully written to blocks.
5. The method for analyzing a high number of read errors caused by NAND Flash characteristics in an SSD according to claim 1, characterized in that: T1=3min.
6. The method for analyzing a high number of read errors caused by NAND Flash characteristics in an SSD according to claim 1, characterized in that: T2=3min.
7. The method for analyzing a high number of read errors caused by NAND Flash characteristics in an SSD according to claim 1, characterized in that: Assume that the change in the refresh block number in each LUN within time T2 is N1, then the time T required to fully refresh all blocks is , N is the number of all blocks.
8. A device for analyzing a high number of read errors caused by NAND Flash characteristics in an SSD, comprising a processor and a memory storing program instructions, characterized in that: The processor is configured to execute the method for analyzing a high number of read errors caused by NAND Flash characteristics in an SSD as described in any one of claims 1 to 7 when running the program instructions.
9. A storage medium storing program instructions, characterized in that: When the program instructions are executed, the method for analyzing a high number of read errors caused by NAND Flash characteristics in an SSD as described in any one of claims 1 to 7 is executed.