Decoding method of LDPC (Low Density Parity Check) soft decoding, computer readable storage medium and solid state disk

By dynamically determining the target voltage range through analysis of the threshold voltage waveform, the problems of high computational load and low accuracy in the LDPC soft decoding method are solved, and a more efficient decoding process is achieved.

CN121387620APending Publication Date: 2026-01-23SHENZHEN SHICHUANGYI ELECTRONICS CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202511342951.1
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-09-19
Publication Date
2026-01-23

AI Technical Summary

Technical Problem

Existing LDPC software decoding methods involve large computational loads and low accuracy in solid-state drives, making them unsuitable for accurate decoding in various real-world scenarios.

Method used

By analyzing the threshold voltage waveform, the target voltage range is dynamically determined, and soft data of a preset number of times is obtained for LDPC soft decoding, thus avoiding the use of a pre-set voltage range.

Benefits of technology

It reduces the amount of computation in the decoding process, improves decoding accuracy, and saves time.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN121387620A_ABST
    Figure CN121387620A_ABST
Patent Text Reader

Abstract

The invention discloses an LDPC soft decoding method, a computer readable storage medium and a solid state disk, the decoding method is used for the solid state disk, and the decoding method comprises the following steps: receiving a reading command sent by a HOST end, and reading data in a chip according to the reading command; if the read data is wrong data, executing hard decoding; if hard decoding fails, reading the threshold voltage data, and forming a threshold voltage oscillogram according to the threshold voltage data; analyzing and calculating a threshold voltage waveform in the threshold voltage oscillogram to obtain a target voltage range; acquiring soft data of a preset number of times in a target voltage range and performing LDPC soft decoding; wherein the size of the target voltage range is used for representing the offset degree of the threshold voltage data. According to the method, soft data are obtained without using a preset voltage range, the threshold voltage data are read for analysis, the target voltage range is dynamically obtained, the accuracy of LDPC soft decoding is increased, the calculated amount is reduced, and time is saved.
Need to check novelty before this filing date? Find Prior Art

Description

TECHNICAL FIELD

[0001] The present application relates to the field of solid state disks, in particular to a decoding method of LDPC soft decoding, a computer readable storage medium and a solid state disk. BACKGROUND

[0002] In the current field of solid state disks (SSD), with the rapid development of solid state disk storage technology, NAND flash memory is widely used in computer storage systems and consumer electronics due to its large capacity, low energy consumption and non-volatility. However, with the reduction of storage cell size and the use of multi-bit technology, the number of data bits that each storage cell needs to store increases, leading to increased coupling interference between cells, which in turn causes high bit error rates and reduces data reliability.

[0003] In order to improve data reliability, LDPC codes are widely used, and LDPC soft decoding success has a probability. The existing LDPC soft decoding decoding process relies on soft data read in NAND, but the existing soft data acquisition method often uses fixed data range acquisition, which cannot adapt to accurate decoding in various actual scenarios, resulting in large amount of calculation in the decoding process and low accuracy. SUMMARY

[0004] The purpose of the present application is to provide a decoding method of LDPC soft decoding, a computer readable storage medium and a solid state disk, which reduces the amount of calculation in the decoding process and improves the accuracy of decoding.

[0005] The present application discloses a decoding method of LDPC soft decoding for a solid state disk, which comprises the following steps:

[0006] Receiving a read command sent by a HOST end, and reading data in the chip according to the read command;

[0007] If the read data is error data, performing hard decoding;

[0008] If the hard decoding fails, reading threshold voltage data, and forming a threshold voltage waveform diagram according to the threshold voltage data;

[0009] Analyzing and calculating the threshold voltage waveform in the threshold voltage waveform diagram to obtain a target voltage range; and

[0010] Obtaining soft data of a preset number in the target voltage range and performing LDPC soft decoding;

[0011] The size of the target voltage range is used to represent the degree of offset of the threshold voltage data.

[0012] Optionally, the step of analyzing and calculating the threshold voltage waveform in the threshold voltage waveform graph to obtain a target voltage range comprises:

[0013] obtaining the coordinates (x0, y0) of the lowest point in the threshold voltage waveform;

[0014] selecting a preset number of points on the threshold voltage waveform on the left and right sides of the lowest point in the x-axis direction, and recording the x-axis coordinates and y-axis coordinates of the selected points;

