Optimal re-reading bin finding method, system, device and storage medium based on voltage threshold data

By reading the original voltage threshold data of the flash memory chips, the optimal read offset is determined and combined into the optimal reread level, which solves the limitation of the flash memory chip reread level table and achieves higher data reading reliability and applicability.

CN116301629BActive Publication Date: 2026-04-14JIANGSU XINSHENG INTELLIGENT TECH CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2023-03-20
Publication Date
2026-04-14

AI Technical Summary

Technical Problem

The existing reread bit tables provided by flash memory chip manufacturers cannot cover many real-world application scenarios, resulting in data uncorrectability in some scenarios and reducing data reliability.

Method used

By reading the original voltage threshold data of the flash memory chip, the optimal read offset is determined and combined into the optimal reread level, which supplements and improves the application scenarios of the original reread level table and is applicable to various types of flash memory chips.

Benefits of technology

It improves the reliability and applicability of data reading, can accurately determine the optimal reread level in any application scenario, improves the success rate of data reading and reduces the number of bit flips.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN116301629B_ABST
    Figure CN116301629B_ABST
Patent Text Reader

Abstract

The application discloses a best re-reading file searching method and system based on voltage threshold data, a device and a storage medium, relates to the technical field of data storage, and comprises the following steps: obtaining at least one first voltage threshold data by reading original voltage threshold data of at least one reading voltage of a flash memory particle; obtaining at least one second voltage threshold data by intercepting the at least one first voltage threshold data respectively; obtaining at least one wave trough position of corresponding reading voltage based on the at least one second voltage threshold data, so as to obtain an offset of the at least one wave trough position; determining a best reading offset according to at least one offset; and combining the best reading offset of all reading voltages to obtain a best re-reading file. The application can accurately find the best re-reading file of various types of flash memory particles in a current application scenario, is good in universality, and is suitable for a wide range of application scenarios.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of data storage technology, and in particular to a method, system, device and storage medium for finding the optimal reread range based on voltage threshold data. Background Technology

[0002] The read retry table provided by the flash memory chip manufacturer contains a certain number of read retry positions. Depending on the type of flash memory chip, the number of read offsets in each read retry position also varies. By setting different read offsets, the read voltage when reading data from the flash memory chip can be changed, thereby dealing with read voltage offsets in various application scenarios and returning the correct data.

[0003] Theoretically, there is an optimal read voltage for different application scenarios. Using the most suitable read voltage to read data on the flash memory array can effectively reduce the number of bit flips compared to other read voltages, thereby reducing the iteration number of the LDPC (Low Density Parity Check Code) decoder and the power consumption of the controller, and improving throughput.

[0004] For operations involving reading data from flash memory chips using reread registers, existing technical solutions generally include the following steps:

[0005] 1. When reading data at a certain location on a flash memory chip, the default read voltage set by the flash memory chip manufacturer will be used first for reading;

[0006] 2. If too many bit flips occur during reading, the rereading level in the rereading level table provided by the flash memory chip manufacturer is usually used for rereading.

[0007] 3. If the number of bit flips encountered when reading using this gear is small enough to be corrected, then the reading is successful; if the number of bit flips is still large enough to be corrected, continue to use the next gear to reread until the number of bit flips read is small enough to be corrected, or until all gears in the gear table have been traversed and the reading is still not corrected.

[0008] However, the reread bit table provided by the original flash memory manufacturer has certain limitations and cannot cover many real-world application scenarios, leading to data inconsistencies in some situations. In other words, the existing flash memory reread bit table is not applicable to all flash memory application scenarios, significantly restricting the use of flash memory and compromising data reliability. This also limits its effectiveness in practical applications such as problem localization and specific scenario analysis.

[0009] Therefore, accurately finding the optimal read-back level for various types of flash memory chips in the current application scenario is an urgent problem to be solved. Summary of the Invention

[0010] To address the aforementioned technical problems, this application provides a method for finding the optimal reread level based on voltage threshold data. This method can accurately identify the optimal reread level for various types of flash memory chips in the current application scenario based on voltage threshold data. It has good versatility, wide applicability, and higher data reading reliability. This application also provides a system, device, and storage medium for finding the optimal reread level based on voltage threshold data, which have the same technical effects.

[0011] The first objective of this application is to provide a method for finding the optimal reread range based on voltage threshold data.

[0012] The aforementioned objective of this application is achieved through the following technical solution:

[0013] A method for finding the optimal reread range based on voltage threshold data includes:

[0014] Read the raw voltage threshold data of at least one read voltage of the flash memory chip to obtain at least one first voltage threshold data;

[0015] By extracting the at least one first voltage threshold data, at least one second voltage threshold data is obtained;

[0016] Based on the at least one second threshold voltage data, at least one trough position of the corresponding reading voltage is obtained, so as to obtain the offset of at least one trough position;

[0017] Determine the optimal read offset based on at least one of the aforementioned offsets;

[0018] The optimal read offset for all read voltages is combined to obtain the optimal reread range.

[0019] Preferably, obtaining at least one trough position of the corresponding reading voltage based on the at least one second threshold voltage data, to obtain the offset of at least one trough position, includes:

[0020] The at least one second threshold voltage data is filtered to obtain at least one third voltage threshold data.

