2022년 하반기부터 시작된 nvme 낸드 저장장치의 가격 동향의 하락세가 진정될 기미를 보이지 않고 있습니다. 2023년이 밝아올 적에 누군가가 희망한 바 있을 '우하향 곡선과 바닥면의 극적인 키스신'은 2023년 하반기에 들어서면서 대중의 머릿속에서 말끔히 박멸되었고 지구과학 시간에 볼 법한 지각 구조 그림이 그 자리를 대신하게 되었습니다.
이러한 상황에 대한 반응은 각자의 처지에 따라 달랐습니다. 제조사는 울상을, 소비자는 대개 웃음을 지었죠.
그러나 모든 소비자들이 웃음을 지은 것은 아니었는데, 그 사정 청취를 하여 보니 '연결할 슬롯이 없더라' 라는 것이었습니다.
참으로 끔찍한 일이 아닐 수가 없습니다.
<QM2-4P-384의 박스>
nvme M.2 ssd를 연결하는 방법에는 여러가지가 있겠습니다만, 그래도 역시나 제조사가 권장하는 방식은 메인보드의 M.2 슬롯에 연결하는 것일 터입니다. 그리고 기왕 연결할 것이라면 cpu발 레인에 직결시키는 것이 좋겠지요. 제조사 측에서 내세우는 성능 수치를 보려거든 반드시 그리하여야만 하고요.
그러나, cpu발 pcie 레인은 희소한 자원입니다. dgpu, nic 등의 온갖 꺼병이들이 저마다 자신의 입구멍에 pcie 레인을 넣어달라고 아우성을 치고 있는 상황에서 nvme ssd만 편애를 할 수는 없는 노릇입니다.
<본 테스트에 사용할 메인보드인 msi z690 force의 개요도>
그리고, 사실 그러고 싶어도 그럴 수가 없습니다. 일반적인 메인스트림 클라이언트 메인보드는 cpu발 레인이 할당된 m.2 슬롯을 하나 아니면 두 개만을 지니기 때문입니다. 눈을 낮추어 pch발 레인까지 셈한다 쳐도 m.2 슬롯을 다섯 개보다 많이 제공하는 경우는 극히 드뭅니다. pcie 분기 기능이 있는 메인보드를 구입한 뒤 그것까지 적극 활용한다 쳐도 여섯 개 아니면 일곱 개입니다. 그리고 인텔의 경우에는 pcie 분기 기능이 포함된 보드가 무지하게 비쌀 뿐만 아니라 지원 수준도 빈약하기 짝이 없습니다.
결국, nvme ssd를 연결하려면 어떻게든 슬롯을 늘려야 합니다. 그리고 여기에는 두 가지 방법이 있습니다.
하나는 메인스트림 서버 제품 또는 이와 기술 기반을 공유하는 워크스테이션 제품을 구입하는 것입니다. cpu 소켓 마다 pcie 레인이 못해도 50여개는 나오기에 일반 가정 소비자라면 NVMe ssd를 원 없이 연결할 수 있습니다. 가장 깔끔한 해법인 이것은, 그러나 동시에 당신의 지갑을 가장 깔끔히 비우게 만드는 방안이기도 한데, 엔터프라이즈 U.3 폼펙터 pcie 4.0 기반 6.4TB ~ 15.36TB ssd를 두어 개는 살 수 있는 금액이 기본으로 청구되기 때문입니다.
자, 생각해 봅시다. 우린 그저 ssd를 연결하고 싶은 것일 뿐입니다. 서버 같은 거 굴리고 싶은 게 아니라요. 솔직히 그 돈이 있으면 대용량 또는 고성능 ssd를 사지 뭣하러 제온 또는 에픽을 삽니까? 애초에 그거 사고 나면 ssd 살 돈이 안 남을 텐데.
이렇게 빈곤한 고민을 하는 가정 사용자를 위한 물건이 준비되어 있습니다. pcie 스위치를 이용한 확장카드가 바로 그것이지요. 그리고, 이것들은 확장카드의 스위치 자체가 pcie 분기 기능을 지니므로 메인보드에 pcie 분기 기능을 요구하지 않습니다.
사실 이러한 물건은 몇 년 전부터 판매가 되고 있었습니다. 단지 가정에서는 쓸 일이 없었을 뿐인데, 글쎄요, 이제는 쓸 일이 생겼죠?
없으면 만드세요. 요즘 SSD 쌉니다.
오늘의 주인공, 큐냅 QM2-4P-384(이하 QM2 AIC)입니다. 제가 알기론, 이거 한국에 정발은 안 한 걸로 아는데 그래도 한국어가 먼저 반겨주는군요.
이 물건은 업스트림 PCIe 3.0 * 8 레인(*)을 이용, 다운스트림 PCIe 3.0 * 4레인 * 4포트을 만드는 확장카드입니다. 즉, pcie aic 슬롯 하나를 제물로 바치어 m.2 슬롯 네 개를 만드다고 보면 되겠습니다.
(*업스트림 레인이 부족해도 모든 슬롯이 작동 합니다. 단, 업스트림이 제한됩니다.)
인텔 컨슈머 메인스트림 12/13세대라면 8레인 슬롯이라고 해보았자 pcie 장치를 딱 하나만 달 수 있을 뿐이니, 슬롯 하나에 장치를 세 개 추가로 더 연결할 수 있게 해주는 효과가 있는 셈입니다. 단, pcie 리비전이 3.0으로 제한된다는 점은 염두에 두어야 합니다.
참고로 이 확장카드는 제조사에서 어떤 pcie 확장 분기 컨트롤러를 사용하였는지 밝히지 않고 있습니다. 일단 이런 유형의 확장카드는 그 특성상 pcie 장비라면 연결을 시도는 해볼 수 있습니다. 이 또한 나중에 테스트할 것입니다.
(제품 개봉, 구성물)
비닐을 벗긴 모습.
전면의 밝은 갈색의 덮개는 히트싱크의 역할을 겸합니다. 좌측의 작은 방열판 아래에는 아마도 컨트롤러가 있을 것입니다. 저것을 분리하면 어떤 컨트롤러를 사용하는지 알 수 있을 것입니다만, 저는 손재주가 아주 나쁘므로 그리하지는 않을 것입니다.
뒷면.
후면에는 제품의 일련 번호와 모델이 적혀있습니다.
컨트롤러가 무엇인지를 유추할만한 정보는 없습니다.
히트싱크 분리
검은색 사각형의 물체는 해당 슬롯을 비워두었을 시 히트싱크를 지지하는 용도의 스펀지입니다. 이 스펀지는 기판에 접착제를 이용하여 약하게 붙어있으며 쉽게 떼어낼 수 있습니다. 떼어내는 과정에서 스펀지는 쉽게 파손되며, 다시 붙이기도 어려우니 유의하십시오.
사격형 안에 들어있는 길쭉한 무언가들은 온도 센서입니다. ssd의 온도를 측정하는데, 위치가 통상 m.2 ssd의 핵심 발열부인 전면이 아니라 후면을 측정하게 되어있습니다. 물론, 전면이 뜨거우면 후면도 덩달아 뜨거워지니 온도의 숫자값 그 자체가 필요한 것이 아니라면 크게 문제가 안 되긴 합니다.
히트싱크는 분리할 적에 기판에 연결된 팬의 케이블이 손상되지 조심해야 합니다.
쉽게 분리가 가능한 구조이며, 설명서에도 이를 다루는 부분이 있습니다.
히트싱크의 팬은 네 개의 핀으로 구성된 단자를 지닙니다만, 이 단자는 대중적인 4핀 pwm 단자하고는 크기가 다릅니다.
동봉된 브라켓. 풀 사이즈 브라켓이 하나, LP 브라켓이 하나(*)가 있고, 좀 특이하게 생긴 브라켓 하나가 들어있습니다. 특이하게 생긴 브라켓은 어디에 쓰는 건지 모르겠네요. 큐냅 NAS 제품 따위에서 사용할 가능성이 있습니다. 어쩌면 hp/델/레노버의 미니pc(**)에서 사용이 가능할지도 모르겠군요.
(*제품 출하시 장착된 상태)
(**이들 회사의 미니 pc 제품 중에 8배속 pcie 슬롯이 달린 게 있는데, 거기에서 쓰는 확장카드는 브라켓 모양이 특이한 경우가 있습니다.)
나머지 구성물은 서멀패드와 ssd 고무 지지대, 나사입니다.
나사는 확장카드 별로 규격이 다르니 분실하지 않게끔 주의해야 합니다. 나사를 구하는 것 자체는 쉽지만, 규격을 아는 것이 어렵습니다.
서멀패드는 ssd의 전면과 히트싱크 사이의 열 전도 물질로서 사용됩니다.
고무 지지대는 ssd와 기판 사이에 집어넣어 (*) ssd를 지지하는 용도입니다. 상당히 중요한 부분입니다. 백플레이트나 지지대 없이 m.2 ssd를 그냥 m.2 슬롯에 연결할 경우 ssd 기판이 휘는경우가 있기 때문입니다. (**)
(*기판에 부착)
(**만약 ssd에 양면을 전부 덮는 히트싱크가 부착되어 있다면 히트싱크가 백플레이트 역할을 합니다.)
저는 나사만을 사용하고 나머지는 사용하지 않았습니다.
(확장카드에 ssd 연결하기)
테스트에 사용할 ssd는 인텔 p8500x, 키오시아 cm6-r, 시게이트 파이어쿠다 530입니다.
인텔 p5800x와 키오시아 cm6-r은 u.3(*) 폼펙터를 사용하는 ssd이므로 별도의 어댑터가 필요합니다.
m.2 슬롯에 연결하는 sff-8643 어댑터를 장착한 뒤 다시 sff-8643/sff-8639 케이블을 이용하여 u.3 ssd를 연결합니다.
(*흔히 u.2 라고도 함)
파이어쿠다 530은 m.2 폼펙터이므로 그냥 장착하기만 하면 됩니다만...
문제가 있습니다. 슬롯간 간격이 극히 좁아 히트싱크를 장착한 것 끼리는 나란히 장착할 수가 없습니다.
그러니 다른 수를 생각하여 봅시다. 두 개는 확장카드에 바로 연결하고, 나머지 두 개는 sff-8639 인클로저를 이용하여 연결하기로 합니다.
만약 여러분이 이 확장카드를 사용하실 것이라면, ssd 자체에 히트싱크를 장착하는 것은 피하는 것이 좋습니다. 히트싱크가 기본 장착된 물건 또한 호환성 문제에서 자유롭지 못합니다. 당장 저 파이어쿠다 530 두 개는 히트싱크를 제가 따로 사서 단 것이 아닌 기본 장착된 것입니다.
본 확장카드의 번들 히트싱크 구성이 상당히 괜찮은 편이니 이걸 이용해 보세요. 단 양면 ssd의 경우에는... 글쎄요.
(테스트 시스템)
본체 사진은 이번에 테스트하면서 찍는 것을 깜빡한 탓에 과거에 올린 것으로 대체합니다. 핵심 요소는 어차피 그대로 유지되고 있습니다.
cpu : i9 12900k. 메인보드 펌웨어 기본 값
ram : 32gb(2*16gb), jedec 4800
mb : msi z690 force
os : win 11 22h2 22621.1992
<msi z690 force 설명서의 pcie 슬롯 구성 설명>
msi z690 force는 총 세 개의 pcie 16 배속 물리 규격 슬롯을 지닙니다. 위에서부터 첫 번째와 두 번째는 cpu발 pcie 5.0 레인이 제공되며, 16/0 혹은 8/8 으로 작동합니다.
마지막 세 번째는 pch발 레인이 제공되며 pcie 3.0 *4 레인으로 작동합니다.
여기서 확장카드는 위 그림의 pci_E2와 pci E3에 해당하는 슬롯에 연결하여 테스트를 진행합니다. 단, pci_E3 테스트는 마지막의 업스트림 제약에 따른 성능 변화를 측정할 때에만 합니다.
(부팅 및 펌웨어 설정 진입과 윈도 확인)
메인보드 펌웨어 단에서도 연결된 ssd가 확인이 됩니다.
그러나 VMD 설정은 불가능합니다. 이게 일부 장치에서는 문제가 될 수 있습니다. 보통은 활성화 하는 경우 문제가 생기는 것이긴 합니다만.
정상적으로 윈도 바탕화면 진입에 성공했고, 정상적으로 크리스탈 디스크 인포를 실행할 수 있었습니다.
pcie 3.0 으로 링크가 되었음을 확인할 수 있습니다.
인텔 스토리지 툴에서도 확인이 됩니다.
pcie 링크 속도의 4000MB/s란 의미는 pcie 3.0으로 링크가 되었음을 알리는 것입니다. 4.0으로 연결된 경우에는 저것이 8000MB/s라고 뜹니다.
(단일 드라이브 테스트)
테스트는 CDM을 이용한 간이 테스트만을 합니다.
모든 테스트는 별도의 ssd 최적화나 운영체제 백그라운드 정리 작업 없이 이루어졌습니다. 따라서 벤치 값이 다소 이상할 수 있습니다.
인텔 p5800x는 os를 실행하는 드라이브이기도 합니다.
<p5800x>
pcie 버전 차이만큼의 성능 하락이 보입니다.
그 외 특이사항 없음.
<참고용 자료 : cm6-r, cpu 직결, pcie 4.0, vmd 유무 테스트>
<cm6-r, cpu 직결/qm2 qic 연결/pch 연결 테스트>
키오시아 cm6-r은 cpu에 직결하여 pcie 4.0으로 사용할 경우, vmd를 사용하는 경우와 아닌 경우의 측정 값 특성에 큰 차이가 있었습니다. vmd를 사용하지 않을 경우, 랜덤 i/o가 개선되고 대신 순차 i/o가 나빠집니다. 위 사진은 과거에 측정한 값입니다.
그러나, 이번 테스트 결과에서는 그러한 차이가 두드러지지 않았습니다.
QM2 AIC에 연결할 때(*)와 pch를 통한 pcie 3.0로 연결했을 때의 성능은 큰 차이가 없었습니다.
cpu에 직결하여 pcie 4.0으로 쓸 때와 QM2 AIC에 연결할 때를 가지고 비교해 보아도, pcie 리비전 차이에 따른 성능 변화 정도이 느껴졌습니다.(**)
vmd 사용 가능 여부를 크게 신경쓰지 않아도 될 것 같군요.
(*VMD 미설정.)
(**pcie 링크가 하향되면 순차 i/o만 나빠지는 것이 아니라 랜덤 i/o도 나빠지는 경향이 있습니다. 설령 그것이 pcie 대역폭 내라 할지라도 말이죠.)
<파이어쿠다 530>
파이어쿠다 530은 인텔 P5800x와 마찬가지로 pcie 리비전에 따른 차이 정도만을 보였습니다.
특이사항 없음.
(스트라이핑 볼륨을 이용한 업스트림 병목 테스트)
QM2 AIC는 pcie 3.0 * 8레인, 즉 64Gbps의 업스트림을 지닙니다. 이것이 네 개의 디스크로 구성된 스트라이핑 볼륨의 성능에 어찌 작용하는지를 확인하여 볼 것입니다.
https://learn.microsoft.com/en-us/powershell/module/storage/new-virtualdisk?view=windowsserver2022-ps
MS측 설명을 참고하여 스트라이핑 볼륨을 생성합니다.
네 개의 디스크로 하나의 풀을 생성한 뒤, 해당 풀에 가상 디스크를 구성합니다. 디스크의 열은 디스크의 개수가 네 개이니 4로 지정.
7.26TB의 단일 볼륨이 만들어졌습니다.
근데 2tb 네 개로 볼륨 만들었으면 8tb여야 하는 거 아닌가여?
나머지 0.74tb 어디로 감???
시게이트 나빠
<파이어쿠다 530*4, qm2 aic 64Gbps 테스트>
그냥 평범한 레이드 0 볼륨의 성능이 나와줍니다.
랜덤 i/o 읽기가 좀 나빠지는 것은 레이드 0 볼륨의 고질적인 특성이니 qm2 aic 탓은 아니겠지요.
특이사항 없습니다.
<파이어쿠다 530*4, qm2 aic 32Gbps 테스트>
pch발 레인을 사용하는 pcie 3.0 * 4 레인 테스트입니다.
업스트림이 깎여나가면 그냥 병목이 심화되기만 할 뿐, 특정 슬롯이 작동하지 않는다던가 하는 문제는 생기지 않음을 앙ㄹ 수 있습니다.
성능 측면의 경우, 스트라이프 자체가 랜덤 읽기를 많이 악화시키는데, pch를 경유하기까지 하여 그런지 4kq1 읽기 성능이 많이 나빠진 걸 확인할 수 있습니다.
사실 제대로 비교를 하려면 cpu발 레인에 확장카드를 연결하되 4배속 제한을 거는 방향으로 테스트를 해야 할 텐데, 개인 사정상 그건 어려울 것 같아요.
4kq1 성능이 나빠진 것을 제외하면 그냥 대역폭이 바뀐 것만큼의 성능차이만이 있습니다.
(ssd가 아닌 pcie 장치 연결)
앞에서 이야기하였듯, 본 확장카드는 스토리지 컨트롤러를 채용한 확장카드가 아닌, 범용 pcie 확장 분기 컨틀롤러를 채용한 컨트롤러입니다.
따라서 이론상으론 pcie 장치라면 다른 것이라도 연결이 가능합니다. 특별히 호환성을 가리는 경우가 아니라면요.
그러니까 이렇게 m.2 to pcie 라이저 케이블을 연결하고
10gbe 2포트 랜카드를 연결하는 것도 이론상 가능하다... 란 말이 되겠습니다.
그리고, 이 세상에는 '이론상으론 가능하다'를 '실전에서도 가능하다.' 로 알아듣는 멋대로 곡해하는 얼간이가 있지요.
일단 윈도에서는 정상 인식 합니다.
pcie 배속도 4배속 정상이고
pcie 리비전도 3으로 정상입니다.
<다른 컴퓨터의 x550-t2에 연결하여 iperf 테스트 진행>
iperf 값도 정상입니다.
일단 NIC 단독으로 부하가 걸리는 상황에서는 특별한 이상이 관측되지가 않았습니다.
<qm2 aic에 10gbe nic를 연결한 뒤 파이어쿠다 530 3개로 스트라이핑 볼륨을 구성후 테스트>
랜카드를 추가로 장착하였다고 하여 스토리지 성능이 저하된다던가... 하는 일은 딱히 있지 않았습니다.
그러나 이것이 테스트의 끝은 아니겠지요.
서버로부터 데이터를 불러와 기록까지 해보아야 정말 정상작동 하는 것인지 알 수 있지 않겠어요?
<읽어올 파일>
<블록다이어그램>
테스트는 간단히 할 것입니다. x550-t2 두 개를 이용, 10gbe 포트 네 개를 만든 뒤 smb 멀티채널을 이용하여 개당 16.1GB의 vhdx 파일 8 개를 로보카피 명령어로 가져와 스트라이핑 볼륨에 기록할 것입니다. 그리고, 같은 방법으로 P5800X에 기록하였을 때와 어떠한 차이가 있는지를 로그로 확인할 것입니다.
전송 테스트는 하지 않을 생각인데, 왜냐하면 대상 기기의 cpu 성능 문제(i3 8100)로 정상 테스트가 불가능하기 때문입니다.
랜 카드는 두 개가 사용되지만, QM2 AIC가 감당해야 하는 랜 카드의 부하는 하나 뿐입니다. 나머지 하나는 pch가 감당할 것입니다.
<로보카피 로그>
<작업관리자 디스크 캡처>
<작업관리자 네트워크 캡처>
로보카피 로그와 작업관리자 캡처샷을 봅시다.
로보카피 로그를 보면 스트라이핑 볼륨 쪽이 유의미하게 느림을 확인할 수 있습니다.
그래도, 이 정도면 단순히 파일을 주고받는 용도로는 괜찮아 보입니다.
솔직히 로보카피 테스트 몇 번 한 걸로 병목을 확인한다는 건 가능한 일이 아니지만... 일단 심각한 병목이 있다면 단번에 드러나지 않았겠습니까?
(마치며)
일단 첫 인상은 괜찮습니다.
특히, 랜덤 i/o 성능 하락이 크지가 않다는 점이 인상깊었습니다. 거치는 단계가 늘어나면 크게 하락한다... 라고 저는 알고 있었거든요.
하지만...
이제와서 하는 말입니다만, 사실 전 이걸 정가에 안 샀습니다. 원래 가격은 미국 아마존 기준 170달러인데, 이걸 100달러로 할인판매할 적에 샀지요. 정가로 170달러 주고 사라 하면, 'sn850x 2TB가 100달러 미만으로 풀리는 시대인데?' 라며 거절했을 것 같습니다. 아 일단 ssd가 많이 있어야 이런 확장카드가 의미가 있지 않겠습니까?
하지만, 글쎄요. 진짜로 연결할 슬롯이 없어서 싸게 풀리는 ssd를 안 사고 있는 사람이라면 이런 것도 괜찮지 않을까요?
아 근데 그래도 정가는 좀...
참고 : 작성 도중에 실수로 글을 한 번 날려먹어서 임시 저장한 것을 불러와 글을 이어 적었습니다.
어디 뭔가 내용이 앞 뒤가 안 맞다면, 이것의 여파입니다.