PetaLinux NVMe, Design Gateway의 솔루션을 사용하여 AMD ZCU106 평가 키트에서 7GB/s 속도 돌파
2026-03-11
임베디드 Linux의 Zynq™ UltraScale+™ MPSoC 설계 중 대다수는 PCIe Gen3 하드 블록과 함께 표준 NVMe 드라이버를 사용하는 경우 처리율이 2GB/s 정도에 불과합니다. 이 기사에서는 FPGA의 PCIe 하드 블록에 의존하지 않고 PCIe Gen4 속도로 작동하는 세계 최초의 NVMe PetaLinux 솔루션을 소개합니다. 이러한 혁신은 NVMe IP 코어와 Design Gateway의 맞춤형 장치 드라이버를 함께 사용함으로써 달성할 수 있습니다. 이 기사에서는 AMD ZCU106 평가 키트에서 메인스트림 NVMe Gen4 SSD로 약 7.5GB/s의 읽기 및 6.9GB/s의 쓰기가 가능함을 보여주고, Design Gateway의 기술이 임베디드 Linux 플랫폼에서 고속 NVMe의 잠재력을 최대한으로 활용하는 방법을 소개합니다.
Zynq™ UltraScale+™ MPSoC ZCU106 평가 키트 소개
AMD ZCU106 평가 키트는 쿼드 코어 Arm Cortex®-A53 프로세서를 고속 프로그래밍 가능 논리와 통합한 Zynq™ UltraScale+™ MPSoC 플랫폼을 기반으로 제작되었습니다. 이 강력한 조합을 통해 PetaLinux와 같은 전체 운영 체제를 실행함으로써, 단일 환경 내에서 소프트웨어 제어, 고속 I/O 관리 및 FPGA 가속기 작동을 실현할 수 있습니다.
그림 1: AMD Zynq™ UltraScale+™ EV(이미지 출처: Advanced Micro Devices, Inc.)
그림 2: AMD Zynq™ UltraScale+™ MPSoC에서 실행되는 Linux(PetaLinux) — 소프트웨어의 유연성과 FPGA 하드웨어 가속의 조합(이미지 출처: AMD)
그러나 PCIe Gen4 NVMe SSD의 잠재적인 성능을 온전히 활용하려면, 개발자는 임베디드 SoC에서 기존 Linux NVMe 스택이 어떻게 작동하는지도 이해해야 합니다. ZCU106의 강력한 이기종 아키텍처를 사용하더라도 PetaLinux 시스템에서는 처리율 및 효율성 제한이 발생할 수 있습니다. 다음 섹션에서 이러한 문제를 살펴보겠습니다.
개념 입문: PetaLinux에서 NVMe와 관련된 병목 현상의 원인
PetaLinux는 하드웨어 제어와 데이터 I/O 관리를 위한 강력한 소프트웨어 계층을 제공하지만, 기존의 NVMe 구현은 지속적인 고처리율에 최적화되어 있지 않습니다. Linux 커널과 ARM 기반 프로세싱 시스템 간의 상호 작용으로 인해 여러 종류의 비효율성이 발생하여, PCIe Gen4 리소스가 지원 가능한 경우에도 대역폭 활용이 제한됩니다.
- ⚙️ 커널 스택 오버헤드: 표준 NVMe 드라이버는 전적으로 Linux 커널 내부에서 실행되며, 여기에는 여러 컨텍스트 스위치, 인터럽트 처리, 버퍼 복사 및 캐시 유지 관리가 관련됩니다. 이러한 소프트웨어 기반 작업은 IOPS를 제한하고 대역폭을 최대한 활용하지 못하도록 합니다.
- 스케줄링 및 큐 깊이 제한: 기본 NVMe 구성은 얕은 큐와 작은 I/O 블록 크기를 사용하는 경우가 많습니다. 커널 스케줄링 오버헤드와 결합되면, 링크 대역폭이 포화되기 전에 CPU 활용률이 포화됩니다.
- CPU 및 메모리 서브 시스템 제약: Zynq UltraScale+ MPSoC와 같은 임베디드 SoC에서는 PS와 PL 간의 DDR 대역폭 및 캐시 일관성 트래픽이 현실적인 성능의 한계로 작용할 수 있습니다.
- ⚡ 전력 및 IRQ 관리: 온디맨드 CPU 거버너 또는 불균형 인터럽트 선호도로 구성된 시스템은 I/O 워크로드가 많을 때 성능의 저하가 발생할 수 있습니다.
- 실제 영향력: 기존 NVMe 드라이버를 사용하는 잘 조정된 시스템도 약 1.5GB/s ~ 2.5GB/s를 초과하는 경우는 거의 없습니다. 이는 4GB/s 대역폭(PCIe Gen3x4의 최대 성능)에서 50% ~ 60%에 불과한 수준입니다.
- Gen4에서는 PCIe 하드 블록 사용 불가: 특정 SoC 장치에는 PCIe Gen4 신호 속도(레인당 16Gbps)를 지원하는 트랜시버가 있지만, 내장된 PCIe 하드 블록은 여전히 Gen3 작동으로 제한되어 있습니다. 이러한 아키텍처 격차로 인해 시스템이 Gen4 대역폭의 잠재력을 최대한 활용하지 못하게 되므로, 비용 최적화된 FPGA 플랫폼에서 지속적인 멀티 기가바이트 수준의 처리율을 요구하는 고성능 또는 데이터 집약적인 응용 제품에서는 제약이 발생합니다.
한계 극복 방법
이러한 성능 한계를 극복하기 위해, 개발자는 일반적으로 커널 관리형 스토리지 스택으로부터 사용자 공간 또는 하드웨어 가속 I/O로 이동하게 됩니다. 여기에는 두 가지 주요 접근 방식이 적용됩니다.
- SPDK/DPDK 프레임워크: 사용자 공간에서 폴링 모드 드라이버를 사용하고 커널 컨텍스트 스위치 및 인터럽트를 제거합니다. 하지만 이 방법은 막대한 CPU 리소스를 소모합니다.
- FPGA 오프로드(예: NVMe-IP + DMA 엔진): 명령 처리, 큐잉 및 데이터 전송을 프로그래밍 가능한 논리로 이동하여, 결정론적 하드웨어 수준의 성능으로 유선 속도에 가까운 처리율을 달성합니다.
솔루션 아키텍처
그림 3: Zynq UltraScale+를 사용하는 PetaLinux의 NVMe 솔루션 비교(이미지 출처: Design Gateway)
Design Gateway의 DMA PetaLinux 솔루션은 기존의 PCIe 하드 IP 및 NVMe 드라이버를 소프트 NVMeG4-IP 코어와 맞춤형 DG NVMe 드라이버로 대체합니다.
이 하드웨어 오프로드 아키텍처는 전적으로 FPGA 트랜시버를 통해 PCIe Gen4를 실행하여 Zynq UltraScale+ 플랫폼에서 7GB/s의 처리율을 달성합니다. 통합 DG 드라이버 아래에 NVMeG4-IP와 듀얼-AXI DMA를 결합하여 CPU 오버헤드를 제거함으로써, PetaLinux에서 완전한 Gen4 x4 성능을 달성하도록 지원합니다.
주요 특징
- PL의 NVMe Gen4 Soft IP - PCIe Gen4 Soft IP 코어를 통합하는 완벽한 하드웨어 오프로드 NVMe 솔루션으로, PCIe 하드 블록이 필요하지 않으며 FPGA 트랜시버의 잠재적인 성능을 최대한으로 활용할 수 있습니다.
- 듀얼-DMA 채널로 DMA 대역폭을 두 배로 늘려, 8GB/s의 PCIe Gen4 속도를 달성합니다.
- 맞춤형 PetaLinux 드라이버로, 소프트웨어-하드웨어 간 데이터 이동의 병목 현상을 제거하도록 최적화된 깔끔한 제어 및 모니터링 인터페이스를 갖추고 있습니다.
- AXI 호환 인터페이스를 통해 PL 데이터 파이프라인 내에서 간편한 통합이 가능합니다.
- 완전한 데모 패키지에는 소스 코드, 스크립트, 설명서 및 빠른 불러오기 지침이 포함되어 있습니다.
- 휴대용 설계로 임베디드 Linux를 지원하는 모든 AMD FPGA 장치에 적용 가능합니다.
ZCU106의 구현 및 성능 결과
그림 4는 AMD ZCU106 평가 키트(XCZU7EV) 기반 참조 설계의 개요를 보여줍니다. 이 시스템은 Design Gateway의 NVMe Gen4 Soft IP와 듀얼-DMA 아키텍처 및 맞춤형 PetaLinux 드라이버를 통합하여, NVMe Gen4 SSD와 PetaLinux OS 간의 고속 액세스를 가능하게 합니다.
PetaLinux에서 DMA가 포함된 NVMe Gen4 IP 참조 설계에 대한 자세한 내용은 Design Gateway의 웹 사이트에 제공된 PetaLinux에서 DMA가 포함된 NVMe Gen4 IP 참조 설계 문서를 참조하시기 바랍니다.
그림 4: 참조 설계 개요(이미지 출처: Design Gateway)
데모 시스템은 ZCU106에서 NVMe SSD를 사용하여 데이터를 쓰고 검증하도록 설계되었습니다. 테스트 실행은 DG NVMe 애플리케이션을 사용하여 PetaLinux의 직렬 콘솔을 통해 제어됩니다. 이 애플리케이션은 고속 작동을 위해 듀얼 DMA 채널을 통해 호스트 메모리와 NVMe SSD 간에 데이터를 전송합니다. CPU는 설정과 모니터링만 담당하며, 모든 데이터 이동은 하드웨어에서 처리합니다.
그림 5와 같이, NVMe SSD를 FMC-HPC 슬롯에 연결하기 위해서는 AB17-M2FMC 어댑터 기판이 사용됩니다.
그림 5: ZCU106에 설정된 데모 환경(이미지 출처: Design Gateway)
그림 6에는 1TB 삼성 990 Pro를 사용하면서 ZCU106에서 데모 시스템을 실행한 예제 테스트 결과가 표시되어 있으며, PetaLinux에서 PCIe Gen4 x4 대역폭이 최대한 활용되는 것을 확인할 수 있습니다.
그림 6: ZCU106에서 NVMe SSD 읽기/쓰기 성능 비교: 기존 NVMe 드라이버와 DG NVMe 솔루션(이미지 출처: Design Gateway)
결론
Design Gateway의 PetaLinux용 NVMe Gen4 Soft IP는 Zynq UltraScale+를 고성능 스토리지 플랫폼으로 전환하여, Gen4 속도에서 세계 최초로 7GB/s의 처리율을 달성합니다. 이 솔루션은 최적화된 PetaLinux 장치 드라이버와 함께 NVMe 프로토콜을 하드웨어 논리로 완전히 오프로드하고, 소프트웨어 수준의 병목 현상을 제거하며, 데이터 경로 효율성을 극대화하고, DAQ 및 영상 처리 워크로드의 대역폭을 확장합니다. 이 설계는 휴대가 간편하고 효율적이며 높은 처리율과 결정론적 성능을 모두 요구하는 에지 또는 임베디드 시스템에 이상적입니다.
면책 조항: 이 웹 사이트에서 여러 작성자 및/또는 포럼 참가자가 명시한 의견, 생각 및 견해는 DigiKey의 의견, 생각 및 견해 또는 DigiKey의 공식 정책과 관련이 없습니다.