[0021] Several voltage threshold data points within a preset width range are extracted from the at least one third voltage threshold data to obtain at least one voltage threshold data segment;

[0022] Find at least one valley position of the corresponding reading voltage in the at least one voltage threshold data segment to obtain the offset of at least one valley position.

[0023] Preferably, finding at least one trough position of the corresponding reading voltage in the at least one voltage threshold data segment to obtain the offset of the at least one trough position includes:

[0024] Find the minimum voltage threshold of the corresponding reading voltage in each of the at least one voltage threshold data segment;

[0025] Based on the minimum voltage threshold, find the left endpoint, right endpoint, and midpoint of the corresponding reading voltage trough;

[0026] The left endpoint, right endpoint, and midpoint of the corresponding reading voltage trough are compared with the default trough position to obtain the offset of the left endpoint, right endpoint, and midpoint of the corresponding reading voltage trough position.

[0027] Preferably, determining the optimal read offset based on at least one of the offsets includes:

[0028] The optimal reading offset for the corresponding reading voltage is determined based on the offsets of the left end point, right end point, and midpoint of the trough position.

[0029] Preferably, the step of extracting the at least one first voltage threshold data to obtain at least one second voltage threshold data includes:

[0030] In the at least one first voltage threshold data, voltage threshold data corresponding to a preset number of offset levels near the threshold voltage point of the corresponding reading voltage are extracted to obtain the at least one second voltage threshold data.

[0031] Preferably, the step of reading at least one read voltage threshold data of the flash memory chip to obtain at least one first voltage threshold data includes:

[0032] The test voltage corresponding to the at least one read voltage of the flash memory chip is sent to the flash memory chip, wherein the test voltage corresponding to each read voltage includes 2n offset voltages obtained by offsetting n levels to the left and right respectively with the threshold voltage point corresponding to the read voltage as the center, where n is a positive integer;

[0033] Obtain the raw data in the flash memory chip corresponding to each offset voltage of the at least one read voltage;

[0034] The calculation result is obtained by performing an XOR operation on the raw data corresponding to each offset voltage and the raw data corresponding to its adjacent offset voltage.

[0035] Based on the calculation results, the number of storage cells at each offset voltage is counted to obtain the original voltage threshold data of the at least one read voltage of the flash memory chip;

[0036] The original voltage threshold data of the at least one read voltage is determined as the at least one first voltage threshold data.

[0037] The second objective of this application is to provide an optimal reread gear selection system based on voltage threshold data.

[0038] The second objective of this application is achieved through the following technical solution:

[0039] A system for finding the optimal reread range based on voltage threshold data includes:

[0040] The raw voltage threshold data reading module is used to read the raw voltage threshold data of at least one read voltage of the flash memory chip to obtain at least one first voltage threshold data.

[0041] A voltage threshold data extraction module is used to extract at least one first voltage threshold data respectively to obtain at least one second voltage threshold data;

[0042] The voltage offset calculation module is used to obtain at least one trough position of the corresponding voltage based on the at least one second threshold voltage data, so as to obtain the offset of at least one trough position.

[0043] An optimal read offset determination module is used to determine an optimal read offset based on at least one of the offsets;

[0044] The optimal reread range generation module is used to combine the optimal read offset of all read voltages to obtain the optimal reread range.

[0045] Preferably, the read voltage offset calculation module includes:

[0046] A voltage threshold data filtering unit is used to filter the at least one second threshold voltage data respectively to obtain at least one third voltage threshold data.

[0047] A voltage threshold data extraction unit is used to extract several voltage threshold data points within a preset width range from the at least one third voltage threshold data to obtain at least one voltage threshold data segment.

[0048] The voltage offset calculation unit is used to find at least one valley position of the corresponding voltage in the at least one voltage threshold data segment, so as to obtain the offset of at least one valley position.

[0049] Preferably, the read voltage offset calculation unit is specifically used for:

[0050] Find the minimum voltage threshold of the corresponding reading voltage in each of the at least one voltage threshold data segment;

[0051] Based on the minimum voltage threshold, find the left endpoint, right endpoint, and midpoint of the corresponding reading voltage trough;

[0052] The left endpoint, right endpoint, and midpoint of the corresponding reading voltage trough are compared with the default trough position to obtain the offset of the left endpoint, right endpoint, and midpoint of the corresponding reading voltage trough position.

[0053] Preferably, the optimal read offset determination module is specifically used for:

[0054] The optimal reading offset for the corresponding reading voltage is determined based on the offsets of the left end point, right end point, and midpoint of the trough position.

[0055] Preferably, the voltage threshold data extraction module is specifically used for:

[0056] In the at least one first voltage threshold data, voltage threshold data corresponding to a preset number of offset levels near the threshold voltage point of the corresponding reading voltage are extracted to obtain the at least one second voltage threshold data.

[0057] Preferably, the original voltage threshold data reading module includes:

[0058] The test voltage sending unit is used to send the test voltage corresponding to the at least one read voltage of the flash memory chip to the flash memory chip, wherein each test voltage corresponding to the read voltage includes 2n offset voltages obtained by offsetting n levels to the left and right respectively with the threshold voltage point corresponding to the read voltage as the center, where n is a positive integer;

