Scalable Block-Wise Product BCH Codes
In this paper we comprehensively investigate block-wise product (BWP) BCH codes, wherein raw data is arranged in the form of block-wise matrix and each row and column BCH codes intersect on one data block. We first devise efficient BCH decoding algorithms, including reduced-1-bit decoding, extra-1-bit list decoding, and extra-2-bit list decoding. We next present a systematic construction of BWP-BCH codes upon given message and parity lengths that takes into account for performance, implementation and scalability, rather than focusing on a regularly defined BWP-BCH code. It can easily accommodate different message length or parity length at minimal changes. It employs extended BCH codes instead of BCH codes to reduce miscorrection rate and an inner RS code to lower error floor. We also describe a high-speed scalable encoder. We finally present a novel iterative decoding algorithm which is divided into three phases. The first phase iteratively applies reduced BCH correction capabilities to correct lightly corrupted rows/columns while suppressing miscorrection, until the process stalls. The second phase iteratively decodes up to the designed correction capabilities, until the process stalls. The last phase iteratively applies the proposed list decoding in a novel manner which effectively determines the correct candidate. The key idea is to use cross decoding upon each list candidate to pick the candidate which enables the maximum number of successful cross decoding. Our simulations show that the proposed algorithm provides a significant performance boost compared to the state-of-the-art algorithms.
READ FULL TEXT