 and indication of the complexity factor and the critical path length which is useful in estimating the gate count and speed which could be expected from a decoder implementation. Discovered in 1959, the Bose, Chaudhuri, and Hocquenghem (BCH) codes form a large class of powerful random error correcting cyclic codes. Cyclic codes are an important subclass of linear codes which are attractive because of inherent algebraic structure which enables fast and efficient encoding and Table 6-2. Characteristics of Hsiao's Codes decoding implementations. The BCH code is a remarkable generalization of the Hamming codes which enable the capability to provide multiple error correction. Among the non-binary BCH codes, the most important subclass is the Reed-Solomon (RS) codes. The use of block error detection and correction codes must be matched to the nature of the error conditions which will be encountered and the key performance attributes which the application requires. These factors generally define two applications regimes; error tolerance in high-speed processor memories, and mitigation of error conditions in mass memory subsystems. A third general classification is sometimes considered in which unique properties such as unidirectional error signatures are produced by the design or implementation technology. The nature of the error properties is usually classified as randomly occurring errors and burst error conditions. In the case of conditions in which more than single error correction is required, such as random double-bit-error-correction (DEC), the more general class of BCH codes and majority- logic-decodable structures are viable candidates. These codes require twice as many check bits as the SEC code, and the decoding is therefore significantly more complex and time consuming. In certain cases, specific properties of the bit error conditions can be exploited to provide added information to the decoding process. If the bit error patterns contain the presence of fixed or hard errors, to which added single event upse