Generation method of log-likelihood ratio table, soft decoding method and related equipment
By generating a log-likelihood ratio table, the system dynamically adapts to different read voltage configurations, solving the problem of decreased data reliability in flash memory cells, improving error correction capabilities and soft decoding efficiency, and reducing storage overhead.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- HUIYIWEI (SHANGHAI) TECHNOLOGY CO LTD
- Filing Date
- 2026-04-14
- Publication Date
- 2026-05-12
AI Technical Summary
In existing technologies, the data reliability of flash memory cells decreases, low-density parity check code soft decoding technology is inefficient, and the acquisition of log-likelihood ratio is inefficient and costly. The LLR value mapping table has poor flexibility, resulting in insufficient error correction capability.
By acquiring multiple read voltage ranges corresponding to multiple read operations of the storage device, calculating the intermediate voltage value and inputting it into a preset function to generate a log-likelihood ratio table, the system can dynamically adapt to different read voltage configurations, avoid storing a large number of fixed LLR value mapping tables, and improve error correction capabilities.
It achieves dynamic adaptive generation of the log-likelihood ratio table, improves the error correction capability and software decoding efficiency of storage devices, and reduces storage overhead.
Smart Images

Figure CN122019250A_ABST
Abstract
Description
Technical Field
[0001] The embodiments disclosed in this application relate to the field of storage technology, and more specifically, to a method for generating a log-likelihood ratio table, a software decoding method, and related equipment. Background Technology
[0002] With advancements in semiconductor technology, the storage density of flash memory cells has continuously increased, from single-level cells (SLC), multi-level cells (MLC), to triple-level cells (TLC) and quad-level cells (QLC). The number of bits of data stored in a single cell has increased significantly, leading to a corresponding decrease in data reliability. To maintain data reliability, low-density parity-check code (LDPC) soft decoding technology is typically employed. Soft decoding requires acquiring soft information through multiple read operations and mapping it to a log-likelihood ratio (LLR) value for decoding. However, obtaining the LLR value still faces challenges in terms of efficiency and cost. Summary of the Invention
[0003] According to embodiments of this application, this application proposes a method for generating a log-likelihood ratio table, a software decoding method, and related equipment to solve the above-mentioned problems.
[0004] The first aspect of this application discloses a method for generating a log-likelihood ratio table, comprising: obtaining multiple read voltage ranges corresponding to multiple read operations for a storage device; obtaining intermediate voltage values corresponding to the multiple read voltage ranges respectively; inputting the intermediate voltage values as function variables into a preset function for calculation to obtain the log-likelihood ratio values corresponding to each of the multiple read voltage ranges, thereby generating the log-likelihood ratio table, wherein the log-likelihood ratio table includes the numbers of the multiple read voltage ranges, the corresponding multiple intermediate voltage values, and the log-likelihood ratio values.
[0005] In some embodiments, the multiple read operation includes performing n read operations, the n read operations corresponding to n read voltages; obtaining multiple read voltage intervals corresponding to the multiple read operations for the storage device includes: dividing the threshold voltage into n+1 read voltage intervals based on the n read voltages; wherein, the difference between adjacent read voltages in the n read voltages is the same.
[0006] In some embodiments, the multiple read operation includes performing m read operations, the m read operations corresponding to m read voltages; obtaining multiple read voltage intervals corresponding to the multiple read operations for the storage device includes: dividing the threshold voltage into m+1 read voltage intervals based on the m read voltages; wherein, among the m read voltages, there are at least two adjacent read voltages with different differences.
[0007] In some embodiments, the preset function includes a linear function; wherein the slope and intercept of the linear function are determined based on the operating parameters of the storage device.
[0008] In some embodiments, the operating parameters include the Gaussian noise variance within the multi-read operation operating range, the scaling factor of the channel transmission, and the peak-to-valley spacing of the threshold voltage; wherein, the slope of the linear function is characterized by the scaling factor divided sequentially by the Gaussian noise variance and the peak-to-valley spacing; and the intercept of the linear function is 0.
[0009] In some embodiments, the step of inputting the intermediate voltage value as a function variable into a preset function for calculation to obtain the log-likelihood ratio corresponding to each of the plurality of reading voltage intervals includes: calculating the intermediate voltage value using the linear function to obtain an initial function value; and performing a rounding operation on the initial function value to obtain the log-likelihood ratio corresponding to the intermediate voltage value.
[0010] In some embodiments, the intermediate voltage value is the midpoint voltage value of the reading voltage range.
[0011] The second aspect of this application discloses a software decoding method, comprising: in response to a hard decoding failure, obtaining the current hard read voltage; performing a multi-read operation based on the hard read voltage to obtain multiple read voltage intervals corresponding to the multi-read operation; mapping the multiple read voltage intervals to corresponding log-likelihood ratios according to a log-likelihood ratio table, and inputting them into a software decoder for decoding; wherein the log-likelihood ratio table is generated by the log-likelihood ratio table generation method described in the first aspect.
[0012] A third aspect of this application discloses an electronic device including a memory and a processor coupled to each other, the processor being configured to execute program instructions stored in the memory to implement the log-likelihood ratio table generation method described in the first aspect, or to implement the software decoding method described in the second aspect.
[0013] The fourth aspect of this application discloses a non-volatile computer-readable storage medium storing program instructions thereon, which, when executed by a processor, implement the method for generating the log-likelihood ratio table described in the first aspect, or implement the software decoding method described in the second aspect.
[0014] The beneficial effects of this application are as follows: obtaining multiple read voltage ranges corresponding to multiple read operations for a storage device, obtaining intermediate voltage values corresponding to multiple read voltage ranges respectively, inputting the intermediate voltage values as function variables into a preset function for calculation to obtain the log-likelihood ratio values corresponding to each of the multiple read voltage ranges, and then generating a log-likelihood ratio table. In particular, by generating the corresponding log-likelihood ratio table by calculating the intermediate voltage values corresponding to multiple read voltage ranges in real time, the generation of the log-likelihood ratio table has dynamic adaptability, thereby improving the error correction capability of the storage device. Attached Figure Description
[0015] The present application will be further described below with reference to the accompanying drawings and embodiments. In the drawings: Figure 1 This is a flowchart illustrating the method for generating a log-likelihood ratio table according to an embodiment of this application. Figure 2 This is a schematic diagram showing the distribution of the read voltage range according to an embodiment of this application; Figure 3 This is a schematic diagram showing the distribution of the read voltage range according to another embodiment of this application; Figure 4 This is a schematic diagram of the distribution of threshold voltage according to an embodiment of this application; Figure 5 This is a flowchart illustrating the software decoding method according to an embodiment of this application; Figure 6 This is a schematic diagram of the structure of an electronic device according to an embodiment of this application; Figure 7 This is a schematic diagram of the structure of a non-volatile computer-readable storage medium according to an embodiment of this application. Detailed Implementation
[0016] In this application, the reference to "embodiment" means that a specific feature, structure, or characteristic described in connection with an embodiment may be included in at least one embodiment of this application. The appearance of this phrase in various places throughout the specification does not necessarily refer to the same embodiment, nor is it a separate or alternative embodiment mutually exclusive with other embodiments. It will be explicitly and implicitly understood by those skilled in the art that the embodiments described herein can be combined with other embodiments.
[0017] In this application, the term "and / or" is merely a description of the relationship between related objects, indicating that three relationships can exist. For example, A and / or B can represent three cases: A alone, A and B simultaneously, and B alone. Additionally, the character " / " generally indicates that the preceding and following related objects are in an "or" relationship. Furthermore, "many" in this application means two or more. Moreover, the term "at least one" in this application means any combination of at least two of any one or more of a plurality of objects. For example, including at least one of A, B, and C can mean including any one or more elements selected from the set consisting of A, B, and C. Furthermore, the terms "first," "second," and "third" in this application are used for descriptive purposes only and should not be construed as indicating or implying relative importance or implicitly specifying the number of indicated technical features.
[0018] LDPC soft decoding requires acquiring soft information through multiple voltage read operations and mapping it to log-likelihood ratio (LLR) values for probabilistic decoding. The accuracy of the LLR value directly affects the decoding success rate; therefore, the generation of the LLR value mapping table is crucial to the performance of soft decoding. Multiple read operations with different read voltage configurations require LLR mapping based on different LLR value mapping tables. However, current designs typically use fixed LLR value mapping tables. When the read voltage configuration of multiple read operations changes, the corresponding LLR value mapping table needs to be redesigned, requiring a large amount of storage space to store the LLR value mapping tables under different multiple operations. In other words, the current LLR value mapping table has poor retrieval flexibility, reducing the error correction capability of the storage system.
[0019] To address these issues, this application proposes a method for generating a log-likelihood ratio table, a software decoding method, and related equipment.
[0020] To enable those skilled in the art to better understand the technical solution of this application, the technical solution of this application will be further described in detail below with reference to the accompanying drawings and specific embodiments.
[0021] Please see Figure 1 , Figure 1 This is a flowchart illustrating a method for generating a log-likelihood ratio table according to an embodiment of this application. The subject executing this method can be an electronic device with computing capabilities, such as a microcomputer, a server, and mobile devices such as laptops and tablets.
[0022] It should be noted that if substantially the same result is obtained, the method of this application is not based on... Figure 1 The sequence of processes shown is limited.
[0023] In some possible implementations, this method can be implemented by the processor calling computer-readable instructions stored in memory, such as... Figure 1 As shown, the method may include the following steps: S11: Obtain multiple read voltage ranges corresponding to multiple read operations for the storage device.
[0024] In some examples, storage devices can be incorporated into the aforementioned electronic devices. These storage devices can be based on NAND flash memory technology, such as solid-state drives (SSDs), USB flash drives, flash memory cards (e.g., SD cards), eMMC (embedded Multi Media Card), UFS (Universal Flash Storage), etc.
[0025] To obtain multiple read voltage ranges corresponding to multiple read operations on a storage device, for example, in the LDPC soft decoding process, multiple read operations are performed to generate corresponding soft information, which includes multiple read voltage ranges. These multiple read voltage ranges can be obtained by dividing the threshold voltage range based on the read voltages generated by multiple read operations.
[0026] S12: Obtain the intermediate voltage value corresponding to each of the multiple reading voltage ranges.
[0027] The intermediate voltage values corresponding to multiple read voltage ranges are obtained from multiple read voltage ranges. For example, X read voltage ranges corresponding to multiple read operations for a storage device are obtained, and X intermediate voltage values corresponding to the X read voltage ranges are obtained from each of the X read voltage ranges. The intermediate voltage values can be any voltage value located in the read voltage range and are used to characterize the read voltage range.
[0028] S13: Input the intermediate voltage value as a function variable into the preset function for calculation to obtain the log-likelihood ratio values corresponding to each of the multiple reading voltage intervals, and then generate a log-likelihood ratio table, wherein the log-likelihood ratio table includes the numbers of multiple reading voltage intervals, the corresponding multiple intermediate voltage values and log-likelihood ratio values.
[0029] Intermediate voltage values are input as function variables into a preset function for calculation to obtain the log-likelihood ratios (LLRs) for each of the multiple voltage reading intervals. This generates an LLR table, which is used for software decoding. For example, inputting X intermediate voltage values as function variables into the preset function yields the LLR values for each of the X voltage reading intervals, generating an LLR table. The LLR table can include the numbers of the X voltage reading intervals, the corresponding X intermediate voltage values, and the LLR values.
[0030] In this embodiment, multiple read voltage ranges corresponding to multiple read operations for the storage device are obtained. The intermediate voltage values corresponding to the multiple read voltage ranges are obtained from each of the multiple read voltage ranges. The intermediate voltage values are input as function variables into a preset function for calculation to obtain the log-likelihood ratio values corresponding to each of the multiple read voltage ranges. Then, a log-likelihood ratio table is generated. In this embodiment, the log-likelihood ratio table is generated by calculating the intermediate voltage values corresponding to the multiple read voltage ranges in real time, so that the generation of the log-likelihood ratio table has dynamic adaptability, thereby improving the error correction capability of the storage device.
[0031] In some embodiments, a multi-read operation includes performing n read operations, where the n read operations correspond to n read voltages; obtaining multiple read voltage intervals corresponding to the multi-read operation for the storage device includes: dividing the threshold voltage into n+1 read voltage intervals based on the n read voltages; wherein the difference between adjacent read voltages in the n read voltages is the same.
[0032] A multi-read operation involves performing n read operations, each corresponding to a different read voltage. For example, performing 5 read operations on an SLC corresponds to 5 read voltages. In some examples, such as... Figure 2 As shown, Figure 2 This is a schematic diagram of the distribution of read voltage intervals according to an embodiment of this application. The five read voltages include the first read voltage, the second read voltage, the third read voltage, the fourth read voltage, and the fifth read voltage. Among the n read voltages, the difference between adjacent read voltages is the same. Adjacent read voltages can refer to voltage values used to distinguish adjacent data states; for example, the voltage difference between adjacent read voltages is equal among the five read voltages. Figure 2 As shown, the 2nd read is adjacent to the 4th read, and the 4th thread is adjacent to the 1st read. The voltage difference between the 2nd read and the 4th read is equal to the voltage difference between the 4th read and the 1st read. Based on n read voltages, the threshold voltage is divided into n+1 read voltage intervals. The threshold voltage can be determined according to the physical structure of the memory cell. For example, based on 5 read voltages, the threshold voltage can be divided into 6 read voltage intervals: read voltage interval 0, read voltage interval 1, ..., read voltage interval 6. The voltage difference between adjacent read voltages among the 5 read voltages is equal, meaning the resulting 6 read voltage intervals are uniformly distributed.
[0033] In some embodiments, a multi-read operation includes performing m read operations, where the m read operations correspond to m read voltages; obtaining multiple read voltage intervals corresponding to the multi-read operation for the storage device includes: dividing the m read voltages into m+1 read voltage intervals; wherein, among the m read voltages, at least two adjacent read voltages have different differences.
[0034] A multi-read operation involves performing m read operations, each corresponding to a different read voltage. For example, for an SLC, performing 5 read operations corresponds to 5 read voltages. In some examples, such as... Figure 3 As shown, Figure 3 This is a schematic diagram of the distribution of read voltage intervals according to another embodiment of this application. The five read voltages include the first read voltage (1st read), the second read voltage (2nd read), the third read voltage (3rd read), the fourth read voltage (4th read), and the fifth read voltage (5th read). Among the m read voltages, at least two adjacent read voltages have different differences. Adjacent read voltages can refer to voltage values used to distinguish adjacent data states. For example, the voltage difference between adjacent read voltages among the five read voltages may be equal. Figure 2 As shown, the 2nd read is adjacent to the 4th read, and the 4th read is adjacent to the 1st read. The voltage difference between the 2nd read and the 4th read is not equal to the voltage difference between the 4th read and the 1st read. Based on m read voltages, the threshold voltage is divided into m+1 read voltage intervals. The threshold voltage can be determined according to the physical structure of the memory cell. For example, based on 5 read voltages, the threshold voltage can be divided into 6 read voltage intervals, namely read voltage interval 0, read voltage interval 1, ..., read voltage interval 6. Among the 5 read voltages, at least two adjacent read voltages have different differences, meaning the resulting 6 read voltage intervals are non-uniformly distributed.
[0035] In some embodiments, the preset function includes a linear function; wherein the slope and intercept of the linear function are determined based on the operating parameters of the storage device.
[0036] The intermediate voltage value is input as a function variable into a preset function for calculation to obtain the log-likelihood ratio (LLR) values corresponding to each of the multiple read voltage intervals. The preset function can be a linear function, and the slope and intercept of the linear function are determined based on the operating parameters of the storage device. For example, the linear function can be represented as y = ax + b, where the slope a and intercept b can be determined based on the operating parameters of the storage device, and x is the function variable. Understandably, the LLR values for each read voltage interval of the multi-read operation are calculated by fitting the linear function y = ax + b.
[0037] In some examples, the constant terms of the preset function (e.g., the values of a and b of the linear function mentioned above) can be pre-stored in the storage device, thereby enabling real-time calculation of the intermediate voltage values of multiple reading voltage ranges to flexibly generate a numerical likelihood ratio table corresponding to multiple reading voltage ranges.
[0038] In this embodiment, the preset function includes a linear function, which is used to calculate the LLR table for multiple read operations in real time, avoiding the need to store a large number of preset LLR tables, reducing storage overhead, improving the flexibility of soft read voltage configuration, and improving error correction capability by calculating the LLR table for arbitrary soft read voltage configuration in real time.
[0039] In some embodiments, the operating parameters include the Gaussian noise variance within the multi-read operation operating range, the scaling factor of the channel transmission, and the peak-to-valley spacing of the threshold voltage; wherein, the slope of the linear function is characterized by dividing the scaling factor by the Gaussian noise variance and the peak-to-valley spacing in sequence; the intercept of the linear function is 0.
[0040] For example, the operating parameters of a storage device include the Gaussian noise variance within the multi-read operation range, the scaling factor k of the Gaussian channel BPSK modulation mechanism in the communication system, and the peak-to-valley spacing distance of the threshold voltage distribution. Among these, k and variance can be obtained through offline simulation to obtain optimal values, and distance can be obtained by estimating the actual peak-to-valley spacing of the NAND.
[0041] In some examples, the constant term of a preset function is calculated, such as obtaining the slope 'a' and intercept 'b' of a linear function. This can be achieved by first determining the LLR value at the continuous channel received value 'y': LLR = 2*k*y / variance, where k is a scaling factor, y represents the Gaussian channel received value under BPSK modulation, and variance represents the Gaussian noise variance within the multi-read operation range. The continuous received value 'y' is discretized, simulating the soft-read voltage setting process for the adjacent threshold voltage distribution of the NAND flash memory. The threshold voltage coordinate is Vth = y*distance. At this point, the LLR value of the threshold voltage Vth is 2*k*Vth / distance / variance, where distance represents the distance between the peaks and troughs of the threshold voltage distribution. Further, as... Figure 4 As shown, Figure 4This is a schematic diagram of the threshold voltage distribution according to an embodiment of this application. If the reading voltages on the left and right sides of the reading voltage interval are Vth_l and Vth_r, and the midpoint of the interval is Vth_middle, the LLR value of the reading voltage interval can be the average of the LLR values of Vth_l and Vth_r, i.e., LLR = 2*k*(Vth_l+Vth_r) / 2 / distance / variance = 2*k*Vth_middle / distance / variance. By simplification, the slope a and intercept b of the linear function can be determined, i.e., a = 2*k / distance / variance, b = 0. Furthermore, the slope a of the linear function can be twice the result of dividing the scaling factor k by the Gaussian noise variance variance and the peak-to-valley distance.
[0042] In some embodiments, the intermediate voltage value is input as a function variable into a preset function for calculation to obtain the log-likelihood ratio corresponding to each of the multiple voltage reading intervals, including: calculating the intermediate voltage value using a linear function to obtain an initial function value; and performing a rounding operation on the initial function value to obtain the log-likelihood ratio corresponding to the intermediate voltage value.
[0043] The system calculates the intermediate voltage values corresponding to multiple voltage reading ranges using a preset function to obtain an initial function value. Then, it performs a rounding operation on the initial function value to obtain the log-likelihood ratio corresponding to the intermediate voltage value. For example, it uses a linear function to calculate the initial function value y (y=ax +b) for the intermediate voltage value. Furthermore, it performs a rounding operation on the initial function value y to obtain the LLR value corresponding to the intermediate voltage value. For example, LLR=round(y), where round(y) means rounding y to the nearest integer.
[0044] In some embodiments, the intermediate voltage value is the midpoint voltage value of the reading voltage range.
[0045] The intermediate voltage values corresponding to multiple reading voltage ranges are obtained respectively. The intermediate voltage value is the midpoint voltage value of the reading voltage range. For example, for Figure 2 or Figure 3The system defines six read voltage intervals: read voltage interval 0, read voltage interval 1, ..., read voltage interval 6. The midpoint voltage value of read voltage intervals 1 through 5 can be the midpoint voltage value of the interval. For example, the midpoint voltage value of read voltage interval 1 can be the average of the 2nd and 4th reads, and the midpoint voltage value of read voltage interval 3 can be the average of the 1st and 5th reads. In some examples, the midpoint voltage value of read voltage interval 0 only needs to be less than the 2nd read, and the midpoint voltage value of read voltage interval 6 only needs to be greater than the 3rd read. In other examples, for uniformly distributed read voltage intervals (such as...) Figure 2 As shown), if the voltage difference between adjacent read voltages is q, the middle voltage value of read voltage interval 0 is the difference between 2nd read and Z*q, and the middle voltage value of read voltage interval 5 is the sum of 3rd read and Z*q, where Z is a positive integer greater than 1.
[0046] In some examples, multiple read voltage ranges corresponding to multiple read operations on the storage device are obtained. The intermediate voltage values corresponding to each of these multiple read voltage ranges are then extracted. These intermediate voltage values are input as function variables into a preset function for calculation, resulting in a table of log-likelihood ratios for the multiple read voltage ranges. For example, the preset function is y=ax +b, a=0.4, b=0. Please refer to further details. Figure 2 To obtain six read voltage ranges corresponding to five read operations on the storage device, a uniformly distributed read voltage configuration can be obtained, such as 1st read = 0, 2nd read = -24, 3rd read = 24, 4th read = -12, 5th read = 12, corresponding to six read voltage ranges {0, 1, 2, 3, 4, 5}, where the difference between adjacent voltages is 12. The intermediate voltage values corresponding to these six read voltage ranges are determined, for example, {-30, -18, -6, 6, 18, 30}. These intermediate voltage values are used as function variables to calculate the log-likelihood ratios for multiple read voltage ranges, for example, LLR = round(ax + b). The resulting log-likelihood ratio table is as follows:
[0047] Alternatively, in other examples, the default function is y = ax + b, a = 0.4, b = 0. See further. Figure 3To obtain six read voltage ranges corresponding to five read operations on the storage device, for example, a non-uniformly distributed read voltage configuration, such as 1stread=0, 2nd read=-20, 3rd read=20, 4th read=-6, 5th read=6, corresponding to six read voltage ranges {0,1,2,3,4,5}, where the difference between adjacent voltages is 12. Determine the intermediate voltage values corresponding to these six read voltage ranges, for example {-27, -13, -3, 3, 13, 27}. Use these intermediate voltage values as function variables to calculate the log-likelihood ratios for multiple read voltage ranges, for example, LLR=round(ax +b). The resulting log-likelihood ratio table is as follows:
[0048] In this embodiment, multiple read voltage ranges corresponding to multiple read operations on the storage device are obtained. The midpoint voltage values corresponding to the multiple read voltage ranges are obtained from each of the multiple read voltage ranges. The midpoint voltage values are input as function variables into a preset function for calculation to obtain the log-likelihood ratio values corresponding to each of the multiple read voltage ranges. Then, a log-likelihood ratio table is generated. In this embodiment, the log-likelihood ratio table is generated in real time by calculating the midpoint voltage values corresponding to the multiple read voltage ranges, so that the generation of the log-likelihood ratio table has dynamic adaptability, thereby improving the error correction capability of the storage device.
[0049] Please see Figure 5 , Figure 5 This is a flowchart illustrating a software decoding method according to an embodiment of this application. This method can be applied to electronic devices with computing or other functions. It should be noted that if substantially the same result is obtained, the method of this application does not necessarily require further clarification. Figure 5 The sequence of processes shown is limited.
[0050] In some possible implementations, this method can be implemented by the processor calling computer-readable instructions stored in memory, such as... Figure 5 As shown, the method may include the following steps: S51: In response to a hardware decoding failure, obtain the current hardware read voltage.
[0051] In response to a hardware decoding failure, the current hardware read voltage is obtained. For example, if the error correcting code (ECC) verification fails, the controller obtains the currently used reference voltage.
[0052] S52: Perform multiple read operations based on hard read voltage and obtain multiple read voltage ranges corresponding to the multiple read operations.
[0053] Perform multiple read operations based on hard read voltage to obtain multiple read voltage ranges corresponding to the multiple read operations. For example, reread data based on the left and right offset of the current reference voltage, that is, apply multiple adjacent reference voltages to obtain multiple corresponding soft information.
[0054] S53: Based on the log-likelihood ratio table, map multiple reading voltage ranges to the corresponding log-likelihood ratio values, which are then input into the software decoder for decoding.
[0055] Based on the log-likelihood ratio table, the current multiple reading voltage ranges are mapped to the corresponding log-likelihood ratios, and the determined log-likelihood ratios are then input into the software decoder for decoding.
[0056] The log-likelihood ratio table is generated using the method described above. In some examples, multiple read voltage ranges corresponding to multiple read operations on the storage device are obtained. The intermediate voltage values corresponding to each read voltage range are then obtained, and these intermediate voltage values are used as function variables in a preset function for calculation. This yields the log-likelihood ratio for each read voltage range, thus generating the log-likelihood ratio table. By calculating the intermediate voltage values corresponding to multiple read voltage ranges in real time, the log-likelihood ratio table is updated in real time, making its generation dynamically adaptive and improving the error correction capability of the storage device.
[0057] Those skilled in the art will understand that, in the above-described method of the specific implementation, the order in which each step is written does not imply a strict execution order and does not constitute any limitation on the implementation process. The specific execution order of each step should be determined by its function and possible internal logic.
[0058] Please see Figure 6 , Figure 6 This is a schematic diagram of the structure of an electronic device according to an embodiment of this application. The electronic device 60 includes a memory 61 and a processor 62 coupled to each other. The processor 62 is used to execute program instructions stored in the memory 61 to implement the steps of the above-described method embodiment for generating the log-likelihood ratio table, or to implement the steps of the above-described software decoding method embodiment. In a specific implementation scenario, the electronic device 60 may include, but is not limited to, a microcomputer or a server.
[0059] Specifically, processor 62 controls itself and memory 61 to implement the steps of the above-described method embodiment for generating the log-likelihood ratio table, or to implement the steps of the above-described software decoding method embodiment. Processor 62 can also be called a CPU (Central Processing Unit), and may be an integrated circuit chip with signal processing capabilities. Processor 62 can also be a general-purpose processor, digital signal processor (DSP), application-specific integrated circuit (ASIC), field-programmable gate array (FPGA), or other programmable logic devices, discrete gate or transistor logic devices, or discrete hardware components. A general-purpose processor can be a microprocessor or any conventional processor. Furthermore, processor 62 can be implemented using integrated circuit chips.
[0060] Please see Figure 7 , Figure 7 This is a schematic diagram of the structure of a non-volatile computer-readable storage medium according to an embodiment of this application. The non-volatile computer-readable storage medium 70 is used to store a computer program 701. When the computer program 701 is executed by a processor, for example, by the aforementioned... Figure 6 When the processor 62 in the embodiment is executed, it is used to implement the steps of the above-described method embodiment for generating a log-likelihood ratio table, or to implement the steps of the above-described software decoding method embodiment.
[0061] The description of the various embodiments above tends to emphasize the differences between the various embodiments. The similarities or similarities between them can be referred to, and for the sake of brevity, they will not be repeated here.
[0062] In the several embodiments provided in this application, it should be understood that the disclosed methods and related devices can be implemented in other ways. For example, the related device implementations described above are merely illustrative. For instance, the division of modules or units is only a logical functional division, and in actual implementation, there may be other division methods. For example, units or components may be combined or integrated into another system, or some features may be ignored or not executed. Furthermore, the coupling or direct coupling or communication disconnection shown or discussed may be indirect coupling or communication disconnection through some interfaces, devices, or units, and may be electrical, mechanical, or other forms.
[0063] Furthermore, the functional units in the various embodiments of this application can be integrated into one processing unit, or each unit can exist physically separately, or two or more units can be integrated into one unit. The integrated unit can be implemented in hardware or as a software functional unit.
[0064] If the integrated unit is implemented as a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of this application, in essence, or the part that contributes to the prior art, or all or part of the technical solution, can be embodied in the form of a software product. This computer software product is stored in a storage medium and includes several instructions to cause a computer device (which may be a personal computer, server, or network device, etc.) or processor to execute all or part of the steps of the methods of various embodiments of this application. The aforementioned storage medium includes various media capable of storing program code, such as USB flash drives, portable hard drives, read-only memory (ROM), random access memory (RAM), magnetic disks, or optical disks.
[0065] Those skilled in the art will readily recognize that numerous modifications and variations can be made to the apparatus and method while maintaining the teachings of this application. Therefore, the above disclosure should be considered limited only by the scope of the appended claims.
Claims
1. A method for generating a log-likelihood ratio table, characterized in that, include: Obtain multiple read voltage ranges corresponding to multiple read operations on the storage device; Obtain the intermediate voltage value corresponding to each of the plurality of reading voltage ranges; The intermediate voltage value is input as a function variable into a preset function for calculation to obtain the log-likelihood ratio value corresponding to each of the multiple reading voltage intervals, and then the log-likelihood ratio table is generated, wherein the log-likelihood ratio table includes the number of the multiple reading voltage intervals, the corresponding multiple intermediate voltage values and the log-likelihood ratio value.
2. The method according to claim 1, characterized in that, The multiple read operation includes performing n read operations, each of which corresponds to a read voltage. The process of obtaining multiple read voltage ranges corresponding to multiple read operations on a storage device includes: Based on the n reading voltages, the threshold voltage is divided into n+1 reading voltage intervals; Among the n reading voltages, the difference between adjacent reading voltages is the same.
3. The method according to claim 1, characterized in that, The multi-read operation includes performing m read operations, and the m read operations correspond to m read voltages; The process of obtaining multiple read voltage ranges corresponding to multiple read operations on a storage device includes: Based on the m reading voltages, the threshold voltage is divided into m+1 reading voltage intervals; Among the m reading voltages, at least two adjacent reading voltages have different differences.
4. The method according to claim 1, characterized in that, The preset function includes a linear function; The slope and intercept of the linear function are determined based on the operating parameters of the storage device.
5. The method according to claim 4, characterized in that, The operating parameters include the Gaussian noise variance within the multi-read operation operating range, the scaling factor of the channel transmission, and the peak-to-valley spacing of the threshold voltage. The slope of the linear function is characterized by dividing the scaling factor by the Gaussian noise variance and the peak-valley spacing in sequence. The intercept of the linear function is 0.
6. The method according to claim 4, characterized in that, The step of inputting the intermediate voltage value as a function variable into a preset function for calculation to obtain the log-likelihood ratio values corresponding to each of the multiple reading voltage intervals includes: The initial function value is obtained by calculating the intermediate voltage value using the linear function. The initial function value is rounded to obtain the log-likelihood ratio corresponding to the intermediate voltage value.
7. The method according to claim 1, characterized in that, The intermediate voltage value is the midpoint voltage value of the reading voltage range.
8. A software decoding method, characterized in that, The method includes: In response to a hardware decoding failure, obtain the current hardware read voltage; Perform multiple read operations based on the hard read voltage to obtain multiple read voltage ranges corresponding to the multiple read operations; Based on the log-likelihood ratio table, the multiple reading voltage ranges are mapped to corresponding log-likelihood ratio values, which are then input into the software decoder for decoding. The log-likelihood ratio table is generated by the log-likelihood ratio table generation method according to any one of claims 1 to 7.
9. An electronic device, characterized in that, The device includes a memory and a processor coupled to each other, the processor being configured to execute program instructions stored in the memory to implement the method for generating the log-likelihood ratio table as described in any one of claims 1 to 7, or to implement the soft decoding method as described in claim 8.
10. A non-volatile computer-readable storage medium storing program instructions thereon, characterized in that, When the program instructions are executed by the processor, they implement the method for generating the log-likelihood ratio table as described in any one of claims 1 to 7, or the software decoding method as described in claim 8.