(^144) PC Hardware: A Beginner’s Guide
Parity Memory
DRAM memory can include a mechanism used to verify and maintain the integrity of the
data it holds. The two methods used most often are parity and error-correcting code (ECC).
Parity and ECC memories are more expensive than nonparity memory, and as a result,
nonparity memory is much more common. Nonparity memory is what most people think
of as regular memory. Parity and ECC memories are less common and are the exception.
Even and Odd Parity
Parityhas been around about as long as PCs themselves. Of course, there is really no way
forabittoknowexactlywhatshouldbestoredinitindividuallyorinanypartofitsmem-
ory, for that matter. But, there must be some way to hel p prevent and detect bit errors in
data being moved about as fast as memory does. To do so, parity systems add an addi-
tional bit to every eight bits of data—in other words, every byte gets an extra bit. The
extra bit is used by the system to verify that the right amount of bits with the value one
was sent, received, and stored.
There are two types of parity protocols: odd parity and even parity. Odd parity
checks that the number of 1 bits (bits with the value of 1 stored in them) in a byte is an odd
number. Even parity performs the same check on an even number of 1 bits. The parity bit
is toggled on or off to make sure the number of 1 bits remains even or odd as required.
Parityisachievedwhenthenumberof1bitsinabyteplustheparitybitaddsuptoanodd
number or even number, depending on the protocol in use. Table 7-6 shows the impact of
the parity bit on the data width of SIMM and DIMM modules.
When a byte (and its parity bit) does not have the right number of bits, either even or
odd, the result is aparity error. On most systems, a parity error is enough to halt the sys-
tem with a blue screen of death. Memory parity errors can be an indication of a one-time
memory fault or a seriously faulty memory module. Repeated parity errors are a fairly
good indicator that your PC has a bad memory module.
One of the shortcomings of parity checking systems is that they only detect errors and
not large ones, at that. Since they only check for errors in even- or odd-bit counts, parity
systems cannot specifically identify where a parity error has occurred. All it knows is that
Memory Module Nonparity Width Parity Width
30-pin SIMM 8 bits 9 bits
72-pin SIMM 32 bits 36 bits
168-pin DIMM 64 bits 72 bits
Table 7-6. Memory Module Nonparity and Parity Bit Widths