최근 입수한 확장 카드는 단순한 PCIe 멀티포트 카드가 아니다. WisdPi에서 AMD AM5소켓보드용 B650칩셋을 실장한 PROM21 확장카드를 입수하였다.
이 장치는 AMD B650 사우스브릿지를 PCIe 애드온 카드 형태로 외부화한 오픈소스 구현체다. 즉, 일반 메인보드에서 CPU와 사우스브릿지를 PCIe 4.0 x4 링크 하나로 호스트 시스템에 붙여버린 구조다.
이 글에서는 해당 카드의 아키텍처적 특성, 펌웨어 구조, 호환성 문제, 링크 트레이닝 조건, EPYC 플랫폼에서의 비정상적인 칩셋 노출, USB·NVMe·SATA의 대역폭 동작, 그리고 왜 이런 물건을 사게 되었는지까지 과정을 담는다.
1. 아키텍처 개요 : PCIe switch + USB + SATA + NVMe를 하나의 칩셋이 제공
- PCIe 4.0 x4 업/다운링크
- USB 3.2 gen2 10Gbps ×4
- USB 3.2 gen2x2 20Gbps ×1
- USB 2.0 480Mbps ×6
- SATA AHCI 4port or Oculink(U.2) 케이블 선택
- 칩셋 RAID는 B650/X670/X870계열 메인보드에서만 UEFI펌웨어 메뉴가 노출 ※OS부팅 후 소프트웨어 RAID는 정상 동작
사실 AMD 건 인텔이건 칩셋은 사실 PCIe 스위치 + USB/SATA 컨트롤러 집합체다. 인텔은 자체적으로 설계하여 PCIe와 거의 같으면서도 다른 전용 프로토콜 DMI로 CPU와 연결되어 있을 뿐 역할은 같다. AMD의 경우, Asmedia에 설계외주로 발주하여 CPU의 IOdie와 통신을 전용 프로토콜이 아닌 일반적인 PCIe장치처럼 통신하게 된다. 따라서 B650칩셋이 AMD이외 시스템이건, 심지어 X86이 아닌 Arm시스템 (Mac, Raspberry Pi등)에도 드라이버 없이 잘 붙는다.
일반 컨슈머 시스템에는 고생없이 PCIe슬롯에 꽂아서 링크 트레이닝만 성공하면 동작한다. 하지만 시스템에 따라서는 이 링크 트레이닝이 잘 안되는 경우가 있을 수 있다.(내가 그랬다)
칩셋은 OS 입장에서 표준 USB 컨트롤러, 표준 AHCI, 표준 PCIe Root Port로 보이기에 각 OS표준 드라이버가 있다면 별도 설치하지 않아도 동작하며, OS는 “칩셋이 PCIe로 연결되었다”는 사실을 모르고 그저 새로운 Root Complex가 하나 더 생긴 것으로 인식한다.
2. 칩셋이 없어야 할 또는 없어도 될 환경에서 칩셋의 등장
SP3 또는 SP5 기반 EPYC은 원래 칩셋이 존재하지 않는 SoC 구조다. 칩셋이 없는 구조는 AMD 서버CPU 뿐만 아니라 AMD 또는 Intel 양사가 CPU 패키지 안에 SiP 구조 또는 완전한 원칩SoC로 통합했기에 딱히 신기한 구조는 아니다. 아직 CPU와 칩셋을 분리해 놓은 데스크탑용 CPU도 고전적인 순수CPU만 가지고 있는 것이 아니고, 기능이 여럿 통합된 SoC구조라서 내부에는 USB·SATA·메모리 컨트롤러를 포함해서 확장I/O용 PCIe Root Complex가 CPU 내부에 존재한다. 이런 점은 intel, AMD, Zhaoxin이건 다 똑같다.
CPU‑Z의 메인보드 화면에서 칩셋 항목이 SP3 SoC로 표시되는 것이 정상인데, 이 카드를 꽂으면 칩셋이 존재하지 않는 EPYC시스템에서 맨위의 화면과 같이 신기한 광경이 펼쳐진다.
- CPU‑Z: X870 칩셋이 존재하는 것처럼 표시
- Windows는 메인보드 변경으로 판단 → PIN 로그인 초기화
- Windows 정품인증: Microsoft 계정 미연결 시 정품 인증 재요청
왜 이런 현상이 나는지에 앞서 사전지식으로, 칩셋은 ACPI device tree에 SB.PCI0.PCH0 같은 장치 노드를 생성한다. 여기서 SB는 사우스브릿지, PCI0는 CPU의 pcie루트 포트, PCH0가 칩셋이다. EPYC 플랫폼은 원래 PCH0 노드가 없는데, 카드가 자체적으로 ACPI 오브젝트를 생성해버린다. SB (system bus root) └─ PCI0 (PCIe root complex) : 0,1,2,3,4,... └─ PCH0 (칩셋. intel용어로 Platform Controller Hub)
즉, OS 입장에서 “메인보드 칩셋이 새로 생김 → 하드웨어 변경”으로 판단한다.
3. 초기 인식 문제와 해결법
신기한 광경이 펼쳐지기는 한데 처음부터 잘 되는 건 아니다..
- POST 단계에서 멈춤
- Windows 로그인화면 직전에 아무 에러 메세지도 없이 재부팅
- Linux의 dmesg 에러 남발 (PCIe AER, Link retrain 실패 등)
칩셋을 포함에 PCIe에 붙은 장치들에 대해 link training 과정에서 ASPM L1.1/L1.2를 사용한다. 하지만 일부 서버 보드에서 training과정이 실패하고, 칩셋 내부 컨트롤러가 초기화되지 않아서 위와 같은 문제가 발생한다. 에러를 잔뜩 뿜으면서 가까스로 부팅은 했지만, OS가 부팅 후 장치 재초기화를 제대로 할 수 없어 결과적으로 사용할 수 없는 상태가 지속된다.
이 문제를 해결하기 위해서는 아래 4가지를 시도해보자.
- BIOS/BMC 업데이트
- ACPI 옵션 OFF
- ASPM 옵션 OFF
이렇게 해서 training이 정상적으로 이루어지면, 모든 기능이 안정적으로 동작한다. 안정적 동작이 확인된 후에는 위의 ACPI과 ASPM옵션을 켜도 될 것이다. 만약 다시 안된다면 옵션을 끄는 것이 좋다.
4. PROM21 카드의 PCIe 4.0 x4 대역폭 실제 성능
- M.2 slot : 4개를 x4/0/0/0부터 x2/x2/0/0을 포함해 x1/x1/x1/x1까지 분배가능
NVMe 1장 단일 구성은 약 7 GB/s에 업링크 한계에 근접 - USB : 20Gbps 실측 약 1.8 GB/s
- NVMe와 USB를 동시에 사용해도 업링크가 버팀
- Oculink-SATA 4포트, 포트당 약 550 MB/s, 4개 풀로드 시 약 2.2 GB/s
5. 이 카드를 구입한 이유와 장단점
Supermicro H12SSL-NT은 USB 포트가 3.0 5Gbps 6개뿐이고 간혹 이유없이 먹통이 된다. 그래서 대안겸 가상화 패스스루가 잘된다는 리뷰를 토대로 포트당 Root Hub를 가진 Startech PEXUSB3S44V를 구입해 사용했지만 여러 문제가 있었다. 일반적인 메인보드에서는 아무 문제가 없다보니, 서버보드와 상성문제로 보인다.- H12SSL에서는 가끔 두 포트만 인식
- UEFI 부팅 불안정
- PCIe 리트레이닝 실패
USB4 카드는 Thunderbolt 제약(GPIO통신용 전용 포트가 필요) 때문에 장착 불가능했다. 안정적인 USB 남은 선택지가 사실상 이 B650 칩셋 카드뿐이었다. 다소 트러블 슈팅이 있었지만 현재는 supermicro H12SSL-NT보드에서 모든 기능이 정상동작하고 심지어 USB나 M.2포트를 통해 부팅도 가능한 것을 확인했기에 아주 만족하고 있다. 단점이라면, 가격에 거부감이 들 수 있다는 점이다. 26/8/1 현재 $199이며 B650보드가 더 저렴하게 팔리는 것을 생각하면 부품을 보유한 사람에 한해서는 비싸게 느껴질 것이다. 단 한가지 기능만 추가할 생각이라면 PROM21보다는 각 기능에 특화된 x4 대역폭에 적합한 확장카드 구입가격이 훨씬 저렴하다.
- 대역폭은 작지만 PCIe2 x2를 x1 4포트 PCIe스위치를 aliexpress에서 저렴하게 구할 수 있다.
- SATA만을 확장하고 싶다면 x8 SAS HBA를 사는 것이 성능/안정성/가격 면에서 좋다. 슬롯문제로 x4가 반드시 필요하다면 aliexpress에서 2.0 x4 16포트 확장카드도 저렴하게 구할 수 있다.
- USB 10~20Gbps 확장카드도 저렴하게 구할 수 있다.
- 드라이버가 필요없어서 Mac, Raspberry Pi 등 ARM시스템에서도 문제없이 동작한다.
- M.2 1슬롯 SATA 3.0 (~500MB/s) 5포트확장.
- 1080p60 또는 4K60 캡쳐보드 ※M.2 캡쳐보드 PCIe버전은 대부분 2.0 x1 or x2
- Legacy용 시리얼포트 또는 프린터포트 대량확장 ※이런 것들은 거의 전부 PCIe 1.0 x1이다.
6. 총평 — “외장형 PCH”라는 기괴한 구조가 의외로 실용적이다.
장단점이 분명하게 존재하지만, 쓰임새에 따라서는 이만한 가성비도 없다.
이 카드는 사실상 ASMedia 기반 PCIe 스위치 + USB/SATA 컨트롤러 집합체이며, “외장형 PCH”라는 일반적이지 않은 구조에도 불구하고 정상적인 칩셋처럼 동작한다.
또한 PCIe 스위치가 통상적으로 매우 비싸기 때문에, 이 카드는 적당한 대역폭의 PCIe 스위치를 저렴하게 대체하는 실용적 솔루션이 될 수 있다. 현재로서는 오픈소스로 자체제작을 제외하면 한두제품만 존재하여 상대적으로 비싼 감이 있지만, 추후 이런 옵션도 가능하다는 점이 붐이 일어서 가격이 떨어지기를 기대해 본다.