FTL이란?FTL(Flash Translation Layer)은 호스트가 사용하는 논리 블록 주소를 NAND Flash의 물리 주소와 대응시키고, Garbage Collection과 Wear Leveling 등을 관리하는 SSD 컨트롤러의 펌웨어 계층이다.왜 필요한가?운영체제의 블록 I/O 계층은 저장장치에 논리 블록 주소를 이용한 읽기·쓰기 요청을 전달한다. 반면 NAND Flash는 Page 단위로 데이터를 읽고 Program하며, Erase는 여러 Page로 구성된 Block 단위로 수행한다. 또한 기존 데이터가 기록된 Page를 바로 덮어쓸 수 없기 때문에, 논리 주소와 실제 NAND의 물리적 저장 위치를 분리하여 관리하는 FTL이 필요하다.FTL의 주요 기능Address MappingOut-of..
SLC·MLC·TLC·QLC는 하나의 NAND Cell에 저장하는 bit 수에 따른 분류이다. SLC는 Cell당 1bit, MLC는 2bit, TLC는 3bit, QLC는 4bit를 저장한다.하나의 Cell에 여러 bit를 저장하는 방법NAND Cell은 전하 저장층에 저장된 전하량에 따라 서로 다른 문턱전압 \(V_{TH}\)을 갖는다. Program 동작에서는 Cell의 문턱전압이 목표 구간에 들어가도록 전하량을 조절한다. Read 동작에서는 여러 단계의 판독전압을 인가하여 Cell이 어느 문턱전압 구간에 속하는지 판별한다. 1bit는 전압 구간 수 2개, 2bit는 전압 구간 수 4개, 3bit는 전압 구간 수 8개, 4bit는 전압 구간 수 16배.같은 \(V_{TH}\) 범위를 더 많은 상태로..
SoC는 CPU, GPU, 메모리 컨트롤러, 통신 인터페이스 등 시스템을 구성하는 여러 기능을 하나의 반도체 칩에 통합한 것이다. 일반적인 전자 시스템은 PCB 위에 서로 다른 기능을 수행하는 여러 칩과 소자를 배치한다. 반면 SoC는 주요 기능을 하나의 칩에 집적하기 때문에 시스템의 크기와 전력 소모를 줄일 수 있다. 이러한 특성 때문에 스마트폰, 태블릿, IoT 장치와 같이 작은 크기와 낮은 전력 소모가 중요한 제품에 널리 사용된다. SoC 내부는 기능에 따라 여러 블록으로 구성된다. - CPU: 운영체제 실행과 전반적인 제어 - GPU: 그래픽 처리와 대규모 병렬 연산 - NPU: 인공지능 모델의 행렬 연산 - Memory Controller: 외부 메모리와의 데이터 전송 제어 - I/O Inter..
1. NAND Array의 구성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 Transist..
1. NAND Flash란?전원이 없어도 데이터가 유지되는 비휘발성 메모리DRAM과 달리 Refresh가 필요하지 않음SSD, USB 메모리, 메모리카드 등에 사용DRAM vs NAND Flash구분DRAMNAND Flash전원 제거 시 데이터사라짐유지됨주요 역할작업용 메모리저장장치데이터 저장Capacitor에 저장된 전Floating Gate 또는 Charge Trap Layer에 저장된 전자덮어쓰기가능기존 데이터 Erase 필요2. NAND Cell의 기본 구조Control Gate(Top Gate) : 외부에서 전압 인가해주는 게이트Floating Gate(Bottom Gate) : 도전성 물질 내부에 전자를 저장하는 게이트. 절연성이 매우 높은 부도체로 둘러싸여 전자가 쉽게 탈출할 수 없는 Cha..