Two-Dimensional Error Correction Code Proposals Targeting Space Application Memory Requirements - Freitas, David Ciarlini Chagas (2021)
The integrated circuit shrinkage increases the probability and the number of errors in memories due to the increase in the sensitivity to radiation. Critical memory systems employ Error Correction Codes (ECC) to mitigate these failures. Nowadays, one-dimensional ECCs fail to achieve the effectiveness needed to address the increasing number of bit flips caused by a single radiation event. Consequently, n-dimensional ECCs have been proposed to provide higher error detection and correction power. These complex ECCs built for use in critical applications increase error correction and detection capacity but implying higher redundancy, area usage, energy consumption, and critical path delay. We focus on two-dimensional ECCs, also called product codes, designed to protect memories used in space applications. It is not yet clear how the structure of a two-dimensional code and its decoding algorithm influence the correction rate and its associated cost. Therefore, this thesis aims to develop three new approaches and new decoding techniques, always focusing on the maximum correction capability of this class of ECCs with the lowest possible cost of hardware implementation. The first proposal is the Product Code for Space Application (PCoSA), an ECC product based on Hamming and parity in both rows and columns for use in memory with space-application reliability requirements. The potentialities of PCoSA were evaluated by injecting (i) thirty-six predefined error patterns and (ii) all possible combinations of up to seven bitflips. This thesis also introduces the Optimized Product Code for Space Application (OPCoSA), an ECC that optimizes its original version PCoSA, reducing 16- redundancy bits and keeping high error correction capacity. This optimized ECC was evaluated through tests with 36 specific error patterns, burst errors, and exhaustive analysis. Additionally, synthesis results in hardware, reliability, and redundancy to four other ECCs dedicated to the space application were evaluated. The last proposal is Line Product Code (LPC), that uses a Single Error Correction Algorithm (AlgSE) followed by a Double Error Correction Algorithm (AlgDE). Both algorithms explore the LPC characteristics to attain greater decoding efficiency. AlgSE is implemented with an iterative technique associated with a correction heuristic, while AlgDE is an innovative proposal that allows increasing the effectiveness of correction through the inference of errors. AlgDE allows to increase the efficiency of the LPC decoder significantly when used together with AlgSE. All performances are supported by numerical experiments