Bad Block Identification Method, Device, Electronic Device, and Machine Readable Storage Medium

By analyzing the voltage distribution data of read errors in the storage device, distinguishing the permanent and non-permanent of error factors, avoiding the mislabeling of blocks as bad blocks, solving the problem of read errors and mislabeling in the storage device, and improving the service life and storage efficiency of the device.

CN114267403BActive Publication Date: 2025-06-24HANGZHOU HIKSTORAGE TECHNOLOGY CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202111485275.5
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2021-12-07
Publication Date
2025-06-24
Estimated Expiration
2041-12-07

AI Technical Summary

Technical Problem

In the prior art, when a read error occurs in a storage device, it is impossible to distinguish whether the factors causing the error are permanent or non-permanent, resulting in the normal block being mistakenly marked as a bad block, resulting in wasted storage space and reducing the service life of the device.

Method used

By obtaining the voltage distribution data of the page on the target word line when performing a read operation in the storage device, analyzing whether the factor causing the read error is a permanent factor. Only when it is confirmed as a permanent factor, the corresponding block is marked as a bad block.

Benefits of technology

It avoids normal blocks being mistakenly marked as bad blocks, reduces waste of storage space, and improves the service life of storage devices.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN114267403B_ABST
    Figure CN114267403B_ABST
Patent Text Reader

Abstract

The present application provides a bad block identification method, apparatus, electronic device, and machine-readable storage medium. In the embodiments of the present application, even if a read error that cannot be corrected by ECC is found during a read operation of a storage device, the target block where the UECC page with the read error occurs will not be blindly and directly marked as a bad block. Instead, by performing a read operation on the pages on the target word line where the UECC page is located, and analyzing whether the factor causing the above-mentioned read error is a permanent factor or a non-permanent factor based on the voltage distribution data obtained when the storage device performs a read operation on the pages on the target word line, only when it is analyzed that the factor causing the above-mentioned read error is a permanent factor, the target block where the above-mentioned UECC page is located will be marked as a bad block, avoiding normal blocks being marked as bad blocks, reducing waste of storage space, and also improving the service life of the storage device.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to data storage technologies, and in particular to a bad block marking method, apparatus, electronic device, and machine-readable storage medium. Background Art

[0002] During the use of storage devices such as NAND Flash (denoted as NAND Flash), bad blocks often occur. For example, when an erase failure, a write failure, or a read error where data cannot pass through the Error Correction Code (ECC) occurs during a read operation (an error that cannot be corrected by either hard decoding or soft decoding), the block where the above-mentioned erase failure, write failure, or read error occurs is directly marked as a bad block.

[0003] In specific applications, the above-mentioned erase failure and write failure generally have a permanent impact on the storage device, while the impact of the above-mentioned read error on the storage device may be permanent or non-permanent. When the impact of the above-mentioned read error on the storage device is non-permanent, the above-mentioned read error can be eliminated through an erase operation, and then the block where the above-mentioned read error occurs can be used normally. For ease of description, the factors causing the above-mentioned read error can be classified into non-permanent factors and permanent factors. Among them, non-permanent factors such as read interference, data retention, high and low temperature experiments, etc. have a non-permanent impact on the storage device, and permanent factors such as read errors caused by a bad disk have a permanent impact on the storage device.

[0004] Currently, when the above-mentioned read error occurs, without distinguishing whether the factor causing the read error is permanent or non-permanent, and directly marking the block where the read error occurs as a bad block will cause normal blocks in the storage device to be marked as bad blocks, resulting in waste of storage space and reducing the service life of the storage device. Summary of the Invention

[0005] This application provides a bad block marking method, apparatus, electronic device, and machine-readable storage medium to prevent normal blocks from being marked as bad blocks.

[0006] An embodiment of this application provides a bad block identification method, which is applied to a host and includes:

[0007] Obtain the physical block address PBA of the UECC page in the storage device; the UECC page refers to a page where a read error that cannot be corrected by the Error Correction Code (ECC) occurs during a read operation;

[0008] Send a read command to the storage device to perform a read operation on the page on the target word line WL; the target word line is the word line where the UECC page corresponding to the physical block address is located; the read command carries at least: the corresponding read reference voltage applied to the page on the target word line when the read operation is performed;

[0009] Obtain the voltage distribution data of the page on the target word line when the corresponding read reference voltage is applied to perform the read operation;

[0010] Identify whether the physical block Block where the UECC page is located is a bad block according to the voltage distribution data.

[0011] A bad block identification method, which is applied to a storage device, includes:

[0012] When a read error that cannot be corrected by the error correction code ECC is detected during the read operation, send the physical block address PBA of the current UECC page to the host; the UECC page refers to the page where a read error that cannot be corrected by the error correction code ECC occurs during the read operation;

[0013] Receive the read command sent by the host, the read command is used to indicate to perform a read operation on the page on the target word line WL, the target word line is the word line where the UECC page corresponding to the physical block address is located; the read command carries at least: the corresponding read reference voltage applied to the page on the target word line when the read operation is performed;

[0014] Apply the read reference voltage to the page on the target word line according to the read command to perform the read operation, obtain the voltage distribution data of the page on the target word line when the read reference voltage is applied to perform the read operation, and send the voltage distribution data to the host, so that the host can identify whether the physical block Block where the UECC page is located is a bad block according to the voltage distribution data, and mark the physical block where the UECC page is located as a bad block when the host identifies that the physical block where the UECC page is located is a bad block.

[0015] A bad block identification device, which is applied to a host, includes:

[0016] A first obtaining unit, configured to obtain the physical block address PBA of the UECC page in the storage device; the UECC page refers to the page where a read error that cannot be corrected by the error correction code ECC occurs during the read operation;

[0017] A sending unit, configured to send a read command for performing a read operation on a page on a target word line WL to the storage device; the target word line is the word line where the UECC page corresponding to the physical block address is located; the read command carries at least: a corresponding read reference voltage applied to the page on the target word line when the read operation is performed.

[0018] A second obtaining unit, configured to obtain voltage distribution data of the page on the target word line when a corresponding read reference voltage is applied to perform the read operation.

[0019] An identifying unit, configured to identify whether the physical block Block where the UECC page is located is a bad block according to the voltage distribution data.

[0020] A bad block identification device, which is applied to a storage device and includes:

[0021] A sending unit, configured to send the physical block address PBA of the current UECC page to the host when a read error that cannot be corrected by an error correction code ECC is detected during the read operation; the UECC page refers to a page Page where a read error that cannot be corrected by an error correction code ECC occurs during the read operation.

