CN117393025A - Method for generating data conforming to NAND data characteristic zone soft decision information - Google Patents

Method for generating data conforming to NAND data characteristic zone soft decision information Download PDF

Info

Publication number
CN117393025A
CN117393025A CN202311677375.7A CN202311677375A CN117393025A CN 117393025 A CN117393025 A CN 117393025A CN 202311677375 A CN202311677375 A CN 202311677375A CN 117393025 A CN117393025 A CN 117393025A
Authority
CN
China
Prior art keywords
data
bit
voltage threshold
soft decision
decision information
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN202311677375.7A
Other languages
Chinese (zh)
Other versions
CN117393025B (en
Inventor
冯立晖
廖莎
雷莉
王荣生
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hangzhou Amu Technology Co ltd
Original Assignee
Hangzhou Amu Technology Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hangzhou Amu Technology Co ltd filed Critical Hangzhou Amu Technology Co ltd
Priority to CN202311677375.7A priority Critical patent/CN117393025B/en
Publication of CN117393025A publication Critical patent/CN117393025A/en
Application granted granted Critical
Publication of CN117393025B publication Critical patent/CN117393025B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • G11C16/3404Convergence or correction of memory cell threshold voltages; Repair or recovery of overerased or overprogrammed cells
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • G11C29/38Response verification devices
    • G11C29/42Response verification devices using error correcting codes [ECC] or parity check
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Abstract

The invention discloses a method for generating data conforming to NAND data characteristic zone soft decision information, which comprises the following steps: erasing and wearing NAND flash memory particles; acquiring gear shifting read data; calculating an optimal voltage threshold value and optimal read data of the NAND flash memory particles; calculating gear shift read data; calculating the bit turnover number in the optimal read data; classifying the original data according to the different bit flip numbers of the data samples; counting marks of soft decision information on optimal read data, and dividing data in data quantity granularity into a plurality of classes; classifying the data of the plurality of types to obtain the proportion of sub-type data in the data of each type; and generating data with bit flipping and soft decision information by using the proportion of the sub-class data in the obtained various types of data and through a random number generator. The invention solves the problem that the traditional method is difficult to obtain a large amount of read data with soft decision information on NAND flash memory particles.

Description

Method for generating data conforming to NAND data characteristic zone soft decision information
Technical Field
The invention relates to the technical field of NAND flash memories, in particular to a method for generating data conforming to NAND data characteristic zone soft decision information.
Background
A solid state disk (Solid State Drive, abbreviated as SSD), also called a solid state drive, is a hard disk made of an array of solid state electronic memory chips (the memory array of which is NAND flash particles).
The characteristic of the NAND flash memory grain determines that the data written into the NAND flash memory grain can be bit reversed when being read again, and the NAND flash memory grain can be worn out along with the continuous writing and erasing of the NAND flash memory grain, so that the more serious the abrasion is, the more the bit is reversed. Based on the characteristic, each data page needs to be subjected to error correction decoding by an error correction algorithm when being read, otherwise, the correctness of the data cannot be ensured. However, the error correction capability of the error correction algorithm is not infinite, and a stronger error correction capability means that more data capacity is required to store the check data. How to maximize the error correction capability of the error correction algorithm in a limited space is an important content of SSD.
When there are too many data error bits within a data frame, hard decoding will lose the ability to protect the data. Compared with hard decoding, the soft decoding has stronger error correction capability, and at the moment, proper soft decision information can be obtained by reading the data on the NAND flash memory particles through gear shifting, the data with the soft decision information is used for soft decoding, and the protection capability of the data on the SSD is improved. For the error correction algorithm, it needs the data (bit flip data) of the whole life cycle of the SSD, especially enough data of the end of the life cycle thereof, especially some data frames with more bit flip, to verify the data protection capability of the SSD for the whole life cycle. Because of the need to have complete protection capability for each SSD, the actual wear test needs to be much larger than nominal.
The bit flipping of the NAND flash memory grain is random, the flipped bits can be randomly injected into the whole data frame through a random algorithm to obtain error data, and the bit flipping models of all the NAND flash memory grains can be considered to be similar. Different bit flip numbers of different periods of the NAND flash memory particles can be obtained by randomly filling errors in random data so as to verify the hard decision error correction capability of an error correction algorithm.
However, the soft-decision information features of different NAND flash memory particles may be very different, and different manufacturers, different generations, different models, etc. may all cause the NAND flash memory particles to exhibit different error characteristics, even different batches may all exhibit different error characteristics, so that their soft-decision data features have a large difference, and it is not possible to simply replace all the soft-decision information features of the NAND flash memory particles with the same model. Because the soft decision information of the NAND flash memory grain is strongly related to the bit inversion, the soft decision information of the NAND flash memory grain cannot be obtained simply by random error injection.
In the life cycle of an SSD, data reliability is critical for the user, and the user does not want the data written into the SSD to fail in any way, which requires the SSD to have a strong data protection capability. In the SSD test process, it is important to acquire data with soft decision information of NAND flash memory particles, and excellent error correction performance cannot be obtained only by means of hard decision data. In particular, in the middle and late stages of the NAND life cycle, hard decision data has failed to provide effective data protection capability, so it is necessary and important to acquire soft decision information of NAND. For the error correction algorithm, enough data with soft decision information is required to be acquired to verify the actual error correction capability of the error correction algorithm, so that the error correction algorithm is improved, and the data protection capability of the error correction algorithm in each period in the NAND life cycle is improved.
However, if it is difficult to obtain enough data with soft decision information on NAND, especially to obtain enough data of data pages with more error bits, such data frames are not so many even at the end of the life cycle of NAND. Assuming that enough data frames with error bits up to the threshold are to be acquired on the NAND, much more erasure wear will need to be done on the NAND over its life, which will greatly extend the test period of the NAND, increase the test complexity, and require a greater number of NAND samples. The higher the threshold for the error bit, the greater the overhead will be.
In practical application, if data with soft decision information at the end of the life cycle of the SSD needs to be obtained, the NAND flash memory particles need to be continuously erased and worn to reach an expected state. The expected state is that enough bit flips occur and then the data on these data pages are read and used to test the error correction algorithm. To achieve this state, two possible approaches exist as follows.
First, relatively little erasure wear occurs, and then the aging of the data, i.e., the data retention time, is accelerated by the high temperature. And after the NAND flash memory particles are subjected to erasing and wearing to reach a certain state (the certain state is that the error number of the data pages does not reach the expected state yet), the NAND flash memory particles are baked in a high-temperature environment, so that the NAND flash memory particles reach the expected state. The method has the advantages that: the wear frequency of NAND flash memory particles can be reduced, and the wear time is shortened. The disadvantages of this method are: after writing data, the data is baked in a high-temperature environment to reach an expected state, and the data is rewritten again after reading the data, so that the data needs to be baked repeatedly in a large-sample-size test, and the method is very time-consuming.
Second, the NAND flash particles are directly erased and worn to reach the expected state. The method has advantages over the first method in that the time for repeating high-temperature baking is omitted for obtaining enough data, the data can be repeatedly written and read, and the required data amount can be obtained more quickly than the first method, and has disadvantages in that the number of times of abrasion is much larger than that of the first method, particularly when a large sample amount is tested, the time for abrasion is very long, or a very large number of devices are required for increasing the sample amount to shorten the time.
Both methods have common disadvantages, that the errors of different data pages of the NAND flash memory particles are often different, the bit flip numbers are in a random distribution, when the sample size in the expected threshold reaches the expected value, other data which are not in the threshold range are often more than the data in the threshold range, and the effective data are in random distribution in the sample, so that the storage cost of the data is greatly increased. If the sample size needs to be increased by multiple times of reading and writing, the storage capacity of the read-write data is extremely huge.
Because the soft decision error correction capability of the error correction algorithm is strong, the soft decision error correction capability plays an important role at the end of the life cycle of the NAND flash memory granule, more bit flip in the data page is often required, and in the NAND flash memory granule, most of the data pages have better performance, and only a few data pages with bit flip reaching a threshold value are often obtained after a plurality of data blocks are erased and worn. Based on this, the erasure wear will greatly extend the test cycle.
Therefore, in the collection of data with soft decision information, how to acquire a large amount of effective soft decision information, how to shorten the NAND flash memory grain wear time, and how to reduce the data storage overhead are major problems.
The existing NAND flash memory particle data acquisition method with soft decision information needs to wear out the NAND flash memory particles for quite a long time and acquire quite a large data volume; or proper NAND flash memory particle wear is needed, and the high-temperature accelerated data aging program is performed for multiple times of reading and writing. The time cost for testing and the storage cost of test data are quite large, the probability of other risks in the testing process is also improved due to the lengthening of the testing period, the larger the data sample size requirement with soft judgment information is, the higher the corresponding risk is, so that the sample size of the data is affected, the damage risk of the test board card in the testing process is also improved, and the failure of the board card directly leads to the complete failure of the early test of the board card.
Disclosure of Invention
In order to overcome the defects of the technology, the invention provides a method for generating data which accords with NAND data characteristic zone soft decision information. The invention solves the problem that the traditional method is difficult to obtain a large amount of read data with soft decision information on NAND flash memory particles; the required data with soft decision information can be acquired on the basis of a limited data amount, and the decoding performance of the NAND data is approximated to that of the real NAND data. The invention greatly reduces the test amount of erasing abrasion, shortens the test time, and reduces the test amount and the test time, which means the reduction of the test risk; meanwhile, the error correction algorithm can also obtain more accurate error correction performance data.
The technical scheme adopted for overcoming the technical problems is as follows:
a method of generating data conforming to NAND data characteristic band soft decision information, comprising the steps of:
s1, erasing and wearing preset NAND flash memory particles to enable bits of part of data pages to be turned over within a preset threshold range;
s2, collecting read-write data on NAND flash memory particles: writing data first, and storing the written data; selecting an offset range and a gear of a voltage threshold value, and sequentially reading and storing the obtained data according to the selected gear, namely shifting and reading data;
s3, calculating an optimal voltage threshold value of the NAND flash memory particles and optimal read data under the optimal voltage threshold value;
s4, selecting a reading offset gear relative to an optimal voltage threshold value, and calculating gear offset reading data;
s5, calculating the bit flip number in the optimal read data: comparing the optimal read data with the write data, and acquiring the turnover number of each data bit through the granularity of the preset data quantity;
s6, counting bit turning of the data samples according to the granularity of the data quantity in the step S5, classifying the original data in the step S1 according to different bit turning quantity, and marking the classified data as first classification;
S7, counting marks of soft decision information on optimal read data, dividing data in data quantity granularity into a plurality of classes, and marking the classes as second classification;
s8, classifying the plurality of types of data obtained in the step S7 to obtain the proportion of sub-type data in each type of data, and marking the proportion as third classification;
s9, utilizing the proportion of sub-class data in the various types of data obtained by the third classification, and generating data with bit flipping and soft decision information through a random number generator.
Further, in step S2, a gear is selected according to the maximum adjustable gear of the NAND flash particles or a desired gear is selected according to a preset requirement.
Further, the step S3 specifically includes the steps of:
s3.1, selecting a voltage threshold deviation range of read data, wherein the voltage threshold deviation range of the selected read data is-r-0~s, and the estimated optimal voltage threshold is within the voltage threshold deviation range-r-0~s, wherein r and S are end values of a deviation gear and are positive integers;
s3.2, reading and storing data: in the same reading process, each voltage threshold adopts the same offset gear; then, different voltage threshold offsets are regulated, and data of each voltage threshold are read and stored according to a preset gear shifting method;
S3.3, sequentially calculating the optimal voltage threshold value of each voltage threshold value to form an optimal voltage threshold value table;
s3.4, judging an optimal voltage threshold value bit by bit: judging the type of the data bit to be recovered, judging which voltage threshold is used for reading the current bit data, and determining the optimal voltage threshold of the voltage threshold;
s3.5, finishing the recovery of the current bit data according to the optimal voltage threshold value of the voltage threshold value obtained in the step S3.4;
and S3.6, repeating the steps S3.4-S3.5, recovering one bit of data each time, sequentially analyzing and recovering the data bit by bit, and finally recovering the optimal read data of the NAND flash memory particles corresponding to the optimal voltage threshold granularity.
Further, in step S3.2, the preset gear shifting method at least includes shifting according to the gear with the same interval at each time and shifting according to a preset cycle rule, where (1) the data of each voltage threshold is read and stored according to the gear with the same interval at each time, specifically: reading the same gear in each gear shift, and setting the gear in each gear shift as a gear, wherein 0< a <17, the reading times of each voltage threshold corresponding to the reading method are (r+s+1)/a times, and the stored data are (r+s+1)/a; (2) The data of each voltage threshold value is read and stored by shifting according to a preset periodic rule, specifically: each shift is read according to a periodic rule, and each adjustment of b1, b2, … … and bx is set as a period to be circularly read for y times, wherein x is more than 0 and less than 17, bx is more than 0 and less than 17, y is more than 0 and less than 17, the reading times of each voltage threshold corresponding to the reading method are (b1+b2+ … … +bx) times, and the stored data are (b1+b2+ … … +bx) times.
Further, the step S4 specifically includes the steps of:
s4.1, selecting an offset gear required by soft decision information, wherein the offset gear is selected from voltage threshold offset ranges-r-0~s in the step S3;
s4.2, calculating an actual gear value for acquiring gear shift reading according to the selected shift gear and the optimal voltage threshold value obtained in the step S3, acquiring data of corresponding bits of corresponding gears from gear shift reading data bit by bit, acquiring one bit of data by calculation each time, and sequentially calculating to obtain the needed corresponding gear shift reading data;
and S4.3, repeating the step S4.2, and sequentially obtaining the read data corresponding to all the selected offset gears.
Further, the step S5 specifically includes the steps of:
and (3) determining data quantity granularity of data statistics, and comparing the optimal read data obtained in the step (S3) with the written data in the step (S2) to obtain the data bit turning number in each data quantity granularity.
Further, in step S6, the granularity of the data amount is set to be n bytes, m statistical units are all provided, the number of bit flip in the n bytes of the granularity of the data amount is set to be k, wherein, min is not less than k and not more than max, min is the minimum number of bit flip per unit in the m statistical units, and max is the maximum number of bit flip per unit in the m statistical units.
Further, in step S7, the data in the granularity of the data amount is at least divided into: the data of the bit not flipped and not marked with the soft decision information, the data of the bit not flipped and marked with the soft decision information, the data of the bit flipped and not marked with the soft decision information, the data of the bit flipped and marked with the soft decision information.
Further, in step S8, the third classification includes at least two methods:
classifying the interior of each type of data according to whether bits are overturned or not to obtain two major types of data, classifying subclasses of marking conditions of the two major types of data according to soft decision information, and respectively counting the proportion of each subclass of data in the two major types of data;
and classifying the interior of each type of data according to whether bits are turned over or not and whether the data are written in, so as to obtain four major types of data, namely, turning over the bits with the writing values of 1, turning over the bits with the writing values of 0 and turning over the bits with the writing values of 0, and then classifying the marking conditions of the four major types of data according to soft decision information, and counting the proportion of each sub type of data in the four major types of data.
Further, the step S9 specifically includes the steps of:
s9.1, determining the bit turning quantity to be injected;
s9.2, generating data of the whole data frame through a random number generator;
s9.3, generating bit overturn positions by using a random number generator, wherein the number of the bit overturn positions is the same as that determined in the step S9.1;
s9.4, according to the bit overturning position generated in the step S9.3, overturning the corresponding bit in the data frame generated in the step S9.2 to obtain a hard decision data frame with bit overturning;
s9.5, taking each major class as a complete normal distribution according to the proportion of the sub-class data in the various types of data obtained in the step S8, obtaining a probability density threshold value of each sub-class data through table lookup calculation, and calculating a corresponding cumulative distribution threshold value for each major class of data;
s9.6, analyzing the type of the current bit and the proportion interval of the data according to the classification obtained in the step S7 and the proportion of the sub-class data in the various types of data obtained in the step S8, generating random numbers in a positive-too distribution mode by using a random number generator, comparing the random numbers with a threshold value table corresponding to the current bit to determine the bit soft judgment information marking state, sequentially analyzing the data in the data frame bit by bit, marking the soft judgment information state of each bit, and finishing soft judgment information injection of the whole data frame.
The beneficial effects of the invention are as follows:
1. the method randomly generates read data with soft decision information based on the data characteristic relation between bit flipping and soft decision information of NAND flash memory particles; the invention can generate data with any data volume based on NAND flash memory particles and is used for the purposes of performance test of error correction algorithm and the like.
2. The invention simplifies the upper board test flow of data acquisition in the life cycle of the NAND flash memory particles, shortens the upper board test time, and increases the data sample size with soft decision information for the error correction algorithm without limitation, so that the error correction algorithm can obtain the error correction result close to the data on the NAND flash memory particles.
3. The invention greatly reduces the abrasion period of NAND flash memory particles, shortens the test period and reduces the risk of test failure. In the conventional test method, the NAND flash memory particles are required to be truly worn into a specified bit flip range to acquire data on the NAND flash memory particles, and further, the acquired data are utilized to perform further data analysis and test; the invention can extract the characteristics of the data in the corresponding range by only acquiring a small amount of data in the appointed range, and generate the required data with soft decision information by utilizing the characteristics.
4. The invention reduces the test data volume of NAND flash memory particles and reduces the data storage capacity, but can utilize the data characteristics to generate data with any capacity according to the requirement. In conventional testing, if data with required capacity is required to be obtained, a large number of tests are often required, and the test time and the data capacity are limited. If more data are needed next time, the test sample quantity is increased, so that the test flow is complex, and some differences are inevitably introduced in the two tests before and after; and limited by time, it is impossible to obtain infinite test capacity; meanwhile, as the test sample size increases, the storage cost of data will also increase linearly. The invention greatly reduces the test sample size, only needs to store the characteristics of the data, only needs to utilize the characteristics of the data to generate the data on line when in use, does not need to store the used data, avoids the storage cost of the data, and only needs to store the random number seed for generating the data if the data is really needed.
5. The invention fills the blank that the traditional method can not generate the data characteristics with soft decision information related to the NAND flash memory granule bit flip information; the invention can greatly shorten the time for testing the NAND flash memory particles and improve the testing efficiency.
Drawings
Fig. 1 is a flowchart of a method for generating data conforming to NAND data feature band soft decision information according to an embodiment of the present invention.
Fig. 2 is a schematic diagram of interval division of shift pair data according to an embodiment of the invention.
Detailed Description
The invention will now be described in further detail with reference to the drawings and the specific examples, which are given by way of illustration only and are not intended to limit the scope of the invention, in order to facilitate a better understanding of the invention to those skilled in the art.
As shown in fig. 1, the present invention proposes a method for generating data conforming to NAND data feature band soft decision information, comprising the steps of:
s1, erasing and wearing preset NAND flash memory particles to enable bits of part of data pages to be turned over within a preset threshold range;
s2, collecting read-write data on NAND flash memory particles: writing data first, and storing the written data; selecting an offset range and a gear of a voltage threshold value, and sequentially reading and storing the obtained data according to the selected gear, namely shifting and reading data;
s3, calculating an optimal voltage threshold value of the NAND flash memory particles and optimal read data under the optimal voltage threshold value;
s4, selecting a reading offset gear relative to an optimal voltage threshold value, and calculating gear offset reading data;
S5, calculating the bit flip number in the optimal read data: comparing the optimal read data with the write data, and acquiring the turnover number of each data bit through the granularity of the preset data quantity;
s6, counting bit turning of the data samples according to the granularity of the data quantity in the step S5, classifying the original data in the step S1 according to different bit turning quantity, and marking the classified data as first classification;
s7, counting marks of soft decision information on optimal read data, dividing data in data quantity granularity into a plurality of classes, and marking the classes as second classification;
s8, classifying the plurality of types of data obtained in the step S7 to obtain the proportion of sub-type data in each type of data, and marking the proportion as third classification;
s9, utilizing the proportion of sub-class data in the various types of data obtained by the third classification, and generating data with bit flipping and soft decision information through a random number generator.
For a better understanding of the above-described technical solutions, exemplary embodiments of the present invention will be described in detail below with reference to the accompanying drawings, but are merely exemplary embodiments of the present invention, however, it should be understood that the present invention may be implemented in various forms and is not limited to the embodiments described herein. These embodiments are provided so that this disclosure will be thorough and complete.
Specifically, the method for generating data conforming to the NAND data feature band soft decision information according to the present embodiment is not limited in application by NAND flash memory particles, and is not limited in application whether it is current SLC (single layer memory cell), MLC (double layer memory cell), TLC (three layer memory cell) and QLC (four layer memory cell) or flash memory particles with more bits stored in one unit pushed out later, and the specific procedure of the method for generating data conforming to the NAND data feature band soft decision information according to the present embodiment is as follows, as shown in fig. 1:
step S1, erasing and wearing preset NAND flash memory particles to enable bits of part of data pages to be turned over within a preset threshold range.
Specifically, since different types of NAND have different characteristics, it is necessary to simulate which NAND flash grain extracts data from the NAND flash grain, so that the predetermined NAND flash grain is worn out by erasing.
In addition, since the error distribution of different data pages in one data block is different, it is expected that 100% of the data pages are within the preset threshold range, which is helpful for increasing the data sample size, but the requirement is often not met, so that as many data pages as possible are within the preset threshold range, and if the sample size is insufficient, the data block can be increased.
Step S2, collecting read-write data on NAND flash memory particles: writing data first, and storing the written data; in this embodiment, a gear can be selected according to a maximum adjustable gear of NAND flash memory particles or a required gear can be selected according to a preset requirement, typically 128 gears are respectively arranged on the left and right sides of a single bit unit (SLC), 64 gears are respectively arranged on the left and right sides of a multi-bit unit (MLC, TLC, QLC, etc.), for example, the preset requirement is to reduce the data amount or calculate the range of soft decision information in this embodiment, and the required gear is to be selected according to the actual requirement. And then reading and storing the obtained data according to the selected gear in turn, namely, the gear shifting read data.
And S3, calculating the optimal voltage threshold value of the NAND flash memory particles and the optimal read data under the optimal voltage threshold value.
Specifically, in this embodiment, step S3 specifically includes the steps of:
s3.1, selecting a voltage threshold deviation range of read data, wherein the voltage threshold deviation range of the selected read data is-r-0~s, and the estimated optimal voltage threshold is within the voltage threshold deviation range-r-0~s, wherein r and S are end values of the deviation gear and are positive integers.
S3.2, reading and storing data: in the same reading process, each voltage threshold adopts the same offset gear; and then, adjusting different voltage threshold offsets, and reading and storing data of each voltage threshold according to a preset gear shifting method.
Wherein, the adjustment of different voltage threshold shifts is specifically: and shifting the left side of the factory preset voltage value by r gear and shifting the right side by s gear.
In the scheme of this embodiment, the preset gear shifting method at least includes two methods of shifting according to the same gear at each interval and shifting according to a preset cycle rule, and specifically includes the following steps:
(1) The data of each voltage threshold value is read and stored by shifting according to the same gear at each interval, specifically: and reading the same gear in each gear shift, and setting the gear in each gear shift as a gear, wherein 0< a <17, the reading times of each voltage threshold corresponding to the reading method are (r+s+1)/a times, and the stored data are (r+s+1)/a.
(2) The data of each voltage threshold value is read and stored by shifting according to a preset periodic rule, specifically: each shift is read according to a periodic rule, and each adjustment of b1, b2, … … and bx is set as a period to be circularly read for y times, wherein x is more than 0 and less than 17, bx is more than 0 and less than 17, y is more than 0 and less than 17, the reading times of each voltage threshold corresponding to the reading method are (b1+b2+ … … +bx) times, and the stored data are (b1+b2+ … … +bx) times.
And S3.3, sequentially calculating the optimal voltage threshold value of each voltage threshold value to form an optimal voltage threshold value table. Specifically, the optimal voltage threshold for each voltage threshold is calculated as: according to the sequence of the storage states of the flash memory particles provided by a flash memory manufacturer, calculating the sum of the respective state conversion numbers of two states at two sides of each voltage threshold from a gear-r to a gear S by using the stored writing data and the data stored in the step S3.2, and finding out the minimum value of the sum of the state conversion numbers in all the gears, namely the optimal voltage threshold of the currently read voltage threshold.
S3.4, judging an optimal voltage threshold value bit by bit: and judging the type of the data bit to be recovered, judging which voltage threshold is used for reading the data of the current bit by utilizing the values of other bits except the data of the current bit to be recovered in the written data, and acquiring the optimal voltage threshold of the voltage threshold from the optimal voltage threshold table obtained in the step S3.3.
And S3.5, extracting the bit data from the read data file corresponding to the optimal voltage threshold obtained in the step S3.2 according to the optimal voltage threshold of the voltage threshold obtained in the step S3.4, and completing the recovery of the current bit data.
And S3.6, repeating the steps S3.4-S3.5, recovering one bit of data each time, sequentially analyzing and recovering the data bit by bit, and finally recovering the optimal read data of the NAND flash memory particles corresponding to the optimal voltage threshold granularity.
And S4, selecting a reading offset gear relative to the optimal voltage threshold value, and calculating gear offset reading data.
Specifically, in this embodiment, the step S4 specifically includes the steps of:
s4.1, selecting an offset gear required by soft decision information, wherein the offset gear is selected from voltage threshold offset ranges-r-0~s in the step S3.
S4.2, calculating an actual gear value for acquiring gear shift reading according to the selected shift gear and the optimal voltage threshold value obtained in the step S3, acquiring data of corresponding bits of corresponding gears from gear shift reading data bit by bit, acquiring one bit of data by calculation each time, and sequentially calculating to obtain the needed corresponding gear shift reading data;
and S4.3, repeating the step S4.2, and sequentially obtaining the read data corresponding to all the selected offset gears.
Step S5, calculating the bit flip number in the optimal read data: and comparing the optimal read data with the write data, and acquiring the turnover number of each data bit through the granularity of the preset data quantity.
In this embodiment, step S5 specifically includes: determining data volume granularity of data statistics, and comparing the optimal read data obtained in the step S3 with the written data in the step S2 to obtain the data bit turning quantity in each data volume granularity, for example, the bit turning quantity of each data volume granularity can be 512B, 1KB, 2KB, 4KB and the like, and specifically, the data volume granularity is selected according to actual requirements.
And S6, counting bit turning of the data samples according to the granularity of the data quantity in the step S5, and classifying the original data in the step S1 according to different bit turning quantity to be marked as first classification.
Specifically, in the embodiment, in step S6, the granularity of the data amount is set to be n bytes, m statistical units are altogether, the number of bit flip in the n bytes of the granularity of the data amount is set to be k, where min is not less than k is not more than max, min is the minimum number of bit flip per unit in the m statistical units, and max is the maximum number of bit flip per unit in the m statistical units. If m statistical units are classified according to the difference of k values, the m statistical units can be classified into max-min+1 types. Besides classifying according to specific k values, the k values can be combined according to different numerical intervals to classify, and different classification methods have different data precision, so that NAND data models with different precision can be obtained.
And S7, counting marks of soft decision information on the optimal read data, dividing the data in the granularity of the data quantity into a plurality of classes, and marking the classes as second classification.
Specifically, the data within the data amount granularity is at least divided into: the data of the bit not flipped and not marked with the soft decision information, the data of the bit not flipped and marked with the soft decision information, the data of the bit flipped and not marked with the soft decision information, the data of the bit flipped and marked with the soft decision information.
For the case of multiple shift offset reads, the marked intervals of the data may be further refined. Taking a certain gear as an example, as shown in fig. 2, the five-gear read data can divide bits on two sides of the gear into six areas of interval 1, interval 2, interval 3, interval 4, interval 5 and interval 6, and bits 1 or 0 can be divided into six intervals by five gears. Taking bit 1 as an example, the sequence from left to right can be divided into: bit 1 is not flipped and is not marked with data of soft decision information, bit 1 is not flipped and is marked with data of weak soft decision information, bit 1 is not flipped and is marked with data of strong soft decision information, bit 1 is flipped and is marked with data of weak soft decision information, bit 1 is flipped and is not marked with data of soft decision information. Similarly, bit 0 from left to right may also be marked as: bit 0 flipped and not marked with soft decision information, bit 0 flipped and marked with weak soft decision information, bit 0 flipped and marked with strong soft decision information, bit 0 not flipped and marked with weak soft decision information, bit 0 not flipped and not marked with soft decision information.
According to the above classification method, the written value may not be distinguished, and only the two bits may be combined according to the soft decision information flag and the bit flip condition into: the method comprises the steps of bit non-flipped and not marked with soft decision information, bit non-flipped and marked with weak soft decision information, bit non-flipped and marked with strong soft decision information, bit flipped and marked with weak soft decision information, and bit flipped and not marked with soft decision information. The classification method is rough, the intervals can be further combined or combined during classification, the data are divided into models with different precision, for example, if the strength of soft decision information is divided into three-gear, the three-gear can be weakened into two-gear through a dimension combination method, and the classification method can be freely combined. According to this method, each gear data of each memory cell is classified, and all memory cells are classified.
And S8, classifying the plurality of types of data obtained in the step S7 to obtain the proportion of the sub-type data in the various types of data, and marking the proportion as the third classification.
In step S8, the third classification includes at least two methods:
Classifying the interior of each type of data according to whether bits are overturned or not to obtain two major types of data, classifying subclasses of marking conditions of the two major types of data according to soft decision information, and respectively counting the proportion of each subclass of data in the two major types of data;
and classifying the interior of each type of data according to whether bits are turned over or not and whether the data are written in, so as to obtain four major types of data, namely, turning over the bits with the writing values of 1, turning over the bits with the writing values of 0 and turning over the bits with the writing values of 0, and then classifying the marking conditions of the four major types of data according to soft decision information, and counting the proportion of each sub type of data in the four major types of data.
After being classified by the two classification methods in the third classification method, the data characteristics of the NAND flash memory particles are obtained, and the larger the data quantity of the original data is, the more the matched data characteristics are close to the real data of the NAND flash memory particles, so that the data characteristics close to the NAND flash memory particles can be matched by only finding proper data in practical application.
And S9, utilizing the proportion of sub-class data in the various types of data obtained by the third classification, and generating data with bit flipping and soft decision information through a random number generator.
The step S9 specifically includes the steps of:
s9.1, determining the bit turning quantity to be injected, wherein the bit turning quantity can be a fixed value or a value generated randomly or according to a certain rule from a specified range; wherein the number of bit flips to be injected is used for injection into the data frame generated in step S9.2.
S9.2, generating data of the whole data frame through a random number generator.
S9.3, generating bit flipping positions by using a random number generator, wherein the number of the bit flipping positions is the same as that determined in the step S9.1.
S9.4, according to the bit turning position generated in the step S9.3, turning the corresponding bit in the data frame generated in the step S9.2 to obtain a hard decision data frame with bit turning.
S9.5, taking each major class as a complete normal distribution according to the proportion of the sub-class data in the various types of data obtained in the step S8, obtaining a probability density threshold value of each sub-class data through table lookup calculation, and calculating a corresponding cumulative distribution threshold value for each major class of data.
S9.6, analyzing the type of the current bit and the proportion interval of the data according to the classification obtained in the step S7 and the proportion of the sub-class data in the various types of data obtained in the step S8, generating random numbers in a positive-too distribution mode by using a random number generator, comparing the random numbers with a threshold value table corresponding to the current bit to determine the bit soft judgment information marking state, sequentially analyzing the data in the data frame bit by bit, marking the soft judgment information state of each bit, and finishing soft judgment information injection of the whole data frame.
The data generated by the method of the invention is exactly matched with the data characteristics of NAND flash memory particles, the data generated in the step S9 is used as the input of an error correction algorithm and is used as the error correction performance test of the error correction algorithm, the error correction performance of the error correction algorithm on an error model is very similar to the error correction performance of the actual NAND flash memory particles, and the sample size of a data frame can be freely adjusted. In addition, the NAND flash memory granule data do not need to be stored, the needed data can be generated in real time, the data size is infinite theoretically, only the data characteristics need to be matched, and the later soft decision information aiming at the NAND flash memory granule does not need hardware to participate in generating the needed data.
After the method of the invention is utilized, the test time for acquiring the data with the soft decision information is greatly shortened, the wear period of NAND flash memory particles is shortened, the test flow is simplified, the test risk is effectively reduced, the test data volume is reduced, and the test data storage cost is reduced. The data protection capability of the NAND flash memory particles by the error correction algorithm can be truly measured according to the data characteristics of the NAND flash memory particles, and the SSD total erasing times in the protection range of the algorithm capability are calculated based on the error correction algorithm capability.
The following describes a method for generating data conforming to NAND data feature band soft decision information according to this embodiment by way of a specific example.
Step S1, assume that a preset wear state of the NAND flash memory particles is reached.
S2, writing data and storing the written data; and selecting gears needing to read data as-r-0~s, and obtaining r+s+1 parts of gear shifting read data.
Step S3, according to the written data and the data read during gear shifting in the step S2, calculating to obtain the voltage threshold with the optimal voltage threshold value being th, wherein th is an array, and the length is the read voltage number of the NAND flash memory particles, namely SLC is 1, MLC is 3, TLC is 7 and the like; the optimum read DATA data_th is obtained by calculation according to the optimum voltage threshold th.
Step S4, selecting shift reading offset gears corresponding to the optimal voltage threshold, and supposing that 4 groups of gears corresponding to the optimal voltage threshold th are respectively-2, -1, +1, +2.
And 4.1, taking the optimal voltage threshold value table as th, wherein the selected offset gears are respectively-2, -1, +1, +2 reading gears based on th.
And 4.2, shifting according to the optimal voltage threshold value table th, calculating an actual shifting reading gear value, and if three gears in th are respectively th= [ th1, th2 and th3], the shifting reading gear when shifting-2 is th_ -2= [ th1-2, th2-2 and th3-2], and calculating corresponding shifting reading data by using the gears.
And 4.3, repeating the step S4.2, and calculating and obtaining gear shift reading data at the positions of which the shifts are-1, +1 and +2.
Step S5, by comparing the optimal read DATA DATA_th with the write DATA, the number of bit flips per 1KB (i.e. 1KB of DATA size here) is calculated and counted.
Step S6, assuming that the counted number of the minimum bit turnover numbers per unit is min_th, and assuming that the counted number of the maximum bit turnover numbers per unit is max_th.
Step S7, assuming that two bits on both sides of each gear are combined and counted, the data on both sides of each gear can be classified as: the method comprises six types, namely, bit non-flipped and marked with soft decision information, bit non-flipped and marked with weak soft decision information, bit non-flipped and marked with strong soft decision information, bit flipped and marked with weak soft decision information, and bit flipped and not marked with soft decision information.
And S8, further classifying the data, classifying the non-flipped bits into one type, and classifying the flipped bits into one type. As shown in fig. 2, first, the data of bit 1 in section 5, section 3, section 1, and bit 0 in section 2, section 4, section 6 are classified into one type, and since the data of bit 1 and bit 0 are combined, the data can be classified into three subclasses according to step S7 in this type, namely, the data of section 5 and section 6 are classified into one group, the data of section 3 and section 4 are classified into one group, the data of section 1 and section 2 are classified into one group, denoted as [5,6] as one subclass, [3,4] as one subclass, [1,2] as one subclass, and the proportion of each subclass in the large class of data (i.e., the large class data of bit not flipped) is calculated respectively as follows: p0_56, p0_34, p0_12. Similarly, the data of bit flip in interval 2, interval 4, interval 6, and bit 0 in interval 5, interval 3, interval 1 are classified into another class, and there are three subclasses: [1,2] is a subclass, [3,4] is a subclass, [5,6] is a subclass, and the proportion of each subclass in the large class data (namely, the large class data with the bit flipped) is calculated respectively and is marked as p1_12, p1_34 and p1_56 respectively. The generated data features are p= [ [ p0_56, p0_34, p0_12], [ p1_12, p1_34, p1_56] ]. In practical use, some of the intervals may be combined and used, for example, p1= [ [ p0_56+p0_34, p0_12], [ p1_12, p1_34+p1_56] ], that is, when soft decision information is acquired, 4-gear soft decision information is used to read the gear, in practice, no such fine gear precision is needed, and a part of the gears may be combined according to practical needs, that is, a part of the subclasses are combined, and subclasses [3,4] and subclasses [5,6] are combined in this example.
Step S9, generating a required data frame with soft decision information.
Step 9.1, assuming that the data frame length is l, the bit flip number is a fixed value n, and n is more than or equal to 0 and less than or equal to l.
Step 9.2, generating a data frame L with a length L by using a random number generator.
And 9.3, generating a bit turning position array X with the element value not repeated by using a random number generator, wherein the array length is n.
And 9.4, turning over the bit value corresponding to X in the data frame L to obtain a hard decision data frame with bit turning.
In step 9.5, since the integral of the probability density function is a cumulative distribution function and ppf is equal to a point on the cumulative distribution function, the probability density threshold value of each subclass can be obtained by looking up the normal distribution table, and then the probability ppf value on the cumulative distribution function for obtaining the corresponding large class of data is calculated, so that P can be converted into ppf, ppf= [ [ ppf0_56, ppf0_34, ppf0_12], [ ppf1_12, ppf1_34, ppf1_56] ].
Step 9.6, calculating and injecting soft decision information bit by bit, generating random numbers in positive distribution by using a random number generator, judging whether each bit value is a bit turning position according to X, if not turning, determining a soft decision information interval by using the thresholds corresponding to the ppf0 group (namely [ ppf0_56, ppf0_34 and ppf0_12] in step 9.5), and injecting information into the corresponding bits in the data frame L, otherwise, using the thresholds corresponding to the ppf1 group (namely [ ppf1_12, ppf1_34 and ppf1_56] in step 9.5) as judgment processing, and performing the operation bit by bit to finish the generation of the data with the soft decision information.
Through the steps, the data frame with soft decision information, which is matched with the characteristics of the NAND flash memory granule data, can be obtained.
The foregoing has described only the basic principles and preferred embodiments of the present invention, and many variations and modifications will be apparent to those skilled in the art in light of the above description, which variations and modifications are intended to be included within the scope of the present invention.

Claims (10)

1. A method of generating data conforming to NAND data characteristic band soft decision information, comprising the steps of:
s1, erasing and wearing preset NAND flash memory particles to enable bits of part of data pages to be turned over within a preset threshold range;
s2, collecting read-write data on NAND flash memory particles: writing data first, and storing the written data; selecting an offset range and a gear of a voltage threshold value, and sequentially reading and storing the obtained data according to the selected gear, namely shifting and reading data;
s3, calculating an optimal voltage threshold value of the NAND flash memory particles and optimal read data under the optimal voltage threshold value;
s4, selecting a reading offset gear relative to an optimal voltage threshold value, and calculating gear offset reading data;
s5, calculating the bit flip number in the optimal read data: comparing the optimal read data with the write data, and acquiring the turnover number of each data bit through the granularity of the preset data quantity;
S6, counting bit turning of the data samples according to the granularity of the data quantity in the step S5, classifying the original data in the step S1 according to different bit turning quantity, and marking the classified data as first classification;
s7, counting marks of soft decision information on optimal read data, dividing data in data quantity granularity into a plurality of classes, and marking the classes as second classification;
s8, classifying the plurality of types of data obtained in the step S7 to obtain the proportion of sub-type data in each type of data, and marking the proportion as third classification;
s9, utilizing the proportion of sub-class data in the various types of data obtained by the third classification, and generating data with bit flipping and soft decision information through a random number generator.
2. The method of claim 1, wherein in step S2, a gear is selected according to a maximum adjustable gear of NAND flash particles or a desired gear is selected according to a predetermined requirement.
3. The method for generating data conforming to NAND data characteristic band soft decision information according to claim 1 wherein step S3 specifically comprises the steps of:
s3.1, selecting a voltage threshold deviation range of read data, wherein the voltage threshold deviation range of the selected read data is-r-0~s, and the estimated optimal voltage threshold is within the voltage threshold deviation range-r-0~s, wherein r and S are end values of a deviation gear and are positive integers;
S3.2, reading and storing data: in the same reading process, each voltage threshold adopts the same offset gear; then, different voltage threshold offsets are regulated, and data of each voltage threshold are read and stored according to a preset gear shifting method;
s3.3, sequentially calculating the optimal voltage threshold value of each voltage threshold value to form an optimal voltage threshold value table;
s3.4, judging an optimal voltage threshold value bit by bit: judging the type of the data bit to be recovered, judging which voltage threshold is used for reading the current bit data, and determining the optimal voltage threshold of the voltage threshold;
s3.5, finishing the recovery of the current bit data according to the optimal voltage threshold value of the voltage threshold value obtained in the step S3.4;
and S3.6, repeating the steps S3.4-S3.5, recovering one bit of data each time, sequentially analyzing and recovering the data bit by bit, and finally recovering the optimal read data of the NAND flash memory particles corresponding to the optimal voltage threshold granularity.
4. The method for generating data conforming to NAND data feature band soft decision information according to claim 3, wherein in step S3.2, the preset shift method at least includes shifting according to the same shift every time interval and shifting according to a preset periodic rule, wherein (1) data of each voltage threshold is read and stored according to the same shift every time interval, specifically: reading the same gear in each gear shift, and setting the gear in each gear shift as a gear, wherein 0< a <17, the reading times of each voltage threshold corresponding to the reading method are (r+s+1)/a times, and the stored data are (r+s+1)/a; (2) The data of each voltage threshold value is read and stored by shifting according to a preset periodic rule, specifically: each shift is read according to a periodic rule, and each adjustment of b1, b2, … … and bx is set as a period to be circularly read for y times, wherein x is more than 0 and less than 17, bx is more than 0 and less than 17, y is more than 0 and less than 17, the reading times of each voltage threshold corresponding to the reading method are (b1+b2+ … … +bx) times, and the stored data are (b1+b2+ … … +bx) times.
5. The method of generating data conforming to NAND data characteristic band soft decision information as recited in claim 3, wherein step S4 specifically comprises the steps of:
s4.1, selecting an offset gear required by soft decision information, wherein the offset gear is selected from voltage threshold offset ranges-r-0~s in the step S3;
s4.2, calculating an actual gear value for acquiring gear shift reading according to the selected shift gear and the optimal voltage threshold value obtained in the step S3, acquiring data of corresponding bits of corresponding gears from gear shift reading data bit by bit, acquiring one bit of data by calculation each time, and sequentially calculating to obtain the needed corresponding gear shift reading data;
and S4.3, repeating the step S4.2, and sequentially obtaining the read data corresponding to all the selected offset gears.
6. The method for generating data conforming to NAND data characteristic band soft decision information according to claim 1 wherein step S5 specifically comprises the steps of:
and (3) determining data quantity granularity of data statistics, and comparing the optimal read data obtained in the step (S3) with the written data in the step (S2) to obtain the data bit turning number in each data quantity granularity.
7. The method of generating data conforming to NAND data feature band soft decision information according to claim 1, wherein in step S6, the granularity of the data amount is set to n bytes, m statistical units are taken as a total, the number of bit flip in the n bytes of the granularity of the data amount is set to k, where min is equal to or less than k is equal to max, min is the minimum number of bit flip per unit in m statistical units, and max is the maximum number of bit flip per unit in m statistical units.
8. The method for generating data conforming to NAND data characteristic band soft decision information according to claim 1, wherein in step S7, the data in the granularity of the data amount is divided into at least: the data of the bit not flipped and not marked with the soft decision information, the data of the bit not flipped and marked with the soft decision information, the data of the bit flipped and not marked with the soft decision information, the data of the bit flipped and marked with the soft decision information.
9. The method of generating data conforming to NAND data characteristic band soft decision information of claim 1 wherein in step S8, the third classification comprises at least two methods:
classifying the interior of each type of data according to whether bits are overturned or not to obtain two major types of data, classifying subclasses of marking conditions of the two major types of data according to soft decision information, and respectively counting the proportion of each subclass of data in the two major types of data;
and classifying the interior of each type of data according to whether bits are turned over or not and whether the data are written in, so as to obtain four major types of data, namely, turning over the bits with the writing values of 1, turning over the bits with the writing values of 0 and turning over the bits with the writing values of 0, and then classifying the marking conditions of the four major types of data according to soft decision information, and counting the proportion of each sub type of data in the four major types of data.
10. The method for generating data conforming to NAND data characteristic band soft decision information according to claim 1 wherein step S9 specifically comprises the steps of:
s9.1, determining the bit turning quantity to be injected;
s9.2, generating data of the whole data frame through a random number generator;
s9.3, generating bit overturn positions by using a random number generator, wherein the number of the bit overturn positions is the same as that determined in the step S9.1;
s9.4, according to the bit overturning position generated in the step S9.3, overturning the corresponding bit in the data frame generated in the step S9.2 to obtain a hard decision data frame with bit overturning;
s9.5, taking each major class as a complete normal distribution according to the proportion of the sub-class data in the various types of data obtained in the step S8, obtaining a probability density threshold value of each sub-class data through table lookup calculation, and calculating a corresponding cumulative distribution threshold value for each major class of data;
s9.6, analyzing the type of the current bit and the proportion interval of the data according to the classification obtained in the step S7 and the proportion of the sub-class data in the various types of data obtained in the step S8, generating random numbers in a positive-too distribution mode by using a random number generator, comparing the random numbers with a threshold value table corresponding to the current bit to determine the bit soft judgment information marking state, sequentially analyzing the data in the data frame bit by bit, marking the soft judgment information state of each bit, and finishing soft judgment information injection of the whole data frame.
CN202311677375.7A 2023-12-08 2023-12-08 Method for generating data conforming to NAND data characteristic zone soft decision information Active CN117393025B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311677375.7A CN117393025B (en) 2023-12-08 2023-12-08 Method for generating data conforming to NAND data characteristic zone soft decision information

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311677375.7A CN117393025B (en) 2023-12-08 2023-12-08 Method for generating data conforming to NAND data characteristic zone soft decision information

Publications (2)

Publication Number Publication Date
CN117393025A true CN117393025A (en) 2024-01-12
CN117393025B CN117393025B (en) 2024-03-15

Family

ID=89472383

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311677375.7A Active CN117393025B (en) 2023-12-08 2023-12-08 Method for generating data conforming to NAND data characteristic zone soft decision information

Country Status (1)

Country Link
CN (1) CN117393025B (en)

Citations (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20070111079A (en) * 2006-05-16 2007-11-21 원광대학교산학협력단 Apparatus and method for iterative decoding stop control using variance values of noise in turbo decoder
KR20150091693A (en) * 2014-02-03 2015-08-12 삼성전자주식회사 Read method of flash memory
US20160006462A1 (en) * 2014-07-07 2016-01-07 Ocz Storage Solutions, Inc. Non-volatile memory controller with error correction (ecc) tuning via error statistics collection
WO2017092239A1 (en) * 2015-11-30 2017-06-08 华为技术有限公司 Flash memory error correction method and device thereof
CN110515760A (en) * 2019-08-29 2019-11-29 北京计算机技术及应用研究所 A kind of LDPC flash error correction method based on machine learning
CN111446970A (en) * 2020-02-11 2020-07-24 上海威固信息技术股份有限公司 Method for preprocessing low-density parity check code decoding soft decision information
CN111679934A (en) * 2020-08-13 2020-09-18 杭州阿姆科技有限公司 RAID information-based error correction method, computer-readable storage medium and processor
CN112929033A (en) * 2021-01-26 2021-06-08 福州大学 Deep learning-based optimization method for MLC type NAND flash memory Polar-RNNA quantizer
CN114078560A (en) * 2021-10-22 2022-02-22 北京得瑞领新科技有限公司 Error correction decoding method of NAND flash memory chip, storage medium and SSD device
CN114639436A (en) * 2022-03-10 2022-06-17 山东大学 Flash memory chip data reading method
CN114724602A (en) * 2022-03-07 2022-07-08 北京得瑞领新科技有限公司 Method and device for verifying decoding capability of low-density check code and computer equipment
CN115295057A (en) * 2022-09-29 2022-11-04 杭州阿姆科技有限公司 Method for rapidly acquiring NAND optimal read data
CN116343893A (en) * 2021-12-15 2023-06-27 三星电子株式会社 Method of Error Correction Code (ECC) decoding and memory system for performing the same
CN117130822A (en) * 2023-10-24 2023-11-28 杭州阿姆科技有限公司 Method and system for predicting NAND flash data errors

Patent Citations (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20070111079A (en) * 2006-05-16 2007-11-21 원광대학교산학협력단 Apparatus and method for iterative decoding stop control using variance values of noise in turbo decoder
KR20150091693A (en) * 2014-02-03 2015-08-12 삼성전자주식회사 Read method of flash memory
US20160006462A1 (en) * 2014-07-07 2016-01-07 Ocz Storage Solutions, Inc. Non-volatile memory controller with error correction (ecc) tuning via error statistics collection
WO2017092239A1 (en) * 2015-11-30 2017-06-08 华为技术有限公司 Flash memory error correction method and device thereof
CN110515760A (en) * 2019-08-29 2019-11-29 北京计算机技术及应用研究所 A kind of LDPC flash error correction method based on machine learning
CN111446970A (en) * 2020-02-11 2020-07-24 上海威固信息技术股份有限公司 Method for preprocessing low-density parity check code decoding soft decision information
CN111679934A (en) * 2020-08-13 2020-09-18 杭州阿姆科技有限公司 RAID information-based error correction method, computer-readable storage medium and processor
CN112929033A (en) * 2021-01-26 2021-06-08 福州大学 Deep learning-based optimization method for MLC type NAND flash memory Polar-RNNA quantizer
CN114078560A (en) * 2021-10-22 2022-02-22 北京得瑞领新科技有限公司 Error correction decoding method of NAND flash memory chip, storage medium and SSD device
CN116343893A (en) * 2021-12-15 2023-06-27 三星电子株式会社 Method of Error Correction Code (ECC) decoding and memory system for performing the same
CN114724602A (en) * 2022-03-07 2022-07-08 北京得瑞领新科技有限公司 Method and device for verifying decoding capability of low-density check code and computer equipment
CN114639436A (en) * 2022-03-10 2022-06-17 山东大学 Flash memory chip data reading method
CN115295057A (en) * 2022-09-29 2022-11-04 杭州阿姆科技有限公司 Method for rapidly acquiring NAND optimal read data
CN117130822A (en) * 2023-10-24 2023-11-28 杭州阿姆科技有限公司 Method and system for predicting NAND flash data errors

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
金令旭;张有光;康旺;: "一种降低NAND Flash滞留错误的纠错方案", 通信技术, no. 12, 10 December 2012 (2012-12-10) *

Also Published As

Publication number Publication date
CN117393025B (en) 2024-03-15

Similar Documents

Publication Publication Date Title
US9153336B1 (en) Decoder parameter estimation using multiple memory reads
Parnell et al. Modelling of the threshold voltage distributions of sub-20nm NAND flash memory
US8799563B2 (en) Methods for adaptively programming flash memory devices and flash memory systems incorporating same
US8693258B2 (en) Obtaining soft information using a hard interface
US6963505B2 (en) Method circuit and system for determining a reference voltage
CN101529526B (en) Method for estimating and reporting the life expectancy of flash-disk memory
CN111341375B (en) Threshold voltage obtaining method for TLC type NAND Flash
CN109887537B (en) LDPC code decoding method based on threshold voltage drift sensing
CN111309544B (en) Prediction modeling and applying method for influence of multidimensional factors on read reference voltage
Taranalli et al. Channel models for multi-level cell flash memories based on empirical error analysis
CN104112477B (en) For group&#39;s differentiating method of crystal unit in solid state storage device
US20190279724A1 (en) Memory system, read method, program, and memory controller
CN115295057B (en) Method for rapidly acquiring NAND optimal read data
Wang et al. Understanding the impact of threshold voltage on mlc flash memory performance and reliability
US11789640B2 (en) Estimation of read level thresholds using a data structure
CN108647109A (en) A kind of method that solid state disk promotes LDPC error correcting capabilities
US20120117432A1 (en) Test apparatus
CN111813591A (en) Data error correction method and device for Nand Flash, electronic equipment and storage medium
CN117393025B (en) Method for generating data conforming to NAND data characteristic zone soft decision information
CN117130822A (en) Method and system for predicting NAND flash data errors
CN109871594A (en) A kind of NAND Flash characteristic model method for building up
Li et al. Exploiting metadata to estimate read reference voltage for 3-D nand flash memory
US8717827B1 (en) Method for the permanently reliable programming of multilevel cells in flash memories
CN113241112B (en) Bad block screening method and device, computer readable storage medium and electronic equipment
CN115470052A (en) Bad block detection method and device for memory chip and storage medium

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant