NAND Flash는 왜 Page로 읽고 Block으로 지울까?

1. NAND Array의 구성

NAND Flash structure(https://computing-jhson.tistory.com/116)
NAND string architecture(https://semiconyj.tistory.com/25)

NAND Flash에서는 여러 Cell이 직렬로 연결되어 하나의 String을 구성한다. 각 Cell의 Gate는 Word Line에 연결되고, String의 위쪽은 Bit Line에 연결된다.
String의 아래쪽은 CSL(Common Source Line)에 연결되며, SSL(String Select Line)과 GSL(Ground Select Line) 이 String 양 끝의 연결을 제어한다.
선택 트랜지스터(Select Transistor)는 NAND String의 양 끝에서 해당 String을 Bit Line 또는 CSL에 연결하거나 분리하는 스위치 역할의 전용 트랜지스터이다. Bit Line 쪽의 선택 트랜지스터는 SST(String Select Transistor)이고, CSL 쪽의 선택 트랜지스터는 GST(Ground Select Transistor)이다. SST의 Gate는 SSL(String Select Line)에 연결되고, GST의 Gate는 GSL(Ground Select Line)에 연결된다.

 

2. 물리적 구조와 논리적 구조

구조요소 의미
Cell 전하를 저장하는 최소 소자
Page 동일한 Word Line에 연결된 Cell들의 상태 중 한 번의 Read 또는 Program 명령으로 처리되는 논리적 데이터 단위. MLC·TLC·QLC에서는 하나의 Word Line에 복수의 Page가 대응할 수 있다.
Block Erase의 기본 단위
Plane 여러 Block을 포함하는 병렬 동작 단위
Die 하나의 NAND 반도체 칩
Package 하나 이상의 Die를 포함한 외부 부품

요소 간 개념적 구성 순서는 다음과 같다(다만 실제 구성과 명칭은 제조사 및 세대에 따라 달라질 수 있다).

\[
\text{Cell} \rightarrow \text{Page} \rightarrow \text{Block} \rightarrow \text{Plane} \rightarrow \text{Die} \rightarrow \text{Package}
\]

 

3. NAND Operation

SLC에는 크게 두 개의 문턱전압 상태가 있다.

Erase 상태:   낮은 문턱전압 → 데이터 ‘1’
Program 상태: 높은 문턱전압 → 데이터 ‘0’

두 상태 사이에 \(V_{\mathrm{read}}\)를 두고 Read를 할 때 두 문턱전압 분포 사이의 기준 읽기 전압을 인가해 Cell이 어떤 상태인지 판별한다.

\[
V_{\mathrm{TH,Erase}}
<
V_{\mathrm{read}}
<
V_{\mathrm{TH,Program}}
\]

 

이하의 Operation 설명은 SLC 기준으로 진행한다. MLC·TLC·QLC에서는 복수의 기준 전압을 이용하여 여러 문턱전압 상태를 구분한다. 

이 설명에서는 전압이 낮아지면 데이터 ‘1’, High 상태를 유지하면 데이터 ‘0’으로 판정한다.

Read Operation

  1. 전압 변화를 감지할 수 있도록 Bit line을 pre-charge
    읽고자 하는 셀이 속한 Bit Line에 일정 전압을 인가하여 High 상태로 충전한다. 이를 Pre-charge라고 한다.
    이후 선택 셀의 상태에 따라 Bit Line 전압이 낮아지는지, High 상태를 유지하는지를 비교하여 데이터를 판독한다.
  2. NAND String의 양 끝을 연결하여 전류가 흐를 준비를 한다
    SSL과 GSL에 전압을 인가하여 선택 트랜지스터인 SST와 GST를 켠다. 이에 따라 NAND String의 위쪽은 Bit Line에, 아래쪽은 CSL(Common Source Line)에 연결된다.
    다만 실제로 전류가 흐르려면 String 내부의 셀들도 켜져 있어야 한다.
  3. 다른 셀이 전류를 막지 않도록 비선택 셀을 모두 켠다
    읽으려는 셀이 속한 String에서, 선택 셀을 제외한 나머지 셀의 Word Line에 높은 Pass 전압을 인가한다.
    NAND String의 셀들은 직렬로 연결되어 있으므로, 비선택 셀 중 하나라도 꺼져 있으면 선택 셀의 상태와 관계없이 전류가 흐르지 못한다. 따라서 비선택 셀은 저장 데이터와 관계없이 켜지도록 하여, 선택 셀의 상태에 따라 전류 흐름이 결정되게 한다.
  4. 저장 상태를 구분할 기준 전압을 선택 셀에 인가한다
    선택 셀의 Word Line에 기준 읽기 전압을 인가한다. SLC에서는 낮은 문턱전압의 Erase 상태와 높은 문턱전압의 Program 상태를 구분할 수 있도록 두 분포 사이에 기준을 둔다.
    선택 셀은 자신의 문턱전압이 이 기준보다 낮으면 켜지고, 높으면 꺼진 상태를 유지한다.
  5. 선택 셀의 켜짐 여부에 따라 Bit Line 전압이 달라진다
    1. 선택 셀이 '1'인 경우 (Erase 상태 / $V_{TH} < V_{read}$):
      문턱전압이 기준 읽기 전압보다 낮으므로 선택 셀이 켜진다. Bit Line의 전하가 NAND String과 GST를 거쳐 CSL 방향으로 방전되면서 Bit Line 전압이 낮아진다.
    2. 선택 셀이 '0'인 경우 (Program 상태 / $V_{TH} > V_{read}$):
      문턱전압이 기준 읽기 전압보다 높으므로 선택 셀이 꺼진 상태를 유지한다. 전류 경로가 차단되어 Bit Line이 방전되지 않으므로 전압은 High 상태를 유지한다.
  6. Bit Line의 전압 변화를 데이터로 판정한다
    Page Buffer의 감지 회로가 Bit Line 전압이 낮아졌는지, High 상태를 유지하는지를 확인한다. 판정된 데이터는 Page Buffer에 저장된 뒤 외부로 출력된다.

Program 동작

Program은 Floating Gate 또는 Charge Trap Layer에 전자를 주입하여 셀의 문턱전압을 높이고 데이터를 기록하는 과정이다. 
핵심은 Page Buffer의 데이터에 따라 기록할 셀과 기존 상태를 유지할 셀을 구분하고, 기록할 셀의 문턱전압만 목표 수준까지 높이는 것이다.

        1. 기록할 셀과 유지할 셀을 구분하도록 Bit Line 전압을 설정한다
          Page Buffer에 저장된 데이터에 따라 각 Bit Line에 서로 다른 전압을 인가한다.
          데이터 '0'을 기록할 셀(Program)에는 해당 Bit Line에 0V(Ground)를 인가한다. 데이터 '1'을 유지할 셀(Program Inhibit)에는 Program이 되지 않도록 \(V_{\mathrm{CC}}\)를 인가한다.
          같은 Word Line에 연결된 셀들은 공통으로 Program 전압을 받으므로, Bit Line을 통해 각 String의 Channel 전압을 다르게 설정하여 기록 여부를 구분한다.
        2. 기록할 String의 Channel은 낮게 유지하고, 보호할 String의 Channel은 고립시킨다
          SST의 Gate에 연결된 SSL에 VCC를 인가하고, GST의 Gate에 연결된 GSL에는 0V를 인가한다. GST는 꺼져 Channel과 CSL 사이의 연결을 차단한다.
          이때 Bit Line 조건에 따라 SST와 Channel의 상태가 달라진다.

          - SSL 제어
          SSL의 Gate에 연결된 SSL에 \(V_{\mathrm{CC}}\)를 인가한다.
          0 쓰기 셀: Bit Line이 0V이므로 SST가 켜지고, String Channel 전압이 0V가 된다.
          1 유지 셀: Program Inhibit String의 Channel은 Bit Line을 통해 먼저 충전된다. 이후 SST가 차단되고, GST도 꺼져 있으므로 Channel이 Floating 상태가 된다.
          - GSL 제어
          GSL에는 0V를 인가하여 GST를 끈다. 이에 따라 String Channel이 CSL 및 Ground 방향으로 방전되는 것을 방지한다.

          이처럼 Channel 전압을 외부에서 고정하는 경로가 차단된 상태를 **Floating**이라고 한다. Floating은 전압이 0V라는 뜻이 아니며, 주변 Word Line과의 용량성 결합에 따라 Channel 전압이 변할 수 있다.
        3. 유지할 셀에 전자가 주입되지 않도록 Channel 전압을 높인다
          선택 Word Line에 Program 전압을 인가하고, 비선택 Word Line에는 Pass 전압을 인가한다.
          Channel 전압이 높아지면 선택 셀의 Control Gate와 Channel 사이의 전압 차이가 줄어든다. 그 결과 저장층으로의 전자 주입이 억제되어 데이터 ‘1’을 유지한다.
          Program Inhibit String에서는 Channel이 Floating 상태이므로, Word Line 전압이 상승할 때 용량성 결합에 의해 Channel 전압도 함께 상승한다. 이를 Self-Boosting이라고 한다.
        4. 기록할 셀에 전자를 주입하여 문턱전압을 높인다
          앞 단계와 같은 Program Pulse 인가 중에도, 데이터 ‘0’을 기록할 String의 Channel은 낮은 전압으로 유지된다.
          따라서 선택 셀의 Control Gate와 Channel 사이에 큰 전압 차이가 형성된다. 이때 발생하는 강한 전기장에 의해 전자가 F-N 터널링으로 전하 저장층에 주입되고, 셀의 문턱전압이 상승한다.
          즉, 같은 Word Line 전압을 받더라도 Channel 전압이 낮은 셀은 Program되고, Channel 전압이 높아진 셀은 Program이 억제된다
        5. 충분히 기록된 셀을 찾아 추가 Program을 막는다
          Program Pulse 인가가 끝나면 선택 Word Line에 검증 전압을 인가하고, 각 셀의 문턱전압이 목표 수준에 도달했는지 확인한다. 이를 Program Verify라고 한다.
          목표에 도달한 셀은 Pass 처리하고, 다음 Pulse부터 Program Inhibit를 적용하여 문턱전압이 더 높아지는 것을 억제한다
          이때 Program Inhibit는 셀을 데이터 ‘1’로 되돌리는 동작이 아니다. 이미 기록된 데이터 ‘0’을 유지하면서 추가 전자 주입을 막는 동작​이다.
        6. 아직 기록이 부족한 셀만 추가로 Program한다
          Verify를 통과하지 못한 셀이 남아 있으면 Program Pulse 전압을 일정한 Step만큼 높여 다시 인가한 뒤, Verify를 반복한다.
          이처럼 Pulse 전압을 단계적으로 높이면서 Program과 Verify를 반복하는 방식을 ISPP(Incremental Step Pulse Programming)​라고 한다.
          먼저 목표에 도달한 셀은 Program Inhibit로 보호하고, 아직 도달하지 못한 셀만 계속 Program한다. 모든 대상 셀이 Verify를 통과하면 기록을 완료한다. 설정된 최대 반복 횟수까지 통과하지 못하면 Program 실패로 처리한다.

Erase Operation

Erase는 셀의 전하 저장 상태를 초기화하여 문턱전압을 낮은 Erase 상태로 되돌리는 동작이다. Floating-Gate NAND에서는 저장된 전자가 P-well 방향으로 빠져나가면서 셀이 초기화된다. 앞서 설명한 SLC 기준으로는 데이터 ‘1’ 상태에 해당한다.

이하에서는 Planar Floating-Gate NAND의 대표적인 Erase 방식을 단순화하여 설명한다. 실제 전압과 배선 제어 방식은 구조·공정에 따라 다르며, 3D Charge-Trap NAND에서는 전하 이동 방식도 달라질 수 있다.

  1. 지울 Block을 정하고, 다른 Block의 데이터는 보호한다
    Erase할 대상을 Block 단위로 선택한다. 같은 P-well의 고전압 영향을 받지만 지우지 않을 Block은 Word Line을 Floating 상태로 둔다.
    이후 P-well 전압이 상승하면 용량성 결합에 의해 비대상 Block의 Word Line 전압도 함께 상승한다. 이에 따라 P-well과 Word Line 사이의 전압 차이가 줄어들어, 비대상 Block의 Erase가 억제된다.
  2.  고전압에 따른 불필요한 전류와 전압 부담을 줄이도록 배선을 Floating 상태로 둔다
    여기서 설명하는 방식에서는 Bit Line, CSL, SSL 및 GSL을 Floating 상태로 설정한다.
    이 배선들을 낮은 전압에 고정하지 않고 주변 전압 변화에 따라 전위가 변할 수 있게 하여, P-well에 고전압을 인가할 때 발생하는 불필요한 전류와 소자의 전압 부담을 줄인다.
  3. 지울 셀에 큰 전압 차이가 생기도록 대상 Block의 Word Line을 접지한다
    Erase 대상 Block에 속한 모든 Word Line에 0V를 인가한다.
    비대상 Block의 Word Line은 Floating 상태이지만, 대상 Block의 Word Line은 0V로 고정된다. 따라서 이후 P-well 전압이 상승하면 대상 Block에서는 P-well과 Word Line 사이에 큰 전압 차이가 형성된다.
  4. 저장된 전자를 빼낼 전기장을 만들도록 P-well 전압을 높인다
    셀이 위치한 P-well에 높은 Erase 전압을 Pulse 형태로 인가한다.
    대상 Block의 Word Line은 0V로 유지되므로, 이 전압 조건에 의해 셀의 터널 산화막에 전자 이동을 유도하는 강한 전기장이 형성된다.
  5. 저장층의 전자를 제거하여 문턱전압을 낮춘다
    앞 단계에서 형성된 전기장에 의해 Floating Gate에 저장된 전자가 터널 산화막을 통과하여 P-well 방향으로 이동한다. 이 과정은 F-N 터널링으로 이루어진다.
    Floating Gate의 전자가 줄어들면 셀의 문턱전압이 낮아진다. 이에 따라 셀은 낮은 문턱전압의 Erase 상태로 돌아가며, SLC 기준으로 데이터 ‘1’ 상태가 된다.
  6. Block 전체가 충분히 지워졌는지 확인하고, 부족하면 다시 지운다
    Erase Pulse 인가 후 Word Line에 검증 전압을 인가하고, String의 전류를 감지하여 대상 Block의 셀들이 목표 Erase 상태에 도달했는지 확인한다. 이를 Erase Verify라고 한다.
    검증을 통과하지 못하면 Erase 전압 등의 조건을 조정하면서 Erase Pulse와 Verify를 반복한다. 검증을 통과하면 Erase를 완료한다.

4. 왜 동작 단위가 서로 다른가?

동작  기본 단위 이유
Read Page Word Line으로 셀의 행을 선택하고, 여러 Bit Line에 연결된 감지 회로와 Page Buffer가 데이터를 병렬로 읽도록 구성되어 있기 때문이다.
Program Page 선택한 Word Line에 Program 전압을 공통으로 인가하면서, Page Buffer와 각 Bit Line이 셀별 기록 여부를 제어하도록 구성되어 있기 때문이다.
Erase Block 일반적인 NAND는 셀이나 Page마다 지우기용 고전압을 독립적으로 제어하는 회로를 두지 않고, 여러 Word Line을 묶은 Block 단위로 Erase 전압 조건을 제어하도록 설계되어 있기 때문이다.

 

'Semiconductor' 카테고리의 다른 글

NAND - SLC·MLC·TLC·QLC  (0) 2026.09.14
SoC(System on Chip)  (0) 2026.09.13
NAND Flash 알아보기  (0) 2026.09.12
MOSFET Switching 알아보기  (0) 2026.09.10
Power MOSFET  (0) 2026.09.07