_DSC7506.jpg

_DSC6933.jpg

  1. #개요

  2. #NVMe란

  3. #사진

  4. #기본 성능 테스트

  5. #NVMe 요구사항 / 호환성 테스트

  6. #참고 문서

개요

물리적인 구동 장치가 동작하는 저장장치인 하드디스크부터 반도체를 사용한 저장장치인 SSD까지 저장장치의 발전은 빠르게 이루어 져 왔습니다.
특히 SSD 시대에 접어들면서 SSD는 엄청난 성능 발전을 보여주고 있으며, 서버에서 사용되는 SAS를 제외한 가장 많이 사용되고 있는 연결 규격인 SATA 3.0은 최대 속도인 600MB/s에 많은 SSD들이 근접하거나 이미 한계에 도달한 제품들이 시장에 나와 있습니다.
이를 극복하기 위해 일부 업체들은 PCI-Express 규격을 통하여 독자적인 SSD를 발매 하였으나, 호환성이나 비용 등의 문제로 널리 사용되지는 못 하였습니다.

 

이러한 성능의 한계를 극복하기 위해 내놓은 대책으로 SATA Express (SATA 3.2)와 NVMe가 등장하게 됩니다. 

여기서 알아볼 NVMe SSD로는 Intel P3500, P3600 그리고 HGST SN100시리즈의 SSD며, PCI-Express x4슬롯을 사용한 NVMe SSD며, 과연 어떤 모습을 보여줄 지 알아 보도록 하겠습니다.

 


 

NVMe 란?

이 글에서 알아 볼 NVMe 또는 NVMHCI는 Non-Volatile Memory Express의 약자로 데이터 센터, 엔터프라이즈 부터 엔드유저를 위한 기존의 AHCI를 대체하며, AHCI와 달리 NVMe는 현대의 NAND 플래시를 사용한 SSD부터 미래에 개발될 반도체 기반 저장장치 (SSD)를 위해 최적화 된 새로운 호스트 규격이며, Intel, Samsung, Microsoft, HGST 등 많은 기업들이 개발에 참여한 차세대 규격입니다. (기여 목록)

 

02.PNG

 

가장 초기의 DDR램인 DDR-200 램만 하더라도 1600MB/s의 속도를, DDR2-400은 3200MB/s, DDR3-800은 6400MB/s의 속도를, 그리고 가장 흔한 DDR3-1600은 12800MB/s의 전송률을 보여주며 Haswell-E가 사용하는 DDR4는 최대 25600MB/s의 속도를 보여주며, 이는 주-기억장치인 DRAM과 부-저장장치인 하드디스크는 시간이 지나면서 점점 고용량화 되었지만, 값은 낮아지고 있으나 극적인 성능의 차이가 없어 이 가성비의 차이는 위의 사진처럼 점점 더 넓어지고 있습니다. 그렇기에 NVMe가 이루고자 하는 것은 NVM을 사용한 SSD를 사용하여 성능을 끌어올려 성능의 격차를 줄이는 것이 NVMe의 목표중 하나입니다.

 

01.PNG

AHCI와 NVMe 비교 (공식 문서)

 

07.PNG

 

또한 많은 데이터를 처리하기 위해서 NVMe는 AHCI 대비 더 깊은 큐 깊이, 간소화된 처리 단계로 더 낮은 레이턴시(Latency)를 제공하며 AHCI의 이러한 레이턴시는 하드디스크의 액추에이터가 구동하는 시간보다는 훨씬 빠르기에 성능의 병목 등을 일으키지는 않지만, SSD와 같은 신호와 동시에 데이터를 읽어내는것이 가능한 저장 장치에는 심각한 문제로 다가올 수 있습니다.

 

03.PNG

