アプリケーション | 第6回 - PCI Expressについて 入門編
........
- 更新日
- 2023.05.09
- 公開日
- 2022.06.21
今回は、PCI Expressのウリの1つである高速動作が要因となって生じてしまう弊害、EMI(電磁妨害)についての解説と、PCI Expressを搭載した様々なアプリケーションの紹介です。
1. EMIの低減
これまでの連載でPCI Expressの様々な強みを紹介してきました。PCI Expressのウリの1つが高速動作ですが、その高速動作が要因となって生じてしまう弊害、それがEMI(電磁妨害)です。
PCI Expressは様々な回路が同期して高速動作するため、同時スイッチング(トランジスタが同時にOn/Offを行う動作)する回路が多く、それによって周辺回路に対するEMI(電磁妨害)や電源から供給される電圧の変動を引き起こしてしまう事があります。この問題を抑制するために使用されるのが、「Spread Spectrum」という技術です。このSpread Spectrumによって入力クロックの周波数を揺らすことで、 放射される電磁妨害ノイズのピーク出力を低減することが出来ます。
規格上PCI Expressのリファレンスクロック(100MHz)には、Spread Spectrum(Downspread -0.5%)をかけることが可能です。このSpread Spectrumを印加することで、周辺回路に及ぼす影響を抑制することが出来ます。
100MHzのリファレンスクロックにSpread Spectrum(Downspread -0.5%)をかけることにより、周波数(=1/周期)が99.5MHz~100MHzの間で揺らぎます。
リファレンスクロックの周波数が揺らぐことにより、デバイスから放射されるEMIノイズが分散され、ノイズレベルが下がります。
2. PCI Expressの活用例
ここからは、PCI Expressを活用したアプリケーション事例を紹介します。
ストレージ
昨今のストレージにはHDD(Hard Disk Drive)がよく使われていますが、技術の進歩により、HDDよりも高速に読み書きできる機能を持ったSSD(Solid State Drive:Flash Memoryを利用した記憶装置)が誕生しました。SSDの誕生当初はHDDで動くシステムが主流だったので、SSDを普及させるために、SSDのインターフェースとしてSATA(Serial ATA)やSAS(Serial Attached SCSI)を採用する必要がありました。
その後SSDの普及が進むにつれ、高速で読み書き可能なSSDの強みを最大限に活かすための新規格が求められるようになり、「次世代の接続規格」の異名を持つNVMe(Non-Volatile Memory Express)が生まれました。
現在主流となっているSSDには、PCI Express接続のNVMeタイプとSATAタイプの2種類がございます。表6-1でそれらの比較をします。
表6-1. NVMe / SATA SSD 一般的な呼称と機能・性能比較
一般的な呼称 | NVMe SSD | SATA SSD |
---|---|---|
接続インターフェース | PCI Express | SATA |
通信プロトコル | NVMe | AHCI |
転送速度(理論値) | 64Gbps(PCI Express Gen4 ×4レーン構成) | 6Gbps |
形状 |
|
|
厳密には、NVMeは通信プロトコル規格、SATAは接続インターフェース規格に分類されますが、一般的に「NVMe SSD」「SATA SSD」と呼ばれることが多いため、上記の表6-1では一般的な表現で記載しております。なおSATA SSDの通信プロトコルには、AHCI(Advanced Host Controller Interface)が採用されております。
NVMe SSDはNVMeコントローラを搭載しております。接続インターフェースにはPCI Expressが使われ、この速度によって転送速度が決まります。最新のNVMe SSDではPCI Express Gen4 x4レーン構成が多く採用されており、転送速度は最大64Gbpsです。SATA SSDは最大6Gbpsですので、転送速度の差は10倍以上にもなります。
NVMe SSDの形状(タイプ)には「CEM仕様(PCI-SIG)」「U.2(SFF-8639)」「M.2」の3種類があり、現在の主流はM.2タイプです。小さく薄いスティック形状のカードで、ボード上のM.2スロットに挿して使用します。Type2240、2260、2280などの記載はカードのサイズを示しており、数字4桁の前半2桁が幅、後半2桁が長さを表します。
既にPCI Express Gen5対応のNVMe SSD製品がリリースされ始めています。接続インターフェースが現行のGen4からGen5 x4レーンに変わることで、転送速度は128Gbps(16GB/s)まで高速化されることになります。
産業用ロボット
PCI Expressは信頼性が高く転送速度が大きいことから、FAの分野にも数多く採用されています。その一例として、FAアプリケーションの1つである産業用ロボットへの採用事例(概要)を紹介します。
お客様は国内メーカ様で、製品のマニピュレータを制御するコントローラ部に、PCI Expressが採用されております。図6-8に、コントローラ部のブロック構成を示します。 PCI Expressは、マニピュレータを駆動する各モータの動作を制御するASICと、システムを管理するプロセッサとの接続に使われており、ASIC-プロセッサ間通信で高い信頼性を実現しております。
ネットワーク拡張
▶ Ethernet Switch
昨今はEthernetも高速化しており、多数のEthernet portを持つEthernet Switchをプロセッサに実装するために、PCI Expressが利用されております。
▶ 10GbE port(10Gigabit Ethernet port)
今や非常に高速な10GbE portを搭載するPCも増えてきました。プロセッサやブリッジチップが10GbEインターフェースを内蔵していない場合には、 PCI Expressで10GbEサポートデバイスを接続し、portを増設することになります。
▶ Network Accelerator(スマートNIC)
プロセッサのソフトウェア処理から、高速化するネットワーク処理をオフロードするために使用されるのが、Network Acceleratorです。プロセッサとの間を高速でやり取りするために、PCI Express接続が必須になります。ネットワークインターフェースを持つ製品は、スマートNICと呼ばれることもあります。
▶ 車載向けコミュニケーションゲートウェイ
急速に進化する自動車のアーキテクチャでは、インターネットやクラウドサービスへの接続と、多様な高速ネットワークへの対応が必要となります。高速且つ大容量のデータのやり取りに、PCI Expressの活用が期待されています。
データ処理拡張
▶ GPU(Graphics Processing Unit)
近年、深層学習および、機械学習アプリケーションで生成される大量のデータを高速に処理する用途で、GPUの使用が増えています。一方でGPUの使用によってシステムのボトルネックが顕在化しないよう、PCI Expressの活用に注目が集まっています。
▶ DPU(Data Processing Unit)
DPUはデータの移動・保存に関する機能を担うデバイスを指し、TCPとRDMAによるネットワークアクセラレーション、データ圧縮、ネットワーク仮想化、データ暗号化などの処理を行います。Network Accelerator(スマートNIC)との違いは、特定のネットワーク処理だけが対象ではないことと、プログラマブルなことによって、処理能力と搭載メモリ次第で高度な構成を実現出来ることです。
多目的
▶ PCI Express Switch
▶ USB Hub
昨今のデバイスは、必ずと言って良いほどUSBをサポートするようになりました。マザーボード上に多ポートのUSBを実装する場合や、USB3.2 Gen2やGen2x2等の高速インターフェースを実装する場合、マザーボードとの接続は必然的にPCI Expressが選択されます。
▶Thunderbolt
主にIntelプロセッサやアップルのデバイスでサポートされているインターフェースで、USBを上回る高速化を実現する為、マザーボードとの接続は必然的にPCI Expressが選ばれています。
3. まとめ
PCIeの基本や高い信頼性を担保する機能について、全6回の連載記事にてご紹介してきました。以下に全6回の記事リンクを用意しましたので、お気に入り登録頂ければ幸いです。今後もPCIeの使用用途/採用分野は拡大し、規格も進化していくことでしょう。その時はまた記事を掲載していこうと思います。
<連載一覧>
PCI Expressについて 入門編 - 第1回 PCI Expressとは
PCI Expressについて 入門編 - 第2回 拡張性とマルチホスト
PCI Expressについて 入門編 - 第3回 信頼性の高い接続
PCI Expressについて 入門編 - 第4回 信頼性の高いデータ転送
PCI Expressについて 入門編 - 第5回 その他の機能
PCI Expressについて 入門編 - 第6回 アプリケーション