[0059] A raw data acquisition unit is used to acquire raw data in the flash memory chip corresponding to each offset voltage of the at least one read voltage;

[0060] The raw data calculation unit is used to perform an XOR operation on the raw data corresponding to each offset voltage and the raw data corresponding to its adjacent offset voltage in sequence to obtain the calculation result;

[0061] The raw voltage threshold data calculation unit is used to count the number of storage cells at each offset voltage based on the calculation results, and obtain the raw voltage threshold data of the at least one read voltage of the flash memory chip;

[0062] The first voltage threshold data determination unit is used to determine the original voltage threshold data of the at least one read voltage as the at least one first voltage threshold data.

[0063] The third objective of this application is to provide an electronic device.

[0064] The aforementioned objective three of this application is achieved through the following technical solution:

[0065] An electronic device, comprising:

[0066] The present invention includes a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the processor executes the computer program to implement the steps of the optimal reread gear finding method based on voltage threshold data as described in any of the first objectives of this application.

[0067] The fourth objective of this application is to provide a computer-readable storage medium.

[0068] The fourth objective of this application is achieved through the following technical solution:

[0069] A computer-readable storage medium storing a computer program that, when executed by a processor, implements the steps of the optimal reread gear finding method based on voltage threshold data as described in any one of the first objectives of this application.

[0070] In summary, this application discloses a method, system, device, and storage medium for finding the optimal reread level based on voltage threshold data. When it is necessary to obtain the optimal reread level of a flash memory chip in a certain application scenario, the method first reads the original voltage threshold data of at least one read voltage of the flash memory chip to obtain at least one first voltage threshold data; then, it extracts the at least one first voltage threshold data to obtain at least one second voltage threshold data; next, it obtains at least one trough position of the corresponding read voltage based on the at least one second threshold voltage data to obtain the offset of at least one trough position; then, it determines the optimal read offset based on the at least one offset; finally, it combines the optimal read offsets of all read voltages to obtain the optimal reread level.

[0071] This application finds the optimal read offset of all read voltages for a flash memory chip in the current application scenario by reading the original voltage threshold data of the flash memory chip, and obtains the optimal reread level by combining the optimal read offsets of all read voltages. This optimal reread level can effectively supplement and improve the application scenarios of the reread level table provided by the flash memory chip manufacturer. It has good versatility and wide applicability, and can accurately determine the optimal reread level for various types of flash memory chips in any application scenario, thereby effectively improving the reliability of data reading. Attached Figure Description

[0072] To more clearly illustrate the technical solutions in the embodiments of this application or the prior art, the drawings used in the description of the embodiments or the prior art will be briefly introduced below. Obviously, the drawings described below are only some embodiments recorded in this application. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.

[0073] Figure 1 This is a flowchart illustrating a method for finding the optimal reread range based on voltage threshold data in an embodiment of this application.

[0074] Figure 2 A read voltage distribution diagram for a WL (Wide Limit) of a TLC flash memory chip;

[0075] Figure 3 This is a schematic diagram of the structure of an optimal reread range finding system based on voltage threshold data in an embodiment of this application;

[0076] Figure 4 This is a schematic diagram of the structure of an electronic device according to an embodiment of this application. Detailed Implementation

[0077] To enable those skilled in the art to better understand the technical solutions in this application, the technical solutions in the embodiments of this application will be clearly and completely described below. Obviously, the described embodiments are only a part of the embodiments of this application, and not all of the embodiments. Based on the embodiments in this application, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of this application.

[0078] In the embodiments provided in this application, it should be understood that the disclosed methods and systems can be implemented in other ways. The system embodiments described below are merely illustrative. For example, the division of units and modules is only a logical functional division, and in actual implementation, there may be other division methods, such as: multiple units or modules can be combined, or integrated into another system, or some features can be ignored or not executed. In addition, the coupling, direct coupling, or communication connection between the various components shown or discussed can be through some interfaces, indirect coupling or communication connection of devices or modules, and can be electrical, mechanical, or other forms.

[0079] In addition, each functional unit in the various embodiments of this application can be integrated into a single processor, or each unit can be a separate device, or two or more units can be integrated into a single device; each functional unit in the various embodiments of this application can be implemented in hardware or in the form of hardware plus software functional units.

[0080] Those skilled in the art will understand that all or part of the steps of the following method embodiments can be implemented by program instructions and related hardware. The aforementioned program instructions can be stored in a computer-readable storage medium. When the program instructions are executed, they perform the steps of the following method embodiments. The aforementioned storage medium includes various media capable of storing program code, such as mobile storage devices, read-only memory (ROM), magnetic disks, or optical disks.

[0081] Furthermore, the terms "first" and "second" are used for descriptive purposes only and should not be construed as indicating or implying relative importance or implicitly specifying the number of technical features indicated. Thus, a feature defined as "first" or "second" may explicitly or implicitly include one or more of that feature. In the description of this application, "a plurality of" or "several" means two or more, unless otherwise explicitly specified.

[0082] Terminology Explanation:

[0083] Flash memory chips: A type of storage medium used to store data.

