Error detecting and correcting memory
With systems that need very high reliability, it is possible through increasing the number of additional bits per byte and by using special coding techniques to increase the protection offered by parity protection. There are two types of memory design that do this:
• Error detecting memory
With this type of memory, additional bits are added to the data word to provide protection from multiple bit failures. Depending on the number of bits that are used and the coding techniques that use the additional bits, protection can be provided for a larger number of error conditions. The disadvantages are the additional memory bits needed along with the complex controllers required to create and com-pare the codes.
• Error detecting and correction
This takes the previous protection one step further and uses the codes not only to detect the error but correct it as well. This means that the system will carry on despite the error whereas the previous scheme would require the system to be shut down as it could not rely on the data. EDC systems, as they are known, are expensive but offer the best protec-tion against memory errors.
If parity is used, then it may be necessary for software routines to write to each memory location to clear and/or set up the parity hardware. If this is not done, then it is possible to generate false parity errors.