• DocumentCode
    1157980
  • Title

    Efficient Software-Based Encoding and Decoding of BCH Codes

  • Author

    Cho, Junho ; Sung, Wonyong

  • Author_Institution
    Sch. of Electr. Eng. & Comput. Sci., Seoul Nat. Univ., Seoul
  • Volume
    58
  • Issue
    7
  • fYear
    2009
  • fDate
    7/1/2009 12:00:00 AM
  • Firstpage
    878
  • Lastpage
    889
  • Abstract
    Error correction software for Bose-Chaudhuri-Hochquenghem (BCH) codes is optimized for general purpose processors that do not equip hardware for Galois field arithmetic. The developed software applies parallelization with a table lookup method to reduce the number of iterations, and maximum parallelization under a cache size limitation is sought for a high throughput implementation. Since this method minimizes the number of lookup tables for encoding and decoding processes, a large parallel factor can be chosen for a given cache size. The naive word length of a general purpose CPU is used as a whole by employing the developed mask elimination method. The tradeoff of the algorithm complexity and the regularity is examined for several syndrome generation methods, which leads to a simple error detection scheme that reuses the encoder and a simplified syndrome generation method requiring only a small number of Galois field multiplications. The parallel factor for Chien search is increased much by transforming the error locator polynomial so that it contains symmetric exponents of positive and negative signs. The experimental results demonstrate that the developed software cannot only provide sufficient throughput for real-time error correction of NAND flash memory in embedded systems but also enhance the reliability of file systems in general purpose computers.
  • Keywords
    BCH codes; Galois fields; cache storage; decoding; digital arithmetic; encoding; error correction codes; error detection; microprocessor chips; parallel processing; table lookup; BCH codes; Bose-Chaudhuri-Hochquenghem codes; Chien search; Galois field arithmetic; Galois field multiplications; algorithm complexity; cache size limitation; error correction software; error detection; error locator polynomial; high throughput implementation; mask elimination; naive word length; software-based decoding; software-based encoding; syndrome generation; table lookup method; Arithmetic; Central Processing Unit; Computer errors; Encoding; Error correction codes; Galois fields; Hardware; Iterative decoding; Table lookup; Throughput; BCH codes; CRC; implementation.; software;
  • fLanguage
    English
  • Journal_Title
    Computers, IEEE Transactions on
  • Publisher
    ieee
  • ISSN
    0018-9340
  • Type

    jour

  • DOI
    10.1109/TC.2009.27
  • Filename
    4782950