[0022] A receiving unit, configured to receive the read command sent by the host, where the read command is used to indicate performing a read operation on a page on a target word line WL, and the target word line is the word line where the UECC page corresponding to the physical block address is located; the read command carries at least: a corresponding read reference voltage applied to the page on the target word line when the read operation is performed.

[0023] A processing unit, configured to apply a read reference voltage to the page on the target word line according to the read command to perform a read operation, obtain voltage distribution data of the page on the target word line when the read reference voltage is applied to perform the read operation, send the voltage distribution data to the host, so that the host can identify whether the physical block Block where the UECC page is located is a bad block according to the voltage distribution data, and mark the physical block where the UECC page is located as a bad block when the host identifies that the physical block where the UECC page is located is a bad block.

[0024] An embodiment of the present application further provides an electronic device. The electronic device includes: a processor and a machine-readable storage medium;

[0025] The machine-readable storage medium stores machine-executable instructions that can be executed by the processor;

[0026] The processor is configured to execute the machine-executable instructions to implement the steps of the method disclosed above.

[0027] The embodiment of the present application also provides a machine-readable storage medium, which stores machine-executable instructions that can be executed by a processor; wherein, the processor is used to execute the machine-executable instructions to implement the steps of the method disclosed above.

[0028] As can be seen from the above technical solutions, in the embodiment of the present application, even if a read error that cannot be corrected by ECC is found during the read operation of the storage device, the target block where the UECC page with the read error appears will not be blindly and directly marked as a bad block. Instead, a read operation is performed on the page on the target word line where the UECC page is located, and the factor causing the above read error is analyzed as a permanent factor or a non-permanent factor by means of the voltage distribution data obtained when the storage device performs a read operation on the page on the target word line. Only when it is analyzed that the factor causing the above read error is a permanent factor, the target block where the above UECC page is located will be marked as a bad block, avoiding normal blocks from being marked as bad blocks, reducing the waste of storage space, and also improving the service life of the storage device.

[0029] Furthermore, this embodiment is not limited to the type of storage device. For example, it can be SLC NAND Flash, MLC NAND Flash, TLC NAND Flash, QLC NAND Flash, etc., which improves the available range and scalability of the embodiment of the present application.

[0030] Still further, in this embodiment, the host with read control authority over the storage device analyzes whether the factor causing the above read error is a permanent factor or a non-permanent factor, reducing the load on the storage device and improving the performance of the storage device. BRIEF DESCRIPTION OF THE DRAWINGS

[0031] The accompanying drawings here are incorporated into the specification and form a part of this specification, showing embodiments consistent with the present disclosure and used together with the specification to explain the principles of the present disclosure.

[0032] Figure 1 It is a flowchart of the method provided by the embodiment of the present application;

[0033] Figure 2a It is a schematic structural diagram of a physical block provided by the embodiment of the present application;

[0034] Figure 2b It is a schematic diagram of bad block marking provided by the embodiment of the present application;

[0035] Figure 3 It is another flowchart provided by the embodiment of the present application;

[0036] Figure 4 It is a flowchart of obtaining voltage distribution data provided by the embodiment of the present application;

[0037] Figure 5 Schematic diagram of the basic memory cell structure provided by an embodiment of the present application;

[0038] Figure 6 Schematic diagram of applying a voltage to the basic memory cell provided by an embodiment of the present application;

[0039] Figure 7 Schematic diagram of voltage distribution data provided by an embodiment of the present application;

[0040] Figure 8 Structural diagram of the device provided by an embodiment of the present application;

[0041] Figure 9 Another structural diagram of the device provided by an embodiment of the present application;

[0042] Figure 10 Structural diagram of the electronic device provided by an embodiment of the present application. Detailed implementation manners

[0043] Here, the exemplary embodiments will be described in detail, and the examples are shown in the drawings. When the following description refers to the drawings, unless otherwise indicated, the same numbers in different drawings represent the same or similar elements. The embodiments described in the following exemplary embodiments do not represent all embodiments consistent with the present application. On the contrary, they are merely examples of devices and methods consistent with some aspects of the present application as detailed in the appended claims.

[0044] The terms used in the present application are only for the purpose of describing specific embodiments and are not intended to limit the present application. The singular forms "a", "the", and "said" used in the present application and the appended claims are also intended to include the plural forms unless the context clearly indicates otherwise. "When..." is intended to mean meeting specific circumstances or requirements, rather than a limitation on the execution timing.

[0045] In order to enable those skilled in the art to better understand the technical solutions provided by the embodiments of the present application and make the above objects, features, and advantages of the embodiments of the present application more obvious and understandable, the technical solutions in the embodiments of the present application will be further described in detail below with reference to the drawings.

[0046] See Figure 1 , Figure 1 which is a flowchart of the method provided by an embodiment of the present application. This method can be applied to a host for performing read control on a storage device. In one example, the storage device here is, for example, Nand Flash, etc., and the present embodiment does not specifically limit it.

[0047] As Figure 1 shown, the process may include the following steps:

[0048] Step 101: Obtain the physical block address (PBA) of the UECC page in the storage device.

[0049] In this embodiment, the UECC page refers to a page that has a read error that cannot be corrected by ECC during a read operation. In a specific application, a Page in the storage device is the basic unit of the read / write operation of the storage device. When the storage device performs a read operation in units of Pages, if it is found that a Page with a read error that cannot be corrected by ECC occurs during the read operation (at this time, this Page is denoted as the UECC page), the PBA of this UECC page will be directly reported to the above-mentioned host. That is, ultimately, the host obtains the PBA of the UECC page in the storage device through Step 101. Then, perform the following Step 102.

[0050] Step 102: Send a read command to the storage device to perform a read operation on the page on the target word line (WL: Word Line).

[0051] In this embodiment, the target word line is the word line where the above-mentioned UECC page corresponding to the above-mentioned PBA is located. For ease of understanding, Figure 2a an example shows the structure of the physical block. As Figure 2a shown, in a physical block (Block), the number of word lines is determined by the storage device manufacturer. This embodiment preferably processes the word line where the above-mentioned UECC page is located.

[0052] In addition, for storage devices such as Nand Flash, in the structure as Figure 2a shown, the number of pages controlled by each word line is related to the capacity of the basic storage units in that page. Here, each page is composed of multiple basic storage units connected in series or in parallel.

