計測機器の大手ベンダAgilent Technologiesの日本法人であるアジレント・テクノロジーは、PCI Expressバスに意図的にエラーを挿入するツール「N5323A」を開発、販売と出荷を開始したと発表した。PCI Expressバスに対応した拡張カードやシステムなどの設計検証用である。

同ツールは専用ボードや制御用ソフトウェアなどで構成される。PCI Expressのコネクタを搭載したマザーボードにN5323Aの専用ボードをPCI Expressコネクタ経由で接続し、専用ボードにPCI Expressバスボード(拡張カード)を接続する。N5323Aの制御用ソフトウェアはPCにインストールしておき、専用ボードとPCをUSB接続する。

「N5323A」を使ったセットアップの例。左側のノートPCにはN5323Aの制御用ソフトウェアをインストールしてある。右側はマザーボードのPCI ExpressコネクタにN5323Aの専用ボードを挿入し、さらにPCI Express対応ボードを接続した

マザーボードがPCI Expressバスを通じてPCI Expressバスボードに信号列を送ると、あらかじめ設定された条件にしたがってN5323A専用ボードが信号列にエラーを挿入する。N5323A専用ボードとPCI Expressバスボードのやりとりをプロトコル・アナライザ(別に用意する必要がある)で解析し、エラー発生時の動作を評価する。

PCI Expressバスにエラーを挿入できる層(レイヤ)は、物理層、データリンク層、トランザクション層である。エラーは、バスボード方向とシステム(マザーボード)方向のどちらにも挿入できる。システム全体での検証作業や、市場不良の解析などに威力を発揮するツールといえる。

「N5323A」の使われ方(アジレント・テクノロジーではプロトコル・アナライザ「E2960B」、バスエクササイザ「E5309A」と組み合わせ、設計および検証の各段階における解析作業をサポートすることを考えている)

「N5323A」の価格はPCI Expressの世代およびリンク(レーン)幅によって価格が異なる

一例として物理層のレーンにN5323Aでディスパリティエラーを与え、同社のプロトコル・アナライザ「E2960B」で解析した結果を紹介しよう。N5323Aと拡張カードの間の信号をプロトコル・アナライザで解析する。

PCI Expressの拡張カード方向にエラーを与え、プロトコル・アナライザで解析するセットアップの模式図

PCI Expressでは正常にデータを受信すると、「ACK」信号を返信してデータが正常に受信したことを知らせる。送信側は"ACK"の受信によってデータが正常に送信できたことを知り、次のデータの送信に取りかかる。

これに対してディスパリティエラーを与えると、受信側は正常に信号を受信できず、異常信号の受信を知らせる「NAK」信号を返信する。"NAK"信号を受信した送信側は、ただちに同じデータを再送信する。

しかし実際のシステムでN5323Aを使って拡張カードにディスパリティエラーを与えると、"NAK"信号を返信せずに、拡張カードが何の応答もしない場合が出てきた。このように実際のシステムでエラーを意図的に挿入することで、新たにバグを見つけることができる。

プロトコル・アナライザによる解析画面。5行目(青色)にディスパリティエラーが挿入され、6行目(桃色)に「NAK」信号が返信されている

プロトコル・アナライザによる解析画面(1行目と11行目にディスパリティエラーが挿入されている。11行目(レコードナンバー129375)のディスパリティエラーに対しては、拡張ボードが何も応答していない)