[0015] connecting the lowest point and each point on the left side of the lowest point, calculating the slope of the connecting line of adjacent two points, calculating the slope of all connecting lines to obtain the average value of the slope, based on the average value of the slope and the new connecting line of the middle point on the left side, extending the new connecting line to intersect the x-axis of the threshold voltage waveform to obtain the overlapping point a1;

[0016] connecting the lowest point and each point on the right side of the lowest point, calculating the slope of the connecting line of adjacent two points, calculating the slope of all connecting lines to obtain the average value of the slope, based on the average value of the slope and the new connecting line of the middle point on the left side, extending the new connecting line to intersect the x-axis of the threshold voltage waveform to obtain the overlapping point a2; and

[0017] reading the voltage values of the overlapping points a1 and a2 on the x-axis coordinates to obtain the target voltage range

Va1, Va2

[0018] Optionally, in the step of selecting a preset number of points on the threshold voltage waveform on the left and right sides of the lowest point in the x-axis direction, and recording the x-axis coordinates and y-axis coordinates of the selected points, the preset number is two, the coordinates of the two points are (x1, y1) and (x2, y2), and the connecting lines are two straight lines;

[0019] The step of connecting the lowest point and each point on the left side of the lowest point, calculating the slope of the connecting line of adjacent two points, calculating the slope of all connecting lines to obtain the average value of the slope, based on the average value of the slope and the new connecting line of the middle point on the left side, extending the new connecting line to intersect the x-axis of the threshold voltage waveform to obtain the overlapping point a1 comprises:

[0020] sequentially connecting the lowest point and the two points on the left side of the lowest point, calculating the slope S1 based on the coordinates (x0, y0) and (x1, y1) of the one point on the left side of the lowest point, calculating the slope S2 based on the coordinates (x1, y1) and (x2, y2) of the two points on the left side, calculating the average value of the slope S1 and the slope S2 to obtain the slope S3, based on the slope S3 and the new connecting line of the middle point (x1, y1) on the left side, extending the new connecting line to intersect the x-axis of the threshold voltage waveform to obtain the overlapping point a1;

[0021] The step of connecting the lowest point and each point on the right side of the lowest point, calculating the slope of the connecting line of the adjacent two points, calculating the slope of all connecting lines to obtain the average value of the slope, and extending the new connecting line based on the average value of the slope and the intersection point a2 of the x-axis of the threshold voltage waveform, comprises:

[0022] The lowest point and the two points on the right side of the lowest point are sequentially connected, the slope S1' is calculated based on the coordinates (x0, y0) and (x1', y1') of one point on the right side of the lowest point, the slope S2' is calculated based on the coordinates (x1', y1') and (x2', y2') of the two points on the left side, the average value of the slope S1' and the slope S2' is calculated to obtain the slope S3', and the new connecting line is extended based on the average value of the slope S3' and the intersection point a2 of the x-axis of the threshold voltage waveform.

[0023] Optionally, the step of analyzing and calculating the threshold voltage waveform in the threshold voltage waveform diagram to obtain the target voltage range comprises:

[0024] The coordinates (x0, y0) of the lowest point in the threshold voltage waveform are obtained.

[0025] A predetermined number of points on the threshold voltage waveform on the left and right sides of the lowest point in the x-axis direction are selected, and the x-axis coordinates and y-axis coordinates of the selected points are recorded; and

[0026] The lowest point and each point on the left side of the lowest point are connected, and the connecting line is extended to intersect the x-axis of the threshold voltage waveform to obtain a plurality of intersection points, and the voltage values on the x-axis coordinates of the plurality of intersection points are averaged to obtain Va1; and the lowest point and each point on the right side of the lowest point are connected, and the connecting line is extended to intersect the x-axis of the threshold voltage waveform to obtain a plurality of intersection points, and the voltage values on the x-axis coordinates of the plurality of intersection points are averaged to obtain Va2, so as to obtain the target voltage range

Va1, Va2

[0027] Optionally, the step of analyzing and calculating the threshold voltage waveform in the threshold voltage waveform diagram to obtain the target voltage range comprises:

[0028] The coordinates (x0, y0) of the lowest point in the threshold voltage waveform are obtained.

[0029] Three points on the threshold voltage waveform on the left and right sides of the lowest point in the x-axis direction are selected, and the x-axis coordinates and y-axis coordinates of the selected points are recorded.

