“초고속 저장장치의 기대주” NVMe SSD에 대해 알아야 할 모든 것

PCWorld

NVMe는 더 이상 있으면 좋고 없어도 그만인 스토리지 기술이 아니다. 새 PC를 구매하려고 알아보는 중이라면 가장 먼저 선택해야 할 기술이다. 비교적 최근 사양의 PC를 사용 중이라면 NVMe로 업그레이드해야 한다. 그 이유는 하나씩 살펴보자.



NVMe는 인텔, 삼성, 샌디스크, 델, 시게이트 등이 포함된 산업 컨소시엄이 SSD 전용으로 개발한 통신 표준/프로토콜이다. 디스크라고 하지만 PCIe 버스를 통해 작동하므로(이름에 ‘익스프레스’가 들어간 이유) 특성은 하드디스크가 아닌 본래의 모습, 즉 고속 메모리에 가깝다. 한 마디로 NVMe는 엄청나게 빠르다. 컴퓨터를 사용하면서 기다릴 일이 거의 없을 정도다.

NVMe: 어쨌든 문제는 저장장치
지난 10년 동안 CPU와 GPU 업체들이 쏟은 노력을 폄하할 의도는 없지만, 최신 최고 사양 PC가 구형 PC보다 훨씬 더 빠르게 느껴지는 주된 이유는 SSD가 제공하는 스토리지 성능의 비약적인 향상에 있다. 스토리지는 실제 성능과 체감 성능의 마지막 병목 지점이었지만 이제는 무시무시한 속도로 그 오명을 지우는 중이다.

예를 들어 지난 2년 사이 맥북 프로를 구매했다면 일상적인 작업을 하면서 기다린 경험이 거의 없을 것이다. 프로그램 열기, 파일 로드와 저장, 모두 즉각 완료되며 부팅과 종료도 몇 초면 된다.

맥북 프로에 내장된 NVMe SSD가 이전 세대에 사용된 SATA SSD에 비해 4배 더 빠르게 데이터를 읽고 쓰기 때문이다. 게다가 탐색 속도도 10배나 더 빠르다. SATA SSD가 이미 하드 드라이브에 비해 4~5배의 처리 속도와 10배 더 빠른 탐색을 제공한다는 점을 감안하면 얼마나 빠른지 짐작할 수 있다.

현재 세 가지 주류 스토리지 기술의 대략적인 최대 성능은 다음과 같다.

이런 지속 입출력이 자주 필요하지는 않지만, NVMe는 어떤 크기의 파일이라도 순식간에 전송한다. 일반적인 속도는 HDD = 200MBps, SATA SSD = 550MBps, NVMe SSD = 3GBps 정도이다.

CPU와 GPU의 발전이 무색할 정도의 속도 향상이다. 탐색 시간은 대략 HDD = 2~5ms, SATA SSD = 0.2ms, NVMe SSD = 0.02ms 정도이다.

하드 드라이브는 가격 대비 용량 측면에서 여전히 큰 이점을 제공하며, 자주 사용되지 않는 데이터를 저장하는 용도로 적합하다. 그러나 운영체제, 프로그램, 자주 사용하는 데이터에는 시스템이 지원한다면 NVMe SSD, 지원하지 않는다면 SATA SSD를 사용하는 것이 좋다.

SATA SSD vs. NVMe SSD
시장에 SATA SSD와 NVMe SSD가 아직 공존하는 데는 이유가 있다. 메모리 기반 SSD의 잠재력을 감안할 때 결국 새로운 버스와 프로토콜이 필요할 수밖에 없으리란 점은 초기부터 명확했다. 그러나 초창기 SSD는 비교적 속도가 느렸으므로 기존 SATA 스토리지 인프라를 사용하는 편이 훨씬 더 편리했다.

SATA 버스는 버전 3.3에 이르러 16Gbps까지 발전했지만 거의 모든 상용 제품은 여전히 6Gbps에 머물러 있다(오버헤드를 더해 대략 550MBps). 버전 3.3이라 해도 현재 SSD 기술, 특히 RAID 구성으로 낼 수 있는 속도에 비하면 한참 느리다.

샌디스크 익스트림 프로는 4개의 PCIe 레인을 사용하며, 이론상 최고 입출력 성능은 3GBps이다.

그 다음으로 등장한 방법은 역시 기존 기술이지만 대역폭이 훨씬 더 높은 버스 기술인 PCI 익스프레스, 즉 PCIe 활용이다. PCIe는 그래픽 및 기타 애드온 카드를 위한 기본 데이터 전송 계층이다. 3.x 세대 PCIe는 복수의 레인(대부분의 PC에서 최대 16개)을 제공하며, 각 레인은 1GBps(985MBps)에 가까운 속도로 작동한다.