[0084] WL: Word Line, is one of the internal structural components of a flash memory chip. A flash memory chip contains multiple WLs, and a WL consists of one or more pages. For example, an SLC flash memory chip has a WL consisting of 1 page, an MLC flash memory chip has a WL consisting of 2 pages, and a TLC flash memory chip has a WL consisting of 3 pages.

[0085] Cell: The basic storage unit inside a flash memory chip that stores data.

[0086] SLC: Single-Level Cell, each cell stores 1 bit of data.

[0087] MLC: Multi-Level Cell, each cell stores 2 bits of data.

[0088] TLC: Trinary-Level Cell, a three-level unit where each cell stores 3 bits of data.

[0089] QLC: Quadra-Level Cell, a four-level cell where each cell stores 4 bits of data.

[0090] Voltage threshold data: VT (Voltage threshold) data reflects the relationship between the number of cells and the voltage on a certain WL of the flash memory chip.

[0091] Read Offset: This refers to the read voltage offset set when reading data from a flash memory chip.

[0092] Read Retry setting: The read retry setting refers to the read voltage offset set when the flash memory chip is reread, which consists of a certain number of read offsets.

[0093] Read Retry Table: A table provided by the flash memory chip manufacturer containing a certain number of read retry positions.

[0094] Read voltage: The voltage applied when a flash memory chip reads data. An SLC flash memory chip requires 1 read voltage to read one read volume (WL); an MLC flash memory chip requires 3 read voltages to read one WL; and a TLC flash memory chip requires 7 read voltages to read one WL.

[0095] The embodiments in this application are written in a progressive manner.

[0096] Because the Read Retry Table provided by the original flash memory manufacturer has certain limitations and cannot cover many real-world application scenarios, it is impossible to find the optimal read retry level for certain application scenarios in the Read Retry Table provided by the original flash memory manufacturer. As a result, data inconsistency may occur in some application scenarios, reducing the reliability of the read data.

[0097] This embodiment provides a method for flash memory chips to find the optimal read offset in any application scenario, thereby supplementing and improving the read retry levels in the read retry table provided by the flash memory chip manufacturer and enhancing data reliability.

[0098] like Figure 1 As shown in the figure, this application provides a method for finding the optimal reread range based on voltage threshold data. The method may include the following steps:

[0099] S101: Read the original voltage threshold data of at least one read voltage of the flash memory chip to obtain at least one first voltage threshold data;

[0100] When reading data stored in a flash memory chip (e.g., a flash memory chip), in order to effectively reduce the number of bit flips, thereby reducing the iteration count of the LDPC decoder and the power consumption of the controller to improve throughput, it is necessary to first find the optimal read retry level for the flash memory chip in the current application scenario. This allows for subsequent reading of data from the flash memory chip using the optimal read voltage. To find the optimal read retry level for the flash memory chip in the current application scenario, it is first necessary to read the original voltage threshold data of at least one read voltage of the flash memory chip to obtain at least one first voltage threshold data.

[0101] Specifically, since the data in the flash memory chip is stored in the storage cells (i.e., cells) of the word line (i.e., WL), in order to find the best read level for the flash memory chip in the current application scenario, it is first necessary to read the original voltage threshold data of all read voltages of the target word line in the flash memory chip in the current application scenario.

[0102] It should be noted that the number of read voltages for each word line is related to the type of flash memory chip. Different types of flash memory chips require different numbers of read voltages to read one word line. For example, SLC flash memory chips, MLC flash memory chips, and TLC flash memory chips require 1 read voltage, 3 read voltages, and 7 read voltages to read one word line, respectively. Therefore, in step S101, for SLC flash memory chips, MLC flash memory chips, and TLC flash memory chips, it is necessary to read the original voltage threshold data of one read voltage, three read voltages, and seven read voltages, respectively, thereby obtaining one first voltage threshold data, three first voltage threshold data, and seven first voltage threshold data.

[0103] It is understandable that the condition for the step of reading at least one original voltage threshold data of the flash memory chip is that reading the flash memory chip data using the default read voltage set at the factory fails, and the reason for the failure is too many bit flips. In this case, the Read Retry level in the Read Retry Table can be skipped, and the optimal retry level finding method in this embodiment can be directly started to determine the optimal retry level for reading the target word line in the current application scenario. Alternatively, the read voltage can be offset based on the Read Retry level in the Read Retry Table provided by the flash memory chip manufacturer, and the rereading of the flash memory chip data is performed using the offset read voltage, resulting in the failure of reading the flash memory chip data. The reason for the failure is too many bit flips, that is, there is no corresponding Read Retry level in the Read Retry Table provided by the flash memory chip manufacturer to achieve accurate reading of the flash memory chip data in the current application scenario.

[0104] Furthermore, step S101 may specifically include:

[0105] The test voltage corresponding to the at least one read voltage of the flash memory chip is sent to the flash memory chip, wherein the test voltage corresponding to each read voltage includes 2n offset voltages obtained by offsetting n levels to the left and right respectively with the threshold voltage point corresponding to the read voltage as the center, where n is a positive integer;

[0106] Obtain the raw data in the flash memory chip corresponding to each offset voltage of the at least one read voltage;

[0107] The calculation result is obtained by performing an XOR operation on the raw data corresponding to each offset voltage and the raw data corresponding to its adjacent offset voltage.

