Serial Attached SCSIとの共存を考慮したPCI Expressシステム設計 ――最大性能を引き出すためのバッファ,エラー制御,レイアウトの考えかた
ここで,Serial Attached SCSIの一つのPHY用として1,024バイトのバッファを五つ持つデバイスを考えてみましょう.このうち二つのバッファはSerial Attached SCSIリンクへの送信とPCI Expressからの受信に用います.残りの三つのバッファはSerial Attached SCSIからの受信とPCI Expressへの送信に用います.この使用方法は,複数のフレームをバック・ツー・バック接続で転送する場合には,バッファ数を最小にとどめることができます.
Serial Attached SCSIとPCI Expressは,フレーム転送のためにフロー制御を必要とします.一つのフレームを送信するには,送信側は予期した行き先(受信側)からフレームごとにクレジット(送信許可)を受け取る必要があります.クレジットとは,フレームを受け取るためのバッファが利用可能な状況にあるかどうかを知らせるために,受信側から送信側へ送る信号(RRDY)のことです.受信側がフレームを受け取る用意ができていれば送信側はRRDY信号を受信して,フレームを送る許可を得ます.
受信フレームが有効になると,PCI Expressへの転送のためにバッファを利用できるようになります.バッファ内のデータに応じたコマンドやシステム配置がI/O管理によって決定されます.また,PCI Expressのフレーム・クレジットも転送されます.いったんフレーム転送の成功を示すACK DLLP(data link layer packet)が受信されると,PCI Expressフレームの転送に用いられるバッファは別のSerial Attached SCSIフレームを受信するために用いられるようになります.PCI ExpressからSerial Attached SCSIへのバッファ転送も,これと似たような手順で行われます.