Software-implemented EDAC protection against SEUs
In many computer systems, the contents of memory are protected by an error detection and correction (EDAC) code. Bit-flips caused by single event upsets (SEU) are a well-known problem in memory chips; EDAC codes have been an effective solution to this problem. These codes are usually implemented in hardware using extra memory bits and encoding/decoding circuitry, In systems where EDAC hardware is not available, the reliability of the system can be improved by providing protection through software. Codes and techniques that can be used for software implementation of EDAC are discussed and compared. The implementation requirements and issues are discussed, and some solutions are presented. The paper discusses in detail how system-level and chip-level structures relate to multiple error correction. A simple solution is presented to make the EDAC scheme independent of these structures. The technique in this paper was implemented and used effectively in an actual space experiment. We have observed that SEU corrupt the operating system or programs of a computer system that does not have any EDAC for memory, forcing the system to be reset frequently. Protecting the entire memory (code and data) might not be practical in software. However, this paper demonstrates that software-implemented EDAC is a low-cost solution that provides protection for code segments and can appreciably enhance the system availability in a low-radiation space environment, This reliability improvement is demonstrated through both a satellite experiment and analytic estimates which are based on parameter values that closely match the environment of the satellite experiment. For applications where read and write operations are done in blocks of words, such as secondary storage systems made of solid-state memories GRAM discs), software-implemented EDAC can be a better choice than hardware EDAC, because it can be used with a simple memory system and it provides the flexibility of implementing more complex coding schemes.
software-implemented error detection and correction (edac) commercial off-the-shelf (cots) in space error-correcting codes (ecc) low-cost fault tolerance memory-bit-flips memory protection single-event upset (seu) soft errors transient error