Computing

[SSD] M.2 NVMe SSD 용어 정리 (M.2란? NVMe란?) 본문

Semiconductor/SSD

[SSD] M.2 NVMe SSD 용어 정리 (M.2란? NVMe란?)

jhson989 2023. 2. 3. 22:58

요즘은 컴퓨터의 메인 저장장치로 하드디스크(HDD)보다는 SSD를 선택하는 게 일반화가 된 것 같다. HDD는 자기 테이프 방식이라 값이 싸지만 데이터를 읽고 쓰는데 느리다. 반면에 SSD(Flash memory)는 반도체를 이용한 저장장치로 HDD보다는 비싸지만 데이터 읽고 쓰기가 더 빠르다. 특히 random access read/write에서 둘의 성능 차이가 극심하게 난다.

 

Fig 1. HDD와 SSD의 비교 [1]

 

기술의 발전에 따라 SSD의 가격이 어느정도 하향되면서 SSD가 메인 보조기억장치로 많이 사용되게 되었고, 특히 최근에는 기존의 SATA 방식 HDD, SSD와는 다른 폼팩터(형태)를 가진 M.2 NVMe SSD도 대중화가 된 것 같다. 오늘은 이 M.2 NVMe SSD에 대해서 용어 정리를 해보고자 한다.

 

Fig 2. Samsung NVMe SSD 970 EVO Plus [2]

 

M.2 NVMe SSD을 이해하기 위해 크게 3가지 개념, M.2, SATA vs. PCIe, NVMe에 대해서 정리하였다.

 

 

 

M.2

M.2는 SSD의 폼팩터(Form factor, 디바이스의 형태, 사양)를 의미한다. SSD는 Fig 3.과 같이 다양한 폼팩터로 제품이 개발된다.

 

Fig 3. SSD의 다양한 Form factor [3]

 

가장 처음으로 대중화된 것은 Fig 3.의 젤 왼쪽 제품인 2.5인치 SATA SSD이다. SSD가 본격적으로 사용되기 이전에는 3.5인치 SATA HDD가 메인 보조기억장치로 사용되었다. SATA는 Fig 4.와 같이 HDD의 인터페이스 규격이다. SSD 제품이 처음 출시할 당시에는 3.5인치 SATA HDD가 대중적으로 사용되고 있었다. 따라서 이와 쉽게 호환되겠끔 비슷한 직사각형의 형태를, 그리고 같은 인터페이스를 가지도록 2.5인치 SATA SDD 형태로 개발되었다.

 

Fig 4. HDD(아래)와 SDD의 SATA interface [4]

 

[SATA vs. PCIe] 파트에서 후술하겠지만 SATA의 성능상의 한계에 의해 PCIe interface를 이용하는 SSD가 개발되기 시작하였다. Fig 3.의 세 번째, 네 번째가 바로 그것들이다. 여기서 M.2 SSD는 Fig 3.의 세 번째 제품과 같이 바 형태의 폼 팩터를 가진다. 이러한 M.2 SSD는 메인보드에 직접 장착이 되며 PCIe 인터페이스를 사용할 수도 있다. 

 

 

 

SATA vs. PCIe

앞서 언급했듯 SATA는 HDD를 고려하여 설계되었기에 데이터전송 속도에 한계가 있다. 최신 SATA 3세대의 경우 600 MB/s의 데이터 전송속도를 가진다. 그에 비해 최신 SSD의 경우 읽기 속도 3,500MB/s, 쓰기 속도 3,300MB/s[2]를 기록하고 있다. 따라서 SSD 자체는 매우 빠른데 이를 컴퓨터 메인메모리로 옮기는 데이터 전송 속도가 그것을 못따라가는 문제가 발생하였다.

 

이를 해결하기 위해 메모리 디바이스 제작회사(intel, Samsung, etc.)들이 모여 PCIe interface를 사용하는 SSD 개발에 착수하였다. PCIe 4.0 ×4에 기반을 둔 NVMe 인터페이스의 이론상 최대 성능은 약 8,000MB/s으로 SSD의 성능을 모두 커버할 수 있다. 앞서 말했듯 Fig 3.의 세 번째(M.2 폼팩터 SSD), 네 번째가 PCIe interface를 사용할 수 있도록 개발된 SSD 폼팩터이다.

 

이때 조심할 점이 M.2 SSD 폼팩터는 SATA interface를 사용할 수도, PCIe interface를 사용할 수도 있다. 이를 구별하는 방법은 Fig 5.와 같이 M.2 SSD의 interface를 보면 된다.

 

Fig 5. SATA M.2 vs PCIe M.2 [5]

 

Fig 5.의 위쪽 인터페이스(금색 부분)와 같이 홀이 2개 있으면 SATA, 아래쪽 인터페이스와 같이 홀이 하나 있으면 PCIe(NVMe) SSD이다. 앞서 말했듯 SSD의 속도가 빠르더라도 데이터를 전송하는 인터페이스가 느리면 소용이 없기에 PCIe M.2를 사는 것이 좋다. 다만 SATA M.2는 조금 더 가격이 저렴하다는 장점이 있다.

 

 

 

NVMe (Non-Volatile Memory Express)

이제 M.2 NVMe SSD에서 M.2와 인터페이스(SATA vs. PCIe)를 이해하였으니 NVMe를 이해해보자. NVMe는 PCIe SSD에서 사용하는 통신 프로토콜이다. PCIe interface가 도로라면, NVMe는 신호체계 정도로 생각하면 좋을 것이다. SATA는 일반 국도, PCIe는 고속도로이다. NVMe는 고속도로에서 차(데이터)들이 움직이도록 하는 신호체계이다. 

 

사실 PCIe SSD에는 NVMe 말고도 SATA 때부터 사용되던 AHCI 프로토콜을 사용하는 경우도 있다. 마찬가지로 AHCI 프로토콜은 HDD, SATA를 고려하여 설계되었기에 성능상의 문제가 있다. 따라서 최근에는 PCIe SSD 제품 대부분은 NVMe 프로토콜을 사용한다.

 

 

 

Reference

[1] https://www.intel.co.kr/content/www/kr/ko/gaming/resources/ssd-v-hdd.html

[2] https://news.samsung.com/kr/%EC%82%BC%EC%84%B1%EC%A0%84%EC%9E%90-nvme-ssd-970-evo-plus-%EC%B6%9C%EC%8B%9C

[3] https://www.seeedstudio.com/blog/2020/12/09/ssd-form-factors-variations-and-interfaces/

[4] https://en.wikipedia.org/wiki/SATA

[5] https://www.dell.com/community/Alienware-Desktops/M-2-NVMe-SSD-Move/td-p/7348996/page/2