[0030] Based on the lowest point and each point left to the lowest point, a discrete straight line is formed, the discrete straight line is extended to intersect with the x-axis of the threshold voltage waveform to obtain an overlapping point a1; based on the lowest point and each point right to the lowest point, a discrete straight line is formed, the discrete straight line is extended to intersect with the x-axis of the threshold voltage waveform to obtain an overlapping point a2, and target voltages Va1 and Va2 corresponding to the overlapping points a1 and a2, so as to obtain a target voltage range

Va1, Va2

[0031] Optionally, in the step of obtaining soft data in the target voltage range for a preset number of times and performing LDPC soft decoding, the read soft data includes soft data corresponding to the lowest point and two end points in the target voltage range.

[0032] Optionally, the step of analyzing and calculating the threshold voltage waveform in the threshold voltage waveform diagram to obtain the target voltage range includes:

[0033] obtaining the coordinates (x0, y0) of the lowest point in the threshold voltage waveform;

[0034] obtaining the target voltage range based on a lookup table according to the x-axis corresponding values of the lowest point and each point.

[0035] Optionally, the step of obtaining soft data in the target voltage range for a preset number of times and performing LDPC soft decoding further includes the step of:

[0036] if the LDPC soft decoding is successful, returning data to the HOST end and marking decoding success;

[0037] if the LDPC soft decoding fails, returning a read failure flag to the HOST end and marking decoding failure.

[0038] The application further discloses a computer readable storage medium, wherein the computer readable storage medium stores a computer program, and the computer program is executed by a processor to realize the operations in the LDPC soft decoding decoding method.

[0039] The application further discloses a solid state disk, which comprises a controller and a NAND flash chip, the NAND flash chip is provided with an LDPC soft decoding area, and the NAND flash chip uses the LDPC soft decoding decoding method to perform soft decoding on read data.

[0040] Compared with the method of obtaining soft data decoding by using a preset voltage range, the application obtains a threshold voltage waveform of the current read threshold voltage data based on the threshold voltage data, determines a target voltage range according to the threshold voltage waveform in the threshold voltage waveform, the target voltage range is no longer a preset voltage range, but a voltage range that can be used to represent the offset degree of the threshold voltage data and is determined according to the threshold voltage waveform, the threshold voltage data is read for analysis, the target voltage range is dynamically obtained, the accuracy of LDPC soft decoding is increased, the calculation amount is reduced, and the time is saved. BRIEF DESCRIPTION OF DRAWINGS

[0041] The accompanying drawings, which are included to provide a further understanding of the embodiments of the application and constitute a part of the specification, illustrate the embodiments of the application and together with the text description serve to explain the principles of the application. Obviously, the drawings in the following description are only some embodiments of the application, and other drawings can be obtained by those skilled in the art without creative labor. In the drawings:

[0042] Figure 1 is a decoding method step schematic diagram of the LDPC soft decoding of the first embodiment of the application;

[0043] Figure 2 is a decoding method flowchart schematic diagram of the LDPC soft decoding of the second embodiment of the application;

[0044] Figure 3 is a decoding method flowchart schematic diagram of the LDPC soft decoding of the third embodiment of the application;

[0045] Figure 4 is a decoding method flowchart schematic diagram of the LDPC soft decoding of the fourth embodiment of the application;

[0046] Figure 5 is a decoding method flowchart schematic diagram of the LDPC soft decoding of the fifth embodiment of the application;

[0047] Figure 6 is a solid state disk structure schematic diagram of the sixth embodiment of the application.

[0048] Wherein, 100, solid state disk; 110, controller; 120, NAND flash chip; 121, soft decoding area. DETAILED DESCRIPTION

[0049] It should be understood that the terms used herein, the disclosed specific structures and functional details, are only for the purpose of describing specific embodiments, and are representative, but the application can be embodied in many alternative forms, and should not be interpreted as being limited to the embodiments described herein.

[0050] In the description of the present application, the terms "first", "second" are only for descriptive purpose, and cannot be understood as indicating relative importance, or implying the number of the indicated technical features. Therefore, unless otherwise specified, the features defined with "first", "second" can explicitly or implicitly include one or more of the features; the meaning of "multiple" is two or more. The term "comprising" and any variation thereof means non-exclusive inclusion, and one or more other features, integers, steps, operations, units, components and / or combinations thereof can exist or be added.

[0051] In addition, the terms indicating the orientation or positional relationship of "center", "transverse", "upper", "lower", "left", "right", "vertical", "horizontal", "top", "bottom", "inner", "outer" and the like are described based on the orientation or relative position relationship shown in the drawings, and are only for the convenience of the simplified description of the present application, and cannot be understood as indicating that the indicated device or element must have a specific orientation, be constructed and operated in a specific orientation, and therefore cannot be understood as limiting the present application.

