このページの本文へ

シリアルATAのAHCIをサポート――ICH6Rの実力検証

シリアルATAのAHCIをサポート――ICH6Rの実力検証

2005年02月15日 00時00分更新

文● 鈴木 雅暢

  • この記事をはてなブックマークに追加
  • 本文印刷

コマンドプロトコルを最適化
ネイティブコマンドキューイング

 シリアルATA IIはフェーズ1とフェーズ2に分けられていることやオプション仕様の部分も多く「何をもってシリアルATA II対応HDD」といえるのかといった点は非常にあいまいで、個別機能への対応の有無を問題にしたほうがいいだろう。

 その個別機能のなかでも目玉といえるのがネイティブコマンドキューイング(NCQ=Native Command Queing)である。コマンドキューイングとは、発行されたリードコマンドをバッファに読んでおき、ドライブのアクセスタイム(シーク動作+回転待ち時間)が最小限ですむようにコマンドを並べ替えて実行する機能だ。ランダムアクセスタイムの短縮のほか、シーク動作が最小限ですむため、消費電力削減や騒音の低減といったメリットもある。このコマンドキューイングはSCSIインターフェイスではおなじみの機能で、従来のパラレルATAにもタグ付きコマンドキューイング(TCQ=Tagged Comand Queing)として一応仕様としては存在していた。

●図2 コマンドキューイング

コマンドキューイングの仕組み
まとめて発行したコマンドを最小限のシーク動作/回転待ち時間ですむようキャッシュ内で並べ替えてから実行する。トータルアクセスタイムの短縮のほか、シーク動作の最適化による消費電力削減、騒音低減にも貢献する。

 なぜ「ネイティブ~」という名前が付けられているのかといえば、シリアルATAのネイティブインターフェイスであるAHCIでは、コマンドキューイングに適したコマンドプロトコルが導入されており、効率よく処理できるようになっているからである。例えば、古いATAのプロトコルを使わざるを得ないTCQでは、せっかくコマンドをまとめて実行しても、コマンド完了ごとに逐一リードコマンドが終了したことを知らせる完了ステータスを返さねばならず、効率が悪かった。一方、シリアルATAネイティブとして新たに規定したAHCIは複数コマンド実行後にまとめて返せるようになっている。

SeagateのシリアルATA II対応HDD「Barracuda 7200.7(ST3160827AS)」 MaxtorのシリアルATA II対応HDD「MaXLine III」
写真1 秋葉原で「シリアルATA II対応HDD」として販売されているSeagateのHDD「Barracuda 7200.7(ST3160827AS)」。同社からの正式発表はまだされていないが、AHCIモードで利用でき、IAAR4.1の表示からNCQサポートも確認できる。写真2 MaXLine III(Maxtor)。NCQ、ホットプラグ、スタッガードスピンアップといったシリアルATA IIフィーチャーを備えたHDD。サーバ/ワークステーション向けで、I/O負荷の高くない環境で100万時間のMTBFを誇る高信頼設計が特徴。

 NCQに対応したドライブは、まだ非常に少ない。現状で入手可能なモデルは、Maxtorの「Diamond Max Plus10」と、Seagateの「Barracuda 7200.7」のNCQ対応版(ST3160827AS)のみ。ちなみに、TCQをサポートするHDDとしては、日立グローバルストレージテクノロジーズのDeskStarシリーズ(Tag'n'Seek)や、Western DigitalのRaptor WD740GD(Ultra 150CQ)などがある。これらはシリアルATAインターフェイスモデルであってもNCQには対応しないので注意してもらいたい。なお、ICH6RのAHCIフィーチャーを利用するのにIAARが必要なように、TCQも利用するには対応するソフトウェアが必要である。Windowsのサポートはなく、ごく一部のRAIDベンダーが自社製コントローラ用のドライバとして提供されているのみで、実際にはTCQはほとんど利用されていない。

強化されたRAID機能
ユニークなMatrix RAID

●表1 ICH5RとICH6Rの機能比較
機能ICH5RICH6R
RAID 0サポート
RAID 1サポート
Matrix RAIDテクノロジ×
2RAIDアレイサポート(4ポート)×
RAID 1スペア&オートリビルド×
RAIDアレイモニタ&アラート
AHCIサポートネイティブ
コマンドキューイング
ネイティブホットプラグ
×
SATAPIサポート×
ドライバサポートIAAR 3.x、IAAR 4.xIAAR 4.x

 ICH6R/ICH6RWでは、従来のICH5Rに比べてRAID機能も大幅に強化された。なかでも目新しいのが、Matrix RAIDのサポート。これはRAIDボリュームを作成する際に、使用するHDDの領域を自由に選択でき、残りの領域にも別のRAIDボリュームを作成することができるもの。つまり、2台のHDDでRAIDボリュームを作成する際に、前の30%はRAID 0、後ろの70%はRAID 1とするといったことを可能にする。もちろん、前後ともRAID 0、前後ともRAID 1にするといったことも可能だ。

 RAID 0とRAID 1を混在させれば、2台のHDDだけで信頼性と性能というRAIDの両方のメリットを受けられる。ただし、4台のHDDを使ってRAID 0をミラーリングするRAID 0+1とは決定的に違い、Matrix RAIDでは、ボリュームを構成するHDDのうち1台が故障した場合に保護されるのはあくまでもRAID 1の部分だけで、RAID 0ボリュームの部分のデータは壊れてしまうことは注意しておきたい。

 また、RAID 1に関してはホットスペア/オートリビルドもサポート。IAAR4.1でスペア用のHDDを指定しておけば、RAID 1ボリュームを構成するHDDのうちの1台が故障した場合に、自動的にそのスペアドライブを使用してRAID 1を再構築してくれる。

●図3 Matrix RAID

Matrix RAIDの仕組み
作成するRAIDボリュームのサイズを自由に設定できる。2台のHDDのそれぞれ50%ずつを使ってRAIDボリュームを作成し、残りの領域に別のボリュームを作成することが可能。RAID 0とRAID 1を混在させることも可能だが、4台のHDDによるRAID 0+1とは違い、データが保護されるのは当然ながらRAID 1の領域のみ。どちらか1台のHDDが故障すればRAID 0領域のデータは破壊される。

カテゴリートップへ

注目ニュース

ASCII倶楽部

ピックアップ

ASCII.jpメール アキバマガジン

ASCII.jp RSS2.0 配信中