Chapter 16
408 MIPS R4000 Microprocessor User's Manual
16.1 Error Checking in the Processor
ECC code allows the processor to detect and sometimes correct errors
made when moving data from one place to another.
Two major types of data errors can occur in data transmission:
• hard errors, which are permanent, arise from broken
interconnects, internal shorts, or open leads
• soft errors, which are transient, are caused by system noise,
power surges, and alpha particles.
Hard errors must be corrected by physical repair of the damaged
equipment and restoration of data from backup. Soft errors can be
corrected by using error checking and correcting codes.
Types of Error Checking
The processor uses two types of error checking: parity (error detection
only), and single-bit error correction/double-bit error detection
(SECDED).
Parity Error Detection
Parity is the simplest error detection scheme. By appending a bit to the
end of an item of data—called a parity bit—single bit errors can be
detected; however, these errors cannot be corrected.
There are two types of parity:
• Odd Parity adds 1 to any even number of 1s in the data,
making the total number of 1s odd (including the parity bit).
• Even Parity adds 1 to any odd number of 1s in the data,
making the total number of 1s even (including the parity bit).
Odd and even parity are shown in the example below:
Data(3:0) Odd Parity Bit Even Parity Bit
0 0 1 0 0 1