# Energy-Efficient Partial LDPC Decoding for NAND Flash-Based Storage Systems
## 5 Theoretical Analysis
### Calculation of the LLR Distribution  
The LLR distribution in the \(l\)-th iteration is analyzed by using the mathematically closed forms of the SPA. For an H-matrix \(\mathbf{H}\), the set of variable nodes connected to the \(m\)-th check node is denoted as  
\[N_{m}=\{n:h_{mn}=1\}, \tag{9}\]  
where \(h_{mn}\) represents the element of the H-matrix on the \(m\)-th row and \(n\)-th column. Similarly, the set of check nodes connected to the \(n\)-th column is  
\[M_{n}=\{m:h_{mn}=1\}. \tag{10}\]  
If a regular LDPC code is considered in the analysis, the numbers of elements in \(N_{m}\) and \(M_{n}\) are \(w_{r}\) and \(w_{c}\), respectively. The set that excludes element \(n\) from \(N_{m}\) is denoted as \(N_{m}\setminus n\), and the set excluding \(m\) from \(M_{n}\) is similarly denoted as \(M_{n}\setminus m\). The LLR value of the \(n\)-th variable node after \(l\) iterations is denoted as \(L_{n}^{(l)}\), and similarly the C2V message of the \(m\)-th check node after \(l\) iterations is represented as \(C_{m\to n}^{(l)}\). The means of \(L_{n}^{(l)}\) and \(C_{m\to n}^{(l)}\) for all \(n\) and \(m\) are denoted as \(\lambda^{(l)}\) and \(\mu^{(l)}\), respectively. In previous works [16; 17], the distribution of \(L_{n}^{(l)}\) for all \(n\) is known to be binomially distributed as \(N(\lambda^{(l)},2\lambda^{(l)})\)[16], where \(N(\mu,\sigma^{2})\) represents the Gaussian distribution with  
Figure 4: The decoding latency of the proposed algorithm normalized by that of the conventional one for the (149, 61, 6) array LDPC code. mean \(\mu\) and variance \(\sigma^{2}\), and \(C_{m\to n}^{(l)}\) is also binomially distributed [17]. Therefore, the LLR distribution can be obtained by tracking \(\lambda^{(l)}\) in each iteration. The equations that update variable and check nodes are used to chase the mean of the LLR distribution. In the SPA, the variable node update is expressed as  
\[L_{n}^{(l)}=L_{n}^{(0)}+\sum_{m\in M_{n}}C_{m\to n}^{(l-1)}, \tag{11}\]  
where \(L_{n}^{(0)}\) is the initial LLR. The corresponding C2V message for the \(l\)-th iteration is  
\[C_{m\to n}^{(l)}=2\tanh^{-1}\left(\prod_{j\in N_{m}\setminus n}\tanh \left(\frac{L_{j}^{(l)}}{2}\right)\right). \tag{12}\]  
For convenience, Equation (12) is rewritten as  
\[\tanh\left(\frac{C_{m\to n}^{(l)}}{2}\right)=\prod_{j\in N_{m}\setminus n} \tanh\left(\frac{L_{j}^{(l)}}{2}\right). \tag{13}\]  
Taking the expectations for both sides,  
\[E\left[\tanh\left(\frac{C_{m\to n}^{(l)}}{2}\right)\right]=E\left[\prod_{j\in N _{m}\setminus n}\tanh\left(\frac{L_{j}^{(l)}}{2}\right)\right]. \tag{14}\]  
For the sake of simple expression, \(\Psi(x)\) is defined as  
\[\Psi(x)=E\Big{[}\tanh\left(\frac{y}{2}\right)\Big{]}=\frac{1}{\sqrt{4\pi x}} \int_{-\infty}^{\infty}\tanh\left(\frac{y}{2}\right)e^{-\frac{(y-x)^{2}}{4x}}\,dy, \tag{15}\]  
where \(y\sim N(x,2x)\). Equation (14) can be rewritten as  
\[\Psi(\mu^{(l)})=\Big{(}\Psi(\lambda^{(l)})\Big{)}^{w_{r}-1}. \tag{16}\]  
Taking the expectations for both sides of (11), we obtain  
\[\lambda^{(l)}=\frac{2E_{c}}{\sigma^{2}}+(w_{c}-1)\mu^{(l-1)}, \tag{17}\]  
where \(E_{c}\) is the energy consumed to transmit a bit of a codeword and \(\sigma\) is the standard deviation of the AWGN channel. A bit of zero or one transmitted over the AWGN channel is mapped to \(\sqrt{E_{c}}\) or \(-\sqrt{E_{c}}\), respectively, and the all-zero codeword is assumed to be sent. By substituting (17) into (16), we have  
\[M_{n}=\{m:h_{mn}=1\}. \tag{10}\]0  
and it is rewritten as  
\[M_{n}=\{m:h_{mn}=1\}. \tag{10}\]1  
By substituting Equation (19) into Equation (17), we finally have the mean of the LLR distribution,  
\[M_{n}=\{m:h_{mn}=1\}. \tag{10}\]2where \(\mu^{(l-2)}\) can be recursively calculated from (19) with the initial condition of \(\mu^{(0)}=0\). The mean of LLR distribution \(\lambda^{(l)}\) is only determined by the column degree \(w_{c}\), the row degree \(w_{r}\), and the channel SNR \(\frac{E_{r}}{\sigma^{2}}\). Therefore, the LLR distribution after \(l\) iterations can be estimated from the mean expressed in (20).