[0053] For example, if the storage level of the basic storage unit is three-level storage (TLC: Trinary-Level Cell), that is, each basic storage unit stores 3 bits of data, then at this time, at least three pages can be controlled on one word line, namely the least significant bit (LSB: Least Significant Bit) page, the center significant bit (CSB: Center Significant Bit) page, and the most significant bit (MSB: Most Significant Bit) page. Another example is single-level storage (SLC: Single-Level Cell). Each basic storage unit stores 1 bit of data. At this time, there can be one page on one word line. Another example is multi-level storage (MLC: Multi-Level Cell). Each basic storage unit stores 2 bits of data, then there can be two pages on one word line, namely the LSB page and the MSB page.

[0054] It should be noted that the embodiments of the present application do not specifically limit the number of pages controlled on one word line. However, anyway, the final target word line will definitely include the above-mentioned UECC pages.

[0055] In the embodiments of the present application, the above read command carries at least: the corresponding read reference voltage applied when the page on the target word line is performing a read operation. The read command may also carry: the read operation identifier performed on the page on the target word line.

[0056] Optionally, in this embodiment, each word line in the storage device, such as each page on the above-mentioned target word line, is preset with at least one read voltage level range (Read Level). The Read Level can be pre-configured by the manufacturer. Based on this, in this embodiment, the read reference voltage applied when each page on the target word line is performing a read operation includes: at least one voltage in at least one Read Level set for this page.

[0057] Optionally, in this embodiment, the above voltage distribution data is obtained by merging the state distribution data corresponding to each page on the target word line. Here, the state distribution data corresponding to the page on the target word line at least includes: the state data corresponding to each read reference voltage applied to the page on the target word line.

[0058] In this embodiment, the status data corresponding to any read reference voltage is determined based on the number of first-conducting memory cells and the number of second-conducting memory cells; the number of first-conducting memory cells is the number of basic memory cells in which the drain and source are conducting in a page when the read reference voltage is applied to the page on the target word line for a read operation; the number of second-conducting memory cells is the number of basic memory cells in which the drain and source are conducting in a page when the neighbor read reference voltage of the read reference voltage is applied to the page on the target word line for a read operation, and the neighbor read reference voltage belongs to the same ReadLevel as the read reference voltage and is greater than the read reference voltage. Optionally, the status data corresponding to the above read reference voltage includes the absolute value of the difference between the number of first-conducting memory cells and the number of second-conducting memory cells. The following Figure 4 describes by way of example how the storage device obtains the above voltage distribution data, which will not be elaborated here for the time being.

[0059] In this embodiment, after issuing a read command for a read operation on the page on the target word line to the storage device through step 102, the storage device will receive the above read command issued by the host. After that, the storage device will apply a read reference voltage to the page on the target word line according to the read command to perform a read operation. For details, please refer to step 303 in the following Figure 3 shown in the flow. It will not be elaborated here for the time being.

[0060] Step 103: Obtain the voltage distribution data of the page on the target word line when a corresponding read reference voltage is applied to perform a read operation, and identify whether the physical block where the UECC page is located is a bad block based on the voltage distribution data.

[0061] Through empirical analysis, it is found that the factors causing read errors can be analyzed by further analyzing the voltage distribution data of the page on the above target word line when a read reference voltage is applied to perform a read operation. In other words, the above voltage distribution data can reflect whether the factors causing read errors are non-permanent factors or permanent factors. Based on this, after issuing the above read command to the storage device through step 102, in this step 103, it is necessary to obtain from the storage device the voltage distribution data that the storage device has obtained when applying a read reference voltage to the page on the target word line to perform a read operation. As for how the storage device obtains the voltage distribution data when applying a read reference voltage to the page on the target word line to perform a read operation, it will be described in step 303 below, which will not be elaborated here for the time being.

[0062] After obtaining the voltage distribution data, as described in step 103, it is possible to identify whether the physical block where the UECC page is located is a bad block based on the voltage distribution data. For example, it is determined whether the factor causing the above read error is a specified permanent factor based on the voltage distribution data. When it is determined that the factor causing the above read error is a specified permanent factor, it is determined that the physical block where the UECC page is located is a bad block. On the contrary, when it is determined that the factor causing the above read error is a non-permanent factor such as read interference, data retention, high and low temperature experiments, etc., the above physical block is continued to be maintained as a normal block for normal data reading. Here, for the permanent factor, it is relative to the above non-permanent factors such as read interference, data retention, high and low temperature experiments, etc. In specific implementation, the permanent factor can gather some factors that are permanent to the storage device according to actual experience, such as page damage, etc. This embodiment does not specifically limit it.

[0063] Optionally, in this embodiment, there are many implementation manners in the specific implementation of identifying whether the physical block where the UECC page is located is a bad block based on the voltage distribution data in step 103, such as implementing it by means of a bad block discrimination model trained by a machine learning algorithm, etc. This embodiment does not specifically limit it. Taking the bad block discrimination model as an example, identifying whether the physical block where the UECC page is located is a bad block based on the voltage distribution data in step 103 may include: inputting the above voltage distribution data into the trained bad block discrimination model to obtain an output result; when the output result is a first specified value for indicating a bad block, such as 1, it is determined that the above physical block is a bad block, that is, the factor causing the read error is a permanent factor; when the output result is a second specified value for indicating a non-bad block, such as 0, it is determined that the above physical block is not a bad block, that is, the factor causing the read error is a non-permanent factor. Finally, based on the bad block discrimination model, it is realized to identify whether the physical block where the UECC page is located is a bad block based on the voltage distribution data. It should be noted that here is only an example to describe how to identify whether the physical block where the UECC page is located is a bad block based on the voltage distribution data, and it is not used for limitation.

[0064] As for the above bad block discrimination model, in this embodiment, there are many ways to train the bad block discrimination model. For example, a large number of sample data are collected. The sample data at least includes: the voltage distribution data when reading the page on the target word line WL where the UECC page (the page that has a read error that cannot be corrected by ECC during the read operation) is located, and the labeled error factors of the UECC page, such as permanent factors or non-permanent factors; then, based on the sample data and using machine learning algorithms such as neural networks, support vector machines, and logistic regression, the above bad block discrimination model is trained. It should be noted that here is only an example to describe the training method of the bad block discrimination model, and it is not used for limitation.

[0065] Based on the above steps 101 to 103, it can be seen that in the embodiment of the present application, it is finally realized that when a UECC page appears in a read operation, it is further identified whether the physical block where the UECC page is located is a bad block. Combining erase failure, write failure, and then combining Figure 1 the process shown, Figure 2b illustrates a schematic diagram of bad block marking in different situations by way of example.

[0066] So far, the Figure 1 process shown is completed.