[0052] Furthermore, unless otherwise explicitly specified and limited, the terms "mounting", "connecting", "connection" should be broadly understood, for example, it can be fixed connection, or detachable connection, or integrally connected; it can be mechanical connection, or electrical connection; it can be directly connected, or indirectly connected through intermediate medium, or internal communication of two elements. For those skilled in the art, the specific meaning of the above terms in the present application can be understood according to the specific circumstances.

[0053] The present application will be described in detail below with reference to the accompanying drawings and optional embodiments.

[0054] The current soft decoding is to obtain soft data on the left and right sides of the judgment line for soft decoding. All voltage points in the overlapping range, such as the overlapping region is 95-105, are read once in the voltage points 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, and the data is sent to the LDPC decoder for iteration, which is the best, but this will greatly increase the load of the LDPC decoder, and the decoding speed is very slow. If the range of soft data obtained is 90-110, and the offset is small, the data read a predetermined number of times in the voltage points 90-110 is needed. If the actual offset is between 95-105, the data of the three points 90, 100, 110 is used for soft decoding (multiple points need to be read, and soft decoding may be read multiple times to be successful), which will increase the amount of calculation and time-consuming. If the offset range is large, for example, 80-115, at this time between 90-110, even if read multiple times, it may not be calculated out, resulting in failure.

[0055] As a first embodiment of this application, reference is made to Figure 1 As shown, a decoding method for LDPC software decoding is disclosed for solid-state drives. This method implements LDPC software decoding and avoids the problems of high computational load and low decoding accuracy. The decoding method includes the following steps:

[0056] S1: Receive a read command sent by the HOST terminal, and read the data in the chip according to the read command;

[0057] S2: If the read data is incorrect, perform hardware decoding;

[0058] S3: Hardware decoding failed. Read the threshold voltage data and generate a threshold voltage waveform based on the threshold voltage data.

[0059] S4: Analyze and calculate the threshold voltage waveform in the threshold voltage waveform diagram to obtain the target voltage range; and

[0060] S5: Acquire soft data a preset number of times within the target voltage range and perform LDPC soft decoding;

[0061] The size of the target voltage range is used to characterize the degree of deviation of the threshold voltage data.

[0062] In this embodiment, the original operation of using a pre-set voltage range to obtain soft data decoding is abandoned. Instead, threshold voltage data is read and analyzed. Based on the threshold voltage data, the threshold voltage waveform of the currently read threshold voltage data is obtained. According to the threshold voltage waveform in the threshold voltage waveform, a target voltage range is determined to characterize the degree of deviation of the threshold voltage data. Within the target voltage range, a preset number of soft data is obtained and LDPC soft decoding is performed. By obtaining the target voltage range in a dynamic manner, the optimal soft data is obtained, increasing the accuracy of LDPC soft decoding and avoiding the problems of large computation and low accuracy in the decoding process when using a pre-set voltage range to obtain soft data.

[0063] like Figure 2 As shown, as a second embodiment of this application, it is a further refinement and improvement of the first embodiment described above. Step S4 includes:

[0064] S421: Obtain the coordinates (x0, y0) of the lowest point in the threshold voltage waveform;

[0065] S422: Along the x-axis, select a preset number of points on the threshold voltage waveform on both sides of the lowest point, and record the x-axis coordinates and y-axis coordinates of each selected point;

[0066] S423: connecting the lowest point and each point on the left side of the lowest point, calculating the slope of the connecting line of the adjacent two points, calculating the slope of all connecting lines to obtain the average value of the slope, based on the average value of the slope and the new connecting line of the left middle point, the new connecting line is extended to intersect with the x-axis of the threshold voltage waveform to obtain the intersection point a1;

[0067] S424: connecting the lowest point and each point on the right side of the lowest point, calculating the slope of the connecting line of the adjacent two points, calculating the slope of all connecting lines to obtain the average value of the slope, based on the average value of the slope and the new connecting line of the left middle point, the new connecting line is extended to intersect with the x-axis of the threshold voltage waveform to obtain the intersection point a2; and

[0068] S425: reading the voltage value of the intersection points a1 and a2 on the x-axis coordinate to obtain the target voltage range

Va1, Va2

[0069] The step S5 comprises:

[0070] S521: obtaining a preset number of soft data in the target voltage range

