플래시 메모리 - 2. 플래시 메모리의 구조와 동작 원리 (2.2 플래시 메모리의 동작 방식)

2025. 2. 23. 16:13정보기술/하드웨어

2.2 플래시 메모리의 동작 방식

플래시 메모리는 데이터를 저장하고 유지하기 위해 읽기(Read), 쓰기(Program), 삭제(Erase) 동작을 수행한다.
이러한 동작은 플래시 메모리의 구조적 특성에 따라 HDD(하드 디스크)와 다르게 동작하며, 특히 삭제(Erase)는 블록 단위로만 가능하다는 점이 중요하다.


2.2.1 읽기(Read) 동작

플래시 메모리에서 데이터를 읽는 과정은 셀(Cell)의 전하 상태를 감지하여 논리 값(0 또는 1)을 판별하는 방식으로 이루어진다.

① 읽기 동작 원리

  • 셀 내부에 저장된 전자의 양을 측정하여 데이터 값을 결정.
  • 일반적으로 NAND 플래시는 페이지(Page) 단위로 데이터를 읽음.
  • Floating-Gate Transistor 기반의 경우:
    • 전하가 있는 경우(트랜지스터가 OFF) → 논리 0
    • 전하가 없는 경우(트랜지스터가 ON) → 논리 1
  • MLC/TLC/QLC 셀은 전하의 양을 더 정밀하게 측정하여 여러 개의 비트를 저장함.
    • 예: MLC는 4가지(00, 01, 10, 11), TLC는 8가지 상태를 구분.

② 읽기 속도 특성

  • 읽기 속도는 쓰기보다 빠름.
  • DRAM처럼 직접 접근하는 방식이 아니라 페이지 단위로 읽기 때문에 순차 읽기가 더 효율적.
  • NAND 플래시는 NOR 플래시보다 랜덤 액세스 속도가 느리지만, 대량 데이터를 순차적으로 읽는 경우에는 빠름.

2.2.2 쓰기(Program) 동작

쓰기 동작(Program)은 기존의 빈 셀에 데이터를 기록하는 과정이다.
하지만 기존 데이터가 있는 페이지에는 직접 덮어쓸 수 없고, 삭제(Erase) 후 다시 써야 한다.

① 쓰기 동작 원리

  • 데이터를 저장할 셀을 선택한 후, Floating-Gate(또는 Charge Trap)에 전하를 주입하여 상태를 변경.
  • 일반적으로 페이지(Page) 단위로 데이터를 기록함.
  • NAND 플래시는 쓰기(Program) 속도가 읽기보다 느림.
  • 덮어쓰기 불가능 → 기존 데이터를 변경하려면 새로운 블록에 기록한 후 기존 데이터를 삭제해야 함.

② 쓰기 성능 최적화 기법

  • 웨어 레벨링(Wear Leveling): 특정 블록이 집중적으로 사용되지 않도록, 쓰기 위치를 균등하게 분배하여 수명을 연장.
  • 쓰기 캐싱(Write Caching): SSD에서는 DRAM 캐시 또는 SLC 캐싱을 활용하여 쓰기 성능을 높임.
  • 트림(TRIM) 명령어: 삭제된 데이터 블록을 미리 정리하여 쓰기 속도를 유지함.

2.2.3 삭제(Erase) 동작

쓰기와 달리, 삭제(Erase)는 페이지 단위가 아닌 블록(Block) 단위로 수행됨.
플래시 메모리는 데이터를 직접 덮어쓸 수 없기 때문에, 기존 데이터를 삭제한 후 새로운 데이터를 기록해야 한다.

① 삭제 동작 원리

  • NAND 플래시는 트랜지스터의 Floating-Gate에서 전자를 제거하는 방식으로 삭제 수행.
  • 하나의 블록 내 모든 페이지를 삭제해야 함.
  • 쓰기(Program)보다 삭제(Erase) 속도가 더 느림.

② 삭제 방식과 성능 영향

  • Garbage Collection (가비지 컬렉션): 불필요한 데이터가 포함된 블록을 정리하여 새로운 데이터를 쓸 수 있도록 함.
  • TRIM 명령어: SSD에서는 OS가 더 이상 필요하지 않은 데이터를 미리 삭제하여 성능 저하를 방지.
  • 블록 단위 삭제로 인한 성능 저하:
    • 일부 페이지만 수정해도 블록 전체를 삭제해야 하므로 쓰기 작업이 많을수록 성능 저하가 발생.
    • 삭제 후 다시 쓰기까지의 과정이 많아질수록 플래시 메모리의 수명이 단축됨.

2.2.4 수명 및 내구성 (Program/Erase Cycle, P/E Cycle)

플래시 메모리는 반복적인 쓰기 및 삭제(Program/Erase) 과정에서 수명이 제한됨.
이를 P/E Cycle (Program/Erase Cycle, 프로그램/삭제 사이클)이라고 하며, 특정 횟수를 초과하면 셀이 정상적으로 동작하지 않게 된다.

① P/E 사이클 제한

  • 플래시 메모리의 셀은 반복적인 전하 주입과 제거 과정에서 절연층이 손상됨.
  • NAND 플래시 유형별 수명 차이:
셀 종류 P/E 사이클 (수명) 특성
SLC (Single-Level Cell) 100,000회 이상 속도 빠르고 내구성 뛰어남
MLC (Multi-Level Cell) 약 3,000 ~ 10,000회 가격과 성능 균형
TLC (Triple-Level Cell) 약 500 ~ 3,000회 용량 증가, 내구성 낮음
QLC (Quad-Level Cell) 약 100 ~ 1,000회 대용량 구현 가능, 수명 짧음

② 내구성 향상 기법

  • 웨어 레벨링(Wear Leveling): 특정 블록만 집중적으로 사용되지 않도록 균일하게 분배하여 수명을 연장.
  • ECC (Error Correction Code): 플래시 메모리의 오류를 수정하여 데이터 손상을 방지.
  • 오버 프로비저닝(Over-Provisioning): SSD에서 일정 부분을 예비 영역으로 남겨두어 쓰기/삭제 균형을 유지.
  • 쓰기 최소화 기법: 불필요한 데이터 중복 저장을 줄이고, DRAM 캐시를 활용하여 쓰기 횟수를 줄임.

정리

  • 읽기(Read) 동작: 저장된 전자의 양을 감지하여 데이터를 판별, 속도 빠름.
  • 쓰기(Program) 동작: 페이지 단위로 데이터 기록, 직접 덮어쓰기 불가능.
  • 삭제(Erase) 동작: 블록 단위로만 삭제 가능, 속도가 느리고 수명에 영향.
  • 수명(P/E 사이클): 반복적인 쓰기/삭제로 인해 셀의 내구성이 저하되므로, 웨어 레벨링, 가비지 컬렉션 등 최적화 기술이 필요.