[0108] Based on the calculation results, the number of storage cells at each offset voltage is counted to obtain the original voltage threshold data of the at least one read voltage of the flash memory chip;

[0109] The original voltage threshold data of the at least one read voltage is determined as the at least one first voltage threshold data.

[0110] This embodiment uses TLC flash memory chips as an example, such as Figure 2 The figure shows the read voltage distribution of a word line of a TLC flash memory chip. As can be seen from the figure, each word line of a TLC flash memory chip has 7 read voltages, namely read voltages R1 to R7. For each read voltage among R1 to R7 of the target word line, when reading the original voltage threshold data of each read voltage of the target word line under the current application scenario, the test voltage corresponding to each read voltage of the target word line is first sent to the flash memory chip. The test voltage corresponding to each read voltage includes 256 offset voltages obtained by offsetting 128 levels to the left and right respectively from the threshold voltage point corresponding to the read voltage. Then, the raw data in the flash memory chip corresponding to each offset voltage of each read voltage is obtained. Next, the raw data corresponding to each offset voltage and the raw data corresponding to the adjacent offset voltage are XORed to obtain the calculation result. Then, based on the calculation result, the number of storage cells at each offset voltage is counted to obtain 7*256 voltage threshold data of the target word line of the flash memory chip under the current application scenario, which are the original voltage threshold data of each read voltage of the target word line under the current application scenario. Finally, the original voltage threshold data of each read voltage is determined as the first voltage threshold data of the target word line.

[0111] S102. Extract at least one first voltage threshold data respectively to obtain at least one second voltage threshold data;

[0112] After obtaining the first voltage threshold data corresponding to each read voltage of the target word line, it is necessary to perform data truncation operations on the first voltage threshold data corresponding to each read voltage one by one. In this embodiment, the data truncation operation process is as follows:

[0113] In the first voltage threshold data corresponding to each reading voltage of the target word line, the voltage threshold data corresponding to a preset number of offset positions near the threshold voltage point of the corresponding reading voltage are extracted to obtain at least one second voltage threshold data.

[0114] Specifically, for Figure 2 For the TLC flash memory chip shown, starting from the read voltage R1 and ending at the read voltage R7, 256 data points near the threshold voltage point corresponding to each read voltage are extracted, and then the subsequent step S103 is executed one by one.

[0115] S103. Based on the at least one second threshold voltage data, obtain at least one trough position of the corresponding reading voltage to obtain the offset of at least one trough position;

[0116] After extracting a preset number of offset levels of voltage threshold data near the threshold voltage point of each reading voltage in the first voltage threshold data corresponding to each reading voltage of the target word line, it is further necessary to obtain at least one trough position of the corresponding reading voltage based on the at least one second threshold voltage data, so as to obtain the offset of at least one trough position. Specifically, it can be performed according to the following steps:

[0117] a. Filter the at least one second threshold voltage data respectively to obtain at least one third voltage threshold data;

[0118] Based on the continuous and periodic characteristics of voltage threshold data, it can be considered as a one-dimensional signal. For digital signal processing, filtering can be performed using, but is not limited to, an FIR low-pass filter. By setting appropriate filter coefficients, high-frequency noise signals can be removed, resulting in smoother voltage threshold data, which facilitates subsequent selection of the optimal offset.

[0119] Specifically, the filtering process can be implemented using an FIR low-pass filter. An FIR (Finite Impulse Response) filter, also known as a non-recursive filter, is a fundamental component in digital signal processing systems. It can guarantee arbitrary amplitude-frequency characteristics while possessing strictly linear phase-frequency characteristics. Furthermore, its unit sample response is finite, making the filter a stable system.

[0120] b. Extract several voltage threshold data points within a preset width range from the at least one third voltage threshold data to obtain at least one voltage threshold data segment;

[0121] The filtered threshold voltage data near a certain read voltage obtained in the previous step contains 256 voltage threshold data points. The offset of the trough positions in the voltage threshold data is usually within a certain range. Therefore, first, an appropriate width threshold (i.e., a preset width) is set, and then the voltage threshold data points in the middle of this segment are extracted to obtain the voltage threshold data segment. The preset width is determined according to the type of flash memory chip.

[0122] c. Locate at least one trough position of the corresponding reading voltage in each of the at least one voltage threshold data segments to obtain the offset of at least one trough position. The specific process is as follows:

[0123] c1. Find the minimum voltage threshold VTmin of the corresponding reading voltage in each of the at least one voltage threshold data segment;

[0124] c2. Based on the minimum voltage threshold, find the left endpoint, right endpoint, and midpoint of the corresponding reading voltage trough. The specific process is as follows:

[0125] In the voltage threshold data segment, the average value X of three consecutive voltage threshold data points is calculated sequentially from right to left until the average value X at two consecutive positions satisfies the following condition:

[0126] X≤VTmin+W, where W is a preset threshold width constant, which is set to 1 in this embodiment.

[0127] At this point, the rightmost position among the two consecutive positions is the right endpoint Ro of the trough; specifically, in this step, the significance of ensuring that the average value X of the two consecutive positions meets the condition is that the filtered threshold voltage data may still contain some noise signal data, and the two consecutive positions can further reduce the influence of this factor.

