SSD 원리, 전원이 꺼져도 데이터가 남는 이유와 쓰기·삭제 방식
SSD는 데이터를 자기 디스크에 기록하는 HDD와 달리 NAND 플래시 메모리 셀에 전기적 상태를 저장하는 장치다. 전원이 끊겨도 그 상태를 유지하는 비휘발성 메모리를 사용하며, 실제 파일의 위치·삭제·오류 수정·수명 관리는 SSD 안의 컨트롤러가 담당한다. 2026년 8월 26일 기준으로도 소비자용 SSD의 기본 구조는 이 NAND 플래시와 컨트롤러의 조합으로 이해하면 가장 정확하다.

SSD를 단순히 “빠른 저장장치”라고만 보면 파일을 지웠는데도 즉시 같은 자리에 다시 쓰지 않는 이유, 용량이 가득 찰수록 쓰기 성능이 달라질 수 있는 이유, SSD에도 수명이 있는 이유를 이해하기 어렵다. 핵심은 NAND가 읽는 방식, 쓰는 방식, 지우는 방식이 서로 다르다는 데 있다.
SSD의 저장 공간은 수많은 NAND 플래시 메모리 셀로 구성된다. NAND 플래시는 전원이 없어도 저장된 상태를 유지하는 비휘발성 메모리이며, 셀의 전기적 상태를 구분해 디지털 데이터를 표현한다.

메모리 셀은 낱개로 완전히 독립해서 동작하는 것이 아니라 여러 셀이 모여 페이지(Page)를 만들고, 여러 페이지가 다시 블록(Block) 단위로 묶인다. SSD가 데이터를 읽고 기록하고 삭제할 때 이 페이지와 블록 구조가 매우 중요하다.
쉽게 비유하면 SSD 내부는 칸이 아주 많은 노트와 비슷하다.
페이지는 실제 내용을 기록하는 작은 단위이고, 블록은 여러 페이지를 묶은 큰 묶음이라고 보면 된다. 다만 종이 노트처럼 원하는 글자만 지우개로 바로 지울 수는 없다. NAND의 특성상 쓰기와 삭제가 서로 다른 단위로 처리되기 때문이다.
CPU나 운영체제가 “파일 A를 저장하라”고 요청한다고 해서 운영체제가 직접 특정 NAND 셀을 지정하는 것도 아니다. SSD 내부 컨트롤러가 논리적인 주소를 실제 NAND의 물리적 위치와 연결해 데이터를 배치한다.
그래서 사용자는 C드라이브의 특정 주소에 파일을 저장했다고 생각하지만, SSD 내부에서는 컨트롤러가 실제 저장 위치를 계속 관리하고 바꿀 수 있다.
HDD는 회전하는 자기 디스크와 데이터를 읽는 기계식 헤드를 사용한다. 원하는 데이터를 읽으려면 디스크가 회전하고 헤드가 필요한 위치를 찾아가야 한다.

SSD에는 이런 움직이는 부품이 없다. NAND 셀을 전기적으로 접근하기 때문에 기계적으로 위치를 찾는 시간이 필요하지 않으며, 여러 NAND 채널과 메모리 영역을 병렬로 이용할 수도 있다.
특히 파일이 여러 위치에 흩어져 있는 랜덤 읽기·쓰기에서는 이 구조 차이가 크게 나타난다. HDD는 각각의 위치를 찾아가는 물리적인 동작이 필요하지만 SSD는 전기적으로 주소를 찾아 접근한다.
다만 SSD라고 모두 같은 속도인 것은 아니다.
NAND 자체의 성능뿐 아니라 컨트롤러, NAND 채널 수, 캐시 구조, 인터페이스가 함께 작동한다. SATA SSD와 NVMe SSD의 차이도 NAND의 저장 원리가 완전히 달라서라기보다 컴퓨터와 SSD 사이에서 데이터를 주고받는 인터페이스와 프로토콜 차이가 큰 부분을 차지한다.
NVMe SSD는 일반적으로 PCIe 인터페이스를 사용하고, SATA SSD는 SATA 인터페이스를 사용한다. 따라서 같은 NAND 계열이라도 SSD 전체 성능은 연결 방식과 제품 설계에 따라 크게 달라질 수 있다.
SSD의 원리를 이해할 때 가장 중요한 부분이 바로 NAND는 페이지 단위로 데이터를 기록할 수 있지만 삭제는 더 큰 블록 단위로 처리한다는 점이다.

