Altera社製FPGAへの 市販SATAコア実装事例

特集
ハイビジョン非圧縮動画の記録もできる
第3章
4 チャネル束ねて使えば 1G バイト/ 秒の怒濤の超高速転送を実現できる
Altera 社製 FPGA への
市販 SATA コア実装事例
石川 康彦
Yasuhiko Ishikawa
この章では GXトランシーバ内蔵の最新 Altera 社製 FPGAに SATA-IPコアを実装して,SATAインターフェースを
構築するデザインや応用例について紹介します.大容量ファイルを扱えるexFAT の適用や,複数ドライブを並列動
作することで,転送帯域を飛躍的に高められるRAID(Redundant Arrays of Inexpensive Disks)デザイン,さらに
SATAアプリケーションの実用例として,1 対 3 デュプリケータ(データ・コピー機)について紹介します.
1.Altera 社製 FPGA の
GX トランシーバの活用
● SATA 対応 GX トランシーバ
FPGA で SATA インターフェースを構築する場合,
SATA 規格に対応可能なトランシーバ内蔵タイプが
使えます.SATA ケーブル内を流れる高速シリアル
信号自体は PHY レイヤを実装したトランシーバで送
受信しますが,ユーザからリード / ライト・データと
してアクセスするためには,FPGA 内部ファブリック
や内蔵 CPU で構築したリンク / トランスポート / アプ
リケーションなどの上位レイヤで処理する必要があり
ます.
すなわち GX トランシーバは PHY レイヤとして使
い,上位レイヤに SATA-IP コアや Nios Ⅱ CPU を応
用して評価ボードに組み込んで実用的なシステムとし
てデザインします.
● GX トランシーバの SATA 設定
Altera 社の最新 FPGA には,高速シリアル通信を
可能とする GX トランシーバが内蔵されたデバイスが
用意されています.そのトランシーバを応用すること
で,SATA インターフェースを構築できます.ここ
で 紹 介 す る Stratix IV GX,Stratix V GX,Arria V
GX デバイスのトランシーバは,最新となる SATAⅢ 規 格(6Gbps)を 超 え る 帯 域 を 持 っ て お り, か つ
SATA の初期化に必要な OOB 信号の生成 / 検出機能
を内蔵するため,SATA- Ⅲの実装も可能です.
各種高速シリアル通信規格へ柔軟に対応するため,
GX トランシーバは複雑かつ高機能であり,多数のパ
ラメータを設定する必要があります.PCI Express や
10GBase-R,XAUI などのメジャーなプロトコルに対
しては,それぞれの規格に対応した設定パッケージが
もともと Altera 社から提供されています.しかし残
念ながら,SATA 規格に対しては専用のパッケージ
は用意されていません.このため Quartus II 開発ツー
32
第3章
ルで提供される図 1 のようなカスタム PHY IP コアを
使って,SATA に対応したトランシーバ設定をデザ
インする必要があります.ただ設定といってもデー
タ・レートやファブリック・インターフェース・ビッ
ト幅,8b10b 機能の有無など基本的なパラメータを
SATA 規格に合うように入力するだけで必要なパラ
メータを全て自動生成してくれるので,GX トラン
シーバの設定自体は非常に簡単にできてしまいます.
一 方,SATA の 初 期 化 で 必 要となる OOB(Out-ofBand)プロトコルは GXトランシーバだけでは実装で
きません.OOB で使う低周波の信号検出や発生機能自
体は GXトランシーバに内蔵されているので,その機
能とファブリック部の OOB 制御ロジックを組み合わせ
て OOB プロトコルを実装することになります.
2.SATA-IP コアと
評価用リファレンス・デザイン
● IP コア概要説明(SATA3 対応 /Link 層を実装 / 実機
評価環境)
高速シリアル通信規格の PHY レイヤを実装する GX
トランシーバは SATA- Ⅲの 6Gbps に対応しますが,
トランシーバだけでは SATA インターフェースを実
装することはできません.SATA 規格は図 2 に示すよ
うに,PHY レイヤの上位にリンク・トランスポート・
アプリケーションの全 4 レイヤ構造で規格化されてい
ます.ホストとデバイスがそれぞれのレイヤ同士で通
信するので,PHY レイヤに加えて各上位レイヤを合
わせて実装することで初めて SATA インターフェー
スとして機能します.
その上位レイヤのうち最も実装が困難とされている
のが SATA プロトコルの制御を担うリンク・レイヤ
です.リンク・レイヤではプリミティブと呼ばれる制
御パケットの生成 / 送信や受信 / 解析,CRC の生成 /
ベリファイ,スクランブル化と復元など複雑な機能を
実装しますが,リンク・レイヤをデザインするために
Altera 社製 FPGA への市販 SATA コア実装事例