1. 페이지(Page)
- 페이지는 NAND 플래시에서 데이터를 저장하는 가장 작은 단위입니다. 일반적으로 한 페이지의 크기는 2KB, 4KB, 8KB 등으로 정의됩니다.
- 한 페이지에는 사용자가 저장하는 데이터 외에도 오류 수정 코드(ECC)나 다른 메타데이터를 저장하는 영역이 포함됩니다.
- 데이터를 쓰고 읽는 최소 단위이며, 페이지 단위로 데이터를 쓸 수 있지만, 삭제는 할 수 없습니다. 삭제는 블록 단위로 이루어집니다.
2. 블록(Block)
- 블록은 여러 개의 페이지로 구성된 더 큰 저장 단위입니다. 일반적으로 하나의 블록은 64개, 128개 또는 그 이상의 페이지로 구성됩니다.
- NAND 플래시 메모리에서 데이터 삭제(Erase)는 블록 단위로 이루어집니다. 즉, 데이터를 쓰기 전에 기존 데이터를 지우려면 해당 블록 전체를 지워야 합니다. 이러한 특성 때문에 NAND 플래시는 쓰기 속도보다 삭제 속도가 느립니다.
- 블록의 크기는 NAND 플래시 성능과 수명에 큰 영향을 미칩니다. 더 큰 블록은 메모리 밀도를 높일 수 있지만, 삭제 작업이 더 많은 페이지에 영향을 미치기 때문에 성능이 저하될 수 있습니다.
3. 플레인(Plane)
- 플레인은 NAND 플래시 메모리에서 여러 개의 블록이 모여 구성된 논리적인 단위입니다. 여러 플레인이 한 다이(Die) 내에 존재하며, NAND 메모리의 병렬 접근을 가능하게 합니다.
- 각 플레인은 독립적으로 동작할 수 있어, 동시에 여러 플레인에서 읽기/쓰기/삭제 작업이 이루어지면 NAND 플래시의 성능이 크게 향상됩니다.
4. 다이(Die)
- 다이는 실제 반도체 칩 내에서 데이터를 저장하는 기본 단위입니다. 하나의 다이는 하나 이상의 플레인으로 구성되며, 이는 실제 물리적인 메모리 공간입니다.
- 다이는 기본적으로 메모리 셀 어레이와 주변 회로가 결합된 형태로, NAND 플래시 메모리 내부에서 가장 큰 물리적 단위입니다.
5. 패키지(Package)
- 패키지는 여러 개의 다이가 하나로 통합된 물리적 패키징입니다. 예를 들어, SSD 같은 장치는 여러 개의 NAND 패키지를 포함할 수 있으며, 패키지 내부에는 여러 다이가 존재할 수 있습니다. 패키지 간에도 병렬 동작이 가능하여 대규모 데이터 저장을 처리할 수 있습니다.
NAND Unit 계층 구조 요약
- 페이지(Page): 데이터를 읽고 쓰는 가장 작은 단위.
- 블록(Block): 여러 페이지로 구성되며, 데이터 삭제는 블록 단위로 이루어짐.
- 플레인(Plane): 여러 블록으로 구성된 논리적 단위, 병렬 처리를 가능하게 함.
- 다이(Die): 여러 플레인으로 구성된 물리적 저장 단위.
- 패키지(Package): 여러 개의 다이로 구성된 물리적 패키징.
NAND Unit에서의 데이터 처리 흐름
- 쓰기(Write): 데이터를 페이지 단위로 쓸 수 있으며, 데이터는 빈 페이지에만 쓸 수 있습니다. 이전 데이터를 덮어쓰려면 해당 블록 전체를 먼저 지워야 합니다.
- 읽기(Read): 데이터를 페이지 단위로 읽습니다. 읽기 속도는 매우 빠른 편입니다.
- 삭제(Erase): 블록 단위로 삭제됩니다. 쓰기 전에 해당 블록을 지워야 하며, 블록을 삭제한 후 새로운 데이터를 쓸 수 있습니다.
NAND Unit의 설계 및 활용
- NAND 컨트롤러는 페이지, 블록, 플레인, 다이 간의 효율적인 데이터 관리와 병렬 처리를 통해 성능을 최적화합니다.
- NAND 유닛의 복잡한 구조는 웨어 레벨링(Wear Leveling), 배드 블록 관리(Bad Block Management), 오류 정정 코드(ECC) 등의 기술을 필요로 하며, 이는 NAND 플래시 메모리의 성능과 수명을 유지하는 데 중요한 역할을 합니다.

* https://flashdba.com/2014/06/20/understanding-flash-blocks-pages-and-program-erases/
'CPU ARCHITECTURE1 > NAND' 카테고리의 다른 글
| 03. NAND Problem & Solution (0) | 2024.09.30 |
|---|---|
| 01. NAND CELL (0) | 2024.09.30 |