NVMe를 지원하는 단자 규격으로는 PCI-Express슬롯에 직접 연결하는 방법과 M.2 (NGFF) 그리고 SATA Express, SFF-8643 규격(호스트측)을 통해 SFF-8639(디바이스측 | U.2)에 연결하는 것이 가능하며 PCI-Express 3.0을 사용하는 경우 4GB/s 에 근접한(PCI Express 3.0 x4)의 속도를 낼 수 있게 해 주며, 현재 가장 많이 사용되는 SATA 3.0 규격보다 약 6배 더 빠릅니다. 또한 SATA Express는 연결을 위한 규격 (Form Factor)이며 NVMe는 AHCI의 계승자로 프로토콜로 서로 독립된 분야임을 혼동하지 마시길 바랍니다. 즉, SATA Express를 통해 NVMe를 사용할 수 있습니다. 다만 SATA Express는 PCI-Express 레인을 최대 2개까지만 사용할 수 있어 최대 속도가 2GB/s 정도로 제한됩니다.

 

더욱 간단하게 정리하자면, NVMe는 순수히 SSD만을 위해 만들어진 AHCI의 후속 규격입니다.

 

 


사진

 

_DSC6921.jpg

 

_DSC6922.jpg

 

_DSC6932.jpg

_DSC6923.jpg

 

_DSC6925.jpg

 

_DSC6926.jpg

 

_DSC6930.jpg

_DSC6935.jpg

 

_DSC6938.jpg

 

_DSC6939.jpg

_DSC6912.png

 

_DSC6914.jpg

 

_DSC6916.jpg

 

_DSC6917.jpg

 


기본 성능 테스트

테스트 환경

_DSC75081.jpg

CPU: Intel Xeon E5-2677 V3

M/B: ASRock Rack EPC612D8A-TB

RAM: DDR4 4GB * 4 16GB

O/S: Microsoft Windows 10 Insider Preview Build 10157 Enterprise

 

사용된 ASRock Rack EPC612D8A-TB 메인보드 정보 (가격 정보사이트 링크)

epc612d8a-tb.png

 

 

AS SSD Benchmark

AS SSD - P3500 1.2TB.PNG

 

ASSSD-4K.png

 

ASSSD-4K64.png

 

ASSSD-ACCT.png

 

ASSSD-SEQ.png

 

ASSSD-OVERVIEW.png

NVMe 비교군인 SATA 3.x 기반 SSD들이 플래그쉽 모델들은 아니여서 다소 아쉽지만, 모든 NVMe 기반 SSD들은 SATA 3.x 기반 SSD의 대역폭을 쉽게 넘어서는 성능을 보여줍니다.

또한 SSD는 용량이 클 수록 성능이 증가하는 모양새를 보이는데, 더 넓어진 대역폭으로 최대 2GB/s 까지 문제 없이 성능이 증가하는것을 확인 할 수 있었습니다.

 

Crystal Disk Mark

CDM - P3500 1.2TB.PNG

 

CDM-SEQ.png

 

CDM-512.png

 

CDM-4K.png

 

CDM-4K 64QD.png

 

CDM-Overview.png

 

또 하나의 간단한 SSD 테스트로 유명한 Crystal Disk Mark 테스트 입니다.

AS SSD Benchmark 결과와 마찬가지로 일반 SATA 3.x 기반 SSD보다도 더 빠른 대역폭과 더 빠른 4K 64QD 성능을 보여줌을 확인할 수 있습니다.

프로그램의 문제인지 프로그램과 SSD의 문제인지 HGST 의 SN100 1.6TB NVMe SSD의 순차 읽기 성능이 다소 떨어지는 것이 보입니다.

 

ATTO Disk Benchmark

Atto - 830 256GB Clean.PNG

Atto - 840 250GB Clean.PNG

 

Atto - HGST SN100.PNG

 

Atto - P3500 1.2TB.PNG

 

Atto - P3500 400GB Boot.PNG

 

Atto - P3600 800GB.PNG

 

