CN106371943A - LDPC (low density parity check) decoding optimization method based on flash programming interference error perception - Google Patents
LDPC (low density parity check) decoding optimization method based on flash programming interference error perception Download PDFInfo
- Publication number
- CN106371943A CN106371943A CN201610802793.8A CN201610802793A CN106371943A CN 106371943 A CN106371943 A CN 106371943A CN 201610802793 A CN201610802793 A CN 201610802793A CN 106371943 A CN106371943 A CN 106371943A
- Authority
- CN
- China
- Prior art keywords
- reliability information
- inspection
- column vector
- node
- 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.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
- G06F11/1068—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices in sector programmable memories, e.g. flash disk
-
- 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/1105—Decoding
- H03M13/1111—Soft-decision decoding, e.g. by means of message passing or belief propagation algorithms
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Probability & Statistics with Applications (AREA)
- Error Detection And Correction (AREA)
Abstract
The invention discloses an LDPC (low density parity check) decoding optimization method based on flash programming interference error perception. Along with the increase of NAND flash-memory storage density, more bit information is stored in each unit; the coupling interference along the units is high; the serious programming interference errors are caused, so that the traditional BCH code cannot ensure the data reliability; the LDPC code has error-correcting performance superior to that of the BCH code, and is applied to an NAND flash-memory storage system. The used optimized LDPC decoding algorithm has important significance. Through observation, the programming interference errors have value correlative characters; when the LDPC decoding is performed, the value correlative characters of the programming interference errors can be blended into the LDPC decoding process; the additional information is provided for bit judgment, so that the bit judgment precision is improved; the decoding convergence speed is accelerated; the LDPC decoding delay is reduced.
Description
Technical field
The invention belongs to solid-state disk technical field of memory, more particularly, to a kind of based on flash programming interference mistake sense
The ldpc decoding optimization method known.
Background technology
Solid-state disk (solid state disk, abbreviation ssd) based on nand flash memory has high-performance, Large Copacity, antidetonation
Dynamic, low-power consumption and non-volatile the advantages of be widely used in computer memory system.Solid-state disk ssd is with nand flash memory (nand
Flash) as storage medium, with the lifting of nand flash memory making technology, each unit stores more bit information, such as
Mlc each unit of nand flash memory stores dibit information, stores the distance between less electric charge and unit relatively closely in unit,
Coupled interference between unit is more strong, in nand flash memory during some page execution programming operation, can be to neighbouring page
Interfere, cause the memory element threshold voltage of neighbouring page to change, threshold voltage transfers to another from a state
State, when executing read operation, there are bit-errors in the impact due to programming interference, the reliability of data is destroyed.In order to
Ensure data reliability, error correcting code (error correction code, abbreviation ecc) is applied to the controller of nand flash memory
In, such as bch code and ldpc code, traditional method adopts bch code to ensure data reliability.But, the storage of nand flash memory is held
Amount is increasing, and the Capacitance Coupled between memory element is more strong, the bit error rate more and more higher that programming interference causes,
Bch code is not enough to competent guarantee data reliability, at this time, it may be necessary to using the higher error correcting code of correction capability, ldpc code is to be better than
The error-correcting performance of bch code is applied to nand flash memory.
Ldpc code is a kind of linear block codes, and its error correction property is determined by a kind of referred to as openness test matrix,
So-called sparse test matrix is exactly in matrix 0 quantity far more than 1 for the quantity, and the every a line in matrix corresponds to an inspection party
Journey (also referred to as checks node), and every a line corresponds to a bit node (corresponding with each bit in code word), test matrix
It is capable of the represented (as depicted in figs. 1 and 2) by tanner figure of image, the c of tanner in figurei(1≤i≤m) and test matrix
In row corresponding, the v of tanner in figurej(1≤j≤m) is corresponding with the row in test matrix, if in test matrix
I row and jth row are 1, then tanner in figure ciAnd vjBetween have a line be connected.When carrying out ldpc decoding, these sides are used for
Reliability information (probabilistic information of bit correctness) required for transmission decoding.
Ldpc decoding is the process that a kind of reliability information is propagated, and is a kind of Soft decision decoding, has complex translating
Code structure, if directly can bring larger decoding latency expense using ldpc code if it is possible to wrong mould by nand flash memory
During formula is fused to ldpc decoding, is provided for ldpc decoding using the nand flash media error characteristic of itself and judge bit just
The really extraneous information of property, then, so can lift judgement precision and the convergence rate of ldpc decoding, reduce decoding latency and open
Pin.In addition, we learn that the programming interference mistake of nand flash memory has numerical lineardependence feature, that is, in mlc nand flash cell
The bit data of the different conditions of storage can show different error rates (as shown in Figure 3) in the presence of having programming interference, main
The programming interference mistake wanted is 11 → 10 and 10 → 01, and their ratio is 70% and 24% respectively, and other programming interference are wrong
It is 10 → 00,11 → 01 and 01 → 00, their relative ratios are 2.2%, 1.5% and 0.4% respectively by mistake.Translate when carrying out ldpc
During code, these features are dissolved into decoding process, provide extra information to improve decoding precision reduction with this for bit decision and translate
Code delay.Existing ldpc decoding algorithm has probability domain belief propagation algorithm, Min-Sum decoding algorithm etc..
There is following clearly disadvantageous part in existing ldpc decoding algorithm: 1, existing ldpc decoding algorithm is only examined
Information transmission within considering does not make full use of the error pattern feature of flash itself, has higher decoding complexity and relatively
Big decoding latency expense;2nd, existing ldpc decoding algorithm does not account for programming the shadow of the numerical lineardependence feature of interference mistake
Ring, this favorable characteristics are not dissolved into ldpc decoding information renewal process;3rd, existing ldpc decoding algorithm is not extra
Discriminative information provide, the characteristic that simple dependence decodes mechanism itself carries out information updating.
Content of the invention
Disadvantages described above for prior art or Improvement requirement, the invention provides a kind of wrong based on flash programming interference
The ldpc decoding optimization method that false sense is known, it is intended that by being dissolved into the numerical lineardependence feature of programming interference mistake
During ldpc decoding, provide extra information for bit decision, effectively raise ldpc decoding accuracy and reduce decoding
Postpone expense, and then improve the reading performance of system and the life-span extending ssd.
For achieving the above object, according to one aspect of the present invention, there is provided a kind of programming based on flash disturbs mistake sense
The ldpc decoding optimization method known, comprises the following steps:
(1) random generation test matrix h, its element is 0 or 1, and code check is between 0.75 to 0.9, and there is not becate
Phenomenon;Line number m of wherein test matrix is to be obtained by (ssd page-size/(ssd page-size+m))=code check, checks square
The columns of battle array is ssd page-size+m;
(2) column vector (code word) is generated according to the test matrix h generatingSo that it is met
Wherein column vectorIn rear m be designated as redundancy function, remaining be designated as information bit;
(3) according to the check matrix h generating and column vectorConstruct corresponding tanner figure, it embodies inspection equation c1,
c2,…,cmWith column vectorBetween mapping relations;
(4) use 0 and 1 pair of column vectorIn element v1To vn-mCarry out random assignment, and use formulaCalculate
The column vector obtainingIn element vn-mTo vnValue, thus generating multiple column vectors, and the column vector that these are generated includesIt is stored in the way of sequential write successively in the page of ssd up to the page is filled with;
(5) the multiple column vectors in the page being written to ssd are sequential read out and carry out error correction, wherein note makes a mistake
Column vector isThis column vector is
(6) obtain column vectorIn each element initial reliability information, and according to reliability information, each element is turned
Be changed to binary system, will reliability information be negative value element be converted to 1, by reliability information be on the occasion of element be converted to 0,
Thus obtaining new column vector
(7) by check matrix h and column vectorBe multiplied, and judge be multiplied after generate each inspection equation whether be zero
Vector, if it is by column vectorExport to user, process terminates, otherwise proceed to step (8);
(8) according to the column vector obtaining in step (6)In each element initial reliability information ij, to each code word ratio
Spy carries out initialization and is entered asWherein when entering row decoding first time iteration, the variable node reliability information of acquisition is
For initial value ij,
Wherein i ∈ r (j) represents and variable node vjConnected all inspection node ciSet, j ∈ q (i) represent with inspection
Test node ciConnected all variable node vjSet;
(9) enumerator k=1 is set;
(10) judge k whether less than default maximum iteration time tmax, if it is, proceeding to step (11), if it is not, then
Process terminates, and by final codeword vector output, and prompts the user with decoding failure;
(11) according to step (8) to initializaing variable node valuationAnd test node using below equation can
By property information updating:
Wherein be sign function, q (i) j represent with inspection node ciV is excluded in connected all bit nodesjSet.
(12) judge inspection node in step (11)Update and whether terminate, if it is not, then return to step (11), if
It is then to enter step (13);
(14) according to the inspection node reliability information being updated in step (12)Become using below equation
Amount node reliability information updates:
Wherein ajIt is the additional bit discriminative information being provided by the numerical lineardependence of flash programming interference mistake, incorporated
To variable node reliability information renewal process, wherein r (j) i represent and vjC is excluded in connected all inspection nodesiCollection
Close, the reliability information of variable node is expressed as: the variable node being attached thereto when this inspection equation is set up is equal to 0 or 1
Probability;
(14) judge the variable node reliability information in step (13)Update and whether terminate, if it is not, then returning step
Suddenly (13), if it is, entering step (15);
(15) use below equation to inspection nodeEnter row decoding to adjudicate:
(16) reliability information corresponding to each code word bits is obtained according to the result of step (15) decoding judgement
(17) hard decision is carried out to the reliability information obtaining in step (16), that is, determine whether
If it is 0 is assigned to aj, then proceed to step (18), be otherwise assigned to a by 1j, then proceed to step (18);
(18) codeword vector adjudicated according to the result acquisition of hard decision in step (17)
(19) whether the codeword vector generating in testing sequence (18) meets inspection equationWherein h is raw in (1)
The test matrix becoming, if it is satisfied, then direct output codons vectorProcess terminates, if be unsatisfactory for,
Iterationses k is gradually added 1, and return to step (10) continues iterative operation, till meeting.
Preferably, step (6) is specifically, the reliability information of each element is the threshold value of the unit being stored by element
Voltage compares acquisition with predetermined reference voltage;Obtain reliability formula beWherein vtvBe through with ginseng
Examine the threshold voltage of each unit of voltage ratio relatively acquisition, viIt is the column vector reading from unitIn element and each
The threshold voltage Normal Distribution of flash unit.
Preferably, maximum iteration time tmaxSpan 20 to 50.
Preferably, the reliability information of inspection node is expressed as: when variable node information is judged as 0 or 1 with its phase
The probability that inspection equation even is set up.
Preferably, step (15) is specifically, change each element according to the reliability information that step (14) has been updated over
For binary system, will reliability information be that the element of negative value be converted to 1, by reliability information be on the occasion of element be converted to 0.
In general, by the contemplated above technical scheme of the present invention compared with prior art, can obtain down and show
Beneficial effect:
(1) present invention takes into full account the nand flash memory error property of itself, well by the numerical value phase of programming interference mistake
Close property characteristic use arrive ldpc decoding among because ldpc decode process transmit be exactly a kind of probabilistic information, if with regard to than
The extra discriminative information of special correctness can be dissolved into decoding information process, and decoding correctness can be greatly improved, and this is right
Improve decoding handling capacity and nand flash memory reading performance is of great benefit to.
(2) present invention analyzes the programming of nand flash memory and disturbs the numerical lineardependence feature of error pattern that ldpc decoded
Impact, obtains the observation of some valuable property using this numerical lineardependence feature, is translated into and can be incorporated into ldpc decoding
In Related Mathematical Models, lifted using this characteristic decoding accuracy rate reduce decoding circulation.
(3) present invention, by the programming interference numerical lineardependence Feature Fusion of nand flash memory among ldpc decoding, is equivalent to
Increase the judgement dimension of bit correctness, reduce information updating circulation, lifting nand flash memory reading performance and then lifting storage system
The corresponding time of system.
Brief description
Fig. 1 and Fig. 2 is the test matrix corresponding tanner structure chart of existing ldpc code.
Fig. 3 is the numerical lineardependence scattergram of existing nand flash memory programming interference mistake.
Fig. 4 is that the present invention is based on flash misprogrammed pattern reduction ldpc decoding latency algorithm design structure diagram.
Fig. 5 is that the present invention programs, based on flash, the flow chart that interference error pattern reduces the method for ldpc decoding latency.
Specific embodiment
In order that the objects, technical solutions and advantages of the present invention become more apparent, below in conjunction with drawings and Examples, right
The present invention is further elaborated.It should be appreciated that specific embodiment described herein is only in order to explain the present invention, and
It is not used in the restriction present invention.As long as additionally, involved technical characteristic in each embodiment of invention described below
The conflict of not constituting each other just can be mutually combined.
The structural design drawing of the present invention as shown in figure 4, when decoder receives a ldpc code word, each bit node
vjInitial reliability information pi,ikCan be obtained, based on the obtained initial reliability information of bit node, with this bit
The inspection node c that node is connectediThe reliability information of (seeing Fig. 1 and Fig. 2) can be calculated.These calculated inspection nodes
Reliability information is used for updating acquisition bit node initial information, and the reliability information of this two classes node circulates on tanner figure
Update so that disturbed ldpc codeword information can quickly be corrected.It is true that ldpc decoding information transmittance process is
Calculate the maximum a posteriori probability of each code word bits correctness, be, when all of inspection equation is all set up, each code word ratio
Top grade is in 0 or 1 correct probability.
The numerical lineardependence feature programming interference mistake is converted into corresponding mathematical model by the present invention, using inside programming
Interference error pattern incorporates the mode of ldpc decoding node renewal, the precision of lifting decision bits correctness, translates when carrying out ldpc
During code, bit node vjRenewal can receive and program, from based on nand flash memory itself, the extra judgement letter that interference error characteristic provides
Breath ajIt is considered to the impact to decoding for the programming interference mistake, when ldpc decoder makes optimal judgement to bit, also can consider to compile
The impact of journey interference, to improve decoding accurately by during the ldpc decoding of the numerical lineardependence Feature Fusion of programming interference with this
Property, reduce decoding latency and then improve performance.
Ldpc decoding to lift decoding precision by the way of message loop iteration updates, and transmission is bit correctness
Probabilistic information, is a kind of soft decision information, as shown in figure 5, the present invention is based on flash programming interference error pattern reduction ldpc translating
The method of code delay comprises the following steps:
(1) random generation test matrix h, its element is 0 or 1, and code check is between 0.75 to 0.9, and there is not becate
Phenomenon;According to this code check, and according to (ssd page-size/(ssd page-size+m))=code check, you can the m value of acquisition, m is inspection
Test the line number (the redundant bit number for generating simultaneously) of matrix, the columns of test matrix is ssd page-size+m;
For example, the h matrix of generation isM=3;
(2) column vector (code word) is generated according to the test matrix h generatingSo that it is met
Wherein column vectorIn rear m be designated as redundancy function, remaining be designated as information bit;
(3) according to the check matrix h generating and column vectorConstruct corresponding tanner figure tg, it embodies inspection equation c
With column vectorBetween mapping relations;
Specifically, by h andLaunch after multiplication, m inspection equation can be obtained, be designated as c1,c2,…,cm;
For example, using above-mentioned example, that is, have:
v1+v4=0 (i.e. c1)
v3+v4=0 (i.e. c2)
v1+v2=0 (i.e. c3).
From the above it can be seen that v1And v4Take part in inspection equation c respectively1Inspection, i.e. v1And v4Respectively with c1It is connected, v3And v4Point
Not take part in inspection equation c2Inspection, i.e. v3And v4Respectively with c2It is connected, v1And v2Take part in inspection equation c respectively3Inspection,
I.e. v1And v2Respectively with c3It is connected (as shown in Figure 1), wherein column vectorIn each element viReferred to as variable node, checks equation
ci(1≤i≤m) is referred to as checking node.
(4) use 0 and 1 pair of column vectorIn element v1To vn-mCarry out random assignment, and use formulaCalculate
The column vector obtainingIn element vn-mTo vnValue, according to above-mentioned method can generate multiple such column vectors and by this
A little column vectors generating include(code word bits of as generation) are stored in the page of ssd always successively in the way of sequential write
To the page is filled with;
(5) the multiple column vectors in the page being written to ssd are sequential read out and carry out error correction, when the column vector to storageWhen being read out, due to being affected by ssd channel programming interference noise, column vector therefore nowMay have occurred and that
Mistake, the column vector being designated as making a mistake isThis column vector isIt should be noted thatEasily send out
Raw bit-errors, i.e. the column vector of storage beforeIn each element it may happen that bit reversal;
(6) obtain column vectorIn each element initial reliability information (be each element correctness probability letter
Breath, includes the channel characteristic information of solid-state disk in initial reliability information), and according to reliability information, each element is changed
For binary system, will reliability information be that the element of negative value be converted to 1, by reliability information be on the occasion of element be converted to 0, from
And obtain new column vectorSpecifically, the reliability information of each element is the threshold value of the unit being stored by element
Voltage compares acquisition with predetermined reference voltage;Obtain reliability formula be(in order to reduce amount of calculation, this is public
Probabilistic information can be converted into log-likelihood ratio information by formula), wherein vtvIt is each list through comparing acquisition with reference voltage
The threshold voltage of unit, viIt is the column vector reading from unitIn element and each flash unit threshold voltage obey
Normal distribution;
(7) by check matrix h and column vectorBe multiplied, and judge be multiplied after generate each inspection equation whether be zero
Vector, if it is by column vectorExport to user, process terminates, otherwise proceed to step (8);
(8) according to the column vector obtaining in step (6)In the initial reliability information i of each element (code word bits)j, right
Each code word bits (variable node) carry out initialization and are entered asWherein when entering row decoding first time iteration, acquisition
Variable node reliability information is initial value ij,
Wherein i ∈ r (j) represents and variable node vjConnected all inspection node ciSet, j ∈ q (i) represent with inspection
Test node ciConnected all variable node vjSet;
(9) enumerator k=1 is set;
(10) judge k whether less than default maximum iteration time tmax, if it is, proceeding to step (11), if it is not, then
Process terminates, and by final codeword vector output, and prompts the user with decoding failure;Specifically, maximum iteration time tmax's
Span 20 to 50;
(11) according to step (8) to initializaing variable node valuationAnd test node using below equation can
By property information updating:
Wherein be sign function, q (i) j represent with inspection node ciV is excluded in connected all bit nodesjSet;
The reliability information of inspection node is expressed as: the inspection equation coupled when variable node information is judged as 0 or 1 is set up
Probability;
(12) judge inspection node in step (11)Update and whether terminate (to be each inspection being connected with variable node
Whether equation is all examined), if it is not, then return to step (11), if it is, entering step (13);
(15) according to the inspection node reliability information being updated in step (12)Become using below equation
Amount node reliability information updates:
Wherein ajIt is the additional bit discriminative information being provided by the numerical lineardependence of flash programming interference mistake, incorporated
To variable node reliability information renewal process, wherein r (j) i represent and vjC is excluded in connected all inspection nodesiCollection
Close, the reliability information of variable node is expressed as: the variable node being attached thereto when this inspection equation is set up is equal to 0 or 1
Probability;
(14) judge the variable node reliability information in step (13)Update and whether terminate, if it is not, then returning step
Suddenly (13), if it is, entering step (15);
(15) use below equation to inspection node(i.e. the method according to step (6), according to step to enter row decoding judgement
(14) be updated over reliability information each element is converted to binary system, will reliability information be negative value element conversion
For 1, by reliability information be on the occasion of element be converted to 0):
(16) reliability information corresponding to each code word bits is obtained according to the result of step (15) decoding judgementIt to be one group of real number value (be each be real number) that this reliability information is corresponding;
(17) hard decision is carried out to the reliability information obtaining in step (16), that is, determine whether
If it is 0 is assigned to aj, then proceed to step (18), be otherwise assigned to a by 1j, then proceed to step (18);
(18) codeword vector adjudicated according to the result acquisition of hard decision in step (17)
(19) whether the codeword vector generating in testing sequence (18) meets inspection equationWherein h is raw in (1)
The test matrix becoming, if it is satisfied, then direct output codons vectorProcess terminates, if be unsatisfactory for,
Iterationses k is gradually added 1, and return to step (10) continues iterative operation, till meeting.
As it will be easily appreciated by one skilled in the art that the foregoing is only presently preferred embodiments of the present invention, not in order to
Limit the present invention, all any modification, equivalent and improvement made within the spirit and principles in the present invention etc., all should comprise
Within protection scope of the present invention.
Claims (5)
1. a kind of programming based on flash disturbs the ldpc decoding optimization method of false perception it is characterised in that walking below including
Rapid:
(1) random generation test matrix h, its element is 0 or 1, and code check is between 0.75 to 0.9, and there is not becate phenomenon;
Line number m of wherein test matrix is to be obtained by (ssd page-size/(ssd page-size+m))=code check, the row of test matrix
Number is ssd page-size+m;
(2) column vector (code word) is generated according to the test matrix h generatingSo that it is metWherein
Column vectorIn rear m be designated as redundancy function, remaining be designated as information bit;
(3) according to the check matrix h generating and column vectorConstruct corresponding tanner figure, it embodies inspection equation c1,
c2,…,cmWith column vectorBetween mapping relations;
(4) use 0 and 1 pair of column vectorIn element v1To vn-mCarry out random assignment, and use formulaCalculate and obtain
Column vectorIn element vn-mTo vnValue, thus generating multiple column vectors, and the column vector that these are generated includesAccording to
Secondary it is stored in the page of ssd until the page is filled with the way of sequential write;
(5) the multiple column vectors in the page being written to ssd are sequential read out and carry out error correction, wherein remember the row that make a mistake to
Measure and beThis column vector is
(6) obtain column vectorIn each element initial reliability information, and according to reliability information, each element is converted to
Binary system, will reliability information be negative value element be converted to 1, by reliability information be on the occasion of element be converted to 0, thus
Obtain new column vector
(7) by check matrix h and column vectorBe multiplied, and judge be multiplied after generate each inspection equation whether be zero to
Amount, if it is by column vectorExport to user, process terminates, otherwise proceed to step (8);
(8) according to the column vector obtaining in step (6)In each element initial reliability information ij, each code word bits is entered
Row initialization is entered asWherein when entering row decoding first time iteration, the variable node reliability information of acquisition is just
Initial value ij,
Wherein i ∈ r (j) represents and variable node vjConnected all inspection node ciSet, j ∈ q (i) represent with inspection section
Point ciConnected all variable node vjSet;
(9) enumerator k=1 is set;
(10) judge k whether less than default maximum iteration time tmax, if it is, proceeding to step (11), if it is not, then process
Terminate, by final codeword vector output, and prompt the user with decoding failure;
(11) according to step (8) to initializaing variable node valuationAnd using below equation test node reliability letter
Breath updates:
Wherein be sign function, q (i) j represent with inspection node ciV is excluded in connected all bit nodesjSet.
(12) judge inspection node in step (11)Update and whether terminate, if it is not, then return to step (11), if it is,
Enter step (13);
(13) according to the inspection node reliability information being updated in step (12)Variable section is carried out using below equation
Point reliability information updating:
Wherein ajIt is the additional bit discriminative information being provided by the numerical lineardependence of flash programming interference mistake, be dissolved into variable
Node reliability information renewal process, wherein r (j) i represent and vjC is excluded in connected all inspection nodesiSet, variable
The reliability information of node is expressed as: the probability that the variable node being attached thereto when this inspection equation is set up is equal to 0 or 1;
(14) judge the variable node reliability information in step (13)Update and whether terminate, if it is not, then return to step
(13), if it is, entering step (15);
(15) use below equation to inspection nodeEnter row decoding to adjudicate:
(16) reliability information corresponding to each code word bits is obtained according to the result of step (15) decoding judgement
(17) hard decision is carried out to the reliability information obtaining in step (16), that is, determine whetherIf
It is to be assigned to a by 0j, then proceed to step (18), be otherwise assigned to a by 1j, then proceed to step (18);
(18) codeword vector adjudicated according to the result acquisition of hard decision in step (17)
(19) whether the codeword vector generating in testing sequence (18) meets inspection equationWherein h is to generate in (1)
Test matrix, if it is satisfied, then direct output codons vectorProcess terminates, if be unsatisfactory for, will change
Generation number k gradually adds 1, and return to step (10) continues iterative operation, till meeting.
2. the ldpc decoding optimization method programming interference false perception based on flash according to claim 1, its feature exists
In step (6) is specifically, the reliability information of each element is the threshold voltage of the unit being stored by element and default ginseng
Examine voltage ratio relatively to obtain;Obtain reliability formula beWherein vtvIt is to obtain through comparing with reference voltage
The threshold voltage of each unit obtaining, viIt is the column vector reading from unitIn element and each flash unit threshold
Threshold voltage Normal Distribution.
3. the ldpc decoding optimization method programming interference false perception based on flash according to claim 1, its feature exists
In maximum iteration time tmaxSpan 20 to 50.
4. the ldpc decoding optimization method programming interference false perception based on flash according to claim 1, its feature exists
In the reliability information of inspection node is expressed as: the inspection equation coupled when variable node information is judged as 0 or 1
The probability set up.
5. the ldpc decoding optimization method programming interference false perception based on flash according to claim 1, its feature exists
In step (15), will specifically, each element is converted to binary system according to the reliability information that step (14) has been updated over
Reliability information be negative value element be converted to 1, by reliability information be on the occasion of element be converted to 0.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610802793.8A CN106371943B (en) | 2016-09-06 | 2016-09-06 | A kind of LDPC decoding optimization methods programming interference false perception based on flash |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610802793.8A CN106371943B (en) | 2016-09-06 | 2016-09-06 | A kind of LDPC decoding optimization methods programming interference false perception based on flash |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106371943A true CN106371943A (en) | 2017-02-01 |
CN106371943B CN106371943B (en) | 2018-11-02 |
Family
ID=57900311
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610802793.8A Active CN106371943B (en) | 2016-09-06 | 2016-09-06 | A kind of LDPC decoding optimization methods programming interference false perception based on flash |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106371943B (en) |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107395214A (en) * | 2017-07-12 | 2017-11-24 | 华中科技大学 | A kind of method that LDPC decoding latencies are reduced based on Hash memory pages error property |
CN107423159A (en) * | 2017-07-11 | 2017-12-01 | 华中科技大学 | A kind of method based on flash memory error pattern lifting LDPC decoding performances |
CN107861884A (en) * | 2017-11-06 | 2018-03-30 | 华中科技大学 | A kind of method of cross-page storage address mapping efficiency in raising nand flash memory |
CN107863128A (en) * | 2017-11-28 | 2018-03-30 | 广东工业大学 | A kind of multi-level flash cell error correction method, system, device and readable storage medium storing program for executing |
CN109087683A (en) * | 2018-07-26 | 2018-12-25 | 西京学院 | A kind of NAND Flash solid-state storage adaptive error control method |
CN109660263A (en) * | 2018-11-22 | 2019-04-19 | 华中科技大学 | A kind of LDPC code interpretation method suitable for MLC NAN flash memory |
CN110752850A (en) * | 2019-08-27 | 2020-02-04 | 广东工业大学 | Method for quickly iterating LDPC code of MLC flash memory chip |
CN111446970A (en) * | 2020-02-11 | 2020-07-24 | 上海威固信息技术股份有限公司 | Method for preprocessing low-density parity check code decoding soft decision information |
CN111475326A (en) * | 2019-01-23 | 2020-07-31 | 深圳衡宇芯片科技有限公司 | Method for training artificial intelligence to execute decoding program of low density parity check code |
CN111817728A (en) * | 2020-08-03 | 2020-10-23 | 华中科技大学 | Simulation system for realizing LDPC coding and decoding based on hardware and working method thereof |
CN112000290A (en) * | 2020-08-21 | 2020-11-27 | 珠海创飞芯科技有限公司 | Nor flash erase disturbance correction method and device |
CN113014269A (en) * | 2021-02-08 | 2021-06-22 | 中山大学 | NAND Flash controller with error correction capability and control method |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101183918A (en) * | 2007-11-26 | 2008-05-21 | 华中科技大学 | Self-adaptive mixture automatic request retransmission method |
CN101488760A (en) * | 2009-02-13 | 2009-07-22 | 华中科技大学 | Encoding method for low code rate LDPC code |
CN104282340A (en) * | 2014-09-30 | 2015-01-14 | 华中科技大学 | Threshold voltage sensing method and threshold voltage sensing system for solid-state disk flash memory chip |
-
2016
- 2016-09-06 CN CN201610802793.8A patent/CN106371943B/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101183918A (en) * | 2007-11-26 | 2008-05-21 | 华中科技大学 | Self-adaptive mixture automatic request retransmission method |
CN101488760A (en) * | 2009-02-13 | 2009-07-22 | 华中科技大学 | Encoding method for low code rate LDPC code |
CN104282340A (en) * | 2014-09-30 | 2015-01-14 | 华中科技大学 | Threshold voltage sensing method and threshold voltage sensing system for solid-state disk flash memory chip |
Non-Patent Citations (1)
Title |
---|
MENG ZHANG等: "REAL: A Retention Error Aware LDPC Decoding Scheme to Improve NAND Flash Read Performance", 《2016 32ND SYMPOSIUM ON MASS STORAGE SYSTEMS AND TECHNOLOGIES (MSST)》 * |
Cited By (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107423159A (en) * | 2017-07-11 | 2017-12-01 | 华中科技大学 | A kind of method based on flash memory error pattern lifting LDPC decoding performances |
CN107423159B (en) * | 2017-07-11 | 2019-06-28 | 华中科技大学 | A method of LDPC decoding performance is promoted based on flash memory error pattern |
CN107395214A (en) * | 2017-07-12 | 2017-11-24 | 华中科技大学 | A kind of method that LDPC decoding latencies are reduced based on Hash memory pages error property |
CN107395214B (en) * | 2017-07-12 | 2019-06-28 | 华中科技大学 | A method of LDPC decoding latency is reduced based on Hash memory pages error property |
CN107861884A (en) * | 2017-11-06 | 2018-03-30 | 华中科技大学 | A kind of method of cross-page storage address mapping efficiency in raising nand flash memory |
CN107861884B (en) * | 2017-11-06 | 2020-06-02 | 华中科技大学 | Method for improving cross-page memory address mapping efficiency in NAND flash memory |
CN107863128B (en) * | 2017-11-28 | 2020-07-10 | 广东工业大学 | Error correction method, system and device for multi-level flash memory unit and readable storage medium |
CN107863128A (en) * | 2017-11-28 | 2018-03-30 | 广东工业大学 | A kind of multi-level flash cell error correction method, system, device and readable storage medium storing program for executing |
CN109087683A (en) * | 2018-07-26 | 2018-12-25 | 西京学院 | A kind of NAND Flash solid-state storage adaptive error control method |
CN109087683B (en) * | 2018-07-26 | 2021-08-17 | 西京学院 | NAND Flash solid state storage self-adaptive error control method |
CN109660263A (en) * | 2018-11-22 | 2019-04-19 | 华中科技大学 | A kind of LDPC code interpretation method suitable for MLC NAN flash memory |
CN109660263B (en) * | 2018-11-22 | 2022-07-05 | 华中科技大学 | LDPC code decoding method suitable for MLC NAND flash memory |
CN111475326A (en) * | 2019-01-23 | 2020-07-31 | 深圳衡宇芯片科技有限公司 | Method for training artificial intelligence to execute decoding program of low density parity check code |
CN110752850A (en) * | 2019-08-27 | 2020-02-04 | 广东工业大学 | Method for quickly iterating LDPC code of MLC flash memory chip |
CN110752850B (en) * | 2019-08-27 | 2023-04-07 | 广东工业大学 | Method for quickly iterating LDPC code of MLC flash memory chip |
CN111446970A (en) * | 2020-02-11 | 2020-07-24 | 上海威固信息技术股份有限公司 | Method for preprocessing low-density parity check code decoding soft decision information |
CN111817728A (en) * | 2020-08-03 | 2020-10-23 | 华中科技大学 | Simulation system for realizing LDPC coding and decoding based on hardware and working method thereof |
CN112000290A (en) * | 2020-08-21 | 2020-11-27 | 珠海创飞芯科技有限公司 | Nor flash erase disturbance correction method and device |
CN112000290B (en) * | 2020-08-21 | 2023-11-24 | 珠海创飞芯科技有限公司 | Nor flash erasure interference correction method and device |
CN113014269A (en) * | 2021-02-08 | 2021-06-22 | 中山大学 | NAND Flash controller with error correction capability and control method |
Also Published As
Publication number | Publication date |
---|---|
CN106371943B (en) | 2018-11-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106371943A (en) | LDPC (low density parity check) decoding optimization method based on flash programming interference error perception | |
CN103971751B (en) | Detected and decoded in a flash memory with selective binary system and nonbinary decoding | |
US11501170B2 (en) | Electronic device and method of operating the same | |
CN102203877B (en) | Use the method and apparatus that the soft data for storage component part of decoder performance feedback generates | |
TWI521529B (en) | Decoding method, memory storage device and memory control circuit unit | |
TW201714179A (en) | VSS LDPC decoder with improved throughput for hard decoding | |
US8289771B2 (en) | Data reading method and control circuit and memory controller using the same | |
CN104601178B (en) | Coding/decoding method, decoding circuit, memory storage apparatus and control circuit unit | |
CN107395214B (en) | A method of LDPC decoding latency is reduced based on Hash memory pages error property | |
US9136011B2 (en) | Soft information module | |
TW201508759A (en) | Method for performing memory access management, and associated memory device and controller thereof | |
US10423484B2 (en) | Memory controller, memory system, and control method | |
US10911068B2 (en) | Error correction circuit and method of operating the same | |
CN104282340A (en) | Threshold voltage sensing method and threshold voltage sensing system for solid-state disk flash memory chip | |
CN112383314B (en) | LDPC error correction method based on RAID information | |
TWI672698B (en) | Memory control method, memory storage device and memory control circuit unit | |
CN107608818A (en) | Coding/decoding method, memory storage apparatus and memorizer control circuit unit | |
CN103365738B (en) | The light weight soft information acquisition methods of multi-layer flash memory device | |
CN104778975B (en) | Interpretation method, memory storage apparatus, memorizer control circuit unit | |
KR20200033688A (en) | Error correction circuit and operating method thereof | |
US10884858B2 (en) | LDPC decoding device, memory system including the same and method thereof | |
Peng et al. | Dynamic LLR scheme based on EM algorithm for LDPC decoding in NAND flash memory | |
US20220263524A1 (en) | Electronic device | |
CN106981296A (en) | Low-density checksum device and its operating method | |
CN107423159B (en) | A method of LDPC decoding performance is promoted based on flash memory error pattern |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | 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 |