핵심 인사이트 (3줄 요약)
- 본질: NAND (Not AND) 플래시는 셀을 직렬 문자열(String)로 묶어 배선 면적을 줄인 비휘발성 메모리라서, 바이트 직접 실행성보다 고집적·저비용 저장에 최적화되어 있다.
- 가치: 읽기·쓰기 단위와 지우기 단위가 다르다는 불편함을 감수하는 대신, 기가바이트(GB)·테라바이트(TB)급 용량을 작은 칩과 낮은 원가로 제공해 SSD (Solid State Drive), eMMC (embedded MultiMediaCard), UFS (Universal Flash Storage)의 기반이 되었다.
- 판단 포인트: NAND 플래시의 성능과 수명은 칩 자체보다 FTL (Flash Translation Layer), 웨어 레벨링 (Wear Leveling), 가비지 컬렉션 (Garbage Collection) 설계가 얼마나 잘 받쳐 주는지에 더 크게 좌우된다.
Ⅰ. 개요 및 필요성
NAND 플래시 (NAND Flash)는 전원이 꺼져도 저장된 전하 상태를 유지하는 비휘발성 메모리다. 이름은 NAND 게이트와 닮은 셀 연결 구조에서 왔지만, 실질적으로 중요한 점은 개별 셀마다 넓은 배선을 두지 않고 여러 셀을 직렬로 묶어 면적을 절약한다는 데 있다. 즉 NOR 플래시 (NOR Flash)가 코드 직접 실행과 빠른 임의 접근에 유리하다면, NAND 플래시는 대용량 저장을 훨씬 싸게 구현하는 방향으로 진화했다.
이 구조가 필요해진 이유는 저장 장치의 병목이 "접근 편의성"에서 "용량 대비 가격"으로 이동했기 때문이다. 운영체제 이미지, 사진, 동영상, 로그처럼 대량 데이터를 담아야 하는 환경에서는 1바이트 단위 직접 실행보다, 더 많은 셀을 더 작게 담는 설계가 압도적으로 유리했다. 만약 NAND 플래시가 없었다면 모바일 기기와 SSD는 여전히 느리거나 비싸서 대중화 속도가 크게 늦어졌을 것이다.
아래 그림은 NAND 플래시가 왜 집적도에 강한지 보여준다. 개별 문을 많이 두는 대신, 여러 방을 긴 복도 하나로 묶는 방식이라 생각하면 된다.
┌────────────────────────────────────────────────────────────────────────────┐
│ NAND 플래시의 핵심 선택: 배선 절약으로 셀 밀도 확보 │
├───────────────────────┬───────────────────────────┬────────────────────────┤
│ NOR 계열 │ NAND 계열 │ 결과 │
├───────────────────────┼───────────────────────────┼────────────────────────┤
│ 셀마다 접근선이 큼 │ 셀 여러 개를 직렬 연결 │ 동일 면적에 더 많은 셀 │
│ 바이트 접근이 쉬움 │ 페이지 단위 접근 중심 │ 대용량 저장에 유리 │
│ XIP에 적합 │ 저장 매체에 적합 │ SSD·모바일 저장소 채택 │
└───────────────────────┴───────────────────────────┴────────────────────────┘
즉 NAND 플래시는 "접근 편의성을 조금 포기하고 저장 밀도를 크게 얻는 거래"의 산물이다. 이 선택이 메모리 계층에서 HDD (Hard Disk Drive)를 빠르게 대체한 핵심 이유다.
- 📢 섹션 요약 비유: NAND 플래시는 독립 출입문이 있는 단독주택보다, 복도를 공유하는 아파트를 택한 셈이다. 문은 덜 편하지만 같은 땅에 훨씬 많은 세대를 넣을 수 있어 대량 주거에 유리하다.
Ⅱ. 아키텍처 및 핵심 원리
NAND 플래시의 기본 저장 단위는 전하를 가두는 셀(Cell)이고, 여러 셀이 페이지(Page), 여러 페이지가 블록(Block), 여러 블록이 플레인(Plane), 여러 플레인이 다이(Die)를 이룬다. 여기서 중요한 점은 읽기·쓰기의 실질 단위는 페이지인데, 지우기 단위는 블록이라는 비대칭 구조다. 이 차이 때문에 NAND는 "덮어쓰기"가 아니라 "새 곳에 쓰고 나중에 묶어서 지우기" 방식으로 동작한다.
| 계층 | 일반적 크기 범위 | 핵심 역할 | 병목 포인트 |
|---|---|---|---|
| 셀 (Cell) | 1~4bit 저장 | 전하 상태 저장 | P/E Cycle 누적 마모 |
| 페이지 (Page) | 4KB~16KB | 읽기/프로그램 단위 | 작은 수정도 페이지 단위 처리 |
| 블록 (Block) | 수백 KB~수 MB | 삭제 단위 | 부분 삭제 불가 |
| 다이/플레인 | 칩 내부 병렬성 | 처리량 확대 | 병렬 제어 복잡도 증가 |
다음 흐름도는 NAND 플래시가 데이터를 갱신할 때 왜 FTL이 필요한지 보여준다.
┌────────────────────────────────────────────────────────────────────────────┐
│ NAND 플래시 쓰기 경로와 블록 삭제의 비대칭 │
├────────────────────────────────────────────────────────────────────────────┤
│ 호스트 쓰기 요청 │
│ │ │
│ ▼ │
│ FTL이 논리 주소를 빈 페이지로 매핑 │
│ │ │
│ ├── 기존 데이터가 있으면 → 기존 페이지를 invalid 표시 │
│ │ │
│ ▼ │
│ 새 페이지 Program │
│ │ │
│ ▼ │
│ invalid 페이지 누적 │
│ │ │
│ ▼ │
│ Garbage Collection → 유효 페이지 복사 → 블록 Erase → 재사용 │
└────────────────────────────────────────────────────────────────────────────┘
이 구조에서 성능을 좌우하는 것은 세 가지다. 첫째, 순차 쓰기는 빈 페이지를 연속 사용하므로 빠르다. 둘째, 임의 쓰기는 이전 데이터를 무효화하고 새 위치에 써야 하므로 내부 복사가 늘어난다. 셋째, 삭제는 블록 전체에 대해서만 가능하므로 작은 수정이 큰 내부 작업으로 증폭될 수 있다. 이 현상을 쓰기 증폭 (Write Amplification)이라 하며, SSD 성능 저하와 수명 단축의 직접 원인이 된다.
또한 셀당 저장 비트가 늘수록 같은 면적에 더 많은 데이터를 넣을 수 있지만, 전압 상태를 더 미세하게 구분해야 하므로 속도와 내구성이 희생된다. 그래서 SLC (Single Level Cell)는 빠르고 오래가지만 비싸고, TLC (Triple Level Cell)·QLC (Quad Level Cell)는 저렴하고 대용량이지만 오차 보정과 캐시 전략이 더 중요하다.
- 📢 섹션 요약 비유: NAND 플래시는 공책 한 줄을 고치는 일이 아니라, 묶음 노트를 관리하는 일에 가깝다. 한 장은 쉽게 적을 수 있지만 지우개는 낱장이 아니라 여러 장이 묶인 한 권 단위로만 쓸 수 있다.
Ⅲ. 비교 및 연결
NAND 플래시를 정확히 이해하려면 NOR 플래시, DRAM (Dynamic Random Access Memory), HDD와의 경계를 함께 봐야 한다. NAND는 메모리처럼 빠른 직접 접근 장치가 아니라, 반도체 기반 저장 장치에 더 가깝다. 접근 지연은 DRAM보다 훨씬 크지만, 비휘발성과 집적도에서는 압도적이다.
| 항목 | NAND 플래시 | NOR 플래시 | DRAM | HDD |
|---|---|---|---|---|
| 전원 차단 후 데이터 유지 | 유지 | 유지 | 유지 안 됨 | 유지 |
| 주 용도 | 대용량 저장 | 부트 코드/펌웨어 | 주기억장치 | 대용량 저장 |
| 접근 특성 | 페이지 읽기, 블록 삭제 | 바이트 직접 읽기 용이 | 바이트 단위 임의 접근 | 기계식 탐색 필요 |
| 장점 | 집적도, 전력, 충격 내성 | XIP (eXecute In Place) | 매우 낮은 지연 | 저렴한 대용량 |
| 약점 | 덮어쓰기 불가, 마모 | 고비용, 저집적 | 휘발성 | 느린 지연, 기계적 취약성 |
이 차이는 시스템 설계에도 직접 연결된다. 파일 시스템은 NAND 위에서 로그 구조나 순차 배치에 더 유리하고, 컨트롤러는 ECC (Error Correcting Code)와 배드 블록 관리가 필수다. 운영체제는 TRIM 명령으로 더 이상 쓰지 않는 논리 블록을 알려 주고, 저장장치 펌웨어는 이를 활용해 가비지 컬렉션 부담을 줄인다.
또한 2D 평면 NAND의 미세화 한계는 3D NAND (3D NAND Flash)로 이어졌다. 셀을 옆으로 더 줄이기 어렵자 위로 쌓아 층수를 늘린 것이다. 이는 단순 제조 기술의 진화가 아니라, 셀 간 간섭과 수명 저하를 줄이면서 용량을 늘리기 위한 구조적 전환이었다.
- 📢 섹션 요약 비유: NAND는 책상 위 메모지보다 창고 선반에 가깝다. 바로 꺼내 쓰는 연필꽂이는 DRAM이고, 대량으로 오래 보관하는 창고가 NAND이며, 창고 구조를 단층에서 고층 선반으로 바꾼 것이 3D NAND다.
Ⅳ. 실무 적용 및 기술사 판단
실무에서 NAND 플래시는 "칩이 좋으냐"보다 "어떤 워크로드에 어떻게 쓰느냐"가 더 중요하다. 예를 들어 로그, 이미지, 동영상처럼 순차 쓰기가 많은 환경은 NAND와 잘 맞는다. 반대로 작은 랜덤 쓰기가 매우 잦고 여유 공간이 부족한 환경은 가비지 컬렉션 충돌로 지연이 급증할 수 있다.
설계 판단 체크리스트
- 여유 공간 확보: SSD를 90% 이상 채우면 오버 프로비저닝 (Over-Provisioning) 여유가 줄어 가비지 컬렉션 비용이 커진다.
- 쓰기 패턴 정렬: 작은 랜덤 업데이트가 많다면 캐시, 버퍼, 로그 구조 파일 시스템으로 쓰기 병합을 유도해야 한다.
- 수명 모니터링: TBW (Terabytes Written), SMART (Self-Monitoring, Analysis and Reporting Technology), P/E Cycle 지표를 함께 봐야 한다.
- 복구 전략 분리: NAND는 충격에 강하지만 마모와 펌웨어 장애에서 자유롭지 않으므로 백업과 RAID (Redundant Array of Independent Disks) 정책이 별도로 필요하다.
대표 안티패턴
- 저가형 QLC SSD를 데이터베이스의 고빈도 랜덤 쓰기 로그 장치로 쓰는 설계
- TRIM 미지원 환경에서 장기간 삭제/재기록을 반복해 성능 저하를 방치하는 운영
- 플래시 친화적 파일 시스템 없이 덮어쓰기 중심 패턴을 그대로 적용하는 구성
기술사 관점에서 핵심 판단 문장은 다음과 같다. NAND 플래시는 저장 밀도와 전력 효율이 필요한 곳에는 채택하되, 쓰기 증폭과 마모가 지배적인 워크로드에서는 캐시, 파일 시스템, 오버 프로비저닝, 상위 계층 버퍼 전략까지 함께 설계해야 한다. 즉 저장 매체 선정은 칩 선택이 아니라 전체 I/O 경로 설계 문제다.
- 📢 섹션 요약 비유: NAND는 대형 창고라서 물건을 많이 넣는 데는 탁월하지만, 작은 물건 하나를 계속 자리 바꾸게 하면 창고 정리 인력이 지쳐 버린다. 창고를 잘 쓰려면 통로 설계와 정리 규칙까지 같이 짜야 한다.
Ⅴ. 기대효과 및 결론
NAND 플래시가 가져온 가장 큰 효과는 저장장치를 "기계식 회전 장치"에서 "반도체 기반 대용량 매체"로 바꿨다는 점이다. 그 결과 모바일 기기는 작아지고 조용해졌으며, 서버는 낮은 지연과 높은 병렬성을 활용해 더 빠른 스토리지를 구성할 수 있게 됐다. 특히 3D NAND와 고도화된 컨트롤러 덕분에 용량, 소비전력, 충격 내성 측면에서 HDD를 빠르게 대체하고 있다.
다만 NAND 플래시는 만능이 아니다. 삭제 단위 비대칭, 셀 마모, 읽기 간섭, 보존 기간 저하 같은 물리적 한계는 계속 남아 있다. 그래서 미래 방향도 단순 용량 확대가 아니라, 더 정교한 ECC, 컨트롤러 기반 예측 관리, 계층형 캐시(SLC 캐시 + TLC/QLC 본저장), 더 높은 적층 기술로 진행된다.
결론적으로 NAND 플래시는 "메모리처럼 보이지만 실제로는 소프트웨어 보정이 필수인 저장장치"로 기억하는 것이 맞다. 하드웨어의 결함을 컨트롤러와 시스템 소프트웨어가 흡수해 준 덕분에, 우리는 거대한 비휘발성 저장 공간을 작고 빠르게 사용할 수 있다.
- 📢 섹션 요약 비유: NAND는 천성이 까다로운 창고지만, 유능한 관리자와 분류 체계가 붙으면 도시 전체의 물류를 책임질 수 있다. 결국 중요한 것은 창고 자체만이 아니라, 그것을 운영하는 규칙과 관리 능력이다.
📌 관련 개념 맵
| 개념 | 연결 포인트 |
|---|---|
| 플로팅 게이트 (Floating Gate) / 차지 트랩 (Charge Trap) | 셀에 전하를 가둬 비휘발성을 만드는 물리적 기반 |
| FTL (Flash Translation Layer) | 논리 주소를 물리 페이지·블록에 매핑해 덮어쓰기 불가 특성을 숨김 |
| 웨어 레벨링 (Wear Leveling) | 특정 블록만 먼저 닳지 않도록 삭제 횟수를 분산 |
| ECC (Error Correcting Code) | 셀 간섭과 전하 누설로 생기는 비트 오류를 보정 |
| TRIM | 운영체제가 무효 데이터 범위를 알려 가비지 컬렉션 효율을 높임 |
| 3D NAND | 미세화 한계를 층수 증가로 돌파한 확장 기술 |
📈 관련 키워드 및 발전 흐름도
플로팅 게이트 셀 기반 비휘발성 저장
│
▼
NAND 문자열 구조 · 페이지/블록 비대칭
│
▼
FTL · 웨어 레벨링 · 가비지 컬렉션
│
▼
SSD · eMMC · UFS 대중화
│
▼
3D NAND · TLC/QLC · 고도화된 ECC
이 흐름은 "물리 저장 원리 → 구조적 제약 → 제약을 숨기는 제어 기술 → 대중화 → 고집적 확장"의 순서를 보여준다.
👶 어린이를 위한 3줄 비유 설명
- NAND 플래시는 아주 큰 창고인데, 물건을 엄청 많이 넣을 수 있게 통로를 아껴서 만들었어요.
- 대신 상자 하나만 바꾸고 싶어도 주변 상자들을 같이 옮겨야 해서 정리가 조금 까다로워요.
- 그래서 똑똑한 관리자(컨트롤러)가 어디에 넣고, 언제 치우고, 어떻게 오래 쓰게 할지 계속 계산해 준답니다.