• DocumentCode
    1859600
  • Title

    Design of any codeword length parallel long BCH encoders with the help of an efficient C-utility

  • Author

    Koorapati, Sagar ; Prakash, Surya M.

  • Author_Institution
    Ineda Syst. Pvt. Ltd., Hyderabad, India
  • fYear
    2015
  • fDate
    8-10 Jan. 2015
  • Firstpage
    1
  • Lastpage
    6
  • Abstract
    Error correction has become crucial for NAND Flash based Solid State Drives. As we move towards MLC (Multi Level Cell) NAND Flash memories from SLC (Single Level Cell) NAND Flash memories to achieve higher data density at lower cost per storage unit, we see increased Bit Error Rate (BER) in MLC NAND memories. BCH (Bose-Chaudhuri- Hocquenghem) codes are popular to detect and correct such higher number of errors in many communication applications in addition to the storage domain. BCH encoders are conventionally implemented by linear feedback shift registers that can be directly derived from Generator Polynomial. This direct implementation of long BCH encoders is not suitable for high speed applications, demanding high speed parallel long BCH encoder architectures. One potential problem with such high speed parallel long BCH encoders is its routing complexity when realizing the encoders in hardware. In this paper, we present the design of a long parallel BCH encoder ((4928, 4096) BCH code) with the help of a simple and efficient C-utility. This C-utility takes Generator Polynomial, unfolding factor parameter as inputs, generates the Data Flow Graph in terms of nodes, connectivity matrix with delay elements; generates the resulting BCH encoder hardware code (Verilog RTL code). The proposed C-utility can be used to auto generate any codeword length BCH encoder hardware for configurable unfolding factor value, thus avoiding the RTL design and implementation of encoder, simplifying and speeding up the encoder design compared to the conventional encoder design approaches. The proposed C-utility also generates enough details for each design configuration to analyze the routing complexity of the design much in advance.
  • Keywords
    BCH codes; C language; error correction; flash memories; hardware description languages; polynomials; BCH encoder hardware code; Bose-Chaudhuri- Hocquenghem codes; MLC; NAND flash based solid state drive; Verilog RTL code; codeword length design; efficient C-utility; encoder design; error correction; generator polynomial; multilevel cell; parallel long BCH encoder; routing complexity; unfolding factor parameter; Delays; Geometry; BCH encoder; connectivity matrix; data flow graph; data structure; generator polynomial; unfolding;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    VLSI Systems, Architecture, Technology and Applications (VLSI-SATA), 2015 International Conference on
  • Conference_Location
    Bangalore
  • Print_ISBN
    978-1-4799-7925-7
  • Type

    conf

  • DOI
    10.1109/VLSI-SATA.2015.7050492
  • Filename
    7050492