## 4 Enhancement Strategy for Decoding
For SPA decoding, as Figure 10b, denote \(v_{j,j=1,2,3,\dots}\) as variable node \(j\), \(c_{i,i=1,2,3,\dots}\) as check node \(i\), \(L_{v_{j}}\) as the LLR of variable node \(j\), \(L_{v_{j}-c_{i}}\) as the value passed by variable node \(j\) to check node \(i\), and \(m_{c_{i}-v_{j}}\) as the value passed by check node \(i\) to variable node \(j\). Before decoding starts, the LLRs at the positions of the true values are set to very large values, usually at least 10 times larger than the others, because we have a strong belief that the true values backfilled are correct. The LLRs will be propagated as the initial values of \(L_{v_{j}}\) and \(L_{v_{j}-c_{i}}\), \(m_{c_{i}-v_{j}}\) is updated with \(L_{v_{j}-c_{i}}\) of each \(v_{j}\) connected to \(c_{i}\), and then \(L_{v_{j}-c_{i}}\) is updated with \(m_{c_{i}-v_{j}}\) of each \(c_{i}\) connected to \(v_{j}\). The \(L_{v_{j}}\) is then updated with \(L_{v_{j}}=\sum_{i=1}^{M}L_{v_{j}-c_{i}}\), where \(M\) is the total number of check nodes. Then \(\hat{y}_{j}\) is discriminated based on \(L_{v_{j}}\) and parity check is done for \(\hat{y}\). The above procedures are repeated until there is no parity violation, or the program reaches its maxiterations. As shown in Figure 12, with the enhancement strategy, the SPA decoding achieves better error performance and converges faster at higher RBER, which means that some iterations can be saved in decoding. The iteration of soft-decision decoding is time-consuming, compared with hard-decision decoding, so saving iterations can certainly improve the read speed, especially at higher RBER. Taking QC-LDPC (10,080, 8400) [22] as an instance for latency analysis, whose parity check matrix has 288 non-zero circulants, supposing that the decoder is capable to process one circulant per clock, the decoder requires 288 clock cycles to finish an iteration. As shown in Figure 13, when RBER = 0.008, the average number of iterations at \(FER=10^{-5}\) is 10 iterations with the proposed enhancement strategy whereas the iteration time is 18 without it. Supposing that 64 bits are read from the memory per clock cycle, the interleaving and de-interleaving each takes \(\left\lceil 10,800/64\right\rceil=158\) clock cycles, and true-value sequence inserting, backfilling and removing each takes extra \(\left\lceil 256/64\right\rceil=4\) clock cycles. Hence, \(288\times 18-\left(288\times 10+158\times 2+4\times 3\right)=1976\) clock cycles can be saved in every decoding, which indicates that the read is sped up by 38.12%. Hence, the enhancement strategy can strengthen the error performance of SPA and thus speed up reading operation when RBER becomes high to the upper bound of ECC. From the perspective of transmission efficiency, decoding 28 frames  
Figure 10: The enhancement strategies for (**a**) bit flip decoding and (**b**) sum-product algorithm (SPA) decoding. with the redundancy transmits almost as much amount of data as decoding 27 frames without the redundancy. The former takes \(28\times(288\times 10+158\times 2+4\times 3)=89,824\) clock cycles whereas the latter takes \(27\times 18\times 288=139,968\) clock cycles, so the former saves 50,144 clock cycles when transmitting almost the same amount of data, which is equivalent to a 35.8% increase in efficiency. The difference of the iterations gets larger when RBER gets higher, especially when RBER reaches the upper bound of the LDPC code, which is 0.01 in this case. Since the maximum iterations are set much less than 70 in practice, such a frame may be judged as a decoding failure and will be switched to re-read status, which will take much more clock cycles than the soft-decision decoding. Namely, the ECC can correct more error patterns with the enhancement strategy under the same decoding status. The HSD NAND flash tends to produce high RBER, so the proposed enhancement strategy  
Figure 11: Bit flip decoding in maximum 10 iterations with or without the enhancement strategy, where a (10,080, 8400) QC-LDPC code is considered. True value bits are not counted in FER calculation.