Va1, Va2

[0071] In this embodiment, after obtaining the threshold voltage waveform, the lowest point in the threshold voltage waveform is found first, that is, the point with the minimum y value, and the coordinates corresponding to the lowest point are (x0, y0). After obtaining the coordinates of the lowest point, a preset number of points are taken on both sides of the lowest point. Generally, a step of selecting a preset number of points on the threshold voltage waveform on both sides of the lowest point in the x-axis direction and recording the x-axis coordinates and y-axis coordinates of each selected point, the preset number is two, the coordinates of the two points are (x1, y1) and (x2, y2), and the connecting lines are two straight lines. The step of connecting the lowest point and each point on the left side of the lowest point, calculating the slope of the connecting line of the adjacent two points, calculating the slope of all connecting lines to obtain the average value of the slope, based on the average value of the slope and the new connecting line of the left middle point, the new connecting line is extended to intersect with the x-axis of the threshold voltage waveform to obtain the intersection point a1 comprises:

[0072] The two points on the left side of the lowest point are sequentially connected, the slope S1 is calculated based on the coordinates (x0, y0) and (x1, y1) of the point on the left side of the lowest point, the slope S2 is calculated based on the coordinates (x1, y1) and (x2, y2) of the two points on the left side, the average value of the slope S1 and the slope S2 is calculated to obtain the slope S3, and the new connecting line is extended to intersect with the x-axis of the threshold voltage waveform based on the slope S3 and the new connecting line of the left middle point (x1, y1) to obtain the intersection point a1.

[0073] The step of connecting the lowest point and each point to the right of the lowest point, calculating the slope of the connecting line of the adjacent two points, calculating the slope of all connecting lines to obtain the average value of the slope, and extending the new connecting line to the intersection point a2 of the x-axis of the threshold voltage waveform based on the average value of the slope and the middle point on the left side includes:

[0074] The lowest point and the two points to the right of the lowest point are sequentially connected, the slope S1' is calculated based on the coordinates (x0, y0) and (x1', y1') of one point to the right of the lowest point, the slope S2' is calculated based on the coordinates (x1', y1') and (x2', y2') of the two points on the left side, the average value of the slope S1' and the slope S2' is calculated to obtain the slope S3', and the new connecting line is extended to intersect the x-axis of the threshold voltage waveform based on the slope S3' and the middle point (x1', y1') on the left side. The intersection point a2 is obtained. The voltage values of the intersection points a1 and a2 on the x-axis coordinates are read to obtain the target voltage range

Va1, Va2

Va1, Va2

[0075] In addition, when determining the target voltage range, it can be obtained by calculation or by table lookup. In the step of analyzing and calculating the threshold voltage waveform in the threshold voltage waveform diagram to obtain the target voltage range, the coordinates (x0, y0) of the lowest point in the threshold voltage waveform are first obtained; the target voltage range is obtained based on the lookup table according to the x-axis corresponding values of the lowest point and each point, the target voltage range is obtained in the form of table lookup, the calculation is reduced, and the decoding efficiency is improved.

[0076] As shown in Figure 3 The step S4 includes:

[0077] S431: obtaining the coordinates (x0, y0) of the lowest point in the threshold voltage waveform;

[0078] S432: selecting a preset number of points on the threshold voltage waveform on the left and right sides of the lowest point along the x-axis direction, and recording the x-axis coordinates and y-axis coordinates of each selected point; and

[0079] S433: connecting the lowest point and each point to the left of the lowest point, extending the connecting line to intersect the x-axis of the threshold voltage waveform to obtain a plurality of intersection points, and calculating the average value of the voltage values on the x-axis coordinates of the plurality of intersection points to obtain Va1; and connecting the lowest point and each point to the right of the lowest point, extending the connecting line to intersect the x-axis of the threshold voltage waveform to obtain a plurality of intersection points, and calculating the average value of the voltage values on the x-axis coordinates of the plurality of intersection points to obtain Va2, so as to obtain the target voltage range

Va1, Va2

[0080] In the embodiment, after the lowest point is found, a certain number of points are also selected on the left and right sides of the lowest point, the points on the left and right sides are all connected with the lowest point, then the connecting lines are extended to overlap on the x-axis, the corresponding voltages are obtained, the voltages of the multiple extended lines overlapping on the x-axis are averaged to obtain an average voltage, the target voltage range

Va1, Va2

Va1, Va2