[0128] Determine whether the right endpoint Ro of the valley is at the leftmost end of the voltage threshold data segment: if not, find the left endpoint Lo of the valley in the voltage threshold data segment from left to right in the same way as finding the right endpoint of the valley above; if yes, then the left endpoint Lo of the valley and the right endpoint Ro of the valley coincide, i.e., Lo = Ro.

[0129] After finding the left endpoint Lo and the right endpoint Ro of the trough, determine the midpoint Mo of the trough based on the left endpoint Lo and the right endpoint Ro.

[0130] c3. Compare the left endpoint, right endpoint, and midpoint of the corresponding reading voltage trough with the default trough position to obtain the offset of the left endpoint, right endpoint, and midpoint of the corresponding reading voltage trough position.

[0131] For example, for the range of 1-256, the standard peak has the middle 128 as the default trough position. If the coordinates of the three positions Lo (left end point), Mo (mid point), and Ro (right end point) of the trough found through voltage threshold data are 118, 120, and 123 respectively, then the offsets of Lo (left end point), Mo (mid point), and Ro (right end point) are -10, -8, and -5 respectively.

[0132] Existing algorithms for determining the optimal read offset at the threshold voltage point assume that voltage threshold data near the read voltage will exhibit significant fluctuations, and the optimal read offset position can be found by identifying the trough in the waveform. However, in reality, a trough is not necessarily a single point; it could be a continuous interval of voltage threshold data points. Therefore, to improve the accuracy of the read offset calculation at the trough position, this embodiment calculates the offsets at three locations for each trough position: the left endpoint, the right endpoint, and the midpoint (except where the left and right endpoints coincide). The optimal read offset is then determined based on these offsets at these three locations.

[0133] S104. Determine the optimal read offset based on at least one of the offsets;

[0134] Specifically, in this embodiment, among the seven read voltages R1 to R7 of the TLC flash memory chip, for read voltage R1, due to the presence of the erase state peak, the Lo coordinate of R1 is inaccurate, which leads to inaccurate calculation of the Lo and Mo positions of R1. Therefore, the offset of Ro is used as the optimal read offset for read voltage R1; the offset of Mo is used as the optimal read offset for read voltages R2 to R7.

[0135] S105. Combine the optimal read offsets of all read voltages to obtain the optimal reread range.

[0136] Finally, the optimal read offsets for all the determined read voltages of the flash memory chips are combined to obtain the optimal read reload level for that flash memory chip. When subsequently reading data from the flash memory chip, setting this optimal read reload level as the read voltage will result in a lower number of bit flips, thereby improving the reliability of data reading.

[0137] In summary, the above embodiments find the optimal read offset of all read voltages for the target word line in the current application scenario by reading the original voltage threshold data of the flash memory chip, and obtain the optimal reread position by combining the optimal read offsets of all read voltages. This optimal reread position can effectively supplement and improve the application scenarios of the reread position table provided by the flash memory chip manufacturer. It has good versatility and wide applicability, and can accurately determine the optimal reread position of various types of flash memory chips in any application scenario, thereby effectively improving the reliability of data reading. The above embodiments find the optimal reread position based on reading the voltage threshold data on the flash memory chip. Since all flash memory chips currently provide Read Offset related interfaces, the optimal reread position finding method based on voltage threshold data in this embodiment can be applied to all flash memory chips. The trough found by the trough algorithm in the above embodiments is a range. When the voltage threshold data seen in special cases is not continuous, this trough position can also be accurately found. Therefore, this application can not only be applied to common SLC, MLC, TLC, QLC, etc., but also to special pMLC.

[0138] like Figure 3 As shown in the figure, this application provides an optimal reread range finding system based on voltage threshold data, the system may include:

[0139] The raw voltage threshold data reading module 201 is used to read the raw voltage threshold data of at least one read voltage of the flash memory chip to obtain at least one first voltage threshold data.

[0140] The voltage threshold data interception module 202 is used to intercept the at least one first voltage threshold data respectively to obtain at least one second voltage threshold data;

[0141] The voltage offset calculation module 203 is used to obtain at least one trough position of the corresponding voltage based on the at least one second threshold voltage data, so as to obtain the offset of at least one trough position.

[0142] The optimal read offset determination module 204 is used to determine the optimal read offset based on at least one of the offsets;

[0143] The optimal reread range generation module 205 is used to combine the optimal read offset of all read voltages to obtain the optimal reread range.

[0144] Based on the above embodiments, the read voltage offset calculation module 203 includes:

[0145] A voltage threshold data filtering unit is used to filter the at least one second threshold voltage data respectively to obtain at least one third voltage threshold data.

[0146] A voltage threshold data extraction unit is used to extract several voltage threshold data points within a preset width range from the at least one third voltage threshold data to obtain at least one voltage threshold data segment.

[0147] The voltage offset calculation unit is used to find at least one valley position of the corresponding voltage in the at least one voltage threshold data segment, so as to obtain the offset of at least one valley position.

[0148] Based on the above embodiments, the read voltage offset calculation unit is specifically used for:

[0149] Find the minimum voltage threshold of the corresponding reading voltage in each of the at least one voltage threshold data segment;