PCIe는 썬더볼트 인터페이스의 기반이기도 하다. 썬더볼트는 게임용 외장 그래픽 카드, 그리고 내장 NVMe와 거의 대등한 속도를 내는 외장형 NVMe 스토리지에서 진가를 발휘하기 시작했다. 많은 사용자들이 이제 느끼고 있지만, 인텔이 썬더볼트를 버리지 않은 것은 현명한 판단이었다.

물론 PCIe 스토리지는 NVMe보다 몇 년 전에 나왔다. 그러나 이전 솔루션은 SATA, SCSI, AHCI와 같은 하드 드라이브가 스토리지 기술의 정점이었던 시절에 개발된 오래된 데이터 전송 프로토콜에 발목을 잡혔다. NVMe는 저지연 명령과 다수의 큐(최대 6만 4,000개)를 제공함으로써 스토리지의 발목을 잡았던 제약을 없앤다. 지속적인 원을 그리며 데이터가 기록되는 하드 드라이브와 달리 SSD에서는 마치 산탄처럼 데이터가 흩어져 저장되므로 특히 후자, 즉 다수의 큐가 큰 효과를 발휘한다.


NVMe 표준은 컴퓨터 시스템 메모리의 일부를 캐시로 사용하는 기능 등을 더하면서 현재 버전 1.31까지 발전했다. 최근 PCWorld가 초저가 도시바 RC100을 리뷰하면서 그 기능을 이미 확인했다. RC100은 대부분의 NVMe 드라이브가 사용하는 온보드 DRAM 캐시를 빼고도 NVMe라는 이름에 부합하는 성능 향상을 제공한다(일상적인 작업에서).

NVMe를 사용하기 위해 필요한 것
PCIe 슬롯이 있는 PC라면 25달러 정도의 어댑터 카드를 통해 NVMe 드라이브를 추가하면 된다. 최근 버전의 주요 운영체제는 모두 드라이버를 제공하므로 오래된 시스템에서도 초고속 드라이브를 활용할 수 있다. 다만 유의할 점이 있다.

NVMe SSD의 성능을 온전히 누리려면 NVMe SSD에서 운영체제 부팅이 가능해야 한다. 이를 위해서는 BIOS 지원이 필요하다. 애석하게도 예전에 나온 주류 바이오스는 대부분 NVMe 부팅을 지원하지 않으며, 앞으로도 지원하지 않을 가능성이 높다. 업체 입장에서는 지원을 추가해서 얻는 이익은 없는 반면 단점은 명확하다. 업데이트를 통해 구형 시스템에서 NVMe를 사용할 수 있게 되면 PC 게임을 즐기거나 그 외에 2160p 비디오 편집과 같은 CPU 사용량이 많은 작업을 하지 않는 이상 사용자가 컴퓨터를 업그레이드할 가능성은 별로 없기 때문이다.
비교적 저렴하면서 속도도 빠른 삼성 970 EVO 같은 M.2 NVMe SSD는 저렴한 어댑터 카드를 이용해 M.2/PCIe 슬롯이나 정규 PCIe 슬롯에 장착한다.
일반 소비자용으로 판매되는 대부분의 NVMe SSD는 M.2 규격을 사용한다. 다만 M.2 슬롯이 있다고 무조건 NVMe 호환성이 보장되는 것은 아니다. M.2는 USB 3.0, SATA, PCIe를 지원하기 위해 설계됐다. 초기 M.2 슬롯은 대부분 SATA만 지원한다. 관련 내용은 사용 중인 시스템 또는 메인보드 사용자 설명서를 참고하거나 온라인에서 확인할 수 있다. 참고로 그 이전에 나온 MSATA 슬롯도 생긴 것은 매우 비슷하다.

슬롯을 육안으로 확인하는 것만으로는 PCIe와 NVMe를 지원하는지 여부를 알 방법이 없지만, PCIe x2와 PCIe x4 슬롯은 구분할 수 있다. 전자는 B-키(B-keyed: 키는 드라이브의 접점에 있는 틈과 결합되는 튀어나온 부분을 가리킴)라고 하며 6개의 접점이 나머지와 분리된 모양이고 후자는 M-키(M-keyed)로, 5개의 접점이 반대쪽 나머지 접점과 분리되어 있다. 명확한 규칙은 아니지만 B-키 슬롯은 SATA 전용인 경우가 많다. 현재 가장 일반적인 형태인 두 개의 접점 집합이 모두 분리된 B/M-키 슬롯이 있다면 최상이다. 이 슬롯을 소켓 2, 소켓 3이라고 지칭하기도 한다.