[0081] As shown in FIG. 4, as a fourth embodiment of the present application, it is a further limitation of the above-mentioned first embodiment, which is different from the above-mentioned third embodiment, and the step S4 comprises: Figure 4

[0082] S441: obtaining the coordinates (x0, y0) of the lowest point in the threshold voltage waveform;

[0083] S442: selecting 3 points on the threshold voltage waveform on the left and right sides of the lowest point along the x-axis direction, and recording the x-axis coordinates and y-axis coordinates of the selected points;

[0084] S443: based on the lowest point and the points on the left side of the lowest point, a discrete straight line is formed, the discrete straight line is extended to intersect with the x-axis of the threshold voltage waveform to obtain the overlapping point a1; based on the lowest point and the points on the right side of the lowest point, a discrete straight line is formed, the discrete straight line is extended to intersect with the x-axis of the threshold voltage waveform to obtain the overlapping point a2, and the target voltages Va1 and Va2 corresponding to the overlapping points a1 and a2 are obtained to obtain the target voltage range

Va1, Va2

[0085] In the step of selecting a preset number of points on the threshold voltage waveform on the left and right sides of the lowest point along the x-axis direction and recording the x-axis coordinates and y-axis coordinates of the selected points, generally, the preset number of points is 3, or it can be 2 or more, the points on the left and right sides are connected by a discrete straight line, and the discrete straight line is extended to the x-axis to obtain the target voltages Va1 and Va2 corresponding to the overlapping points a1 and a2, so as to obtain the target voltage range

Va1, Va2

Va1, Va2

[0086] ​In the present embodiment, unlike the second and third embodiments, a certain number of points are selected on the threshold voltage waveform, because the corresponding voltages are different for the points not on the same straight line, and each point alone is not persuasive enough as a judgment for decoding, so a discrete straight line is obtained, which is the straight line with the smallest distance from each point, and the voltage of the intersection point with the x-axis is obtained by extending the straight line, and the same is done for the left and right sides, i.e. the voltages of the two intersection points are obtained, which are taken as the target voltage range, so that more data can be ensured to be in the target voltage range when decoding.

[0087] Of course, in addition to the above-mentioned embodiments, the target voltage range can also be determined in the following way:

[0088] Suppose the lowest point is 80, then take a horizontal line every 10, take y1=90, y2=100, y3=110, and obtain the three midpoints respectively, and finally take the average of the three midpoints, then the voltage value of the bottom of the waveform can be calculated more accurately.

[0089] The method for obtaining the overlapping edge is to obtain the lowest point, suppose the lowest point is 80, then take a horizontal line every 5-10, suppose y1=85, y2=90, then calculate a straight line connecting the two points y1=85, y2=90 of the left waveform, and the intersection point with the x-axis is approximately the right overlapping edge, and the left overlapping edge can be obtained in the same way.

[0090] With the overlapping center voltage value a, left and right edge voltage values b1, b2, if the LDPC soft decoding reads soft data only three times, a, b1, b2 are read; if the LDPC soft decoding reads soft data five times, a, b1, b2, (a+b1) / 2, (a+b2) / 2 are read; if the LDPC soft decoding reads soft data seven times, a, b1, b2, b1+(a-b1) / 3, b1+(a-b1)*2 / 3, a+(b2-a) / 3, a+(b2-a)*2 / 3 are read.

[0091] As shown in Figure 5 As a fifth embodiment of the present application, any of the above embodiments is further refined and improved, the step S5 further includes the steps:

[0092] S6: If the LDPC soft decoding is successful, return the data to the HOST end and mark the decoding success;

[0093] S7: If the LDPC soft decoding fails, return the read failure flag to the HOST end and mark the decoding failure.

[0094] In the embodiment, after the read failure flag is returned to the HOST end, some platforms may directly display an error message after obtaining the read failure flag, without re-verification. Some platforms may re-read after obtaining the read failure flag, and still return the read failure after re-reading three or four times, and then display an error message.

[0095] As shown in Figure 6 As a sixth embodiment of the present application, a solid state disk 100 is disclosed, referring to Figure 6 The controller 110 and the NAND flash chip 120 are provided with an LDPC soft decoding area 121, and the NAND flash chip 120 uses the decoding method of the LDPC soft decoding of any one of the above embodiments to perform soft decoding on the read data.

