NAND flash memory uses multi-level cell (MLC), triple-level cell (TLC), and quadruple-level cell (QLC) which store several bits in a single cell, and increases the density and capacity of NAND flash memory. However, storing more bits in a single cell degrade the lifetime and reliability of NAND flash memory, and shrinking the fabrication process accelerates the worn-out speed of flash memory cells. To address this problem, N-level cell leveling has been proposed, which uses N states with low error rates to store data. However, conventional NLC schemes require the exact state information of flash memory cells, making an inefficient read-sensing process to get the information. This paper analyzes the performance overhead of conventional NLC schemes in the read operation. Moreover, we proposed a low-latency encoding scheme (LLE) that optimizes read operation by minimizing the number of read-sensing in NLC flash memory. The proposed scheme reduces read latency in flash memory and improves reliability characteristics. With realistic error models and real-world workloads, Experimental results show a reduced read latency and raw bit error rate by 34.1%, and 87.0%, respectively, on average.
낸드 플래시에서는 단일 셀에 여러 비트를 저장하는 이중, 삼중 및 사중 레벨 셀 기법을 사용하여 낸드 플래시의 밀도 및 용량을 늘린다. 그러나 단일 셀에 더 많은 비트를 저장할 경우, 낸드 플래시의 수명 및 신뢰도가 악화되는 문제가 있으며, 이러한 문제는 공정 미세화가 진행될수록 심각해진다. 이 문제를 해결하기 위해 오류확률이 낮은 N개의 상태만을 사용하는 데이터를 저장하는 NLC이 제안되었다. 그러나 기존 NLC 기법은 읽기 과정에서 정확한 셀 상태 정보를 요구하며, 해당 정보를 얻기 위하여 읽기 과정에서 비효율성이 나타나게 된다. 본 연구에서는 기존 NLC 기법이 적용되었을 때 발생하는 비효율적인 읽기 과정을 분석하고, 읽기 과정 중에 낸드 플래시에 접근하는 횟수를 최소화하는 인코딩 기법을 제안한다. 이를 통하여, 읽기 과정 중에 지연시간을 최소화하며, 낸드 플래시의 신뢰도를 강화할 수 있다. 실제 환경과 대응하는 오류 모델과 워크로드를 적용하여 실험한 결과 읽기 지연시간이 약 34.1% 감소, 오류 확률이 87.0% 감소하는 결과가 있음을 확인하였였다.