# A Generic Block-Level Error Confinement Technique for Memory Based on Principal Component Analysis
## 4 Case Study
### Experimental Results
#### 4.2.2 Evaluation of Protection Quality  
Table 2 visualizes the images under protection, qualities in terms of PSNR values, and ratio of injected single bit-flip errors which is evaluated by error rate (ER). ER is calculated as the total amount of injected errors divided by the total amount of pixels of the image. For proposed technique, two principal components are reserved during PCA. It is observed that when the ER value reaches 0.0019, it leads to significant degradation in PSNR compared to the error-free case. However, the quality of the picture is significantly improved (PSNR \(>\) 30) after adopting proposed error confinement method in the process of data reconstruction proposed in this paper. Compared with our proposed method, the quality of the image under ECC protection is obviously worsened when the error rate is large. \begin{table}
\begin{tabular}{c c c} \hline \hline (a) ER = 0.0019 & (b) ER = 0.0038 & (c) ER = 0.0057 \\ PSNR \(-\)102.29 dB & PSNR \(-\)106.31 dB & PSNR \(-\)111.04 dB \\ No protection & No protection & No protection \\ \hline \hline (d) ER = 0.0019 & (e) ER = 0.0038 & (f) ER = 0.0057 \\ PSNR 36.09 dB & PSNR 35.4 dB & PSNR 34.77 dB \\ Proposed protection & Proposed protection & Proposed protection \\ \hline \hline (g) ER = 0.0019 & (h) ER = 0.0038 & (i) ER = 0.0057 \\ PSNR 36.04 dB & PSNR 29.75 dB & PSNR \(-\)72.28 dB \\ ECC protection & ECC protection & ECC protection \\ \hline \hline \end{tabular}
\end{table} 
Table 2: Output images under different error injection rate and protection methods. We quantify the PSNR achieved by our approach with a SECDED ECC for all images in Figure 7. Figure 11a shows the obtained results in case of protecting the projection data Y and eigenvectors \(V_{k}\) with different techniques under various error rate of single bitflips. We observed that as the error rate of the injected single bitflips increases, the output quality achieved by the proposed method is slightly reduced. When the error rate of the injected single bitflips is small, the two techniques can both achieve good fault tolerance. But when the error rate is larger than 0.003, the quality of the image by using ECC technique has decreased rapidly. In contrast, the qualities of the images are only slightly reduced by the proposed method. For the error rate of 0.004 and beyond, the proposed method achieves better PSNR than the ECC method. For various images, the proposed technique achieves similar effect of protection with differences of absolute PSNR values due to the differences of features in the original images. In case of ECC and no protection, only averaged PSNR curves for six images are compared for simplicity. The slight degradation of PSNR by our approach can be attributed to the fact that in some cases, the value of the erroneous data V\({}_{K}\) or Y that is being substituted by the corresponding value of the average vector V* or Y*. In these cases the replacement will not be as accurate and thus the quality achieved by our approach is not perfect. As discussed, our approach tries to confine the impact of memory errors by essentially approximating erroneous data with their average vector. However, note that the proposed method still achieves to provide output images with PSNR above 30 dB even under the error rate of 0.007 (which is equivalent to about 600 bitflips), closely approximating the PSNR of error free image. In contrast, the ECC method uses six parity bits for encoding each 32-bit code word, therefore, when the error rate is large, the error probability in both code word and its encoded parity bits increases, which can cause the failure of error detection, and the correct bit will be mistaken for false detected error, which will eventually make the quality of the image dropping rapidly. Regarding multi-bitflip error, we evaluate the effect of protection under a fixed error rate of 0.01, but different amount of bit-flips for each injected error.