前回は,Serial ATAの信号計測の下準備について説明しました。今回は,プロトコル・アナライザを利用したSerial ATA通信の計測と解析について解説します。(連載の目次はこちら

 ここではプロトコル・アナライザを用いたSerial ATA通信の計測と解析を説明します。

 プロトコル・アナライザは,その名前の通り通信プロトコルの挙動を計測する機器です。1.5Gビット/秒または3.0Gビット/秒の高速シリアル・ビット・ストリームから通信の解析に必要な情報を取得し,解析レベルに合わせて情報表示を行います。オシロスコープのように信号波形を直接観測することはできません。

 プロトコル・アナライザを使って,計測・解析可能な通信層はリンク層,トランスポート層,コマンド層の三つです。Serial ATAが物理層とこれら三つを合わせた4層から成立していることを考えると,プロトコル・アナライザ1台で大部分の計測・解析が行えることになります。

 ただし,プロトコル・アナライザは物理層が正常に動作していることを前提に計測します。このため,物理層に問題がある場合は十分な情報を入手することができません。プロトコル・アナライザでデータ・エラーが頻繁に発生する場合には,データ・エラーが信号の振幅不足やタイミング不良,雑音などによって起きていることが想定されます。そのような場合は,オシロスコープを使って原因を正確に究明しておく必要があります。

リンク層をプリミティブで確認

 ここからはプロトコル・アナライザの計測結果を基に,物理層の一つ上の層であるリンク層に焦点を当てて説明を行います。

 リンク層はSerial ATA通信を維持するために非常に重要な役割を果たしている層です。リンク層では「プリミティブ」と呼ばれる「10b/8bコード」の組み合わせによって構成されるビット・パターンが使われます(表A-1)。プリミティブを使用することによって,ホストとデバイスの間の通信が維持されています。10b/8bは米IBM Corp.が開発したFibre Channelなどで使用されている高速シリアル転送方式です。8ビットのパラレル・データを,クロックが埋め込まれた10ビットのシリアル・データとして転送する点が特徴です。

表A-1 Serial ATA通信で使用されているプリミティブの例