[0150] Based on the minimum voltage threshold, find the left endpoint, right endpoint, and midpoint of the corresponding reading voltage trough;

[0151] The left endpoint, right endpoint, and midpoint of the corresponding reading voltage trough are compared with the default trough position to obtain the offset of the left endpoint, right endpoint, and midpoint of the corresponding reading voltage trough position.

[0152] Based on the above embodiments, the optimal read offset determination module 204 is specifically used for:

[0153] The optimal reading offset for the corresponding reading voltage is determined based on the offsets of the left end point, right end point, and midpoint of the trough position.

[0154] Based on the above embodiments, the voltage threshold data extraction module 202 is specifically used for:

[0155] In the at least one first voltage threshold data, voltage threshold data corresponding to a preset number of offset levels near the threshold voltage point of the corresponding reading voltage are extracted to obtain the at least one second voltage threshold data.

[0156] Based on the above embodiments, the original voltage threshold data reading module 201 includes:

[0157] The test voltage sending unit is used to send the test voltage corresponding to the at least one read voltage of the flash memory chip to the flash memory chip, wherein each test voltage corresponding to the read voltage includes 2n offset voltages obtained by offsetting n levels to the left and right respectively with the threshold voltage point corresponding to the read voltage as the center, where n is a positive integer;

[0158] A raw data acquisition unit is used to acquire raw data in the flash memory chip corresponding to each offset voltage of the at least one read voltage;

[0159] The raw data calculation unit is used to perform an XOR operation on the raw data corresponding to each offset voltage and the raw data corresponding to its adjacent offset voltage in sequence to obtain the calculation result;

[0160] The raw voltage threshold data calculation unit is used to count the number of storage cells at each offset voltage based on the calculation results, and obtain the raw voltage threshold data of the at least one read voltage of the flash memory chip;

[0161] The first voltage threshold data determination unit is used to determine the original voltage threshold data of the at least one read voltage as the at least one first voltage threshold data.

[0162] The optimal reread gear selection system based on voltage threshold data in the above embodiments has the same working principle and technical effect as the optimal reread gear selection method based on voltage threshold data in the above embodiments, and will not be described again here.

[0163] like Figure 4 As shown, this application provides an electronic device 3, which includes a memory 301, a processor 302, and a computer program 303 stored in the memory 301 and executable on the processor 302. When the processor 302 executes the computer program 303, it implements the steps of the optimal reread gear search method based on voltage threshold data as described in the above method embodiment of this application.

[0164] Specifically, the electronic device 3 can be an intelligent device with memory and processor, such as an industrial control computer, PC, or smart mobile terminal, or a computer component with memory and processor, such as a CPU or GPU.

[0165] This application also provides a computer-readable storage medium storing a computer program. When the computer program is executed by a processor, it implements the steps of the optimal reread gear search method based on voltage threshold data as described in the above-described method embodiments of this application.

[0166] The various embodiments in this specification are described in a progressive manner, with each embodiment focusing on its differences from other embodiments. Similar or identical parts between embodiments can be referred to interchangeably. For the apparatus disclosed in the embodiments, since they correspond to the methods disclosed in the embodiments, the description is relatively simple; relevant parts can be referred to the method section.

[0167] Those skilled in the art will further recognize that the units and algorithm steps of the various examples described in conjunction with the embodiments disclosed herein can be implemented in electronic hardware, computer software, or a combination of both. To clearly illustrate the interchangeability of hardware and software, the components and steps of the various examples have been generally described in terms of functionality in the foregoing description. Whether these functions are implemented in hardware or software depends on the specific application and design constraints of the technical solution. Those skilled in the art can use different methods to implement the described functions for each specific application, but such implementations should not be considered beyond the scope of this invention.

[0168] The steps of the methods or algorithms described in conjunction with the embodiments disclosed herein can be implemented directly by hardware, a software module executed by a processor, or a combination of both. The software module can be located in random access memory (RAM), main memory, read-only memory (ROM), electrically programmable ROM, electrically erasable programmable ROM, registers, hard disk, removable disk, CD-ROM, or any other form of storage medium known in the art.

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

Claims

1. A method for finding the optimal reread range based on voltage threshold data, characterized in that, The method includes: Read the raw voltage threshold data of at least one read voltage of the flash memory chip to obtain at least one first voltage threshold data; By extracting the at least one first voltage threshold data, at least one second voltage threshold data is obtained; Based on the at least one second threshold voltage data, at least one trough position of the corresponding reading voltage is obtained, so as to obtain the offset of at least one trough position; The step of obtaining at least one trough position of the corresponding reading voltage based on the at least one second threshold voltage data, to obtain the offset of at least one trough position, includes: Based on the at least one second threshold voltage data, determine the left endpoint, right endpoint, and midpoint of the trough of the corresponding reading voltage; The left endpoint, right endpoint, and midpoint of the corresponding reading voltage trough are compared with the default trough position to obtain the offset of the left endpoint, right endpoint, and midpoint of the corresponding reading voltage trough position. Determine the optimal read offset based on at least one of the aforementioned offsets; Determining the optimal read offset based on at least one of the offsets includes: The optimal reading offset for the corresponding reading voltage is determined based on the offsets of the left end point, right end point, and midpoint of the trough position of the corresponding reading voltage. The optimal read offset for all read voltages is combined to obtain the optimal reread range.

