Some of the embodiments of the present disclosure provide a system, device and a method performing N read cycles on a plurality of memory cells of a memory sector, wherein N is an integer greater than one; constructing (N+1) bin histograms based at least in part on performing the N read cycles; identifying a shortest bin histogram of the (N+1) bin histograms; and based on a height of the shortest histogram, assigning a log-likelihood ratio (LLR) to the shortest bin histogram. Other embodiments are also described and claimed.
|
1. A method comprising:
performing a plurality of read cycles on a plurality of memory cells of a memory;
based on performing the plurality of read cycles on the plurality of memory cells of the memory, constructing a plurality of bin histograms, wherein each bin histogram of the plurality of bin histograms is associated with two corresponding threshold voltages, and wherein each bin histogram of the plurality of bin histograms reflects a count of memory cells of the memory that stores a voltage that is within the two corresponding threshold voltages associated with the corresponding bin histogram;
identifying a first bin histogram of the plurality of bin histograms, wherein the plurality of bin histograms comprises (i) the first bin histogram and (ii) a plurality of neighboring bin histograms that neighbors the first bin histogram; and
based on the plurality of neighboring bin histograms that neighbors the first bin histogram, determining a first log-likelihood ratio (LLR) for the first bin histogram,
wherein the first LLR for the first bin histogram reflects a probability of the memory cells of the memory, which stores the voltage that is within the two corresponding threshold voltages associated with the first bin histogram, storing bit 0 or bit 1.
11. A memory system comprising:
a memory comprising a plurality of memory cells;
a read module configured to
perform a plurality of read cycles on the plurality of memory cells of the memory,
based on performing the plurality of read cycles on the plurality of memory cells of the memory, construct a plurality of bin histograms, wherein each bin histogram of the plurality of bin histograms is associated with two corresponding threshold voltages, and wherein each bin histogram of the plurality of bin histograms reflects a count of memory cells of the memory that stores a voltage that is within the two corresponding threshold voltages associated with the corresponding bin histogram,
identify a first bin histogram of the plurality of bin histograms, wherein the plurality of bin histograms comprises (i) the first bin histogram and (ii) a plurality of neighboring bin histograms that neighbors the first bin histogram, and
based on the plurality of neighboring bin histograms that neighbors the first bin histogram, determine a first log-likelihood ratio (LLR) for the first bin histogram, wherein the first LLR for the first bin histogram reflects a probability of the memory cells of the memory, which stores the voltage that is within the two corresponding threshold voltages associated with the first bin histogram, storing bit 0 or bit 1.
2. The method of
for each bin histogram of the plurality of bin histograms, determining a corresponding LLR;
based on determining the corresponding LLR for each bin histogram of the plurality of bin histograms, estimating LLRs for each of the plurality of memory cells; and
based on estimating the LLRs for each of the plurality of memory cells, decoding data bits associated with the plurality of memory cells.
3. The method of
identifying the first bin histogram of the plurality of bin histograms such that the first bin histogram has a shortest height among heights associated with the plurality of bin histograms.
4. The method of
based on a height of the first histogram, determining the first LLR for the first bin histogram.
5. The method of
determining the first LLR for the first bin histogram such that (i) a magnitude of the first LLR is based on a height of the first bin histogram and (ii) a sign of the first LLR is based on the plurality of neighboring bin histograms that neighbors the first bin histogram.
6. The method of
each bin histogram of the plurality of bin histograms has a corresponding height;
a first neighboring bin histogram and a second neighboring bin histogram of the plurality of neighboring bin histograms are immediately adjacent to the first bin histogram;
the first neighboring bin histogram is assigned a first sign;
the second neighboring bin histogram is assigned a second sign that is opposite of the first sign, wherein the first sign is one of a positive sign and a negative sign, and the second sign is another of the positive sign and the negative sign; and
wherein determining the first LLR for the first bin histogram further comprises
comparing a height of the first neighboring bin histogram with a height of the second neighboring bin histogram, and
based on comparing the height of the first neighboring bin histogram with the height of the second neighboring bin histogram, determining a sign of the first LLR to be one of the first sign and the second sign.
7. The method of
based on comparing the height of the first neighboring bin histogram with the height of the second neighboring bin histogram, determining that the height of the first neighboring bin histogram is higher than the height of the second neighboring bin histogram; and
based on determining that the height of the first neighboring bin histogram is higher than the height of the second neighboring bin histogram, assigning the first sign of the first neighboring bin histogram to the first LLR.
8. The method of
a first subset of the plurality of neighboring bin histograms is on a first side of the first bin histogram;
a second subset of the plurality of neighboring bin histograms is on a second side of the first bin histogram, the first side being opposite to the second side; and
wherein determining the first LLR for the first bin histogram further comprises
comparing (i) a number of bin histograms in the first subset of the plurality neighboring bin histograms and (ii) a number of bin histograms in the second subset of the plurality neighboring bin histograms, and
based on comparing (i) the number of bin histograms in the first subset of the plurality neighboring bin histograms and (ii) the number of bin histograms in the second subset of the plurality neighboring bin histograms, determining a sign of the first LLR to be one of the first sign and the second sign.
9. The method of
each bin histogram in the first subset of the plurality neighboring bin histograms is assigned a first sign;
each bin histogram in the second subset of the plurality neighboring bin histograms is assigned a second sign that is opposite of the first sign, wherein the first sign is one of a positive sign and a negative sign, and the second sign is another of the positive sign and the negative sign; and
wherein determining the first LLR for the first bin histogram further comprises
based on comparing (i) the number of bin histograms in the first subset of the plurality neighboring bin histograms and (ii) the number of bin histograms in the second subset of the plurality neighboring bin histograms, determining that the number of bin histograms in the first subset of the plurality neighboring bin histograms is higher than the number of bin histograms in the second subset of the plurality neighboring bin histograms, and
based on determining that the number of bin histograms in the first subset of the plurality neighboring bin histograms is higher than the number of bin histograms in the second subset of the plurality neighboring bin histograms, assigning the first sign to the first LLR.
10. The method of
if a height of the first bin histogram is smaller than a threshold number, determining that first LLR such that the first LLR has a value of zero; and
if a height of the first bin histogram is higher than the threshold number, determining that first LLR such that the first LLR has a non-zero value.
12. The memory system of
an iterative decoder,
wherein the read module is further configured to
for each bin histogram of the plurality of bin histograms, determine a corresponding LLR, and
based on determining the corresponding LLR for each bin histogram of the plurality of bin histograms, estimate LLRs for each of the plurality of memory cells, and
wherein the iterative decoder is configured to
based on the LLRs estimated for each of the plurality of memory cells, decode data bits associated with the plurality of memory cells.
13. The memory system of
identifying the first bin histogram of the plurality of bin histograms such that the first bin histogram has a shortest height among heights associated with the plurality of bin histograms.
14. The memory system of
based on a height of the first histogram, determining the first LLR for the first bin histogram.
15. The memory system of
determining the first LLR for the first bin histogram such that (i) a magnitude of the first LLR is based on a height of the first bin histogram and (ii) a sign of the first LLR is based on the plurality of neighboring bin histograms that neighbors the first bin histogram.
16. The memory system of
each bin histogram of the plurality of bin histograms has a corresponding height;
a first neighboring bin histogram and a second neighboring bin histogram of the plurality of neighboring bin histograms are immediately adjacent to the first bin histogram;
the first neighboring bin histogram is assigned a first sign;
the second neighboring bin histogram is assigned a second sign that is opposite of the first sign, wherein the first sign is one of a positive sign and a negative sign, and the second sign is another of the positive sign and the negative sign; and
wherein the read module is configured to determine the first LLR for the first bin histogram by
comparing a height of the first neighboring bin histogram with a height of the second neighboring bin histogram, and
based on comparing the height of the first neighboring bin histogram with the height of the second neighboring bin histogram, determining a sign of the first LLR to be one of the first sign and the second sign.
17. The memory system of
based on comparing the height of the first neighboring bin histogram with the height of the second neighboring bin histogram, determining that the height of the first neighboring bin histogram is higher than the height of the second neighboring bin histogram; and
based on determining that the height of the first neighboring bin histogram is higher than the height of the second neighboring bin histogram, assigning the first sign of the first neighboring bin histogram to the first LLR.
18. The memory system of
a first subset of the plurality of neighboring bin histograms is on a first side of the first bin histogram;
a second subset of the plurality of neighboring bin histograms is on a second side of the first bin histogram, the first side being opposite to the second side; and
wherein the read module is configured to determine the first LLR for the first bin histogram by
comparing (i) a number of bin histograms in the first subset of the plurality neighboring bin histograms and (ii) a number of bin histograms in the second subset of the plurality neighboring bin histograms, and
based on comparing (i) the number of bin histograms in the first subset of the plurality neighboring bin histograms and (ii) the number of bin histograms in the second subset of the plurality neighboring bin histograms, determining a sign of the first LLR to be one of the first sign and the second sign.
19. The memory system of
each bin histogram in the first subset of the plurality neighboring bin histograms is assigned a first sign;
each bin histogram in the second subset of the plurality neighboring bin histograms is assigned a second sign that is opposite of the first sign, wherein the first sign is one of a positive sign and a negative sign, and the second sign is another of the positive sign and the negative sign; and
wherein the read module is configured to determine the first LLR for the first bin histogram by
based on comparing (i) the number of bin histograms in the first subset of the plurality neighboring bin histograms and (ii) the number of bin histograms in the second subset of the plurality neighboring bin histograms, determining that the number of bin histograms in the first subset of the plurality neighboring bin histograms is higher than the number of bin histograms in the second subset of the plurality neighboring bin histograms, and
based on determining that the number of bin histograms in the first subset of the plurality neighboring bin histograms is higher than the number of bin histograms in the second subset of the plurality neighboring bin histograms, assigning the first sign to the first LLR.
20. The memory system of
if a height of the first bin histogram is smaller than a threshold number, determining that first LLR such that the first LLR has a value of zero; and
if a height of the first bin histogram is higher than the threshold number, determining that first LLR such that the first LLR has a non-zero value.
|
The present disclosure is a continuation of and claims priority to U.S. patent application Ser. No. 13/781,359, filed Feb. 28, 2013, now U.S. Pat. No. 8,621,334, issued Dec. 31, 2013, which is a continuation of and claims priority to U.S. patent application Ser. No. 12/901,357, filed Oct. 8, 2010, now U.S. Pat. No. 8,392,809, issued Mar. 5, 2013, which claims priority to U.S. Provisional Patent Application No. 61/252,500, filed Oct. 16, 2009, which are incorporated herein by reference.
Embodiments of this disclosure relate to log-likelihood ratio (LLR) tables in general, and more specifically, to calibration of log-likelihood ratio (LLR) tables.
The background description provided herein is for the purpose of generally presenting the context of the disclosure. Work of the presently named inventor, to the extent it is described in this background section, as well as aspects of the description that may not otherwise qualify as prior art at the time of filing, are neither expressly nor impliedly admitted as prior art against the present disclosure.
In a memory (data storage) system, data is usually encoded using an appropriate encoder. Encoded data is written in a memory, and the written data is read from the memory at a later time. The read data can be corrupted by, for example, error during the write, retention and/or read operations.
A read operation (e.g., a read operation in systems with soft decoding algorithms) usually involves estimating soft information such as log-likelihood ratios (LLR) for data bits read from the memory. The LLRs are indicative of a confidence in zero (‘0’) or one (‘1’) for each data bit read from the memory. A decoder decodes the data based on the estimated LLRs for the data bits. Estimation of LLRs directly affects the decoder performance, and the performance of the memory system.
In various embodiments, the present disclosure provides a method comprising performing N read cycles on a plurality of memory cells of a memory sector, wherein N is an integer greater than one; constructing (N+1) bin histograms based at least in part on performing the N read cycles; identifying a shortest bin histogram of the (N+1) bin histograms; and based on a height of the shortest histogram, assigning a log-likelihood ratio (LLR) to the shortest bin histogram. There is also provided a memory system comprising a memory comprising a plurality of memory sectors, each sector including a plurality of memory cells; a read module comprising a log-likelihood ratio (LLR) determination module; and an iterative decoder; wherein the LLR module is configured to perform N read cycles on the plurality of memory cells of a first memory sector, wherein N is an integer and is greater than one, construct (N+1) bin histograms based at least in part on performing the N read cycles, identify a shortest bin histogram of the (N+1) bin histograms, and assign an LLR to the shortest bin histogram based at least in part on a height of the shortest bin histogram. There is also provided a method comprising performing N read cycles on a plurality of memory cells of a memory sector, wherein N is an integer and is greater than one, constructing (N+1) bin histograms based at least in part on performing the N read cycles; identifying a shortest bin histogram of the (N+1) bin histograms; attempting to decode data bits associated with the plurality of memory cells, based at least in part on constructing the (N+1) bin histograms; in response to a failure in decoding the data bits and if a height of the shortest bin histogram is larger than a threshold number, performing a (N+1)th read cycle on the plurality of memory cells such that a (N+1)th threshold voltage level, associated with the (N+1)th read cycle, splits the shortest bin histogram.
In the following detailed description, reference is made to the accompanying drawings which form a part hereof wherein like numerals designate like parts throughout, and in which is shown by way of illustration embodiments in which the teachings of this disclosure may be practiced. It is to be understood that other embodiments may be utilized and structural or logical changes may be made without departing from the scope of this disclosure. Therefore, the following detailed description is not to be taken in a limiting sense, and the scope of embodiments in accordance with the present disclosure is defined by the appended claims and their equivalents.
Various operations may be described as multiple discrete operations in turn, in a manner that may be helpful in understanding embodiments of the present disclosure; however, the order of description should not be construed to imply that these operations are order dependent.
The description may use the phrases “in an embodiment,” or “in embodiments,” which may each refer to one or more of the same or different embodiments. The phrase “in some embodiments” is used repeatedly. The phrase generally does not refer to the same embodiments; however, it may. The terms “comprising,” “having,” and “including” are synonymous, unless the context dictates otherwise. The phrase “A and/or B” means (A), (B), or (A and B). The phrase “A/B” means (A), (B), or (A and B), similar to the phrase “A and/or B.” The phrase “at least one of A, B and C” means (A), (B), (C), (A and B), (A and C), (B and C) or (A, B and C). The phrase “(A) B” means (B) or (A and B), that is, A is optional.
Before the received data is written in the memory 24, the received data is encrypted using an encryptor 12, is encoded using a cyclic redundancy check (CDC) encoder 16, and/or is further encoded using an iterative encoder 20. In various embodiments, the encryptor 12 and/or the CRC encoder 16 are not present in the memory system 10. Data written in the memory 24 is read by a read module 26, which includes a log-likelihood ratio (LLR) determination module 28. An iterative decoder 32 receives an output of the read module 26, and decodes the received data, which is further decoded using a CRC decoder 36. A decryption module 40 decrypts the decoded data received from the CRC decoder 36, and outputs the decrypted data (labeled as “data out” in
In various embodiments, the memory 24 is an electrically-erasable programmable read-only memory (EEPROM), e.g., a flash memory. Although not illustrated in
During a read cycle, the read module 26 applies a threshold voltage to individual memory cells of a memory sector. For a given memory cell, the read module 24 determines whether a voltage level of the memory cell is higher or lower compared to the applied threshold voltage. Based on this determination, the read module 26 estimates whether a bit zero or a bit one is stored in the memory cell. Thus, a read cycle is associated with a threshold voltage, which is applied to the memory cells of a memory sector during the read cycle.
In case a decoding operation fails after a first read cycle (which is associated with a first threshold voltage), a second read cycle (which is associated with a second threshold voltage) is performed, during which the second threshold voltage is applied to the memory cells of the memory sector, where the first threshold voltage is different from the second threshold voltage. Thus, at least in part on a failure of decoding operation after a read cycle, one or more subsequent read cycles (associated with corresponding one or more threshold voltages) are performed, as will be disclosed in more detail herein later.
To increase an operational speed of the memory system 10, data is read from the memory 24 in a fast read mode (also referred to as regular read mode, or on-the-fly mode), and/or in a recovery mode (also referred to as re-read mode or additional-read mode). During a read cycle of the fast read mode, based on determining whether voltage levels of each memory cell of a memory sector is higher or lower compared to the applied threshold voltage, the read module 26 makes hard decisions on data bits stored in the memory cells of the memory sector (i.e., decides whether bit 0 or bit 1 is stored in individual memory cells). The read module 26 provides the hard decisions to the iterative decoder 32, which decodes data bits of the memory sector (e.g., corrects one or more errors in the estimation of the data bits). In some embodiments, hard decisions obtained during the fast read mode are provided directly to a hard decoder (not illustrated in
In a case where the decoding operation fails (e.g., due to relatively large number of errors in estimating data bits using hard decisions) during the fast read mode, the read module 26 reads data from the memory 24 in the recovery mode. That is, for memory sectors that fail in the fast read mode, the memory system 10 enters the recovery mode, where more exhaustive read and decoding attempts are made. In various embodiments, the fast read mode involves more than one read cycle (e.g., two, or three read cycles).
Reading a sector in a recovery mode takes longer time compared to that in the fast read mode. However, the recovery mode usually occurs with a relatively low probability (i.e., only when the fast read mode fails) and ensures that each memory sector of the memory 24 is correctly decoded with a relatively low probability of failure.
In the recovery mode, the LLR determination module 28 outputs LLRs corresponding to data bits of memory cells of a memory sector of the memory 24. During this mode of operation, the LLR determination module 28 provides a soft estimation for the data bits of the memory cells of the memory sector. That is, LLR determination module 28 provides in the form of LLRs, probability of each data bit being 0 or 1. LLR for a data bit may be defined as
Thus, a positive LLR indicates a greater probability of the data bit being equal to 0, and a negative LLR indicates a greater probability of the data bit being equal to 1. That is, a sign of the LLR provides an estimation of the data bit, and a magnitude of the LLR provides a reliability of the estimation (e.g., |LLR|=0 means the estimation is completely unreliable, and |LLR|=∞ means that the estimation is completely reliable and the bit value is known).
The iterative encoder 20 and the iterative decoder 32 performs encoding and decoding operation using iterative code encoding and iterative soft decoding techniques, respectively. For example, iterative encoder 20 and the iterative decoder 32 employs low density parity check (LDPC) codes, Turbo codes, or any other appropriate iterative codes for encoding and/or decoding data.
In
As the two PDFs of
In practice, the PDF (1) and PDF (0) are usually not known for the memory system 10. Accordingly, the threshold voltage v1 (which represents the optimal threshold voltage for applying to the memory sectors of the memory 24 during a read cycle) is also not known during the read operations of the memory 24. Furthermore, the optimal threshold voltage can change with time for a flash memory (e.g., as the flash memory undergoes more and more number of write, retention and/or read cycles), can vary between two memory sectors of the memory 24, and can also vary between two memory cells of a single memory sector. Accordingly, it is usually not possible to know a priori the optimal threshold voltage v1, and accordingly, not possible to correctly apply the optimal threshold voltage v1 to the memory 24 during read cycles.
Accordingly, in practice, during a read cycle, a threshold voltage v2 is applied to a memory sector of the memory 24, where the threshold voltage v2 can be different from (e.g., greater than) the optimal threshold voltage v1, as illustrated in
For the purpose of this disclosure and unless disclosed otherwise, a bin histogram for 0 is labeled as one of 0+, +, ++, +++, ++++, etc. (i.e., zero with a plus, a single plus sign, two plus signs, or three plus signs, etc.); a bin histogram for 1 is labeled as one of 0−, −, −−, −−−, etc. (i.e., zero with a minus, a single minus sign, two minus signs, three minus signs, etc.); and a bin histogram is labeled as 0 if an estimation of whether the bin histogram is associated with bit 1 or bit 0 cannot be reliably performed. Thus, a sign (i.e., + or −), if associated with a bin histogram label, indicates whether the bin histogram is for 0 or 1. For example, a plus sign being associated with a bin histogram label indicates that the bin histogram is for 0, and a minus sign being associated with a bin histogram label indicates that the bin histogram is for 1. This sign notation is consistent with the sign notation of LLRs, where a positive LLR indicates a greater probability of the data bit being equal to 0, and a negative LLR indicates a greater probability of the data bit being equal to 1, as previously disclosed. Also, a number of signs indicate a relative magnitude or a relative height of the associated bin histogram. For example, a bin histogram with a single sign (e.g., bin histogram with label +) has a higher height compared to a bin histogram with a zero and a sign (e.g., bin histogram with label 0+); a bin histogram with two signs (e.g., bin histogram with label ++) has a higher height compared to a bin histogram with a single sign (bin histogram with label +), and so on. Thus, three minus signs for the bin histogram 1 and two plus signs for the bin histogram 0 in
The mapping of
As previously disclosed, in the case a decoding operation after the fast read mode fails (e.g., due to a relatively large number of errors during a read cycle in the fast read more, which is beyond the correction ability of the iterative decoder 32), the memory system 10 enters the recovery mode, where one or more subsequent read cycles are performed with different threshold voltage(s).
For example, the bin histogram A6 is associated with a number of memory cells for which the voltage levels are estimated to be less than the threshold voltage v6b, the bin histogram C6 is associated with a number of memory cells for which the voltage levels are estimated to be between threshold voltages v6a and v6b, the bin histogram D6 is associated with a number of memory cells for which the voltage levels are estimated to be between threshold voltages v6a and v6c, and the bin histogram B6 is associated with a number of memory cells for which the voltage levels are estimated to be greater than the threshold voltage v6c.
As illustrated in
A bin histogram is an outer histogram if there are no bin histograms on either the left or the right side of the bin histogram. In
In various embodiments, the threshold number of Rule 1 is associated with a code rate or a syndrome size of the iterative decoder 32. If the code rate of the iterative decoder 32 is R, the threshold number of Rule 1 is set to, for example, ((1-R)/2) multiplied by a total area under all the four bin histograms A6, . . . , D6 (i.e., multiplied by a total number of data bits or counts associated with all the four bin histograms A6, . . . , D6). Put differently, an zero LLR (which corresponds to an indecision on whether the data bits included in the shortest bin histogram are 0 or 1) is assigned to the shortest bin histogram D6 under criterion (i) of Rule 1 only if there are relatively small number of data bits in the shortest bin histogram D6 (e.g., smaller than half syndrome size, or some other fraction of, the syndrome size, of the iterative decoder 32). That is, label 0 is assigned to the shortest bin histogram D6 if the iterative decoder 32 is powerful enough to correctly decode the data bits in spite of the indecision about the data bits included in the shortest bin histogram D6, assuming that most of the data bits included in other bin histograms are correctly estimated.
As illustrated in Rule 2 in
According to the criterion (i) of Rule 2, the shortest bin histogram D6 is assigned a non-zero LLR, where a magnitude of the non-zero LLR is assigned based on the height of the shortest bin histogram D6 (for example, if the shortest bin histogram D6 is of relatively small height, assign either 0− or 0+, and so on), and where a sign of the non-zero LLR (e.g., sign of the associated label) of the shortest bin histogram D6 is assigned based on a sign of the immediate neighboring bin histogram that is taller among the two immediate neighboring bin histograms B6 and C6. As the immediate neighboring bin histogram B6 is relatively taller than the immediate neighboring bin histogram C6, according to criterion (i) of Rule 2, the shortest bin histogram D6 is assigned a label 0+, +, ++, or the like, based on the height of the shortest bin histogram D6 (i.e., the shortest bin histogram D6 is assigned a positive LLR, which is same as the sign of the LLR of the immediate neighboring bin histogram B6).
Referring again to
In various embodiments, any one of the criterion (i) or criterion (ii) of Rule 2 may be used for assigning an LLR to the shortest bin histogram D6, based on, for example, a preference of a user of the memory system 10, configuration of various components (e.g., the iterative decoder 32) of the memory system 10, and/or the like.
As Rules 1 and 2 are associated with assigning an appropriate LLR to the shortest bin histogram D6, Rules 1 and 2 are also referred to herein as assignment rules for the shortest bin histogram.
Once the shortest bin histogram D6 is assigned an LLR (or an associated label) according to Rules 1 and/or 2, the LLR determination module 28 maps the bin histograms A6, . . . , D6 to respective LLRs (e.g., using the mapping of Table 500), and outputs the LLRs of the data bits of the memory cells of the memory sector to the iterative decoder 32. The iterative decoder 32 attempts to decode data bits of the memory cells based on the received LLRs.
In a case where the iterative decoder 32 successfully decodes the data bits of the memory cells of the memory sector, then reading of the memory sector is complete, and the read module 26 proceeds to read another memory sector (if desired) of the memory 24. However, in a case where the iterative decoder 32 fails to successfully decode the data bits of the memory cells during the current read cycle, the read module 26 performs another read cycle with a new threshold voltage, or new threshold voltages (e.g., as a part of the recovery mode).
Referring to
As illustrated in
Referring again to
As illustrated in
Rule 5(ii) states that if there is only one bin histogram to the left or to the right of the shortest bin histogram, perform another read cycle with a new threshold voltage and split the only one bin histogram. For example, in
Similarly, according to criterion (iib) of Rule 6, the bin histogram B6 is assigned a label (or an associated LLR) that has less number of signs compared to ++++. For example, according to criterion (iib) of Rule 6, the bin histogram B6 is assigned a label of ++, which corresponds to a lower LLR compared to an LLR associated with the label of ++++.
Rules 1, . . . , 6 disclosed here are examples of rules, and many other rules can also be derived from these rules by someone skilled in the art, based on the teachings of this disclosure. For example, although not illustrated in any of the figures, a rule can state that if (A) decoding fails during a read cycle in the recovery mode, and/or (B) if the shortest bin histogram is shorter than the threshold number, then perform another read cycle with a new threshold voltage, where the new threshold voltage splits the tallest bin histogram.
In the bin histograms illustrated in
In various embodiments, the memory cells of a memory sector of the memory 24 stores 3 bits of data.
The PDFs of
As previously discussed, the optimal threshold voltages v16a, . . . , v16g are not known a priori. Accordingly, in practice, during a read cycle, threshold voltages, which can be different optimal threshold voltages, are applied to the memory cells to estimate data bits stored in the memory cells. For example, during a single read cycle for reading memory cells that store 3 bits of data, seven different threshold voltages are applied to the memory cells.
In case the decoding operation after the first read cycle fails, the memory system 10 enters the recovery mode. In the second read cycle (which is a part of the recovery mode), threshold voltages vb1, . . . , vb7 are applied to individual memory cells. As illustrated in
In case the decoding operation after the second read cycle fails, the read module 26 performs a third read cycle that is associated with threshold voltages vc1, . . . , vc7, as illustrated in
During the first, second, third (and subsequent, if necessary) read cycles, Rules 1, . . . , 7 are used to assign LLRs to shortest bin histograms, split one or more bin histograms, assign LLRs to bin histograms that are neighboring to the shortest bin histograms, and/or the like, as previously disclosed.
Referring again to
However, the CSBs and LSBs in
In various embodiments, in
For example, it may be determined that the shortest bin histogram D19 is shorter than the threshold number of Rule 1, while the shortest bin histogram E19 is taller than the threshold number of Rule 1. In such a case, based on Rule 1, the shortest bin histogram D19 is assigned a zero LLR and the shortest bin histogram E19 is assigned a non-zero LLR (the magnitude and sign of which is based on Rule 2). Furthermore, if the three read cycles of
At 2008, the LLR determination module 28 makes a determination on whether the shortest bin histogram is smaller than a threshold number (e.g., the threshold number discussed with respect to Rule 1). If the shortest bin histogram is smaller than the threshold number, the shortest bin histogram is assigned a zero LLR based on Rule 1(i) of
At 2020, the LLR determination module 28 assigns LLRs to other bin histograms (e.g., bin histograms A6, . . . , C6 of
At 2024, the iterative decoding module 32 attempts to decode data bits of the memory cells based at least in part on the assigned LLRs to the bin histograms. If, at 2028, the decoding is successful, the read operation of the current memory sector ends at 2036.
If, the decoding is unsuccessful at 2028, the read module 26 conducts a (N+1)th read cycle associated with a (N+1)th threshold voltage at 2032. During the (N+1)th read cycle, if a height of the shortest bin histogram is larger than the threshold number, the (N+1)th threshold voltage level splits the shortest bin histogram (e.g., based on Rule 3). On the other hand, if a height of the shortest bin histogram is smaller than the threshold number, the (N+1)th threshold voltage level splits an immediate neighboring bin histogram of the shortest bin histogram (e.g., based on Rules 4 and 5). The method then loops back to block 2028, where the height of the shortest bin histogram is again compared to the threshold number.
Although
Although specific embodiments have been illustrated and described herein, a wide variety of alternate and/or equivalent implementations may be substituted for the specific embodiment illustrated and described without departing from the scope of the teachings of this disclosure. This disclosure covers all methods, apparatus, and articles of manufacture fairly falling within the scope of the appended claims either literally or under the doctrine of equivalents. This disclosure is intended to cover any adaptations or variations of the embodiments discussed herein.
Varnica, Nedeljko, Burd, Gregory, Low, Seo-How
Patent | Priority | Assignee | Title |
11355204, | Sep 03 2020 | SK Hynix Inc. | Efficient read-threshold calculation method for parametric PV-level modeling |
11380410, | Jan 25 2021 | SK HYNIX INC | Deep learning based program-verify modeling and voltage estimation for memory devices |
11430530, | Jan 25 2021 | SK HYNIX INC | Deep learning based program-verify modeling and voltage estimation for memory devices |
11514999, | Apr 16 2021 | SK HYNIX INC | Systems and methods for parametric PV-level modeling and read threshold voltage estimation |
11526298, | Sep 29 2020 | SK Hynix Inc. | Apparatus and method for controlling a read voltage in a memory system |
11749354, | Jul 13 2021 | SK HYNIX INC | Systems and methods for non-parametric PV-level modeling and read threshold voltage estimation |
11769555, | Jul 27 2021 | SK HYNIX INC | Read threshold voltage estimation systems and methods for parametric PV-level modeling |
11769556, | Jul 27 2021 | SK HYNIX INC | Systems and methods for modeless read threshold voltage estimation |
11854629, | Nov 22 2021 | SK HYNIX INC | System and method for non-parametric optimal read threshold estimation using deep neural network |
11907571, | Jul 13 2020 | SK HYNIX INC | Read threshold optimization systems and methods using domain transformation |
Patent | Priority | Assignee | Title |
8392809, | Oct 16 2009 | CAVIUM INTERNATIONAL; MARVELL ASIA PTE, LTD | Log-likelihood-ratio (LLR) table calibration |
8621334, | Oct 16 2009 | CAVIUM INTERNATIONAL; MARVELL ASIA PTE, LTD | Log-likelihood-ratio (LLR) table calibration |
20100165730, | |||
20100192042, | |||
20110305082, |
Executed on | Assignor | Assignee | Conveyance | Frame | Reel | Doc |
Dec 18 2013 | Marvell International Ltd. | (assignment on the face of the patent) | / | |||
Dec 31 2019 | MARVELL INTERNATIONAL LTD | CAVIUM INTERNATIONAL | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 052918 | /0001 | |
Dec 31 2019 | CAVIUM INTERNATIONAL | MARVELL ASIA PTE, LTD | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 053475 | /0001 |
Date | Maintenance Fee Events |
May 25 2018 | M1551: Payment of Maintenance Fee, 4th Year, Large Entity. |
Jul 18 2022 | REM: Maintenance Fee Reminder Mailed. |
Jan 02 2023 | EXP: Patent Expired for Failure to Pay Maintenance Fees. |
Date | Maintenance Schedule |
Nov 25 2017 | 4 years fee payment window open |
May 25 2018 | 6 months grace period start (w surcharge) |
Nov 25 2018 | patent expiry (for year 4) |
Nov 25 2020 | 2 years to revive unintentionally abandoned end. (for year 4) |
Nov 25 2021 | 8 years fee payment window open |
May 25 2022 | 6 months grace period start (w surcharge) |
Nov 25 2022 | patent expiry (for year 8) |
Nov 25 2024 | 2 years to revive unintentionally abandoned end. (for year 8) |
Nov 25 2025 | 12 years fee payment window open |
May 25 2026 | 6 months grace period start (w surcharge) |
Nov 25 2026 | patent expiry (for year 12) |
Nov 25 2028 | 2 years to revive unintentionally abandoned end. (for year 12) |