Design Gatewayのソリューションを採用したAMD ZCU106評価キット上で、PetaLinux NVMeが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評価キットは、Zynq™ UltraScale+™ MPSoCプラットフォームを基盤としており、クアッドコアのArm Cortex®-A53プロセッサと高速プログラマブルロジックを統合しています。この強力な組み合わせにより、技術者は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の性能を最大限に引き出すには、開発者は従来のLinux NVMeスタックが組み込みSoC上でどのように動作するかを理解する必要があります。ZCU106の強力なヘテロジニアスアーキテクチャを使用しても、PetaLinuxシステムはスループットや効率の限界に直面する可能性があります。この課題については、次のセッションで詳しく説明します。
概念の基礎:PetaLinux上のNVMeがボトルネックになりやすい理由
PetaLinuxは、ハードウェアの制御やデータI/Oの管理を行う強力なソフトウェアレイヤを提供していますが、その従来のNVMe実装は、持続的な高スループット性能向けに最適化されていません。LinuxカーネルとARMベースの処理システムとの相互作用により、複数の非効率性の要因が生じ、PCIe Gen4リソースが利用可能な場合でも帯域幅の利用率を制限してしまいます。
- ⚙️カーネルスタックのオーバーヘッド:標準的なNVMeドライバは、完全にLinux カーネル内で実行されるため、複数のコンテキストスイッチ、割り込み処理、バッファのコピー、およびキャッシュメンテナンスが発生します。このようなソフトウェア主導の操作により、IOPSが制限され、帯域幅を十分に活用できなくなります。
- スケジューリングとキュー深度の制限:デフォルトのNVMe設定では、多くの場合、浅いキューと小さなI/Oブロックサイズが使用されます。カーネルスケジューリングオーバーヘッドと相まって、リンク帯域幅が飽和する前にCPU使用率は飽和してしまいます。
- CPU とメモリサブシステムの制約:Zynq UltraScale+ MPSoC のような組み込み SoCでは、DDR帯域幅とPSとPL間のキャッシュコヒーレンシ負荷が、実際の性能の限界となる可能性があります。
- ⚡電源とIRQ管理:オンデマンドCPUガバナーや不均衡な割り込みアフィニティが設定されたシステムは、重いI/O負荷下で性能が低下することがあります。
- 実環境への影響:従来のNVMeドライバを使用し、適切にチューニングされたシステムであっても、約1.5~2.5GB/sを超えることはめったにありません。これはPCIe Gen3x4の最大性能である4GB/sの帯域幅からわずか50~60%に過ぎません。
- Gen4に対応していないPCIeハードブロック:一部のSoCデバイスはPCIe Gen4信号速度(レーンあたり16Gbps)をサポートするトランシーバが搭載されていますが、その内蔵のPCIeハードブロックはGen3動作に制限されたままになっています。このアーキテクチャ上のギャップにより、システムはGen4帯域幅の能力を十分に活用できず、コスト最適化されたFPGAプラットフォーム上で持続的な数ギガバイトのスループットを必要とする、高性能またはデータ集約型アプリケーションに制約が生じます。
限界の突破
この性能の制限を克服するために、開発者は通常、カーネルが管理型ストレージスタックから、ユーザー空間またはハードウェアによるI/O高速化へと移行します。主なアプローチは2つあります。
- 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ドライバに置き換えます。
このハードウェアオフロードアーキテクチャは、PCIe Gen4を完全にFPGAトランシーバを介して実行し、Zynq UltraScale+プラットフォームで7GB/sのスループットを実現します。統一されたDGドライバの下でNVMeG4-IPとデュアルAXI DMAを組み合わせることで、システムはCPUのオーバーヘッドを排除し、PetaLinux上でGen4 x4のフル性能を実現します。
主な機能
- PL上のNVMe Gen4ソフトIP - PCIe Gen4ソフトIPコアを統合した完全なハードウェアオフロード型NVMeソリューションであり、PCIeハードブロックが不要になり、FPGA トランシーバの性能を最大限に引き出します。
- デュアルDMAチャネルによりDMA帯域幅が2倍になり、PCIe Gen4の速度で8GB/sに達します。
- 明確な制御および監視インターフェースを備えてたカスタムPetaLinuxドライバ。ソフトウェアとハードウェア間のデータ転送におけるボトルネックを解消するように最適化されています。
- PLデータパイプラインに簡単に統合を実現するAXI互換インターフェース
- ソースコード、スクリプト、ドキュメント、および迅速な立ち上げ手順を含む完全なデモパッケージ
- 組み込みLinuxをサポートするあらゆるAMD FPGAデバイスに適応可能な移植性の高い設計。
ZCU106における実装および性能結果
図4は、AMD ZCU106評価キット(XCZU7EV)に基づくリファレンス設計の概要を示しています。このシステムは、Design GatewayのNVMe Gen4 Soft IPをデュアルDMAアーキテクチャおよびカスタムPetaLinuxドライバと統合しており、NVMe Gen4 SSDとPetaLinux OS間の高速アクセスを可能にしています。
PetaLinuxリファレンス設計におけるDMA搭載NVMeG4-IPの詳細については、Design Gatewayのウェブサイトで提供されている『NVMeG4-IPリファレンス設計ドキュメント』を参照してください。
図4:リファレンス設計の概要。(画像提供:Design Gateway)
このデモシステムは、ZCU106上のNVMe SSDを使用してデータの書き込みおよび検証を行うように設計されています。テストの実行は、PetaLinux上のシリアルコンソールからDG NVMeアプリケーションを使用して制御されます。このアプリケーションは、高速動作を実現するために、デュアルDMAチャネルを介してホストメモリとNVMe SSDの間でデータを転送します。CPUはセットアップと監視のみを担当し、データの移動はすべてハードウェアで処理されます。
図5に示すように、AB17-M2FMC アダプタボードを使用して、NVMe SSDをFMC-HPCスロットに接続します。
図5:ZCU106に構築されたデモ環境。(画像提供:Design Gateway)
図6は、ZCU106上でデモシステムを実行し、1TBのSamsung 990 Proを使用した場合のテスト結果の1例を示しており、PetaLinux上でPCIe Gen4 x4の帯域幅が完全に活用されていることが確認できます。
図6:ZCU106におけるNVMe SSDの読み取り/書き込み性能比較:従来のNVMeドライバとDG NVMeソリューションの比較。(画像提供:Design Gateway)
まとめ
Design GatewayのPetaLinux向けNVMe Gen4 Soft IPは、Zynq UltraScale+を高性能ストレージプラットフォームへと変換し、Gen4速度において世界初の7 GB/sのスループットを実現しました。NVMeプロトコルをハードウェアロジックに完全に肩代わりさせ、最適化されたPetaLinuxデバイスドライバと組み合わせることで、本ソリューションはソフトウェアレベルのボトルネックを解消し、データパスの効率を最大化するとともに、DAQおよびビデオ処理ワークロードの帯域幅を拡張します。この設計は移植性が高く、効率的であり、高いスループットと決定論的な性能の両方を必要とするエッジシステムや組み込みシステムに最適です。
免責条項:このウェブサイト上で、さまざまな著者および/またはフォーラム参加者によって表明された意見、信念や視点は、DigiKeyの意見、信念および視点またはDigiKeyの公式な方針を必ずしも反映するものではありません。