PCWorld의 테스트 시스템에 있는 M.2 슬롯은 PCIe와 NVMe를 지원한다. 사진은 WD의 블랙 NVMe SSD이다.

소켓이 조건에 맞지 않는다면 앞서 언급한 25달러 정도의 PCIe M.2 어댑터 카드를 알아볼 차례다. 플렉스터(Plextor)의 M9Pe를 비롯해서 PCIe 카드에 이미 장착된 상태로 즉시 사용 가능한 제품들이 있다.

최종 사용자가 피해야 할 것은 2.5인치 NVMe 드라이브다. 이 드라이브에는 SFF-8639(Small Form Factor) 커넥터가 필요하다. SFF-8639 연결 하나에는 4개의 3세대 PCIe 레인과 2개의 SATA 포트, 사이드밴드 채널, 그리고 3.3V 및 12V 전원이 달려 있지만 이러한 제품은 기업용 스토리지 어댑터 및 시스템 시장에서만 판매된다.

드물지만 썬더볼트를 지원하는 윈도우 PC를 사용 중이라면(에이수스 메인보드 중에서 썬더볼트를 지원하는 경우가 많음) 외장 썬더볼트 PCIe 박스를 사용해서 NVMe를 시스템에 추가하는 방법이 있다. 하이 시에라(High Sierra) 이상을 실행하는 썬더볼트 맥에서는 아주 좋은 방법이다.

NVMe 드라이브라고 다 같지는 않다
NVMe 드라이브라면 어떤 제품이든 시스템 속도를 높여주지만 제품마다 차이는 있다. 사실 차이가 꽤 크다. 삼성 970 프로의 읽기 속도는 3GBps 이상, 쓰기는 2.5GBps 이상인 반면 도시바 RC100의 읽기 속도는 1.2GBps, 쓰기는 900MBps에 조금 못미친다. 쓰는 데이터의 양이 보드의 캐시를 초과하는 경우 속도 차이는 더 커질 수 있다.

컨트롤러, 보드의 NAND 용량, PCIe 레인의 수, NAND의 유형을 포함해서 성능에 영향을 미치는 요소는 여러 가지다. 대표적인 몇 가지를 살펴보면 다음과 같다.

- x4 PCIe NVMe SSD는 x2 PCIe 유형보다 빠르다.
- NAND 칩의 수가 많을수록 컨트롤러가 데이터를 분배하고 저장할 수 있는 경로와 목적지도 많아진다. 모델 번호가 같더라도 용량이 작은 드라이브가 큰 드라이브보다 느린 경우가 많은 이유다.
- NAND의 종류도 중요하다. SLC(Single Level Cell /1비트)가 가장 빠르고 MLC(Multi Level Cell /2비트)가 그 다음이며 TLC(Triple Level Cell /3비트)가 세 번째, QLC(Quad Level Cell /4비트)가 가장 느리다. 그러나 비트를 덜 쓰는 간단한 방법으로 SLC를 제외한 모든 종류의 NAND를 한 단계 위의 NAND와 같은 방식으로 다룰 수 있으므로 성능 공식은 생각보다 복잡하다. 업체들은 이 방법으로 SSD의 일부분을 캐시로 사용한다. 따라서 TLC 또는 QLC 드라이브도 이 캐시가 모두 찰 때까지는 SLC 드라이브만큼 빠른 속도를 낼 수 있다.
- 요즘 사용되는 컨트롤러는 대부분 효율적이지만 인텔 및 샌디스크 컨트롤러를 비롯한 일부는 캐시를 더 효과적으로 사용해서 용량이 큰 데이터 세트에서도 쓰기 성능을 유지할 수 있다.

NVMe, 오랫동안 후회 없을 선택
다시 한 번 말하자면 NVMe는 현재 또는 다음 PC에서 선택해야 할 스토리지 기술이다. NVMe 스토리지를 사용하면 게이머 또는 고해상도 비디오 편집자가 아닌 한 적어도 성능을 이유로 지금의 시스템을 교체할 필요성을 한동안 느끼지 못할 것이다. 실제로 필자는 NVMe SSD로 업그레이드한 이후 6~7년 된 시스템을 바꾸고 싶은 생각이 전혀 들지 않는다.  editor@itworld.co.kr