ATTO Disk Benchmark 툴을 사용하여 테스트중 발견된 사실로 모든 NVMe SSD등의 4K 미만의 데이터 쓰기에서 매우 저조한 성능을 보이는 것이 보였습니다. 이는 디스크 블록 크기를 512Bytes 와 같은 4K 미만의 크키로 포맷하는 경우 쓰기 성능의 손실이 일어날 수 있지만,  현대의 저장장치들은 4K 블록으로 포맷되므로 이는 큰 문제는 되지 않을것 입니다.

 

전반적으로 모든 NVMe는 이전의 테스트들과 마찬가지로 대역폭에 구애받지 않고 성능을 최대한 끌어낼 수 있는 모습을 보입니다.

 

 

IOMeter

IOMeter - P3500 1.2TB 4K 64Threads Read.PNG

 

 

IOMeter 4K 64.png

 

IOMeter 4K RW 75-25.png

 

IOMeter 4K RW 64threads 75-25.png

 

IOMeter CPU.png

 

IOMeter는 다소 위의 테스트 툴 대비 다소 불친절한 UI를 가지고 있지만 네트워크 테스트 기능 등 더 많은 기능들과 시나리오를 만들 수 있는 강력한 테스트 툴 입니다 .

IOMeter 에서는 4K 읽기 쓰기 성능 테스트는 물론 64QD 또한 테스트 하였으며, 일상 생활이나 서버 등에서 가장 많이 일어나는 작업인 읽기:쓰기 = 75:25 테스트 또한 진행 하였습니다.

 

읽기쓰기가 동시에 일어나는 상황에서 Intel P3600이 가장 좋은 결과를 보여주고 있습니다.

 

CPU 점유율 또한 SATA 컨트롤러를 거치지 않고, PCI Express와 NVMe의 더 적어진 레이턴시는 SATA 3.x 기반 SSD들에 비해 훨씬 더 낮은 CPU 점유율을 보여주는 것은 눈여겨 볼 부분입니다.

 


NVMe 요구사항 / 호환성 테스트

NVMe 를 사용하는 SSD를 사용하기 위해서는 몇가지 필수적인 사양이 요구됩니다.

PCI-Express에 직결된다면 PCI-Express x4 이상의 슬롯이 필요하며, SFF-8639를 사용하는 2.5인치 SSD에 연결하기 위해서는 M.2 SFF-8643 Riser, PCI-Express Riser, SATA Express가 필요하며 부팅을 위해 UEFI를 사용하는 메인보드가 필수적으로 요구됩니다.

 

소프트웨어 지원으로는 UEFI를 지원하는;

Windows 7 / Windows Server 2008 R2 (드라이버 설치 필요)

Windows 8.1, Windows 2012 R2 이상

Linux 3.3 이상 또는 커널 드라이버 모듈

FreeBSD 9 이상

Solaris 11.2 이상

OS X 10.10.3 이상

 

의 운영체제가 필요합니다.

 

A. 호환성 테스트

X99, Z97, H97 과 같은 Intel 9 시리즈의 칩셋을 사용하는 메인보드의 경우 많은 메인보드 업체가 펌웨어 업데이트를 통해 NVMe를 공식적으로 지원하나, P67, Z77과 같은 지원이 종료된 칩셋을 사용하는 제품들의 경우 어떤지 테스트를 해 보았습니다.

 

150625203510.png

150625195244.png

 

ASUS Z77-WS의 경우 UEFI를 통해 부팅이 가능하였으며 문제없이 인식 가능하였습니다. 다만, 램을 4슬롯 모두 채우는 경우 램 오류가 나며 부팅이 되지않는 현상이 있었습니다. (사진과 같이 특정 DIMM 슬롯이 점유된 것으로 인식하며 사용이 불가능) 이 외에도 테스트가 가능했던 ASUS P8B WS또한 램 고스트 슬롯이 생기는 문제가 있었으며, 6시리즈 칩셋의 환경에서 부팅 장비로는 사용이 불가능 함을 확인 하였습니다.

 

