고속 저장장치의 필요를 느끼는 많은 분들이 NVME을 사용하기 시작했습니다. SATA나 SAS는 아무리 SSD가 빨라도 인터페이스의 병목 현상으로 인해 제대로된 성능을 누리기 어려웠기 때문입니다. 이런 장점을 가진 NVME를 선택하기 전에 1.4와 1.3의 차이를 알아보는 것이 필요합니다.

NVME은 어떤 기술인가?

 

 

NVM(Non-Volatile Memory, 비활성 메모리) + Express (고속)의 약자를 따서 NVME라고 하며 PCIe포트를 사용하여 SSD에 빠르게 엑세스가 가능한 규격입니다. 플래시 메모리의 성능을 최적화하고 지연 시간을 줄이기 위해 개발되었고, 하이 엔드 기기에는 필수적으로 활용되고 있습니다.

 

SATA나 SAS에 비해 월등하게 빠른 속도를 자랑하며, 최근 하이닉스 P41 (NVME 1.4)의 경우 최대 7,000MB/s의 엄청난 읽기 속도를 자랑합니다. 또한 대기 시간이 30us로 매우 짧아 AR/VR 기기와 같이 빠른 응답이 필요한 기기에 가장 적합합니다.

 

또한 저전력 구동이 가능하여 배터리 소모가 적어 모바일 디바이스에서도 NVME를 채택하는 추세입니다.

NVME 1.3과 NVME 1.4 비교

1.3과 1.4는 NVME의 버전으로 1.3는 2017년 5월에 1.4는 2019년 6월에 첫 선을 보였습니다. 이 글을 작성하는 시점인 2022년 12월 현재 1.4가 가장 최신 버전입니다. 1.4 버전에서는 1.3에 다음과 같은 기능이 추가 되었습니다.

 

  • 호스트가 NVM의 메모리 버퍼에 직접 액세스할 수 있는 명령 집합을 지원하여 지연 시간과 CPU 오버헤드를 감소시켰습니다.
  • NME 기기의 데이터 중 데이터 패스 전체의 에러로 부터 보호가 필요한 데이터 지정 가능합니다.
  • 호스트가 NVME의 온도와 쿨링에 대해 제어할 수 있고, 수동 모드의 전원 관리가 가능해 졌습니다.
  • 패키지 심포니 흐름 제어를 통해 여러 NVME을 데이지 체인으로 연결하여 구성할 수 있도록 지원합니다.
  • 쓰기 작업 중 오류가 발생하는 경우 호스트에게 알람을 보낼 수 있습니다.

NVME의 병목 현상에 대해

많은 성능 개선에도 불구하고 여전히 남아있는 병목 현상이 있습니다. NVME 1.3과 NVME 1.4의 병목현상을 비교해 보시기 바랍니다.

NVME 1.3의 병목 현상

NVME 1.2에 비해 크게 향상된 버전이 1.3이지만 여전히 병목현상을 겪고 있습니다. 그 원인 중 하나는 직렬 구조의 인터페이스를 사용하기 때문입니다. 직렬 인터페이스는 데이터의 전송 속도를 클럭 베이스로 제한하기 때문에 전송 속도에 제한이 큽니다. 또한 단일 명령만 지원하기 때문에 여러가지 명령을 전송하면 버벅임이 생길 수 있습니다.

NVME 1.4의 병목 현상

NVME 1.3에 비해 명령 세트가 지원되어 성능이 향상되었지만 잠재적인 병목 현상은 남아있습니다. 명령어의 세트가 전송되더라도 그 세트를 순차적으로 처리하기 때문에 멀티 스레드의 성능 저하를 야기할 수 있습니다. 또한 PCIe 규격에 의한 속도 저하 및 지터가 발생할 수 있습니다. 

PCIE 3.0과 PCIE 4.0

NVME 1.3이라도 PCIe 4.0x4 (64GT/s)를 지원하는 제품들이 있습니다. 처리해야하는 명령어가 많지 않다면 무엇보다 인터페이스에서 속도제한이 성능에 큰 영향을 줄 것입니다. 따라서 1.3과 1.4의 차이 보다 어떤 PCIE 인터페이스까지 지원하는지가 더 중요합니다.

 

삼성 PM9A1 M.2 NVME 1TB삼성 980 M.2 NVME 1TB를 보면 980은 NVME 1.4를 지원하지만 PCIE3.0까지 활용할 수 없어서 대역폭이 작고 가격도 상대적으로 저렴한 것을 알 수 있습니다.

삼성 PM9A1 NVME M.2 1TB 삼성 980 M.2 NVME 1TB
NVME 1.3 NVME 1.4
PCIE4.0X4 PCIE3.0X4
TLC TLC
7,000MB/s 읽기 속도 3,100MB 읽기 속도
5,100MB/s 쓰기 속도 2,600MB 쓰기 속도
119,830원 (2022년 12월) 110,400원 (2022년 12월)

 

물론 최대 읽기 쓰기 속도 이므로 작은 단위의 데이터 처리가 많은 경우 두 제품 모두 성능 차이는 크지 않을 수 있으며, 처리할 명령어가 많을 수록 NVME 1.4가 체감 성능이 좋을 수도 있습니다. 그러나 일반적인 상황에서 그 차이를 느끼기는 어려우며 대용량 4K 영상 인코딩 작업과 같이 저장 데이터가 큰 상황에서 대역폭의 차이가 작업 시간과 연결될 것입니다.

Total
Today
Yesterday