[0067] Through Figure 1 the process shown, it can be seen that in the embodiment of the present application, even if a read error that cannot be corrected by ECC is found during the read operation of the storage device, it will not blindly and directly mark the target block where the UECC page with the read error is located as a bad block. Instead, it performs a read operation on the page on the target word line where the UECC page is located, and analyzes whether the factor causing the above read error is a permanent factor or a non-permanent factor by means of the voltage distribution data obtained when the storage device performs a read operation on the page on the target word line. Only when it is analyzed that the factor causing the above read error is a permanent factor, will the target block where the above UECC page is located be marked as a bad block, avoiding normal blocks from being marked as bad blocks, reducing the waste of storage space, and also improving the service life of the storage device.

[0068] Furthermore, this embodiment is not limited to the type of storage device. For example, it can be SLC NAND Flash, MLC NAND Flash, TLC NAND Flash, QLC NAND Flash, etc., which improves the available range and scalability of the embodiment of the present application.

[0069] Still further, in this embodiment, the host with read control authority over the storage device analyzes whether the factor causing the above read error is a permanent factor or a non-permanent factor, reducing the load on the storage device and improving the performance of the storage device.

[0070] It should be noted that in the embodiment of the present application, optionally, after the host obtains the PBA of the UECC page in the storage device in the above step 101, it will further store the obtained PBA in the pre-set PBA queue corresponding to the above storage device. At this time, the PBA queue at least includes the above PBA.

[0071] After that, in the above step 102, optionally, sending a read command to the storage device to perform a read operation on the page on the target word line includes: detecting a command trigger event for the above PBA in the PBA queue, and in the case of detecting the command trigger event, sending a read command to the storage device to perform a read operation on the page on the target word line. Optionally, in this embodiment, there are many ways to detect the command trigger event. For example, when it is detected that the storage duration of the PBA in the PBA queue reaches a preset duration and / or the storage device is in an idle state, it is determined that the command trigger event is detected. Exemplarily, in this embodiment, when it is detected that the storage duration of the PBA in the PBA queue reaches the preset duration, if the current storage device is in an idle state, it is determined that the command trigger event is detected; or, when it is detected that the duration of the PBA in the PBA queue reaches the preset duration, if the storage device is currently in a non-idle state, wait until the storage device is in an idle state, and then determine that the command sending event is detected, and so on. This embodiment will not list them one by one.

[0072] To avoid repeatedly sending read commands for the pages on the same word line, optionally, in this embodiment, after step 102 sends a read command to the storage device to perform a read operation on the page on the target word line WL, the above PBA is further deleted from the PBA queue.

[0073] The above describes the bad block identification method provided by the embodiments of the present application from the perspective of the host. Optionally, in this embodiment, when the host identifies the physical block where the UECC page is located as a bad block based on the voltage distribution data, it will notify the storage device of the message that the physical block is a bad block, so that the storage device marks the physical block as a bad block and will no longer perform operations such as read and write operations on the bad block.

[0074] Next, describe the bad block identification method provided by the embodiments of the present application from the perspective of the storage device:

[0075] See Figure 3 , Figure 3 which is another flowchart provided by the embodiments of the present application. This process is applied to storage devices such as NandFlash. As Figure 3 shown, this process may include the following steps:

[0076] Step 301, when a read error that cannot be corrected by ECC is detected during the execution of the read operation, send the PBA of the current UECC page to the host.

[0077] This step 301 corresponds to the above step 101 and will not be described in detail.

[0078] Step 302: Receive the read command sent by the host. The read command is used to indicate performing a read operation on the page on the target word line. The target word line is the word line where the UECC page corresponding to the physical block address is located. The read command carries at least: the corresponding read reference voltage applied to the page on the target word line when the read operation is performed.

[0079] This step 302 corresponds to step 102 above and will not be described in detail.

[0080] Step 303: Apply the read reference voltage to the page on the target word line according to the read command to perform the read operation, obtain the voltage distribution data of the page on the target word line when the read reference voltage is applied to perform the read operation, and send the voltage distribution data to the host, so that the host can identify whether the physical block where the UECC page is located is a bad block according to the voltage distribution data. In the case where the host identifies that the physical block where the UECC page is located is a bad block, mark the physical block where the UECC page is located as a bad block.

[0081] As described above, at least one Read Level is pre-set for the page on the target word line. The read reference voltage applied to the page on the target word line when the read operation is performed includes: at least one voltage among the at least one Read Level set for the page on the target word line. Based on this description, the following will describe by Figure 4 way of example how to obtain the voltage distribution data of the page on the target word line when the read reference voltage is applied to perform the read operation. As Figure 4 shown, this process may specifically include the following steps:

[0082] Step 401: Obtain the state distribution data corresponding to the page on the target word line when the read reference voltage is applied to perform the read operation.

[0083] As an embodiment, the state distribution data corresponding to each page on the target word line includes at least the state data corresponding to each read reference voltage applied to the page. Among them, the state data corresponding to the read reference voltage is determined according to the conduction situation of the drain and source of the basic storage unit in the page when the read reference voltage is applied to the page on the target word line. Here, the conduction situation includes conduction or cutoff.

[0084] Optionally, in this embodiment, obtaining the state distribution data corresponding to the page on the target word line when the read reference voltage is applied to perform the read operation in step 401 may include:

[0085] Step a11: For each page on the target word line, perform the following steps a12 to a14.

[0086] Step a12: For each Read Level set for the page, when a read operation is performed by applying each read reference voltage belonging to the Read Level to the page, obtain the number of conductive memory cells corresponding to the read reference voltage.

[0087] In this embodiment, the number of conductive memory cells is the number of basic memory cells in the page where the drain and source are conductive.

[0088] Taking the storage device as NAND Flash as an example, the basic memory cells on each Page in NAND Flash are based on metal-oxide-semiconductor field-effect transistors (MOSFETs). Different from ordinary field-effect transistors, there is a floating gate between the gate (control gate) and the drain / source of the MOSFET, and data is stored using this floating gate (here, the data is stored in the form of charge in NAND Flash). Figure 5 An example shows the structure of the basic memory cell.