[0096] Those skilled in the art can understand that all or part of the operations in the various methods of the above embodiments can be completed by instructions, or by related hardware controlled by the instructions. The instructions can be stored in a computer readable storage medium and loaded and executed by a processor. Therefore, the present application discloses a computer readable storage medium, and the computer readable storage medium stores a computer program. When the computer program is executed by a processor, the operations in the decoding method of the LDPC soft decoding of any one of the above embodiments are implemented.

[0097] The specific implementation of each operation can refer to the above embodiments, which will not be repeated here. The computer readable storage medium can include a read-only memory (ROM), a random access memory (RAM), a magnetic disk or an optical disk, etc.

[0098] It should be noted that the steps involved in the present scheme are not limited to the order of execution, and the steps written in the front can be executed first, or executed later, or even executed simultaneously, as long as the present scheme can be implemented, which should be considered as belonging to the protection scope of the present application.

[0099] It should be noted that the inventive concept of the present application can form a very large number of embodiments, but the length of the application file is limited and cannot be listed one by one, therefore, on the premise of not conflicting, the above described various embodiments or technical features can be combined to form new embodiments, and the combination of each embodiment or technical feature will enhance the original technical effect.

[0100] The above is further detailed description of the present application in combination with specific optional embodiments, and cannot be deemed as limitation of the specific implementation of the present application to these descriptions; for ordinary skilled in the art to which the present application belongs, without departing from the concept of the present application, a number of simple deductions or substitutions can be made, and all should be regarded as falling within the protection scope of the present application.

Claims

1. A decoding method of LDPC soft decoding, used for a solid state disk, characterized in that, The decoding method comprises the following steps: receiving a read command sent by a HOST end, and reading data in the chip according to the read command; if the read data is error data, performing hard decoding; if the hard decoding fails, reading threshold voltage data, and forming a threshold voltage waveform graph according to the threshold voltage data; analyzing and calculating the threshold voltage waveform in the threshold voltage waveform graph to obtain a target voltage range; and obtaining soft data in the target voltage range for a preset number of times and performing LDPC soft decoding; wherein the size of the target voltage range is used to represent the offset degree of the threshold voltage data.

2. The decoding method of LDPC soft-decoding according to claim 1, characterized in that, The step of analyzing and calculating the threshold voltage waveform in the threshold voltage waveform graph to obtain a target voltage range comprises: obtaining the coordinates (x0, y0) of the lowest point in the threshold voltage waveform; selecting a preset number of points on the left and right sides of the lowest point in the threshold voltage waveform along the x-axis direction, and recording the x-axis coordinates and y-axis coordinates of the selected points; connecting the lowest point and each point on the left side of the lowest point, calculating the slope of the connecting line of the adjacent two points, calculating the slope of all connecting lines to obtain the average value of the slope, based on the average value of the slope and the new connecting line of the middle point on the left side, extending the new connecting line to intersect with the x-axis of the threshold voltage waveform to obtain the intersection point a1; connecting the lowest point and each point on the right side of the lowest point, calculating the slope of the connecting line of the adjacent two points, calculating the slope of all connecting lines to obtain the average value of the slope, based on the average value of the slope and the new connecting line of the middle point on the left side, extending the new connecting line to intersect with the x-axis of the threshold voltage waveform to obtain the intersection point a2; and reading the voltage values of the intersection points a1 and a2 on the x-axis coordinates to obtain the target voltage range 【Va1, Va2】.

3. The method of decoding of LDPC soft decoding according to claim 2, characterized in that, In the step of selecting a preset number of points on the left and right sides of the lowest point in the threshold voltage waveform along the x-axis direction, and recording the x-axis coordinates and y-axis coordinates of the selected points, the preset number is two, and the coordinates of the two points are (x1, y1) and (x2, y2), and the connecting lines are two straight lines. The step of connecting the lowest point and each point on the left side of the lowest point, calculating the slope of the connecting line of the adjacent two points, calculating the slope of all connecting lines to obtain the average value of the slope, based on the average value of the slope and the new connecting line of the middle point on the left side, extending the new connecting line to intersect with the x-axis of the threshold voltage waveform to obtain the intersection point a1 comprises: connecting the lowest point and the two points on the left side of the lowest point in sequence, calculating the slope S1 based on the coordinates (x0, y0) and (x1, y1) of the left side of the lowest point, calculating the slope S2 based on the coordinates (x1, y1) and (x2, y2) of the two points on the left side, calculating the average value of the slope S1 and the slope S2 to obtain the slope S3, based on the slope S3 and the new connecting line of the middle point (x1, y1) on the left side, extending the new connecting line to intersect with the x-axis of the threshold voltage waveform to obtain the intersection point a1. The step of connecting the lowest point and each point on the right side of the lowest point, calculating the slope of the connecting line of the adjacent two points, calculating the slope of all connecting lines, obtaining the average value of the slope, and extending the new connecting line based on the average value of the slope and the intersection point a2 of the x-axis of the threshold voltage waveform includes: The step of connecting the lowest point and each point on the right side of the lowest point, calculating the slope S1' based on the coordinates (x0, y0) and (x1', y1') of one point on the right side of the lowest point, calculating the slope S2' based on the coordinates (x1', y1') and (x2', y2') of the two points on the left side, calculating the average value of the slope S1' and the slope S2', obtaining the slope S3', and extending the new connecting line based on the average value of the slope S3' and the intersection of the x-axis of the threshold voltage waveform, obtaining the intersection point a2.