2. The method for finding the optimal reread range based on voltage threshold data according to claim 1, characterized in that, Before determining the left endpoint, right endpoint, and midpoint of the trough of the corresponding reading voltage based on the at least one second threshold voltage data, the method further includes: The at least one second threshold voltage data is filtered to obtain at least one third voltage threshold data. Several voltage threshold data points within a preset width range are extracted from the at least one third voltage threshold data to obtain at least one voltage threshold data segment; The step of determining the left endpoint, right endpoint, and midpoint of the trough of the corresponding reading voltage based on the at least one second threshold voltage data includes: Based on the at least one voltage threshold data segment, determine the left endpoint, right endpoint, and midpoint of the corresponding reading voltage trough.

3. The method for finding the optimal reread range based on voltage threshold data according to claim 2, characterized in that, The step of determining the left endpoint, right endpoint, and midpoint of the trough of the corresponding reading voltage based on the at least one voltage threshold data segment includes: Find the minimum voltage threshold of the corresponding reading voltage in each of the at least one voltage threshold data segment; Based on the minimum voltage threshold, find the left endpoint, right endpoint, and midpoint of the corresponding reading voltage trough.

4. The method for finding the optimal reread range based on voltage threshold data according to claim 1, characterized in that, The step of extracting at least one first voltage threshold data to obtain at least one second voltage threshold data includes: In the at least one first voltage threshold data, voltage threshold data corresponding to a preset number of offset levels near the threshold voltage point of the corresponding reading voltage are extracted to obtain the at least one second voltage threshold data.

5. The method for finding the optimal reread range based on voltage threshold data according to any one of claims 1-4, characterized in that, The process of reading at least one read voltage threshold data from the flash memory chip to obtain at least one first voltage threshold data includes: The test voltage corresponding to the at least one read voltage of the flash memory chip is sent to the flash memory chip, wherein the test voltage corresponding to each read voltage includes 2n offset voltages obtained by offsetting n levels to the left and right respectively with the threshold voltage point corresponding to the read voltage as the center, where n is a positive integer; Obtain the raw data in the flash memory chip corresponding to each offset voltage of the at least one read voltage; The calculation result is obtained by performing an XOR operation on the raw data corresponding to each offset voltage and the raw data corresponding to its adjacent offset voltage. Based on the calculation results, the number of storage cells at each offset voltage is counted to obtain the original voltage threshold data of the at least one read voltage of the flash memory chip; The original voltage threshold data of the at least one read voltage is determined as the at least one first voltage threshold data.

6. A system for finding the optimal reread range based on voltage threshold data, characterized in that, The system includes: The raw voltage threshold data reading module is used to read the raw voltage threshold data of at least one read voltage of the flash memory chip to obtain at least one first voltage threshold data. A voltage threshold data extraction module is used to extract at least one first voltage threshold data respectively to obtain at least one second voltage threshold data; The voltage offset calculation module is used to obtain at least one trough position of the corresponding voltage based on the at least one second threshold voltage data, so as to obtain the offset of at least one trough position. When the read voltage offset calculation module performs the process of obtaining at least one trough position of the corresponding read voltage based on the at least one second threshold voltage data, in order to obtain the offset of at least one trough position, it is specifically used for: Based on the at least one second threshold voltage data, determine the left endpoint, right endpoint, and midpoint of the trough of the corresponding reading voltage; The left endpoint, right endpoint, and midpoint of the corresponding reading voltage trough are compared with the default trough position to obtain the offset of the left endpoint, right endpoint, and midpoint of the corresponding reading voltage trough position. An optimal read offset determination module is used to determine an optimal read offset based on at least one of the offsets; When the optimal read offset determination module performs the step of determining the optimal read offset based on at least one of the offsets, it is specifically used for: The optimal reading offset for the corresponding reading voltage is determined based on the offsets of the left end point, right end point, and midpoint of the trough position of the corresponding reading voltage. The optimal reread range generation module is used to combine the optimal read offset of all read voltages to obtain the optimal reread range.

7. The optimal reread range finding system based on voltage threshold data according to claim 6, characterized in that, The voltage offset calculation module is also used for: The at least one second threshold voltage data is filtered to obtain at least one third voltage threshold data. Several voltage threshold data points within a preset width range are extracted from the at least one third voltage threshold data to obtain at least one voltage threshold data segment; When the read voltage offset calculation module performs the process of determining the left endpoint, right endpoint, and midpoint of the corresponding read voltage trough based on at least one second threshold voltage data, it is specifically used for: Based on the at least one voltage threshold data segment, determine the left endpoint, right endpoint, and midpoint of the corresponding reading voltage trough.

8. An electronic device, characterized in that, The device includes a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the processor executes the computer program to implement the steps of the optimal reread gear finding method based on voltage threshold data as described in any one of claims 1-5.

9. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores a computer program that, when executed by a processor, implements the steps of the optimal reread gear finding method based on voltage threshold data as described in any one of claims 1-5.

Citation Information

Patent Citations

  • Gear shifting method and system for NAND rereading gear, and related assembly

    CN114049910A

  • Read sample offset placement

    US20210011657A1