경험 기반 구체화
NAND 플래시 펌웨어 스택에 대한 이해는 학교 임베디드 수업에서 FTL(Flash Translation Layer) 구조를 배우고 NAND의 읽기/쓰기/지우기 특성을 실습한 것을 기반으로 합니다. NAND는 바이트 단위 쓰기가 불가능하고 페이지 단위로 쓴 후 블록 단위로만 지울 수 있다는 특성이 처음에는 낯설었습니다.
FTL이 논리 주소를 물리 주소에 매핑하면서 마모 균등화(Wear Leveling)를 처리하는 구조를 이해하니 SSD의 동작 방식도 함께 이해됐습니다. 나쁜 블록 관리(Bad Block Management)가 NAND 신뢰성에 직결된다는 것을 실습을 통해 확인했습니다.
ECC(Error Correction Code)가 데이터 무결성을 유지하는 역할을 하며, 이를 펌웨어 레벨에서 어떻게 구현하는지도 배웠습니다. NAND 스택은 하드웨어 특성을 소프트웨어가 어떻게 추상화하는지 잘 보여주는 사례라고 생각합니다. NAND 플래시 관련 펌웨어 역량을 실무에서 더 키우겠습니다.