CN110011670B - LDPC decoding method and device based on SSD data protection - Google Patents
LDPC decoding method and device based on SSD data protection Download PDFInfo
- Publication number
- CN110011670B CN110011670B CN201910239894.2A CN201910239894A CN110011670B CN 110011670 B CN110011670 B CN 110011670B CN 201910239894 A CN201910239894 A CN 201910239894A CN 110011670 B CN110011670 B CN 110011670B
- Authority
- CN
- China
- Prior art keywords
- decoding
- ldpc
- ssd
- data protection
- ldpc decoding
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 35
- 238000004364 calculation method Methods 0.000 claims description 20
- 238000004590 computer program Methods 0.000 claims description 14
- 238000006073 displacement reaction Methods 0.000 claims description 7
- 239000008187 granular material Substances 0.000 abstract description 2
- 238000013403 standard screening design Methods 0.000 description 50
- 238000004422 calculation algorithm Methods 0.000 description 7
- 238000010586 diagram Methods 0.000 description 6
- 239000002245 particle Substances 0.000 description 5
- 238000011084 recovery Methods 0.000 description 5
- 238000012804 iterative process Methods 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 238000005457 optimization Methods 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 238000013139 quantization Methods 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 230000003044 adaptive effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000010355 oscillation Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
- H03M13/11—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
- H03M13/1102—Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
- H03M13/1148—Structural properties of the code parity-check or generator matrix
Landscapes
- Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Probability & Statistics with Applications (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Detection And Correction Of Errors (AREA)
- Error Detection And Correction (AREA)
Abstract
The application relates to an LDPC decoding method, an LDPC decoding device, computer equipment and a storage medium based on SSD data protection, wherein the method comprises the following steps: acquiring an LDPC decoding request based on SSD data protection; opening the LDPC module after the SSD starts to read data according to the LDPC decoding request based on SSD data protection; adaptively selecting corresponding initial LLR and minimum influence factor according to the size of RBER, and starting LDPC decoding; judging whether the decoding is successful; and if the decoding is successful, sending out the data, and if the decoding is unsuccessful, reselecting the least influencing factor according to the iteration condition of the current decoder and restarting LDPC decoding. The invention improves the error correction performance of the decoder, reduces the frequency of the granule Read Retry, and simultaneously improves the decoding efficiency of the decoder, thereby finally achieving the purposes of improving the SSD reading performance and prolonging the SSD life cycle.
Description
Technical Field
The invention relates to the technical field of solid state disks, in particular to an LDPC decoding method, an LDPC decoding device, computer equipment and a storage medium based on SSD data protection.
Background
Currently, LDPC (Low-density Parity-check) is an ECC algorithm commonly used in SSD, including hard decoder and soft decoder, and aims to recover erroneous data.
In the conventional technology, the soft decoder needs to read more information from Nand Flash, so that the bandwidth is reduced by multiple times, and the read performance of the SSD is seriously affected, so in the actual use process, the bandwidth is hoped to be improved by improving the performance of the hard decoder to support a wider RBER interval, so that the stability of the error correction performance is improved.
Disclosure of Invention
In view of the foregoing, it is desirable to provide an LDPC decoding method, apparatus, computer device, and storage medium based on SSD data protection that can improve decoding efficiency.
An LDPC decoding method based on SSD data protection, the method comprising:
acquiring an LDPC decoding request based on SSD data protection;
opening the LDPC module after the SSD starts to read data according to the LDPC decoding request based on SSD data protection;
adaptively selecting corresponding initial LLR and minimum influence factor according to the size of RBER, and starting LDPC decoding;
judging whether the decoding is successful;
and if the decoding is successful, sending out the data, and if the decoding is unsuccessful, reselecting the least influencing factor according to the iteration condition of the current decoder and restarting LDPC decoding.
In one embodiment, the LDPC module includes:
the selector is used for acquiring and selecting RBER (role-based bit rate) flag or flag of decoder iteration condition;
the lookup table circuit is connected with the selector and used for storing LLR and the minimum value influence factor;
and the multiplication displacement circuit is connected with the lookup table circuit and used for carrying out multiplication operation according to the lookup result of the lookup table circuit.
In one embodiment, the LDPC module is configured to:
and obtaining a corresponding lookup table result by using the RBER flag as a reading address of the lookup table for initial LLR selection and minimum value calculation influence factor selection.
In one embodiment, the LDPC module is further configured to:
and searching a corresponding minimum value influence factor according to the flag of the iteration condition of the decoder to adjust the calculation result of the minimum value.
An LDPC decoding device based on SSD data protection, the LDPC decoding device based on SSD data protection comprising:
the acquisition module is used for acquiring an LDPC decoding request based on SSD data protection;
the LDPC module is used for opening the LDPC module after the SSD starts to read data according to the LDPC decoding request based on the SSD data protection;
the decoding module is used for adaptively selecting corresponding initial LLR and minimum influence factor according to the size of RBER and starting LDPC decoding;
the judging module is used for judging whether the decoding is successful or not;
and the execution module is used for sending out data if the decoding is successful, and reselecting the least influencing factor according to the iteration condition of the current decoder and restarting LDPC decoding if the decoding is unsuccessful.
In one embodiment, the LDPC module includes:
the selector is used for acquiring and selecting RBER (role-based bit rate) flag or flag of decoder iteration condition;
the lookup table circuit is connected with the selector and used for storing LLR and the minimum value influence factor;
and the multiplication displacement circuit is connected with the lookup table circuit and used for carrying out multiplication operation according to the lookup result of the lookup table circuit.
In one embodiment, the LDPC module is configured to:
and obtaining the corresponding selection of the initial LLR of the lookup table result and the selection of the influence factor of the minimum calculation by using the RBER flag as the reading address of the lookup table.
In one embodiment, the LDPC module is further configured to:
and searching a corresponding minimum value influence factor according to the flag of the iteration condition of the decoder to adjust the calculation result of the minimum value.
A computer device comprising a memory, a processor and a computer program stored on the memory and executable on the processor, the processor implementing the steps of any one of the methods described above when the computer program is executed.
A computer readable storage medium having stored thereon a computer program which when executed by a processor performs the steps of any of the methods described above.
The LDPC decoding method, the device, the computer equipment and the storage medium based on SSD data protection are realized by acquiring the LDPC decoding request based on SSD data protection; opening the LDPC module after the SSD starts to read data according to the LDPC decoding request based on SSD data protection; adaptively selecting corresponding initial LLR and minimum influence factor according to the size of RBER, and starting LDPC decoding; judging whether the decoding is successful; and if the decoding is successful, sending out the data, and if the decoding is unsuccessful, reselecting the least influencing factor according to the iteration condition of the current decoder and restarting LDPC decoding. The method can adaptively select the initial LLR and the influence factor for calculating the minimum value, select different initial LLR values and the influence factor for calculating the minimum value under different RBER conditions, and select different influence factors for calculating the minimum value according to iteration conditions in the iterative process of the decoder, thereby improving the error correction performance of decoding, further improving the data recovery capability of the SSD and improving the service life of the SSD.
Drawings
FIG. 1 is a flow chart of an LDPC decoding method based on SSD data protection in one embodiment;
FIG. 2 is a schematic diagram of an LDPC module in an LDPC decoding method based on SSD data protection in one embodiment;
FIG. 3 is a flow diagram of optimized LDPC decoding in one embodiment;
FIG. 4 is a graph of optimized forward and backward decoding error correction patterns versus RBER in one embodiment;
FIG. 5 is a circuit diagram of an optimized minimum calculation unit hardware implementation in one embodiment;
FIG. 6 is a block diagram illustrating an LDPC decoding apparatus based on SSD data protection in one embodiment;
fig. 7 is an internal structural diagram of a computer device in one embodiment.
Detailed Description
In order to make the objects, technical solutions and advantages of the present application more apparent, the present application will be further described in detail with reference to the accompanying drawings and examples. It should be understood that the specific embodiments described herein are for purposes of illustration only and are not intended to limit the present application.
LDPC is an ECC algorithm commonly used in SSDs at present, and comprises a hard decoder and a soft decoder, and aims to recover erroneous data. But the soft decoder needs to read more information from Nand Flash, so that the bandwidth is reduced by times, and the read performance of SSD is seriously affected, so that in use, the performance of the hard decoder is expected to be improved to support a wider RBER interval to improve the bandwidth, and the stability of error correction performance is improved. In order to improve the performance of hard decoder decoding, on one hand, the error rate of the particles can be improved by searching the position of the optimal read voltage, and on the other hand, corresponding initial LLR and minimum impact factors are required to be adaptively selected according to the data error characteristics of the particles, so that the aim of improving the error correction performance of LDPC decoding is fulfilled.
The invention mainly aims at optimizing a hard decoding mode, and provides an LDPC decoding optimizing scheme for SSD data protection, wherein the optimizing scheme can adaptively select initial LLR and calculate an influence factor of a minimum value. Due to the data error characteristics of Nand Flash particles in the SSD, different initial LLR values and influence factors for calculating the minimum values are selected under different RBER conditions, and in addition, different influence factors for calculating the minimum values can be selected according to iteration conditions in the iterative process of the decoder, so that the error correction performance of decoding is improved, the data recovery capacity of the SSD is further improved, and the service life of the SSD is improved.
In one embodiment, as shown in fig. 1, there is provided an LDPC decoding method based on SSD data protection, the method including:
step 102, obtaining an LDPC decoding request based on SSD data protection;
step 104, opening the LDPC module after the SSD starts to read data according to the LDPC decoding request based on SSD data protection;
step 106, adaptively selecting corresponding initial LLR and minimum influence factor according to the size of RBER, and starting LDPC decoding;
step 108, judging whether the decoding is successful;
and 110, if the decoding is successful, sending out the data, and if the decoding is unsuccessful, reselecting the least influencing factor according to the iteration condition of the current decoder and restarting LDPC decoding.
Referring to fig. 3, in this embodiment, firstly, an LDPC decoding request based on SSD data protection is obtained, an LDPC error correction module is turned on after SSD data reading starts according to specific content of the request, and corresponding initial LLRs and minimum influencing factors are adaptively selected according to the size of RBER, then LDPC decoding is started, and if decoding is successful, data is sent out; if the decoding is unsuccessful, the influence factor calculated by the minimum value is reselected according to the iteration condition of the current decoder, the decoding is performed again, the read reference voltage does not need to be modified to read data from Nand again, the decoding mode of read retry is not needed, the optimized LDPC decoding flow can improve the decoding error correction capability, and the error leveling is reduced, so that the data reading efficiency of SSD is improved well.
Specifically, the scheme proposed by the present embodiment will be described in more detail below.
First, the initial LLR and the improvement of the precision of the calculated minimum value are important factors for improving the performance of the LDPC decoder, the initial LLR represents the reliability of information outside data, and the accurate minimum value is calculated, so that the success rate of decoding can be greatly improved, the decoding efficiency can be greatly improved, and the iteration number of decoding is reduced. The calculation mode of updating the check node information according to the BP algorithm of the log likelihood ratio is shown in a formula (1).
Where i represents the subscript of the variable node, j represents the subscript of the check node, l is the current iteration number,representing the amount of information that variable node i propagates to check node j, gamma ji The information quantity transmitted to the variable node i by the check node j is represented, and L (·) represents the log likelihood ratio.
Due to tanh (x), tanh -1 (x) Is an odd function, having the properties tanh (x) =sgn (x) ·tanh (|x|), tanh -1 (x)=sgn(x)·tanh -1 (|x|), equation (1) can be simplified to get:
since tan h (|x|) is between [0, 1) and is a monotonically increasing function, the calculation of equation (2) can be simplified:
the combination of equation (2) and equation (3) can result in:
the formula (4) is a simplification of the LLR-BP algorithm, and compared with the LLR-BP algorithm, the performance is reduced, meanwhile, because the calculation of the minimum value in the iterative process is not affected by the initial LLR value, the MS algorithm loses the initial estimated information of the channel, and usually multiplies an influence factor on the basis of the formula (4) to approximate the result of the approximate calculation, if the influence factor can be adaptively changed according to the channel information, that is, the decoding performance is improved by adding the out-of-channel information, the embodiment adopts the optimization scheme to change the influence factor of the calculated minimum value through the out-of-channel information, thereby approaching the LLR-BP algorithm more, improving the error correction performance and reducing the error floor.
When the original LDPC hardware design is carried out, the initial LLR and the minimum value influence factor are fixed to a certain specific value, and then the hardware circuit is not adjusted according to the actual particle read-write condition. In this embodiment, more codewords are covered by multiple sets of values of LLRs and influencing factors, so that the codewords which are originally uncorrectable are corrected back through another combination, thus improving the error correction performance of the decoder and improving the read-write performance of the SSD.
In addition, since the read-write performance of the SSD has different RBER in different life cycles, the more data read operations, the greater the probability of error of the read Nand granule bits, that is, the greater the RBER, the greater the probability of error correction of the LDPC hard decoding mode, so that the read retry or soft bit mode needs to be selected for decoding, but the decoding mode greatly reduces the efficiency of data read, and therefore, the decoding performance of the hard decoding mode needs to be further improved. As the number of the particles RBER increases, the reliability of the read data gradually decreases, so that the initial LLR value needs to be recalculated and adjusted, and in addition, the minimum value of the check node needs to be calculated more accurately, so that the influence factor of calculating the minimum value needs to be changed to further improve the error correction capability. The optimized scheme can select different LLRs and influence factors according to the size of RBER and the internal iteration condition of the decoder so as to achieve the aim of improving the decoding performance. The optimized protocol is shown in the following table:
RBER | ≦3.0*10^-3 | ≦6.0*10^-3 | ≦8.0*10-3 | …… |
LLR | L1 | L2 | L3 | …… |
minimum influencing factor | α 1 | α 2 | α 3 | …… |
RBER in the above table represents the original bit error rate, which represents the probability of data errors in SSD in different data life cyclesThe rate can be divided into a plurality of different stages, and the decoding modes are respectively corresponding to the stages. When RBER is less than or equal to 3.0X10-3, the influence factors representing LLR and minimum value can be selected from the combination { L1, alpha } 1 Performing decoding calculation, wherein all code words can be basically covered by utilizing a hard decoding mode; when RBER is less than or equal to 6.0X10-3, the hard decoding mode cannot cover all error code words, the read retry mode is adopted for decoding, and the corresponding initial LLR and minimum value influence factor can be selected from the combination { L2, alpha } 2 -a }; when RBER is less than or equal to 8.0x10 < -3 >, the hard decoding and read retry modes are different to complete the recovery of all data, the soft decoding mode with more information is needed to recover the decoding, and { L3, alpha }, is selected 3 The combination of initial LLRs and minimum influencing factors. Of course, different RBER's may also be selected in other different combinations. Further, if the situation of bit flip oscillation occurs in the process of data recovery of the decoder, the adaptive selection of the influence factors can be performed according to the situation of decoding iteration to improve the uncorrectable situation caused by quantization precision, so that error leveling is reduced.
The optimized hard decoding mode can cover a larger RBER error range, and the read retry can cover the larger RBER error range, so that the whole decoder can support the larger RBER error range, and the whole decoding performance and the decoding efficiency can be improved. As shown in FIG. 4, different decoding error correction modes are selected before and after optimization according to different RBER, the optimized hard decoding mode can work in a larger RBER error range, such as the section of H-H' in the figure, the decoding is originally performed in a read retry mode, and the data recovery can be completed in the hard decoding mode, so that the efficiency of the decoder can be greatly improved, the decoding performance of the read retry mode can be greatly improved, and the number of times of read retry can be reduced.
It can be understood that the optimization scheme given in the scheme in this embodiment is only a recommended case, and similar deformation for the iteration state in the LDPC decoding process is based on the deformation of the scheme given in this embodiment, for example, according to the number of decoding iterations, bit flip condition of each iteration, and so on.
In this embodiment, according to the data error characteristics of the grains in the SSD, since the probabilities of the SSD reading data errors are different in different life cycles, that is, the RBER is different, by utilizing the characteristics, a method for adaptively selecting the initial LLR of the LDPC decoder and obtaining the minimum impact factor is creatively provided, and the effect of improving the decoding performance and efficiency can be achieved by using smaller hardware cost. In addition, the self-adaptive adjustment influence factor in the decoding process can improve the condition that data cannot be corrected due to quantization precision in the decoding iterative process, thereby reducing error leveling and improving SSD reading performance.
In one embodiment, an LDPC decoding method based on SSD data protection is provided, as shown in fig. 2, an LDPC module 200 in the method includes:
a selector 201, configured to obtain and select a RBER flag or a flag of a decoder iteration condition;
a look-up table circuit 202, the look-up table circuit 202 being coupled to the selector 201 for storing LLRs and minimum influencing factors;
and the multiplication displacement circuit 203, wherein the multiplication displacement circuit 203 is connected with the lookup table circuit 202 and is used for carrying out multiplication operation according to the lookup result of the lookup table circuit.
In one embodiment, LDPC module 200 is to:
and obtaining a corresponding lookup table result by using the RBER flag as a reading address of the lookup table for initial LLR selection and minimum value calculation influence factor selection.
In one embodiment, LDPC module 200 is further to:
and searching a corresponding minimum value influence factor according to the flag of the iteration condition of the decoder to adjust the calculation result of the minimum value.
Specifically, referring to fig. 5, the optimized circuit adds a set of selectors (MUX) and further adds a look-up table circuit (LUT) that stores LLRs and minimum influencing factors, while the multiplicative shift circuit (MUL) also requires a slight adjustment. The hardware circuit mainly obtains a corresponding lookup table result for multiplication shift calculation by taking RBER flag as a reading address of the lookup table. Similarly, the corresponding minimum value influence factor can be searched according to the flag of the decoder iteration condition to adjust the minimum value calculation result.
In this embodiment, the error correction capability of the decoder can be significantly improved by adding a little logic by using a hardware circuit, and the benefit is very considerable.
It should be understood that, although the steps in the flowcharts of fig. 1-5 are shown in order as indicated by the arrows, these steps are not necessarily performed in order as indicated by the arrows. The steps are not strictly limited to the order of execution unless explicitly recited herein, and the steps may be executed in other orders. Moreover, at least some of the steps in fig. 1-5 may include multiple sub-steps or stages that are not necessarily performed at the same time, but may be performed at different times, nor do the order in which the sub-steps or stages are performed necessarily occur sequentially, but may be performed alternately or alternately with at least a portion of the sub-steps or stages of other steps or steps.
In one embodiment, as shown in fig. 6, there is provided an LDPC decoding apparatus 600 based on SSD data protection, including:
an obtaining module 601, configured to obtain an LDPC decoding request based on SSD data protection;
the LDPC module 602 is configured to open the LDPC module after the SSD starts to read data according to an LDPC decoding request based on SSD data protection;
a decoding module 603, configured to adaptively select a corresponding initial LLR and a minimum impact factor according to a size of the RBER, and start LDPC decoding;
a judging module 604, configured to judge whether the decoding is successful;
and the execution module 605 is configured to send out data if the decoding is successful, and reselect the least influencing factor and restart the LDPC decoding according to the iteration condition of the current decoder if the decoding is unsuccessful.
In one embodiment, LDPC module 602 includes:
the selector is used for acquiring and selecting RBER flag or flag of decoder iteration condition;
a lookup table circuit connected with the selector for storing LLR and minimum influencing factors;
and the multiplication displacement circuit is connected with the lookup table circuit and used for carrying out multiplication operation according to the lookup result of the lookup table circuit.
In one embodiment, LDPC module 602 is to:
and obtaining a corresponding lookup table result by using the RBER flag as a reading address of the lookup table for initial LLR selection and minimum value calculation influence factor selection.
In one embodiment, LDPC module 602 is further to:
and searching a corresponding minimum value influence factor according to the flag of the iteration condition of the decoder to adjust the calculation result of the minimum value.
For specific limitation of the LDPC decoding apparatus based on SSD data protection, reference may be made to the limitation of the LDPC decoding method based on SSD data protection hereinabove, and the description thereof will not be repeated here.
In one embodiment, a computer device is provided, the internal structure of which may be as shown in FIG. 7. The computer device includes a processor, a memory, and a network interface connected by a system bus. Wherein the processor of the computer device is configured to provide computing and control capabilities. The memory of the computer device includes a non-volatile storage medium and an internal memory. The non-volatile storage medium stores an operating system, computer programs, and a database. The internal memory provides an environment for the operation of the operating system and computer programs in the non-volatile storage media. The network interface of the computer device is used for communicating with an external terminal through a network connection. The computer program, when executed by a processor, implements an LDPC decoding method based on SSD data protection.
It will be appreciated by those skilled in the art that the structure shown in fig. 7 is merely a block diagram of some of the structures associated with the present application and is not limiting of the computer device to which the present application may be applied, and that a particular computer device may include more or fewer components than shown, or may combine certain components, or have a different arrangement of components.
In one embodiment, a computer device is provided that includes a memory, a processor, and a computer program stored on the memory and executable on the processor, the processor implementing the steps in the method embodiments above when executing the computer program.
In one embodiment, a computer-readable storage medium is provided, on which a computer program is stored which, when executed by a processor, carries out the steps of the above method embodiments.
Those skilled in the art will appreciate that implementing all or part of the above described methods may be accomplished by way of a computer program stored on a non-transitory computer readable storage medium, which when executed, may comprise the steps of the embodiments of the methods described above. Any reference to memory, storage, database, or other medium used in the various embodiments provided herein may include non-volatile and/or volatile memory. The nonvolatile memory can include Read Only Memory (ROM), programmable ROM (PROM), electrically Programmable ROM (EPROM), electrically Erasable Programmable ROM (EEPROM), or flash memory. Volatile memory can include Random Access Memory (RAM) or external cache memory. By way of illustration and not limitation, RAM is available in a variety of forms such as Static RAM (SRAM), dynamic RAM (DRAM), synchronous DRAM (SDRAM), double Data Rate SDRAM (DDRSDRAM), enhanced SDRAM (ESDRAM), synchronous Link DRAM (SLDRAM), memory bus direct RAM (RDRAM), direct memory bus dynamic RAM (DRDRAM), and memory bus dynamic RAM (RDRAM), among others.
The technical features of the above embodiments may be arbitrarily combined, and all possible combinations of the technical features in the above embodiments are not described for brevity of description, however, as long as there is no contradiction between the combinations of the technical features, they should be considered as the scope of the description.
The above examples merely represent a few embodiments of the present application, which are described in more detail and are not to be construed as limiting the scope of the invention. It should be noted that it would be apparent to those skilled in the art that various modifications and improvements could be made without departing from the spirit of the present application, which would be within the scope of the present application. Accordingly, the scope of protection of the present application is to be determined by the claims appended hereto.
Claims (8)
1. An LDPC decoding method based on SSD data protection, the method comprising:
acquiring an LDPC decoding request based on SSD data protection;
opening the LDPC module after the SSD starts to read data according to the LDPC decoding request based on SSD data protection;
adaptively selecting corresponding initial LLR and minimum influence factor according to the size of RBER, and starting LDPC decoding;
judging whether the decoding is successful;
if the decoding is successful, sending out data, if the decoding is unsuccessful, reselecting the least influencing factor according to the iteration condition of the current decoder and restarting LDPC decoding;
the LDPC module includes: the selector is used for acquiring and selecting RBER (role-based bit rate) flag or flag of decoder iteration condition; the lookup table circuit is connected with the selector and used for storing LLR and the minimum value influence factor; and the multiplication displacement circuit is connected with the lookup table circuit and used for carrying out multiplication operation according to the lookup result of the lookup table circuit.
2. The LDPC decoding method based on SSD data protection of claim 1, wherein the LDPC module is configured to:
and obtaining a corresponding lookup table result by using the RBER flag as a reading address of the lookup table for initial LLR selection and minimum value calculation influence factor selection.
3. The LDPC decoding method based on SSD data protection of claim 2, wherein the LDPC module is further configured to:
and searching a corresponding minimum value influence factor according to the flag of the iteration condition of the decoder to adjust the calculation result of the minimum value.
4. An LDPC decoding device based on SSD data protection, the LDPC decoding device based on SSD data protection comprising:
the acquisition module is used for acquiring an LDPC decoding request based on SSD data protection;
the LDPC module is used for opening the LDPC module after the SSD starts to read data according to the LDPC decoding request based on the SSD data protection;
the decoding module is used for adaptively selecting corresponding initial LLR and minimum influence factor according to the size of RBER and starting LDPC decoding;
the judging module is used for judging whether the decoding is successful or not;
the execution module is used for sending out data if the decoding is successful, and reselecting the least influencing factor according to the iteration condition of the current decoder and restarting LDPC decoding if the decoding is unsuccessful;
the LDPC module includes: the selector is used for acquiring and selecting RBER (role-based bit rate) flag or flag of decoder iteration condition; the lookup table circuit is connected with the selector and used for storing LLR and the minimum value influence factor; and the multiplication displacement circuit is connected with the lookup table circuit and used for carrying out multiplication operation according to the lookup result of the lookup table circuit.
5. The SSD data protection based LDPC decoding device of claim 4, wherein the LDPC module is configured to:
and obtaining a corresponding lookup table result by using the RBER flag as a reading address of the lookup table for initial LLR selection and minimum value calculation influence factor selection.
6. The SSD data protection based LDPC decoding device of claim 5, wherein the LDPC module is further configured to:
and searching a corresponding minimum value influence factor according to the flag of the iteration condition of the decoder to adjust the calculation result of the minimum value.
7. A computer device comprising a memory, a processor and a computer program stored on the memory and executable on the processor, characterized in that the processor implements the steps of the method according to any one of claims 1 to 3 when the computer program is executed by the processor.
8. A computer readable storage medium, on which a computer program is stored, characterized in that the computer program, when being executed by a processor, implements the steps of the method of any of claims 1 to 3.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910239894.2A CN110011670B (en) | 2019-03-27 | 2019-03-27 | LDPC decoding method and device based on SSD data protection |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910239894.2A CN110011670B (en) | 2019-03-27 | 2019-03-27 | LDPC decoding method and device based on SSD data protection |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110011670A CN110011670A (en) | 2019-07-12 |
CN110011670B true CN110011670B (en) | 2023-04-28 |
Family
ID=67168494
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910239894.2A Active CN110011670B (en) | 2019-03-27 | 2019-03-27 | LDPC decoding method and device based on SSD data protection |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110011670B (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110572164B (en) * | 2019-09-29 | 2023-02-10 | 深圳忆联信息系统有限公司 | LDPC decoding method, apparatus, computer device and storage medium |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106160753A (en) * | 2016-06-23 | 2016-11-23 | 湖南大学 | A kind of weights many bit reversals LDPC interpretation method being applicable to SSD |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140089757A1 (en) * | 2012-09-22 | 2014-03-27 | Lsi Corporation | LDPC Decoder With Fractional Local Iterations |
US8959407B2 (en) * | 2012-11-28 | 2015-02-17 | Intel Corporation | Scaling factors for hard decision reads of codewords distributed across die |
US10176041B2 (en) * | 2014-06-16 | 2019-01-08 | Tidal Systems, Inc. | Deterministic read retry method for soft LDPC decoding in flash memories |
US9866241B2 (en) * | 2015-09-25 | 2018-01-09 | SK Hynix Inc. | Techniques for adaptive LDPC decoding |
US10075191B2 (en) * | 2016-03-21 | 2018-09-11 | Nandext Srl | Method for decoding bits-by varying LLR values in a solid-state drive, and solid-state drive implementing the method |
CN106330203B (en) * | 2016-08-26 | 2019-12-31 | 晶晨半导体(上海)股份有限公司 | LDPC decoding method |
CN106936446A (en) * | 2017-03-10 | 2017-07-07 | 南京大学 | A kind of high speed decoder and its interpretation method based on Non-Binary LDPC Coded |
CN108683423B (en) * | 2018-05-16 | 2022-04-19 | 广东工业大学 | LDPC code dynamic serial scheduling decoding algorithm and device under multistage flash memory channel |
-
2019
- 2019-03-27 CN CN201910239894.2A patent/CN110011670B/en active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106160753A (en) * | 2016-06-23 | 2016-11-23 | 湖南大学 | A kind of weights many bit reversals LDPC interpretation method being applicable to SSD |
Also Published As
Publication number | Publication date |
---|---|
CN110011670A (en) | 2019-07-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10811091B2 (en) | Adaptive processing for read threshold voltage calibration | |
US11108408B2 (en) | Memory controller and method of accessing flash memory | |
US9905289B1 (en) | Method and system for systematic read retry flow in solid state memory | |
KR102728203B1 (en) | Read retry operations where likelihood value assignments change sign at different read voltages for each read retry | |
KR101535225B1 (en) | Decoding method and memory system device using the method | |
JP5698260B2 (en) | Error correction system and method for control data in memory device | |
US20160027521A1 (en) | Method of flash channel calibration with multiple luts for adaptive multiple-read | |
US10230401B2 (en) | Memory controller for a non-volatile memory, memory system and method | |
US10108490B1 (en) | Decoding method, memory storage device and memory control circuit unit | |
US10892776B1 (en) | Memory controller and method of accessing flash memory | |
US8935598B1 (en) | System and method for adaptive check node approximation in LDPC decoding | |
JP7039298B2 (en) | Memory system | |
US20170294217A1 (en) | Decoding method, memory storage device and memory control circuit unit | |
US11139833B2 (en) | Adaptive read retry optimization | |
US11595058B1 (en) | Recovering from hard decoding errors by remapping log likelihood ratio values read from NAND memory cells | |
CN111294061B (en) | Decoding soft decision delay reduction method for original bit error rate perception | |
CN112988453B (en) | Data recovery method for flash memory | |
US20160266971A1 (en) | Memory system, memory controller and memory control method | |
CN110011670B (en) | LDPC decoding method and device based on SSD data protection | |
US20230360715A1 (en) | Selecting read reference voltage using historical decoding information | |
US11876535B1 (en) | Memory controller and method for controlling data in decoding pipeline | |
CN115794482A (en) | System and method for decoding codewords in same page by using historical decoding information | |
JP2023085175A (en) | Memory matched low density parity check coding scheme | |
CN111863106B (en) | Flash memory error correction method and device | |
TWI769002B (en) | A device for selecting a decoding strategy for a data storage system |
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 |