## 2 Design of LPU Reliability Assessment Algorithm for Flash-Memory Systems
### Design of Entropy Feature Vector for Flash-Memory Channel  
For a flash-memory cell, let \(v\) represent the sensing threshold voltage; its entropy can be calculated as [26]  
\[H(v)=-[\sum_{i}\frac{P_{s_{i}}(v)}{\sum_{i}P_{s_{i}}(v)}log_{2}(\frac{P_{s_{i} }(v)}{\sum_{i}P_{s_{i}}(v)})], \tag{1}\]  
where \(P_{s_{i}}(v)\) represents the final threshold voltage distribution for cells of state \(s_{i}\), \(i\in 11,10,00,01\). The 1-th bit is denoted as the least significant bit (LSB) and the 2-th bit is denoted as the most significant bit (MSB). An example of voltage entropy function \(H(v)\) and voltage distribution is illustrated in Figure 1. It becomes clear that entropy represents the average amount of information before and after passing through the flash-memory channel, or uncertainty. In other words, the greater the entropy, the higher the uncertainty. Then, to represent the uncertainty of the channel information of each bit for the received codeword, the entropy feature vector \(\mathbf{f}_{\text{efv}}\) can be written as  
\[\mathbf{f}_{\text{efv}}=\left[f_{\text{efv},1},f_{\text{efv},2},\cdots,f_{ \text{efv},j},\cdots,f_{\text{efv},n}\right], \tag{2}\]  
where \(n\) is the length of the received codeword and \(f_{\text{efv},j}\) represents the entropy feature value of the \(j\)-th bit.  
To reduce the overall delay caused by retrying the read operation, this paper sets the maximum number of retries for the read operation to 2 times [27], that is, using 6 soft read reference voltages. By setting the value of \(H(v)\) to 0.35 [26], one can get 6 read reference voltages, \(R_{i}\), where \(i=1,2,3,4,5,6\). Then, the voltage window is divided into 7 ranges, \(\varepsilon_{1}\), \(\varepsilon_{2}\), \(\varepsilon_{3}\), \(\varepsilon_{4}\), \(\varepsilon_{5}\), \(\varepsilon_{6}\), \(\varepsilon_{7}\), as shown in Figure 1. According to the quantization range in which each cell falls, the mapping value corresponding to the LLR obtained from the flash memory channel (denoted as \(LLR_{\text{ch}}\)) for a codeword in the LSB or MSB page is as shown in Table 1. Let \(LLR_{\text{ch},j}\) represent the LLR of the \(j\)-th bit in a codeword.  
From Figure 1, one can observe that the entropy of the three regions \(\varepsilon_{2}\), \(\varepsilon_{4}\), and \(\varepsilon_{6}\) is higher. Therefore, the value in the \(\mathbf{f}_{\text{efv}}\) of LSB corresponding to  
Figure 1: Illustration of entropy function and voltage distribution for 2-bit per cell flash-memory channel where the retention time and number of P/E cycles are set to 5000 and 20,000, respectively.  
falling within \(\epsilon_{4}\) is set to 1, and falling within other ranges is set to 0. The value in the \(\mathbf{f_{\text{efv}}}\) of MSB corresponding to the flash-memory cells falling within \(\epsilon_{2}\) and \(\epsilon_{6}\) is set to 1, and falling within other ranges is set to 0, as shown in Table 2. It is instructive to note that the entropy value in the \(\epsilon_{1}\), \(\epsilon_{3}\), \(\epsilon_{5}\), and \(\epsilon_{7}\) ranges is not exactly 0, i.e., \(H(v)!=0\). In other words, the information of a small number of cells falling into these ranges is also unreliable. Note that the mapping we have proposed in Table 2 may not be optimal, and better mappings can be found for further enhancement performance.