Page 200 -
P. 200

5.2 / ERROR CORRECTION 169


             5.2 ERROR CORRECTION

                  A semiconductor memory system is subject to errors. These can be categorized as
                  hard failures and soft errors. A hard failure is a permanent physical defect so that
                  the memory cell or cells affected cannot reliably store data but become stuck at 0 or
                  1 or switch erratically between 0 and 1. Hard errors can be caused by harsh environ-
                  mental abuse, manufacturing defects, and wear.A soft error is a random, nondestruc-
                  tive event that alters the contents of one or more memory cells without damaging the
                  memory. Soft errors can be caused by power supply problems or alpha particles.
                  These particles result from radioactive decay and are distressingly common because
                  radioactive nuclei are found in small quantities in nearly all materials. Both hard
                  and soft errors are clearly undesirable, and most modern main memory systems in-
                  clude logic for both detecting and correcting errors.
                       Figure 5.7 illustrates in general terms how the process is carried out. When
                  data are to be read into memory, a calculation, depicted as a function f, is performed
                  on the data to produce a code. Both the code and the data are stored. Thus, if an
                  M-bit word of data is to be stored and the code is of length K bits, then the actual
                  size of the stored word is M +  K bits.
                       When the previously stored word is read out,the code is used to detect and pos-
                  sibly correct errors. A new set of K code bits is generated from the M data bits and
                  compared with the fetched code bits.The comparison yields one of three results:

                     • No errors are detected.The fetched data bits are sent out.
                     • An error is detected, and it is possible to correct the error. The data bits plus
                       error correction bits are fed into a corrector, which produces a corrected set of
                       M bits to be sent out.
                     • An error is detected,but it is not possible to correct it.This condition is reported.

                       Codes that operate in this fashion are referred to as error-correcting codes.A code
                  is characterized by the number of bit errors in a word that it can correct and detect.

                     Error signal






                     Data out        M
                                                       Corrector



                     Data in         M                M                   K
                                                                    f
                                     K       Memory   K                          Compare
                                f

                     Figure 5.7  Error-Correcting Code Function
   195   196   197   198   199   200   201   202   203   204   205