[0089] Based on this, for each page on the target word line (taking this page as Page0 as an example), first determine each read reference voltage in each Read Level set for Page0; for each read reference voltage belonging to the Read Level (taking this read reference voltage as voltage U0 as an example), as Figure 6 As shown in the example, apply the voltage U0 to the control gates of the basic memory cells in Page0. When the voltage U0 is applied to the control gates of the basic memory cells, if there is charge in the floating gate of the basic memory cell at this time, the charge in the floating gate can cancel the voltage U0 applied to the control gate. At this time, the drain (D) and source (S) in the basic memory cell are conductive, and a "0" will be read from the D pole. Here, "0" indicates that the basic memory cell at this time is a basic memory cell with the drain and source conductive. On the contrary, when there is no charge in the floating gate of the basic memory cell, the drain (D) and source (S) in the basic memory cell are not conductive at this time, and a "1" will be read from the D pole. Here, "1" indicates that the basic memory cell at this time is a basic memory cell with the drain and source not conductive. Finally, the number of conductive memory cells corresponding to the voltage U0 will be obtained (that is, the total number of basic memory cells with the drain and source conductive when voltage U0 is applied to Page0).

[0090] Based on step a12, finally, the number of conductive memory cells corresponding to each read reference voltage of each page on the target word line under each set Read Level will be determined.

[0091] Step a13: Determine the status data corresponding to the read reference voltage with the smallest value according to the number of conductive memory cells corresponding to two adjacent read reference voltages belonging to the Read Level.

[0092] Optionally, as an embodiment, here, determining the state distribution data corresponding to the read reference voltage with the smallest value according to the number of conductive memory cells corresponding to two adjacent read reference voltages in the Read Level may include: calculating the absolute value of the difference between the number of conductive memory cells corresponding to two adjacent read reference voltages in the Read Level, and determining the calculation result as the state distribution data corresponding to the read reference voltage with the smallest value. For example, for the same Read Level, if the read reference voltages belonging to the Read Level are U0, U1, U2... Un respectively, taking the adjacent U0 and U1 as an example, then calculate the absolute value of the difference between the number of conductive memory cells corresponding to U0 obtained through the above step a12 and the number of conductive memory cells corresponding to U1, and determine the calculation result as the state data corresponding to U0 (taking U0 less than U1 as an example). The principle for other adjacent read reference voltages such as U1 and U2, U2 and U3, etc. is similar. Finally, through step a13, the state data corresponding to multiple different read reference voltages under the same Read Level is obtained.

[0093] Step a14, determining the state distribution data corresponding to the page according to the state data corresponding to each read reference voltage in each Read Level set for the page.

[0094] Optionally, merging the state data corresponding to each read reference voltage in each Read Level set for the page can obtain the state distribution data corresponding to the page. Then perform step 402.

[0095] Step 402, merging the state distribution data corresponding to different pages on the target word line to obtain the voltage distribution data.

[0096] In this embodiment, the state distribution data corresponding to each page on the target word line at least includes the state distribution data corresponding to each read reference voltage under different Read Levels set for the page. Based on this, in this embodiment, step 402 of combining the state distribution data corresponding to different pages on the target word line to obtain voltage distribution data may include: combining the state distribution data corresponding to each read reference voltage under each Read Level together in the order of the Read Levels set for each page on the target word line. Still taking the above-mentioned TLC Nand Flash as an example, as previously described, the LSB page, CSB page, and MSB page can be controlled on the target word line. Suppose the Read Levels set for the LSB page are A and E according to actual requirements, the Read Levels set for the CSB page are B, D, and F, and the Read Levels set for the MSB page are C and G. Then, the state distribution data corresponding to each read reference voltage under each Read Level can be combined together in the order of the Read Levels, that is, in the order of A->B->C->D->E->F->G, Figure 7 which exemplarily shows the final voltage distribution data.

[0097] Thus far, Figure 4 the shown process is completed.

[0098] Through Figure 4 the shown process, it is finally realized how to obtain the voltage distribution data of the pages on the target word line when a read reference voltage is applied to perform a read operation.

[0099] Combined with Figure 3 and Figure 4 the shown process, it can be seen that in the embodiment of the present application, even if the storage device discovers a read error that cannot be corrected by ECC during a read operation, it will not blindly and directly mark the target block where the UECC page with the read error appears as a bad block. Instead, it actively reports the PBA of the UECC page to the host, and based on the control of the host, performs a read operation on the pages on the target word line where the UECC page is located to obtain the voltage distribution data and return it to the host, so that the host can analyze whether the factor causing the above-mentioned read error is a permanent factor or a non-permanent factor. Only when the host analyzes that the factor causing the above-mentioned read error is a permanent factor, will the target block where the above-mentioned UECC page is located be marked as a bad block, avoiding normal blocks from being marked as bad blocks, reducing the waste of storage space, and also improving the service life of the storage device.

[0100] The method provided by the embodiment of the present application has been described above. Next, the device provided by the embodiment of the present application will be described:

[0101] Refer to Figure 8 , Figure 8 which is the structure diagram of the device provided by the embodiment of the present application. This device corresponds to the aboveFigure 1 The process shown. As Figure 8 shown, the device may include:

[0102] A first acquisition unit for acquiring the physical block address of the UECC page in the storage device; the UECC page refers to the page where a read error that cannot be corrected by ECC occurs during a read operation;

[0103] A sending unit for sending a read command for performing a read operation on the page on the target word line WL to the storage device; the target word line is the word line where the UECC page corresponding to the physical block address is located; the read command carries at least: the corresponding read reference voltage applied when the page on the target word line is performing the read operation;

[0104] A second acquisition unit for acquiring the voltage distribution data of the page on the target word line when the corresponding read reference voltage is applied to perform the read operation;

[0105] An identification unit for identifying whether the physical block Block where the UECC page is located is a bad block according to the voltage distribution data.

[0106] Optionally, after the first acquisition unit acquires the physical block address of the UECC page in the storage device, it further stores the physical block address in the corresponding PBA queue of the storage device.

[0107] The sending unit sending a read command for performing a read operation on the page on the target word line WL to the storage device includes:

[0108] When detecting a command trigger event for the physical block address in the PBA queue, sending a read command for performing a read operation on the page on the target word line WL to the storage device.

[0109] As an embodiment, the sending unit detecting a command sending event may include:

[0110] When detecting that the storage duration of the physical block address in the PBA queue reaches a preset duration and / or the storage device is in an idle state, it is determined that the command trigger event is detected. The value of the preset duration can be determined according to requirements.

[0111] Optionally, after the sending unit sends a read command for performing a read operation on the page on the target word line WL to the storage device, it further deletes the physical block address from the PBA queue.

[0112] Optionally, at least one read voltage level range ReadLevel is preset for each page on the target word line;

[0113] The corresponding read reference voltages applied to the pages on the target word line during a read operation include: at least one voltage among at least one Read Level set for the pages on the target word line.

