{'fraction_non_alphanumeric': 0.01521164021164021, 'fraction_numerical': 0.0, 'mean_word_length': 5.027888446215139, 'pattern_counts': {'":': 0, '<': 0, '<?xml version=': 0, '>': 0, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
Gallager B LDPC Decoder with Transient and permanent errors

In this paper, the performance of a noisy Gallager B decoder used to decode regular LDPC codes is studied. We assume that the noisy decoder is subject to both transient processor errors and permanent memory errors. Due to the asymmetric nature of permanent errors, we model error propagation in the decoder via a suitable asymmetric channel. We then develop a density evolution type analysis on this asymmetric channel. The recursive expression for the bit error probability is derived as a function of the code parameters (node degrees), codeword weight, transmission error rate and the error rates of the permanent and the transient errors. Based on this analysis, we then derive the residual error of the Gallager B decoder for the regime where the transmission error rate and the processing error rates are small. In this regime, we further observe that the residual error can be well approximated by the sum of suitably combined transient errors and permanent errors, provided that the check node degree is large enough. Based on this insight we then propose and analyze a simple scheme for detecting permanent errors. The scheme exploits the parity check equations of the code itself and reuses the existing hardware to locate permanent errors in memory blocks. With high probability, the detection scheme discovers correct locations of permanent memory errors, while, with low probability, it mislabels the functional memory as being defective.