4. The method of decoding of LDPC soft decoding of claim 1, wherein, The step of analyzing and calculating the threshold voltage waveform in the threshold voltage waveform diagram to obtain a target voltage range includes: Obtaining the coordinates (x0, y0) of the lowest point in the threshold voltage waveform; Selecting a predetermined number of points on the threshold voltage waveform on the left and right sides of the lowest point in the x-axis direction, and recording the x-axis coordinates and y-axis coordinates of the selected points; and Connecting the lowest point and each point on the left side of the lowest point, extending the connecting line to intersect the x-axis of the threshold voltage waveform, obtaining a plurality of intersection points, and calculating the average value of the voltage values on the x-axis coordinates of the plurality of intersection points to obtain Va1; connecting the lowest point and each point on the right side of the lowest point, extending the connecting line to intersect the x-axis of the threshold voltage waveform, obtaining a plurality of intersection points, and calculating the average value of the voltage values on the x-axis coordinates of the plurality of intersection points to obtain Va2, so as to obtain the target voltage range 【Va1, Va2】.

5. The method of decoding of LDPC soft decoding of claim 1, wherein, The step of analyzing and calculating the threshold voltage waveform in the threshold voltage waveform diagram to obtain a target voltage range includes: Obtaining the coordinates (x0, y0) of the lowest point in the threshold voltage waveform; Selecting three points on the threshold voltage waveform on the left and right sides of the lowest point in the x-axis direction, and recording the x-axis coordinates and y-axis coordinates of the selected points; Based on the lowest point and each point on the left side of the lowest point, a discrete straight line is formed, the discrete straight line is extended to intersect the x-axis of the threshold voltage waveform to obtain the intersection point a1; based on the lowest point and each point on the right side of the lowest point, a discrete straight line is formed, the discrete straight line is extended to intersect the x-axis of the threshold voltage waveform to obtain the intersection point a2, and the target voltages Va1 and Va2 corresponding to the intersection points a1 and a2, so as to obtain the target voltage range 【Va1, Va2】.

6. The method of decoding of LDPC soft decoding according to claim 2, characterized in that, In the step of obtaining soft data of a preset number of times in the target voltage range and performing LDPC soft decoding, the read soft data includes soft data corresponding to the lowest point and two end points in the target voltage range.

7. The method of decoding of LDPC soft decoding of claim 1, wherein, The step of analyzing and calculating the threshold voltage waveform in the threshold voltage waveform diagram to obtain a target voltage range includes: Obtaining the coordinates (x0, y0) of the lowest point in the threshold voltage waveform; According to the x-axis corresponding values of the lowest point and each point, the target voltage range is obtained based on a lookup table.

8. The method of decoding of LDPC soft decoding as recited in claim 1, wherein, The step of acquiring soft data in the target voltage range for a preset number of times and performing LDPC soft decoding further comprises the steps of: If the LDPC soft decoding is successful, the data is returned to the HOST end, and the decoding success is marked; If the LDPC soft decoding fails, a read failure flag is returned to the HOST end, and the decoding failure is marked.

9. A computer-readable storage medium, characterized in that, The computer readable storage medium stores a computer program, and the computer program is executed by the processor to realize the operations in the decoding method of the LDPC soft decoding according to any one of claims 1-8.

10. A solid state drive, comprising: The solid state disk comprises a controller and a NAND flash chip, the NAND flash chip is provided with an LDPC soft decoding area, and the NAND flash chip uses the decoding method of the LDPC soft decoding according to any one of claims 1-8 to perform soft decoding on the read data.