[0114] Optionally, the voltage distribution data is obtained by merging the state distribution data corresponding to each page on the target word line; the state distribution data corresponding to the pages on the target word line at least includes: the state data corresponding to each read reference voltage applied to the pages on the target word line;

[0115] Among them, the state data corresponding to any read reference voltage is determined based on the number of first-conducting memory cells and the number of second-conducting memory cells; the number of first-conducting memory cells is the number of basic memory cells in which the drain and source are conducting when the read reference voltage is applied to the page on the target word line for a read operation; the number of second-conducting memory cells is the number of basic memory cells in which the drain and source are conducting when the neighboring read reference voltage of the read reference voltage is applied to the page on the target word line for a read operation, and the neighboring read reference voltage belongs to the same Read Level as the read reference voltage and is greater than the read reference voltage.

[0116] Optionally, the state data corresponding to the read reference voltage includes the absolute value of the difference between the number of first-conducting memory cells and the number of second-conducting memory cells.

[0117] Optionally, the identification unit identifies whether the physical block where the UECC page is located is a bad block based on the voltage distribution data, including:

[0118] Inputting the voltage distribution data into a trained bad block discrimination model, and determining whether the physical block where the UECC page is located is a bad block according to the model output result.

[0119] Optionally, the bad block discrimination model is trained in the following manner: collecting sample data, where the sample data at least includes: the sample voltage distribution data corresponding to various marked read errors that cannot be corrected by ECC; using the sample data and training the bad block discrimination model through a machine learning algorithm.

[0120] So far, the Figure 8 structural description of the shown device is completed.

[0121] See Figure 9 , Figure 9 which is another device structure diagram provided by the embodiment of the present application. This device corresponds to Figure 3 the shown process. As Figure 9 shown, this device may include:

[0122] A sending unit, configured to send the physical block address (PBA) of the current UECC page to a host when a read error that cannot be corrected by an error correction code (ECC) is detected during a read operation; the UECC page refers to a page where a read error that cannot be corrected by the error correction code (ECC) occurs during the read operation.

[0123] A receiving unit, configured to receive a read command sent by the host, where the read command is used to indicate performing a read operation on a page on a target word line (WL), and the target word line is the word line where the UECC page corresponding to the physical block address is located; the read command carries at least: a corresponding read reference voltage applied to the page on the target word line when the read operation is performed.

[0124] A processing unit, configured to apply a read reference voltage to the page on the target word line according to the read command to perform a read operation, obtain voltage distribution data of the page on the target word line when the read reference voltage is applied to perform the read operation, and send the voltage distribution data to the host, so that the host identifies whether the physical block (Block) where the UECC page is located is a bad block according to the voltage distribution data, and mark the physical block where the UECC page is located as a bad block when the host identifies that the physical block where the UECC page is located is a bad block.

[0125] Optionally, at least one read voltage level range (ReadLevel) is preset for the page on the target word line.

[0126] The corresponding read reference voltage applied to the page on the target word line when the read operation is performed includes: at least one voltage in at least one Read Level set for the page on the target word line.

[0127] Optionally, the processing unit obtaining the voltage distribution data of the page on the target word line when the read reference voltage is applied to perform the read operation includes:

[0128] Obtaining state distribution data corresponding to the page obtained when the read reference voltage is applied to the page on the target word line to perform the read operation; where the state distribution data corresponding to each page on the target word line at least includes state data corresponding to each read reference voltage applied to the page, and the state data corresponding to the read reference voltage is determined according to the conduction situation between the drain and the source of the basic memory unit in the page when the read reference voltage is applied to the page on the target word line, and the conduction situation includes conduction or cutoff.

[0129] Merging the state distribution data corresponding to different pages on the target word line to obtain the voltage distribution data.

[0130] Optionally, obtaining the state distribution data corresponding to the page obtained when the read reference voltage is applied to the page on the target word line to perform the read operation includes:

[0131] Perform the following steps for each page on the target word line:

[0132] For each Read Level set for the page, when performing a read operation by applying each read reference voltage in the Read Level to the page, obtain the number of conductive memory cells corresponding to the read reference voltage; the number of conductive memory cells is the number of basic memory cells with the drain and source conducting in the page;

[0133] Based on the number of conductive memory cells corresponding to two adjacent read reference voltages in the Read Level, determine the status data corresponding to the read reference voltage with the smallest value;

[0134] Based on the status data corresponding to each read reference voltage in each Read Level set for the page, determine the status distribution data corresponding to the page.

[0135] Optionally, the determining the status data corresponding to the read reference voltage with the smallest value based on the number of conductive memory cells corresponding to two adjacent read reference voltages in the Read Level includes:

[0136] Calculate the absolute value of the difference between the number of conductive memory cells corresponding to the two adjacent read reference voltages, and determine the calculation result as the status data corresponding to the read reference voltage with the smallest value.

[0137] So far, complete Figure 9 the structural description of the device shown.

[0138] The embodiments of the present application also provide Figure 8 or Figure 9 the hardware structure of the device shown. Refer to Figure 10 Figure 10 which is the structural diagram of the electronic device provided by the embodiments of the present application. As Figure 10 shown, the hardware structure may include: a processor and a machine-readable storage medium, and the machine-readable storage medium stores machine-executable instructions that can be executed by the processor; the processor is used to execute the machine-executable instructions to implement the method disclosed in the above examples of the present application.

[0139] Based on the same application concept as the above method, the embodiments of the present application also provide a machine-readable storage medium, on which several computer instructions are stored, and when the computer instructions are executed by a processor, the method disclosed in the above examples of the present application can be implemented.

[0140] ​Exemplarily, the above-mentioned machine-readable storage medium can be any electronic, magnetic, optical or other physical storage device that can contain or store information such as executable instructions, data, etc. For example, the machine-readable storage medium can be: RAM (Random Access Memory), volatile memory, non-volatile memory, flash memory, storage drives (such as hard disk drives), solid-state drives, any type of storage disk (such as optical discs, DVDs, etc.), or similar storage media, or a combination thereof.

[0141] The systems, devices, modules or units illustrated in the above embodiments can be specifically implemented by computer chips or entities, or by products with certain functions. A typical implementation device is a computer, and the specific form of the computer can be a personal computer, laptop computer, cellular phone, camera phone, smart phone, personal digital assistant, media player, navigation device, email transceiver device, game console, tablet computer, wearable device, or a combination of any several of these devices.

[0142] For the convenience of description, the above devices are described by dividing them into various units according to their functions. Of course, when implementing this application, the functions of each unit can be implemented in the same or multiple software and / or hardware.

