The best way to overcome soft memory errors is to use special kind of RAM, called parity memory. Instead of using traditional 8 bits, parity memory uses 9 bits. The ninth bit is used to hold a value that is derived from a mathematical calculation called a checksum. This calculation is found by a adding all of the 1 bits in the first 8 bits. If the sum of all of the 1 bits is an even number, then the parity bit is a 1. Conversely, if the sum of all the 1 bits is an odd number, then the parity bit is a 0. The parity circuit then adds the one or the zero to the original 8 bits of data. This is called odd parity and is the most typical type the parity check used in PCs. When the processor requests the data, the parity circuit then checks the data that is being held with the checksum bit. If there is an error in one of the bits, the parity circuit generates a non-maskable interrupt error, or NMI.
All that parity RAM does however is check for errors and report them to the user. It does not do anything about repairing an error. It is also vulnerable to multi-bit memory errors. For example, say our original 8 bits of data has six ones in it. This would give it a checksum of one, because it has an even number of bits. Say for whatever reason, two of those bits was changed to zeroes. The parity bit would still report a one, as we still have an even number of one bits. In this case, the processor would be delivered bad data. Most of the time, memory errors only involve one bit.
Home - Table Of Contents - Contact Us
CertiGuide to A+ (Core Hardware) (http://www.CertiGuide.com/aplush/) on CertiGuide.com
Version 1.0 - Version Date: December 6, 2004
Adapted with permission from a work created by Tcat Houser.
CertiGuide.com Version © Copyright 2004 Charles M. Kozierok. All Rights Reserved.
Not responsible for any loss resulting from the use of this site.