이미 데이터가 기록된 페이지의 일부만 HDD처럼 그 자리에서 자유롭게 고쳐 쓰는 방식과는 다르다. 기존 데이터가 변경되면 컨트롤러는 새로운 위치에 변경된 데이터를 기록하고, 이전 데이터가 있던 페이지는 더 이상 유효하지 않은 영역으로 표시할 수 있다.
예를 들어 하나의 문서 파일을 수정했다고 해보자.
기존 NAND 페이지에 있던 문서를 그 자리에서 그대로 덮어쓰기보다 새로운 빈 페이지에 수정된 데이터를 기록하고, 이전 데이터가 있던 페이지를 무효 상태로 관리하는 방식이 사용될 수 있다.
이 과정이 계속되면 블록 안에는 현재 사용 중인 유효 페이지와 더 이상 필요하지 않은 무효 페이지가 섞이게 된다.
그러나 NAND는 필요 없는 페이지 한 장만 골라 삭제하는 방식이 아니라 블록 단위로 지운다.
그래서 공간을 다시 확보할 때 SSD는 블록에 남아 있는 유효 데이터를 다른 위치로 옮긴 다음, 필요 없는 데이터만 남게 된 블록 전체를 지워 다시 사용할 수 있는 상태로 만든다.
이런 내부 정리 과정이 Garbage Collection, 즉 가비지 컬렉션이다.
사용자가 파일을 저장하고 지우는 간단한 작업 뒤에서도 실제 SSD 내부에서는 주소 변경, 데이터 이동, 블록 삭제 같은 훨씬 복잡한 관리가 진행될 수 있다.
운영체제에서 파일을 삭제했다고 해서 SSD가 즉시 NAND 블록 전체를 지우는 것은 아니다. 운영체제는 파일 시스템에서 해당 공간이 더 이상 필요하지 않다는 정보를 관리하고, TRIM을 지원하는 환경에서는 이런 사용하지 않는 영역 정보를 저장장치에 전달할 수 있다.
Windows의 ReTrim 기능도 현재 사용하지 않는 섹터에 대해 TRIM 또는 UNMAP 힌트를 다시 보내 저장장치에 그 영역이 더 이상 필요하지 않다는 사실을 알려주는 구조다.
즉 파일 삭제와 NAND의 실제 삭제 작업은 같은 순간에 반드시 일어나는 하나의 작업이라고 볼 수 없다.
파일 삭제는 운영체제 차원의 논리적인 공간 관리와 연결되고, SSD 내부에서는 컨트롤러가 TRIM 정보와 자체 관리 상태를 이용해 적절한 시점에 필요 없는 페이지와 블록을 정리한다.
이 차이를 알면 SSD에서 “휴지통을 비웠는데 물리적으로 데이터가 어디까지 없어졌는가”라는 질문도 단순하게 답하기 어렵다는 점을 이해할 수 있다.
일반적인 파일 삭제, TRIM, SSD의 내부 가비지 컬렉션, 제조사가 제공하는 Secure Erase나 Sanitize 기능은 서로 같은 개념이 아니다.
NAND 플래시 셀은 프로그램과 삭제를 무한정 반복할 수 있는 구조가 아니다. 데이터를 기록하고 블록을 지우는 과정은 셀에 전기적인 스트레스를 주기 때문에 반복적인 쓰기·삭제 횟수가 SSD 수명과 관계된다.
문제는 특정 NAND 블록에만 쓰기가 몰릴 경우 그 블록이 다른 영역보다 먼저 닳을 수 있다는 점이다.
이를 줄이기 위해 SSD 컨트롤러는 웨어 레벨링(Wear Leveling)을 사용한다. 특정 영역에 프로그램·삭제 작업이 집중되지 않도록 NAND 블록의 사용을 분산하는 관리 방식이다.
사용자가 파일의 물리적 위치를 지정하지 못하는 이유도 여기와 연결된다. 컨트롤러는 운영체제가 사용하는 논리 주소와 실제 NAND의 물리 주소를 서로 다르게 관리하면서 데이터를 이동시킬 수 있다.
또한 SSD는 ECC, 즉 오류 정정 코드를 이용해 읽기·쓰기 과정에서 발생할 수 있는 데이터 오류를 탐지하고 보정하며, 사용할 수 없는 블록을 관리하는 기능도 컨트롤러와 펌웨어에서 수행한다.
따라서 SSD는 단순히 “NAND 칩에 데이터를 넣는 장치”가 아니다.
NAND 플래시 + 컨트롤러 + 펌웨어의 관리 알고리즘이 하나의 저장장치를 만든다고 보는 편이 정확하다.
SSD 제품 설명에서 자주 보이는 SLC, MLC, TLC, QLC는 하나의 NAND 셀에 저장하는 비트 수와 관련된 구분이다.
SLC는 셀 하나에 1비트, MLC는 2비트, TLC는 3비트, QLC는 4비트를 저장한다.
같은 수의 셀을 사용한다고 가정하면 한 셀에 더 많은 비트를 기록할수록 저장 밀도를 높일 수 있다. 그래서 TLC와 QLC는 고용량 저장장치를 구성하는 데 유리하다.
하지만 한 셀에서 구별해야 하는 상태가 늘어날수록 저장 상태를 판별하고 관리하는 조건도 복잡해진다. NAND 제조사 역시 SLC를 높은 성능과 쓰기 내구성이 필요한 용도에, TLC와 QLC를 높은 저장 밀도가 중요한 용도에 각각 구분해 설명하고 있다.
여기서 주의할 점은 “QLC니까 무조건 느리고 TLC니까 무조건 빠르다”처럼 SSD 전체 성능을 NAND 종류 하나만으로 판단하면 안 된다는 것이다.
실제 SSD는 컨트롤러 성능, 병렬 NAND 구성, 펌웨어, 캐시 방식, 용량, 인터페이스 등에 따라 결과가 달라진다.
같은 TLC 제품끼리도 지속 쓰기 성능이나 랜덤 성능이 다를 수 있고, QLC 제품 역시 제품 설계와 사용 목적에 따라 성능 특성이 크게 달라질 수 있다.
빈 NAND 페이지가 충분하면 새로운 데이터를 비교적 쉽게 빈 공간에 기록할 수 있다. 반대로 사용 가능한 빈 페이지가 줄어들면 컨트롤러가 새로운 쓰기 공간을 만들기 위해 기존 블록을 정리해야 하는 상황이 늘어날 수 있다.
가령 한 블록에 유효한 데이터와 필요 없는 데이터가 섞여 있다면 단순히 블록 전체를 지울 수 없다. 아직 필요한 데이터를 다른 위치로 옮긴 뒤 블록을 삭제해야 한다.
사용자가 1GB를 기록했는데 SSD 내부에서 데이터 이동과 블록 정리 때문에 그보다 많은 NAND 쓰기가 발생하는 현상을 쓰기 증폭(Write Amplification)과 연결해 이해할 수 있다.
이 때문에 SSD의 성능과 수명을 볼 때는 단순한 순차 읽기 최고속도 하나보다 실제 쓰기 환경과 내부 관리 방식도 중요하다.
SSD에 여유 공간이 있는 것도 내부 관리에 도움이 될 수 있다. 컨트롤러가 사용할 수 있는 여유 NAND 공간이 많을수록 데이터 재배치와 웨어 레벨링에 활용할 선택지가 늘어나기 때문이다.
그렇다고 특정 비율을 모든 SSD에 동일하게 적용해 “반드시 몇 퍼센트는 비워야 한다”고 단정할 수는 없다. 제품마다 컨트롤러와 펌웨어, 예비 영역 설정이 다르기 때문에 실제 권장 기준은 사용하는 SSD 제조사의 제품 사양을 확인하는 것이 정확하다.
컴퓨터가 파일을 저장하면 운영체제는 논리적인 저장 주소를 SSD에 전달한다. SSD 컨트롤러는 그 주소를 실제 NAND의 물리적 위치와 연결하고 적절한 페이지에 데이터를 기록한다.
파일을 수정하면 새 데이터를 다른 페이지에 기록하고 이전 페이지를 무효화할 수 있다. 파일이 삭제되고 TRIM 정보가 전달되면 SSD는 해당 영역이 더 이상 필요하지 않다는 사실을 내부 관리에 활용한다.
무효 페이지가 늘어나면 가비지 컬렉션을 통해 필요한 데이터만 옮기고 블록을 삭제해 다시 쓸 수 있는 공간을 만든다.
이 과정에서 특정 셀만 지나치게 사용되지 않도록 웨어 레벨링이 작동하고, ECC와 불량 블록 관리가 데이터 오류와 NAND 상태를 관리한다.
그래서 SSD의 핵심 원리를 한 문장으로 줄이면 다음과 같다.
SSD는 전원이 없어도 상태를 유지하는 NAND 플래시 셀에 데이터를 저장하고, 컨트롤러가 논리 주소와 실제 저장 위치를 계속 변환하면서 쓰기·삭제·오류 수정·수명 분산을 관리하는 저장장치다.
HDD와 가장 큰 차이도 여기에서 나온다. HDD가 회전하는 자기 디스크의 물리적 위치를 기계적으로 찾아 데이터를 읽는다면, SSD는 움직이는 부품 없이 NAND 메모리를 전기적으로 접근하고 컨트롤러가 내부 위치를 관리한다.
SSD를 고를 때는 그래서 “SSD냐 HDD냐” 다음 단계에서 SATA인지 NVMe인지, NAND가 TLC인지 QLC인지, 제품의 쓰기 내구성은 어느 정도인지, 실제 사용 목적이 대용량 저장인지 지속적인 쓰기 작업인지까지 함께 보는 것이 더 정확하다.
※ 이 글은 시장 흐름을 이해하기 위한 참고용 정보이며 특정 종목이나 자산에 대한 투자 권유가 아닙니다. 최종 판단과 투자 책임은 본인에게 있습니다.
이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다.
※ 위 영역에는 쿠팡 파트너스·네이버 쇼핑 커넥트·토스쇼핑 쉐어링크 등 설정된 제휴 링크가 포함될 수 있으며, 제휴 링크를 통한 구매 시 판매처 정책에 따라 일정 수수료를 제공받을 수 있습니다.