[0143] Those skilled in the art should understand that the embodiments of the present application can be provided as methods, systems, or computer program products. Therefore, the present application can take the form of a complete hardware embodiment, a complete software embodiment, or an embodiment combining software and hardware aspects. Moreover, the embodiments of the present application can take the form of a computer program product implemented on one or more computer-usable storage media (including but not limited to disk memories, CD-ROMs, optical memories, etc.) containing computer-usable program code.

[0144] The present application is described with reference to the flowcharts and / or block diagrams of methods, devices (systems), and computer program products according to the embodiments of the present application. It should be understood that each process and / or block in the flowchart and / or block diagram, and the combination of processes and / or blocks in the flowchart and / or block diagram, can be implemented by computer program instructions. These computer program instructions can be provided to the processor of a general-purpose computer, special-purpose computer, embedded processor, or other programmable data processing device to generate a machine, such that the instructions executed by the processor of the computer or other programmable data processing device generate a device for implementing the functions specified in Figure 1 one process or multiple processes and / or blocks Figure 1 one block or multiple blocks.

[0145] Moreover, these computer program instructions can also be stored in a computer-readable memory that can direct a computer or other programmable data processing apparatus to work in a specific manner, such that the instructions stored in the computer-readable memory produce a manufacture including an instruction device that implements the functions specified in one process Figure 1 or more processes and / or blocks Figure 1 or more blocks.

[0146] These computer program instructions can also be loaded onto a computer or other programmable data processing apparatus, such that a series of operation steps are executed on the computer or other programmable apparatus to produce a computer-implemented process, so that the instructions executed on the computer or other programmable apparatus provide steps for implementing the functions specified in one process Figure 1 or more processes and / or blocks Figure 1 or more blocks.

[0147] The above are only embodiments of the present application and are not intended to limit the present application. For those skilled in the art, the present application may have various changes and modifications. Any modification, equivalent replacement, improvement, etc. made within the spirit and principle of the present application shall be included within the scope of the claims of the present application.

Claims

1. A bad block identification method, characterized in that The method is applied to a host and includes: Obtaining a physical block address PBA of a UECC page in a storage device; the UECC page refers to a page Page that has a read error that cannot be corrected by an error correction code ECC during a read operation; Issuing a read command to the storage device to perform a read operation on a page on a target word line WL; the target word line is the word line where the UECC page corresponding to the physical block address is located; the read command carries at least: a corresponding read reference voltage applied to the page on the target word line when the read operation is performed; Obtaining voltage distribution data of the page on the target word line when a corresponding read reference voltage is applied to perform the read operation; wherein, the voltage distribution data is obtained by combining state distribution data corresponding to each page on the target word line; the state distribution data corresponding to each page on the target word line at least includes: state data corresponding to each read reference voltage applied to the page on the target word line; the state data corresponding to the read reference voltage is determined according to the conduction situation of the drain and source of the basic storage unit in the page when the page on the target word line is applied with the read reference voltage; the conduction situation includes conduction or cutoff; Identifying whether the physical block Block where the UECC page is located is a bad block according to the voltage distribution data; wherein, in the identification, it is determined whether the factor causing the read error is a specified permanent factor according to the voltage distribution data. When it is determined that the factor causing the read error is a specified permanent factor, it is determined that the physical block where the UECC page is located is a bad block. When it is determined that the factor causing the read error is a non-permanent factor, the physical block is continued to be maintained as a normal block for normal data reading.

2. The method according to claim 1, wherein After obtaining the physical block address of the UECC page in the storage device, the method further includes: storing the physical block address in the corresponding PBA queue of the storage device; The issuing of the read command to the storage device to perform a read operation on a page on the target word line WL includes: When a command trigger event for the physical block address in the PBA queue is detected, issuing a read command to the storage device to perform a read operation on a page on the target word line WL.

3. The method according to claim 2, wherein Detecting the command trigger event includes: When it is detected that the storage duration of the physical block address in the PBA queue reaches a preset duration and / or the storage device is in an idle state, it is determined that the command trigger event is detected.

4. The method according to claim 2, wherein After issuing the read command to the storage device to perform a read operation on a page on the target word line WL, the method further includes: Deleting the physical block address from the PBA queue.

5. The method according to claim 1, wherein At least one read voltage level range Read Level is preset for each page on the target word line; The corresponding read reference voltage applied to the page on the target word line when the read operation is performed includes: at least one voltage among the at least one Read Level set for the page on the target word line.

6. The method according to claim 1 or 5, characterized in that The status data corresponding to any read reference voltage is determined based on the number of first-conducting memory cells and the number of second-conducting memory cells; the number of first-conducting memory cells is the number of basic memory cells in which the drain and source are conducting in a page when the read reference voltage is applied to perform a read operation on the page on the target word line. The number of second-conducting memory cells is the number of basic memory cells in which the drain and source are conducting in a page when the neighbor read reference voltage of the read reference voltage is applied to perform a read operation on the page on the target word line, and the neighbor read reference voltage belongs to the same Read Level as the read reference voltage and is greater than the read reference voltage.

7. The method according to claim 6, characterized in that, The status data corresponding to the read reference voltage includes the absolute value of the difference between the number of first-conducting memory cells and the number of second-conducting memory cells.

8. The method according to claim 1, characterized in that, Identifying whether the physical block where the UECC page is located is a bad block based on the voltage distribution data includes: Inputting the voltage distribution data into a trained bad block discrimination model, and determining whether the physical block where the UECC page is located is a bad block according to the model output result.

9. The method according to claim 8, wherein The bad block discrimination model is trained in the following manner: Collecting sample data, where the sample data at least includes: sample voltage distribution data corresponding to various marked read errors that cannot be corrected by ECC. Training the bad block discrimination model using the sample data and through a machine learning algorithm.

