윈디하나의 누리사랑방. 이런 저런 얘기

글쓴시간
분류 기술,IT
M.2 SATA, PCIe, NVMe

M.2 폼팩터의 SSD 를 알아보다가 확인해야할게 많아서 정리해 놓았다.

1. M.2

- M.2 는 한때 NGFF(Next Generation Form Factor)라 불렸던 차세대 폼 팩터에 사용된 커넥터 사양이다. M.2 는 mSATA 표준을 대체하고, PCIe Mini Card 와 동일한 규격의 커넥터 규격을 사용한다. 2013년 부터 도입되었으며 10여년이 지난 지금은 널리 사용되고 있다.

- 요즘엔 주로 카드 형식의 SSD 를 연결할때 사용하는 형식이다.

2. M.2 SATA

사용자 삽입 이미지

SATA 방식 M.2 SSD. B 키와 M 키가 있다.


- M.2 커넥터로 SATA 통신을 하는 규격이다. 운영체제에서는 AHCI 컨트롤러에 연결된 SATA 하드디스크로 인식된다. M.2 초창기에는 주로 사용되던 형식이었으나, 현재는 성능상의 문제로 사용하지 않는다. M.2 SATA 형식의 SSD 를 사용할 때에는 마더보드에서 지원하는지 반드시 확인해야 한다. 최대 600MB/s (SATA 3규격과 동일)까지 지원된다.

3. M.2 PCIe

- M.2 커넥터로 PCIe 통신을 하는 규격이다. 하지만 PCIe 위에 AHCI 컨트롤러가 자리잡고 있기 때문에 운영체제에서는 AHCI 컨트롤러에 연결된 장치로 인식한다. 구형 마더보드에서는 지원하지 않는 경우도 있어 이 형식의 SSD를 사용하는 경우 반드시 확인해야 한다. 보통 PCIe 2.0 x4 속도까지 지원했다.

4. M.2 NVMe

사용자 삽입 이미지

NVMe 방식 M.2인 T705. M키만 있다.


- M.2 커넥터로 PCIe 통신을 하는 규격이다. 하지만 운영체제에서는 NVMe(Non-Volatile Memory Express) 장치로 인식된다. 어쨌든 PCIe 규격으로 통신하기 때문에 PCIe 규격과 호환된다. M.2 PCIe 와 M.2 NVMe 와의 차이점은 운영체제 레벨에서 어떻게 인식되느냐에 있고, 이때문에 지원하는 속도가 NVMe 가 훨씬 빠르다. NVMe 는 AHCI 보다 대기열의 명령큐가 증가(32 -> 64K)하고, 다중 대기열 사용할 수 있으며, CPU에서 직접 접근해 레이턴시(지연)가 낮고(6ms -> 2.8ms), 운영체제에서 더 빠른 드라이버를 사용할 수 있어 AHCI에 비해 IOP향상(100k -> 1M IOP)이 가능해지는 등의 많은 이점이 있다. PCIe 3.0 x4 속도 이상 되는 SSD는 모두 이 방식이다. NVMe PCIe 3.0 x4 의 경우 3,940MB/s 까지 지원된다.

5. 2230, 2242, 2260, 2280, 22110

- 카드의 크기다. 22 는 22 mm 을 의미하며 카드의 너비다. 30, 42, 60, 80 은 카드의 길이이며 단위는 mm이다.

- 너비가 22mm 규격 이외의 것도 M.2 에 정의되어있지만 PC에서 사용되는 규격은 22 만 있다. 많은 마더보드에서 2242 ~ 2280 까지 지원한다. 2230 과 22110 규격의 기기를 사기 전에 마더보드에서 장착되는지 반드시 확인해야 한다.

6. 방열판

NVMe 형태의 SSD는 발열이 있다. 연속해서 많은 데이터를 읽고 쓰는 경우에는 무시하기 어려울 정도로, 발열때문에 성능이 하락할 정도로 열이 심하다. 따라서 이런 경우에는 방열판이나 액티브 쿨링을 사용해야 한다.

사용자 삽입 이미지

방열판이 장착된 Crucial T705


7. Key

사용자 삽입 이미지


- M.2 장치에는 Key(키)라고 불리는 부분이 있다. 일종의 홀인데 지원하지 않는 기기를 장착하지 못하도록 키의 위치를 달리해 제조한다.

