This application claims priority to Chinese Application number CN2022107938898 which is filed on Jul. 1, 2022, the contents of which are incorporated herein by reference.
The present disclosure relates to the technical field of data storage, and in particular to a method for finding a common optimal read voltage of multi-dies and a storage system.
Non-volatile memory system has become an important way of storing data because the data stored within will not be lost due to power failure. Among these non-volatile memory systems, NAND flash memory is popular because of its advantages of low power consumption and high performance.
In order to verify the correctness of the non-volatile memory product, it is necessary to first accurately adjust the threshold voltage of the reference cell of the non-volatile memory chip to be tested. Take SLC (Single Layer Cell) flash memory as an example, briefly introduce its readout principle: apply the same gate terminal and source terminal voltages to the memory cell and the reference cell, compare their drain terminal currents, and if the current of the memory cell is larger than the reference cell, it is defined as storing “1”, otherwise, it is defined as storing “0”. Therefore, the threshold voltage of the reference cell is the judgment point for storing data, and is the basis of the entire flash memory readout system. It needs to be adjusted more accurately before testing. As the integration density of a flash memory increases, operation speed may increase, but read operation errors may also increase due to the effects on threshold voltage distributions of changes in the operating environment.
An object of the present application is to provide a method for finding a common optimal read voltage of multi-dies and a storage system, which can accurately adjust the common reference voltage of multi-dies.
This application discloses a method for finding a common optimal read voltage of multi-dies, the method includes the following steps:
In one embodiment, the step of obtaining voltage distributions of each block in the multi-dies at different read and write temperatures and/or different P/E cycles further comprises:
In one embodiment, the step of determining optimal read voltages for all blocks in the multi-dies further comprises: obtaining voltages corresponding to a highest error bit count of all pages of each block, and selecting a voltage corresponding to a minimum value of the highest error bit count of all pages as the optimal read reference voltage.
In one embodiment, the step of determining optimal read voltages for all blocks in the multi-dies further comprises: obtaining a first boundary voltage corresponding to a highest error bit count that does not cause UECC and a second boundary voltage corresponding to the highest error bit count that does not cause UECC in all pages of each block, and using a center value of the first boundary voltage and the second boundary voltage as the optimal read reference voltage.
In one embodiment, the method further comprises: determining a block in the multi-dies that exceeds a predetermined range of the common optimal read voltage as a bad block.
The application also discloses a storage system, comprising:
In one embodiment, the controller obtains voltage distributions of each block in the multi-dies at different read and write temperatures and/or different P/E cycles, further comprises:
In one embodiment, the controller determines optimal read voltages for all blocks in the multi-dies, further comprises: obtaining voltages corresponding to a highest error bit count of all pages of each block, and selecting a voltage corresponding to a minimum value of the highest error bit count of all pages as the optimal read reference voltage.
In one embodiment, the controller determines optimal read voltages for all blocks in the multi-dies, further comprises: obtaining a first boundary voltage corresponding to a highest error bit count that does not cause UECC and a second boundary voltage corresponding to the highest error bit count that does not cause UECC in all pages of each block, and using a center value of the first boundary voltage and the second boundary voltage as the optimal read reference voltage.
In one embodiment, the controller is further configured to: determine a block in the multi-dies that exceeds a predetermined range of the common optimal read voltage as a bad block.
In the implementation of this application, obtaining voltage distributions of each block in the multi-dies at different read and write temperatures and/or different P/E cycles, determining optimal read voltages for all blocks in the multi-dies, obtaining the number of blocks corresponding to different optimal read voltages according to the optimal read voltages of all blocks in the multi-dies; according to the number of blocks corresponding to the different optimal read voltages, selecting the optimal read voltage with the most occurrences as the common optimal read voltage. The present application can adjust the common optimal read voltage of multi-dies.
A large number of technical features are described in the specification of the present application, and are distributed in various technical solutions. If a combination (i.e., a technical solution) of all possible technical features of the present application is listed, the description may be made too long. In order to avoid this problem, the various technical features disclosed in the above summary of the present application, the technical features disclosed in the various embodiments and examples below, and the various technical features disclosed in the drawings can be freely combined with each other to constitute various new technical solutions (all of which are considered to have been described in this specification), unless a combination of such technical features is not technically feasible. For example, feature A+B+C is disclosed in one example, and feature A+B+D+E is disclosed in another example, while features C and D are equivalent technical means that perform the same function, and technically only choose one, not to adopt at the same time. Feature E can be combined with feature C technically. Then, the A+B+C+D scheme should not be regarded as already recorded because of the technical infeasibility, and A+B+C+E scheme should be considered as already documented.
In the following description, numerous technical details are set forth in order to provide the readers with a better understanding of the present application. However, those skilled in the art can understand that the technical solutions claimed in the present application can be implemented without these technical details and various changes and modifications based on the following embodiments.
In order to make the objects, technical solutions and advantages of the present application clearer, embodiments of the present application will be further described in detail below with reference to the accompanying drawings.
The present disclosure provides apparatus, systems, and methods for finding a common optimal read voltage of multi-dies to read data stored in non-volatile memory (NVM) storage devices encoded with error correction code (ECC) (e.g., Turbo, low density parity check (LDPC), and polar codes, etc.).
The non-volatile memory device 104 may be a non-volatile memory (NVM) based storage device, for example, a NAND device. It should be noted that the non-volatile storage system 100 may include a plurality of non-volatile memory devices, and the non-volatile memory device 104 may be denoted as representative of the plurality of non-volatile memory devices. The non-volatile memory device may include a plurality of dies. Each die may include one or more planes, and each plane may include a plurality of blocks. A block may include a plurality of cells organized in a two-dimensional array. The cells in each row may be coupled to one word line (WL) and referred as a page (e.g., a physical page).
At step 202: voltage distributions of each block in the multi-dies at different read and write temperatures and/or different P/E cycles are obtained. It should be understood that, in this embodiment, voltage distributions corresponding to combinations of different read and write temperatures and/or the number of P/E cycles of each block may be obtained.
For example, in one embodiment, the voltage distributions for one of the following groups or a combination thereof are obtained:
Wherein, the low temperature indicates that the temperature is lower than 0° C., the room temperature indicates that the temperature range is 20° C. to 25° C., the high temperature indicates that the temperature is higher than 70° C.
As another example, in one embodiment, the voltage distributions for one of the following groups or a combination thereof are obtained:
The number of P/E cycles may be used to indicate lifetime of the non-volatile memory device. The predetermined number of cycles may be specifically set according to the NAND device.
It will be appreciated that a voltage distribution may be obtained for a combination of any two of the above two sets. Thus, in one embodiment, 18 voltage distributions corresponding to different combinations may be obtained. It should be noted that other combinations may also be used in other embodiments of the present application.
At step 204, optimal read voltages for all blocks in the multi-dies are determined.
In one embodiment, voltages corresponding to a highest error bit count of all pages of each block are obtained, and a voltage corresponding to a minimum value of the highest error bit count of all pages is selected as the optimal read reference voltage.
Generally, the optimal read reference voltage of all pages of each block is determined by scanning read voltage distributions of each page, finding the highest error bit count of all pages of each read voltage distribution under an error correction code (ECC) limit, and identifying the voltage with the lowest error bit count as the optimal reference voltage for the block. The valley window corresponding to the highest error bit count of all pages under ECC limit is usually asymmetric. Since the center of the valley window under ECC limit provides a more balanced edge reference voltage distance than the lowest error bit count point, the reference voltage in its center may be selected as the common optimal reference voltage.
At step 206: the number of blocks corresponding to different optimal read voltages according to the optimal read voltages of all the blocks in the multi-dies are obtained.
At step 208, according to the number of the blocks corresponding to the different optimal read voltages, the optimal read voltage with the most occurrences is selected as the common optimal read voltage.
In another embodiment, a first boundary voltage corresponding to a highest error bit count that does not cause UECC and a second boundary voltage corresponding to the highest error bit count that does not cause UECC in all pages of each block are obtained, and a center value of the first boundary voltage and the second boundary voltage is selected as the optimal read reference voltage. In this embodiment, the number of times of reference voltage scanning can be reduced.
This application also provides a storage system, referring again to the storage system 100 shown in
It should be noted that in this specification of the application, relational terms such as the first and second, and so on are only configured to distinguish one entity or operation from another entity or operation, and do not necessarily require or imply any such actual relationship or order between these entities or operations. Furthermore, the term “comprises” or “comprising” or “includes” or any other variations thereof is intended to encompass a non-exclusive inclusion, such that a process, method, article, or device that comprises a multiple elements includes not only those elements but also other elements, or elements that are inherent to such a process, method, item, or device. Without more restrictions, the element defined by the phrase “comprise(s) a/an” does not exclude that there are other identical elements in the process, method, item or device that includes the element. In this specification of the application, if it is mentioned that an action is performed according to an element, it means the meaning of performing the action at least according to the element, and includes two cases: the action is performed only on the basis of the element, and the action is performed based on the element and other elements. Multiple, repeatedly, various, etc., expressions include 2, twice, 2 types, and 2 or more, twice or more, and 2 types or more types.
All documents mentioned in this specification are considered to be included in the disclosure of this application as a whole, so that they can be used as a basis for modification when necessary. In addition, it should be understood that the above descriptions are only preferred embodiments of this specification, and are not intended to limit the protection scope of this specification. Any modification, equivalent replacement, improvement, etc. made within the spirit and principle of one or more embodiments of this specification should be included in the protection scope of one or more embodiments of this specification.
In some cases, the actions or steps described in the claims can be performed in a different order than in the embodiments and still achieve desired results. In addition, the processes depicted in the drawings do not necessarily require the specific order or sequential order shown in order to achieve the desired results. In some embodiments, multitasking and parallel processing are also possible or may be advantageous.
Number | Date | Country | Kind |
---|---|---|---|
202210793889.8 | Jul 2022 | CN | national |