10. A bad block identification method, characterized in that, This method is applied to a storage device and includes: When a read error that cannot be corrected by an error correction code ECC is detected during a read operation, sending the physical block address PBA of the current UECC page to the host; the UECC page refers to a page where a read error that cannot be corrected by an error correction code ECC occurs during a read operation. Receiving a read command sent by the host, the read command is used to indicate performing a read operation on a page on a target word line WL, and the target word line is the word line where the UECC page corresponding to the physical block address is located; the read command at least carries: the corresponding read reference voltage applied when the page on the target word line is performing a read operation. Applying the read reference voltage to the page on the target word line according to the read command to perform a read operation, and obtaining the state distribution data corresponding to the page on the target word line when the read reference voltage is applied to perform a read operation; wherein, the state distribution data corresponding to each page on the target word line at least includes the state data corresponding to each read reference voltage applied to the page, and the state data corresponding to the read reference voltage is determined according to the conduction situation of the drain and source of the basic memory cells in the page when the page on the target word line is applied with the read reference voltage, and the conduction situation includes conduction or turn-off. Merging the state distribution data corresponding to different pages on the target word line to obtain the voltage distribution data when the pages on the target word line are applied with the read reference voltage to perform a read operation. Send the voltage distribution data to the host, so that the host can identify whether the physical block (Block) where the UECC page is located is a bad block based on the voltage distribution data, and when the host identifies that the physical block where the UECC page is located is a bad block, mark the physical block where the UECC page is located as a bad block; Among them, in the identification, it is determined whether the factor causing the read error is a specified permanent factor according to the voltage distribution data. When it is determined that the factor causing the read error is a specified permanent factor, it is determined that the physical block where the UECC page is located is a bad block. When it is determined that the factor causing the read error is a non-permanent factor, the physical block is continued to be maintained as a normal block for normal data reading.

11. The method according to claim 10, characterized in that, At least one read voltage level range (Read Level) is preset for the pages on the target word line; The corresponding read reference voltages applied when the pages on the target word line are performing read operations include: at least one voltage among the at least one Read Level set for the pages on the target word line.

12. The method according to claim 10, characterized in that, The obtaining of the state distribution data corresponding to the page on the target word line when the read reference voltage is applied to perform the read operation includes: Perform the following steps for each page on the target word line: For each Read Level set for the page, obtain the number of conductive memory cells corresponding to the read reference voltage when the read operation is performed by applying each read reference voltage belonging to the Read Level to the page; the number of conductive memory cells is the number of basic memory cells with the drain and source conducting in the page; Determine the state data corresponding to the read reference voltage with the smallest value according to the number of conductive memory cells corresponding to two adjacent read reference voltages belonging to the Read Level; Determine the state distribution data corresponding to the page according to the state data corresponding to the read reference voltages in each Read Level set for the page.

13. The method according to claim 12, characterized in that, The determining of the state data corresponding to the read reference voltage with the smallest value according to the number of conductive memory cells corresponding to two adjacent read reference voltages belonging to the Read Level includes: Calculate the absolute value of the difference between the number of conductive memory cells corresponding to the two adjacent read reference voltages, and determine the calculation result as the state data corresponding to the read reference voltage with the smallest value.

14. A bad block identification device, characterized in that, This device is applied to a host and includes: A first obtaining unit, configured to obtain the physical block address (PBA) of the UECC page in the storage device; the UECC page refers to the page (Page) that has a read error that cannot be corrected by the error correction code (ECC) during the read operation; A sending unit, configured to send a read command for performing a read operation on the page on the target word line (WL) to the storage device; the target word line is the word line where the UECC page corresponding to the physical block address is located; the read command carries at least: the corresponding read reference voltage applied when the page on the target word line is performing the read operation; A second acquisition unit, configured to acquire voltage distribution data of a page on the target word line when a corresponding read reference voltage is applied to perform the read operation; wherein, the voltage distribution data is obtained by combining state distribution data corresponding to each page on the target word line; the state distribution data corresponding to each page on the target word line at least includes: state data corresponding to each read reference voltage applied to the page on the target word line; the state data corresponding to the read reference voltage is determined according to the conduction condition of the drain and source of the basic memory cell in the page when the page on the target word line is applied with the read reference voltage; the conduction condition includes conduction or cutoff. An identification unit, configured to identify whether the physical block Block where the UECC page is located is a bad block according to the voltage distribution data; wherein, in the identification, it is determined whether the factor causing the read error is a specified permanent factor according to the voltage distribution data. When it is determined that the factor causing the read error is a specified permanent factor, it is determined that the physical block where the UECC page is located is a bad block. When it is determined that the factor causing the read error is a non-permanent factor, the physical block is continued to be maintained as a normal block for normal data reading.

15. A bad block identification device, characterized in that, The apparatus is applied to a storage device and includes: A sending unit, configured to send the physical block address PBA of the current UECC page to the host when a read error that cannot be corrected by an error correction code ECC is detected during the execution of the read operation; the UECC page refers to a page where a read error that cannot be corrected by an error correction code ECC occurs during the read operation. A receiving unit, configured to receive the read command sent by the host, where the read command is used to instruct to perform a read operation on a page on a target word line WL, and the target word line is the word line where the UECC page corresponding to the physical block address is located; the read command at least carries: the corresponding read reference voltage applied to the page on the target word line when the read operation is performed. A processing unit, configured to apply a read reference voltage to the page on the target word line according to the read command to perform the read operation, and acquire the state distribution data corresponding to the page on the target word line when the read reference voltage is applied to perform the read operation; wherein, the state distribution data corresponding to each page on the target word line at least includes the state data corresponding to each read reference voltage applied to the page, and the state data corresponding to the read reference voltage is determined according to the conduction condition of the drain and source of the basic memory cell in the page when the page on the target word line is applied with the read reference voltage, and the conduction condition includes conduction or cutoff. Combine the state distribution data corresponding to different pages on the target word line to obtain the voltage distribution data of the page on the target word line when the read reference voltage is applied to perform the read operation. Send the voltage distribution data to the host, so that the host can identify whether the physical block Block where the UECC page is located is a bad block according to the voltage distribution data, and mark the physical block where the UECC page is located as a bad block when the host identifies that the physical block where the UECC page is located is a bad block. Among them, in the said identification, according to the voltage distribution data, it is determined whether the factor causing the read error is a designated permanent factor. When it is determined that the factor causing the read error is a designated permanent factor, it is determined that the physical block where the UECC page is located is a bad block. When it is determined that the factor causing the read error is a non-permanent factor, the physical block is continued to be maintained as a normal block for normal data reading.

16. An electronic device, characterized in that, The electronic device includes: a processor and a machine-readable storage medium; The machine-readable storage medium stores machine-executable instructions that can be executed by the processor; The processor is used to execute the machine-executable instructions to implement the method steps of any one of claims 1-13.

17. A machine-readable storage medium, characterized in that, The machine-readable storage medium stores machine-executable instructions that can be executed by the processor; Among them, the processor is used to execute the machine-executable instructions to implement the method steps of any one of claims 1-13.

Citation Information

Patent Citations

  • A memory management method and apparatus

    CN102298543A

  • Management strategy used for prolonging service life of solid state disk

    CN106681664A