- A ~ M 까지 있는데 데스크탑 M.2 저장장치에서 중요한건 B 와 M 키다. B 키는 SATA 및 PCIe x2 방식에 사용되고, M 키는 SATA 및 PCIe x4 방식에 사용된다. 최신 NVME SSD 는 PCIe x4 가 필요하기 때문에 M 키만 뚫려있다.

- A 키와 E 키는 PCIe x1 을 지원하기 때문에 WiFi 나 블루투스 기기에서 주로 사용된다.

8. Socket

- Socket 은 7. 에서 설명한 Key 와 같은 의미인데 호스트의 관점에서 본다. 마더보드 스펙에는 Socket 으로 표기되어있다.

- Socket 1 ~ 3 까지 있다.

→ Socket 1은 Wifi 및 블루투스
→ Socket 2는 WWAN, GNSS, SSD Cache
→ Socket 3은 SATA 및 PCIe 방식의 저장장치

따라서 저장장치에서는 Socket 3를 사용한다.

9. 대역폭 공유 및 장치 공유

M.2 에 SATA 모드로 사용시 특정한 SATA 소켓이 비활성화 되거나 M.2 에 PCIe/NVMe 모드로 사용시 특정한 PCIe 슬롯이 비활성화 되는 경우가 있다. 어느 부분이 어떻게, 얼마나 줄어드는지는 마더보드 매뉴얼을 읽어보자.

10. DRAM

플래시 메모리기반 저장장치는 각 셀의 사용 정보(각각의 셀이 쓰기를 몇번 했는지, 수명이 다된 셀은 몇번으로 대체되었는지에 대한 정보)를 기록해 놓는데, 이 정보는 셀이 변경될때마다 매번 바뀌어야 하고, 특히 셀 대체 정보는 셀에서 데이터를 읽고 쓸때마다 계속 참조해야 한다. 아무래도 플래시메모리보다는 DRAM 이 더 빠르기 때문에 DRAM 을 사용해 속도향상을 도모한다. DRAM 이 없으면 속도가 2000 MBps 정도가 한계고 매핑이 발생한 순간부터는 매우 느려진다. SSD 에서 오래써도 성능저하를 줄이려면 DRAM 은 필수인셈.

HDD 에서는 DRAM 이 버퍼로 사용되지만, SSD 에서는 매핑 정보를 담아 빠르게 참조할 수 있는 저장공간으로 사용된다는게 다르다.

11. SSD 수명

SSD 는 수명이 정해져 있다. 셀당 쓰기가 일정한 회수 이상은 쓰기가 안된다. 수명이 다 된 셀은 매핑해서 다른 셀로 대체해 사용한다. 대체할 셀 조차 없으면 SSD 는 더이상 사용할 수 없다.

이렇게 이야기 해도 일상적인 사용환경에서는 10년 이상 사용할 수 있다.

수명 확인은 S.M.A.R.T. 정보를 읽어오는 프로그램을 사용해 확인할 수 있다. 아래 스크린샷의 왼편에 99% 라고 써 있는게 수명이다. 스크린샷의 오른편의 읽기/쓰기량이 많아질 수록 급격하게 수명이 깎인다. 일년에 한번정도는 확인하는게 좋다고 생각한다. 0% 떨어지면 못 사용하니 그 전에 바꾸자. 50% 만 되어도 매핑이 많아져서 성능 하락이 쉽게 느껴진다.

사용자 삽입 이미지

※ 마더보드 스펙 읽기

아래 매뉴얼을 보면

사용자 삽입 이미지


- M.2 Socket 3 타입의 소켓 2개가 있고, M 키를 지원한다.

- M.2_1 포트는 32Gb/s 로 작동한다. M.2_2 포트는 16Gb/s 으로 작동한다.

- M.2_1 이 SATA 모드로 작동할때에는 SATA_1 포트가, M.2_2 이 SATA 모드로 작동할 때에는 SATA_6 포트가 비활성화 된다.

- PCIe 모드로 작동할때에는 비활성화 되는 기기에 대한 언급이 없다. 마더보드에 사용된 칩셋의 대역폭이 충분한경우 비활성화 되지 않는다.