01
NVMe란?
NVMe(NVM Express)는 호스트 소프트웨어가 비휘발성 메모리 서브시스템과 통신하는 프로토콜과 규격 집합입니다. SSD를 위해 설계되었으며 PCIe 기반 SSD뿐 아니라 여러 전송 방식을 통해 NVMe 명령과 관리 모델을 사용할 수 있도록 규격이 구성됩니다.
02
규격은 어떻게 나뉘나?
현행 NVMe 규격은 Base Specification, 여러 I/O Command Set Specification, Transport Specification, 관리 및 부트 규격으로 나뉩니다. Base 규격은 컨트롤러와 관리 명령의 공통 동작을 정의하고, NVM Command Set 같은 문서는 Read와 Write 등 블록 스토리지 명령을 정의하며, Transport 규격은 PCIe, RDMA, TCP 같은 전송 방식에 NVMe 프로토콜을 결합합니다.
03
NVMe를 판단할 때 확인할 것
NVMe 지원 여부는 단순한 외형이 아니라 컨트롤러가 어떤 NVMe 규격과 명령 세트, 전송, 선택 기능을 구현했는지로 확인해야 합니다. M.2는 폼팩터 중 하나일 뿐이며 NVMe SSD는 U.2, M.2, AIC, EDSFF 등 여러 형태로 구현될 수 있습니다.
04
모든 NVMe SSD가 같은 기능을 갖는 것은 아니다
NVMe는 하나의 단일 기능 목록이 아니라 여러 규격 문서와 선택 기능으로 구성됩니다. 따라서 Format, Sanitize, Namespace 범위 같은 관리 기능의 지원 여부와 적용 범위는 컨트롤러 기능을 확인해야 합니다. NVMe라는 명칭만으로 특정 Secure Erase 또는 Sanitize 동작이 동일하게 지원된다고 가정하면 안 됩니다.