other cyclic codes, and convolutional coding schemes are used to detect errors in serial data transfer interfaces and storage media. 6.4.1.1 Error Detection and Correction in Data Storage and Communication [Chen95][Rubino95] The most common form of information redundancy is the use of concurrent error detecting and correcting codes which are often applied to the information stored in memory subsystems or in the transmission of information. The most simple coding scheme is the use of a parity check code in which one or more bits is added to a set of data bits, lengthening the word. Computation of the parity check bits is based upon simple modulo-two addition of the information bits. Parity checking is generally utilized to perform error detection; however, combined with the use of other structure in the information it can be used to isolate and to correct errors. Simple parity checking lacks efficiency in error correction, and multiple errors compromise the performance of the code unless numerous interlaced parity structures are applied. Error Detection and Correction (EDAC) or Error Control Codes (ECC) are generally classified as either block codes or convolutional codes. The encoder for a block code divides the information sequence into message blocks of k information bits each and transforms each into an n-bit codeword by appending n-k check bits. The set of 2k codewords of length n is called an (n,k) block code. Block codes are used for data storage systems as well as communications channels. The encoder for a convolutional code also accepts k-bit blocks of information and produces an encoded sequence of n-symbol blocks. However, each encoded block depends not only on the present k-bit input block, but also on the m previous message blocks, referred to as memory order of m. The set of encoded sequences produced by a k-input, n-output encoder of memory order m is called an (n,k,m) convolutional code. Convolutional codes are typically utilized for communications channels and other serial data transfer applicatio