GNU/Linux - Ubuntu 14.04.02 LTS (x64)

Screenshot from 2015-06-26 07_43_32.png

 

Ubuntu 14.04.02 LTS는 현재 리눅스 커널 3.16 (06/26/2015 Stable)을 사용하며 설치부터 부팅까지 별다른 문제가 발견되지 않았습니다.

 

 

Windows

서론에서 언급 하였듯이 Microsoft Windows와 NVMe SSD를 사용하기 위해서는 몇가지 준비가 필요합니다.

UEFI 로 부팅을 하여야 하며, UEFI로 부팅하지 않을 경우 아래와 같은 메시지를 내며 설치가 되지 않습니다.

이를 무시하고 강제로 설치하여도 부팅은 되지 않습니다.

 

_MG_8264.png

 

 

 

 

일단 UEFI를 통해 부팅을 하였다면 Windows 8.1 이상의 Windows는 별도의 드라이버를 설치하지 않더라도 내장된 표준 NVMe 드라이버를 통해 문제 없이 사용이 가능하나, NVMe 드라이버가 포함되어 있지 않은 Windows 7의 경우 제공되는 드라이버의 설치가 필요합니다.

 

(https://downloadcenter.intel.com/download/23929/Intel-Solid-State-Drive-Data-Center-Family-for-PCIe-Drivers) Intel NVMe 드라이버 다운로드

 

_MG_8265.png

Windows 7 설치 프로그램의 디스크 설치 창 입니다. 보시는것 처럼 내장된 드라이버가 없기 때문에 아무런 디스크도 표시되지 않는것을 볼 수 있습니다.

이를 설치하기 위해 설치 창 좌측 하단의 "Load Driver" / "장치 설치" 를 클릭합니다.

 

_MG_8266.png

해당 버튼을 누르면 다음과 같은 창이 뜨며 여기서 Browse / 찾아보기를 클릭한 후 별도로 준비한 USB 등의 저장장치에 저장된 NVMe 드라이버를 로드합니다.

 

_MG_8267.png

인식이 되면 드라이버를 로드할 수 있게 됩니다.

 

_MG_8268.png

이제 설치를 진행하면 됩니다.

 

 

Capture.PNG

 

그럼 Windows 7 에서도 NVMe SSD를 사용할 수 있게 됩니다.

 

 


참고 문서

http://www.nvmexpress.org/wp-content/uploads/2013/04/NVM_whitepaper.pdf

http://www.nvmexpress.org/wp-content/uploads/NVM_Member_List_20150429.pdf

www.sata-io.org/sites/default/files/documents/NVMe%20and%20AHCI%20as%20SATA%20Express%20Interface%20Options%20-%20Whitepaper_.pdf

http://www.nvmexpress.org/wp-content/uploads/2013/04/FMS-Client-PCIe-SSD-Transition.pdf

 


 

글쓴이 님의 최신글
  1. 2016-07-14 03:45 나눔 게시판 > TIS-100 *31
  2. 2016-05-24 23:45 여러 이야기 > GeForce Kepler가 레거시 지원으로 *1
  3. 2016-04-28 07:18 여러 이야기 > Fallout 4 Creation Kit 정식 공개 *6
  4. 2016-04-28 00:47 정크게시판 > Supermicro X11SAT-F / Intel Xeon E3-1275 V5 *1
  5. 2016-04-26 12:03 정크게시판 > 인트로 초안 *1

Who's enpinion

profile
Zhis is gut.
wxWidgets FTW!
▼ 펼쳐 보기
Prev 몬스팩토리 MSF M3, M5 128GB, 256GB Series 몬스팩토리 MSF M3, M5 128GB, 256GB Series 2015.07.06by heorm 제온의 모든 것 : (2) 성능편 Next 제온의 모든 것 : (2) 성능편 2015.07.02by DGLee

Articles

30 31 32 33 34 35 36 37 38 39
-->