NAND flash memory is high speed and low power consuming memory device due to no moving parts. Because of these advantages, NAND flash memory is used in USB memories, SSD, SD card, etc. To increase memory density, each cells in NAND flash memories has more than one bit information such as MLC (2bits/cell) and TLC (3bits/cell). However, multiple bits in a cell increases raw bit error rate. One of the solution to increase reliability of memory device is strong error correction codes. Thus, making strong error correction codes with low decoding complexity is important issue in NAND flash memories.
In terms of complexity, BCH codes or hamming codes which have hard decision based decoding algorithm needs low complexity to decode. These codes guarantee correcting t errors but, error correcting capability is weaker than LDPC codes or turbo codes which have soft decision based decoding algorithm.
In this thesis, turbo blockwise concatenated BCH codes (BC-BCH) are suggested. BC-BCH codes consist of multiple of BCH codes which have low complexity. BC-BCH codes can be decoded by iterative hard decision based decoding and it show better performance than long BCH codes. If iterative hard decision based decoding is failed, soft decision based decoding using turbo principle is applied and it makes error rate lower. Thus, turbo blockwise concatenated BCH codes exploits low decoding complexity and low page error rate.
Simulation results show that turbo BC-BCH codes are comparable to LDPC codes. In the sense of latency, turbo BC-BCH codes has short latency than turbo product codes. In the sense of memory, turbo BC-BCH codes require fewer memory than LDPC codes.
낸드 플래시 메모리는 읽는 속도가 빠르고 기계적으로 움직이는 부분이 없어 전력소모가 적다. 이런 장점들 때문에 낸드플래시 메모리는 SSD나 SD 카드 등 다양한 저장매체에 사용되고 있다. 저장밀도를 증가시키기 위해서 낸드 플래시 메모리는 한 셀에 1비트 이상에 데이터를 저장하는 데 2비트면 MLC 3비트면 TLC라 한다. 하지만 한 셀에 여러비트의 데이터를 저장하면 오류율이 증가하게 된다. 오류율을 낮추어 신뢰도를 증가시키는 방법 중 하나는 오류정정정부호다. 따라서 강력한 오류정정능력을 가지면서 복호 복잡도가 낮은 오류정정부호를 설계하는 것은 낸드 플래시 메모리를 연구하는데 있어서 중요한 문제이다. 복잡도 측면에서 BCH부호나 해밍 부호 같은 경판정 복호를 필요로하는 오류정정부흐는 복호 복잡도가 낮다. 이 부호들은 t개 이하의 오류는 정정하지만 복호 능력이 LDPC 부호나 터보 부호에 비하면 낮다. 이 논문에서는 터보 BC-BCH 부호가 제안되었다. BC-BCH 부호는 여러개의 BCH 부호가 사용되어 복호 복잡도가 낮다. 또한 반복적 경판정 복호를 통해 오류 정정능력이 긴 BCH 부호보다 더 크다. 경판정 복호가 실패하더라도 터보 복호를 이용한 연판정 복호를 사용하면 오류율을 더 낮출 수 있다. 실험 결과 터보 BC-BCH 부호는 LDPC 부호와 성능이 유사하다는 것을 확인하였다. 복호 지연시간 측면에서는 터보 BC-BCH 부호는 터보곱부호에 비하여 지연시간이 짧다 또한 복호에 필요한 메모리 측면에서는 LDPC부호보다 필요한 메모리가 적다.