NAND - SLC·MLC·TLC·QLC

https://www.ssstc.com/kr/knowledge-detail/nand-flash-types-comparison/

SLC·MLC·TLC·QLC는 하나의 NAND Cell에 저장하는 bit 수에 따른 분류이다. SLC는 Cell당 1bit, MLC는 2bit, TLC는 3bit, QLC는 4bit를 저장한다.

하나의 Cell에 여러 bit를 저장하는 방법

What is Multi-level Cell Technology Realizing Larger Capacity Flash Memory? ❘ KIOXIA - Japan (English)

NAND Cell은 전하 저장층에 저장된 전하량에 따라 서로 다른 문턱전압 \(V_{TH}\)을 갖는다. Program 동작에서는 Cell의 문턱전압이 목표 구간에 들어가도록 전하량을 조절한다. Read 동작에서는 여러 단계의 판독전압을 인가하여 Cell이 어느 문턱전압 구간에 속하는지 판별한다. 1bit는 전압 구간 수 2개, 2bit는 전압 구간 수 4개, 3bit는 전압 구간 수 8개, 4bit는 전압 구간 수 16배.

같은 \(V_{TH}\) 범위를 더 많은 상태로 나누면 상태 사이의 간격이 좁아진다. 문턱전압 상태 사이의 간격이 좁아지면 전하 누설이나 동작 반복으로 문턱전압 분포가 이동했을 때 인접한 분포와 겹칠 가능성이 커진다. 따라서 Cell의 상태를 정확하게 기록하고 판독하기 어려워진다

SLC부터 QLC까지의 특성 비교

종류 bit 문턱전압 상태 수 셀당 저장 용량 상대적 Program 속도 P/E 내구성
SLC 1 2 낮음 빠름 높음
MLC 2 4 증가 느려짐 감소
TLC 3 8 높음 더 느려짐 더 감소
QLC 4 16 매우 높음 가장 느림 가장 낮음

NAND의 내구성과 신뢰성 문제

  • P/E Cycle: NAND Block에서 Program과 Erase가 반복된 횟수를 의미한다. 이 동작이 누적되면 전하가 통과하는 절연막에 결함이 증가하여 문턱전압을 정확하게 조절하기 어려워지므로 NAND의 수명을 판단하는 대표적인 내구성 지표로 사용된다. 
  • Retention: 전원이 공급되지 않는 상태에서도 Cell이 저장된 데이터를 유지하는 능력을 의미한다. 시간이 지나면서 저장 전하가 누설되거나 전하 상태가 변하면 문턱전압 \(V_{TH}\)이 이동하여 다른 데이터로 잘못 판독될 수 있다.
  • Read Disturb: 특정 Page를 반복해서 읽는 과정에서 선택되지 않은 Cell의 문턱전압이 변하는 현상을 의미한다. Read 동작 중 비선택 Word Line에 반복적으로 인가되는 전압의 영향이 누적되면 저장 상태가 달라져 bit 오류가 발생할 수 있다
  • Program Disturb: 특정 Cell을 Program할 때 인가되는 전압이 Program 대상이 아닌 주변 Cell에 영향을 주는 현상을 의미한다. 이 영향으로 의도하지 않은 Cell의 문턱전압이 변하면 저장된 bit를 잘못 판독하는 오류가 발생할 수 있다.
  • Bad Block: Program, Erase 또는 Read 동작의 정상적인 수행을 보장하기 어려운 Block을 의미한다. 제조 과정에서 처음부터 발생할 수도 있고, P/E Cycle과 각종 열화가 누적되면서 새롭게 발생할 수도 있으며, Bad Block이 증가하면 사용할 수 있는 NAND 용량이 감소한다.

SSD는 NAND의 한계를 어떻게 관리하는가?

SSD는 이러한 문제들을 해결하기 위해 다음과 같은 방법을 활용한다.

  • ECC: NAND에서 발생한 bit 오류를 검출하고 정정
  • Bad Block Management : 사용할 수 없는 Block을 기록하고 접근 대상에서 제외
  • Wear Leveling : 특정 Block에 P/E Cycle이 집중되지 않도록 쓰기 위치를 분산
  • Garbage Collection : 유효한 Page를 이동하고, 무효 Page가 포함된 Block을 Erase하여 재사용
  • Over-Provisioning : 관리 작업과 예비 Block을 위한 추가 NAND 공간 확보
  • SLC Cache : NAND 일부를 SLC 방식으로 사용하여 체감 쓰기 속도를 높임

SLC·MLC·TLC·QLC의 핵심 차이는 하나의 Cell이 구분해야 하는 문턱전압 상태 수에 있다. 셀당 bit 수가 증가하면 동일한 Cell 수로 더 많은 데이터를 저장할 수 있지만, 문턱전압 구간이 좁아져 Program과 Read가 어려워지고 오류에 대한 여유도 감소한다. SSD는 ECC, Wear Leveling, Bad Block Management 등의 기술을 이용하여 이러한 NAND의 한계를 관리한다.