DIGITAL BUYER

シリアルATAのAHCIをサポート――ICH6Rの実力検証 925X/915Pの実力を再検証する――Part.3
シリアルATAのAHCIをサポート――ICH6Rの実力検証
インテル
http://www.intel.co.jp

月刊アスキー月刊アスキー 2004年9月号
2005年2月15日


ICH6R/ICH6RWは、RAID機能がさらに進化しただけでなく、シリアルATAのネイティブインターフェイスであるAHCIに対応したことで大きな注目を集めている。ここではICH6Rの実力を検証してみたい。

AHCIで発揮される
シリアルATAの真の実力

 Intel 925X、および915P/Gには4種類のサウスブリッジが存在するが、そのうちICH6RとICH6RW、つまり「R」付きの2つと他のサウスブリッジでは大きな機能の違いがある。従来のICH5とICH5Rの違いはRAID機能の有無のみであったが、今回のICH6RとICH6RWでは、RAID機能に加えて、シリアルATAのネイティブインターフェイス仕様であるAHCI(Advanced Host Controller Interface)をサポートするのが大きな特徴である。

 AHCIとは、シリアルATAインターフェイスの実力をフルに発揮するための拡張仕様。これまでのシリアルATA 1.0aは、パラレルATA(IDE)との互換性を保つことを重視してソフトウェア的にはパラレルATAをエミュレートしていたが、AHCIはシリアルATAネイティブのために完全に新しく規定された仕様で、シリアルATAコントローラとソフトウェア間のインターフェイス(つまりドライバ部分)も新たに標準化されている。

●図1 AHCIのコマンドプロトコル
AHCIとTCQの違い
TCQでは古いパラレルATAのプロトコルのオーバーヘッドが大きかったが、AHCIではネイティブコマンドキューイングの効果を最大限にいかせるようコマンドプロトコルを最適化している。

 このAHCIはマイクロソフトが開発中の次期Windows「Longhorn(開発コードネーム)」がフルサポートする予定になっている。Longhornでは特別なドライバなしでAHCIのフィーチャーが利用できるようになるが、現状ではICH6R/ICH6RWでAHCIフィーチャーを利用するには、Intel Application Accelerator RAID Edition(以下、IAAR)に含まれているドライバが必要になる。

 ICH6R/ICH6Wは、AHCI Rev1.0で規定されているすべての必須仕様とメジャーなオプション仕様をハードウェアでサポートしており、その中には、ネイティブコマンドキューイング(NCQ)、ホットプラグ、スタッガードスピンアップ(POST時にゆるやかにスピンアップすることで突入電流の防止やピーク消費電力を抑える効果がある)、ATAのマスタ/スレーブエミュレーションの廃止(すべてをマスタデバイスとして認識)などがある。ただし、IAARのドキュメントには具体的にはNCQとホットプラグについてぐらいしか記述がなく、ソフトウェア的にこれらAHCIの仕様をどこまでサポートしているかといったことについてはいまひとつはっきりしない。

 シリアルATA IIとAHCIの関係は難しい。AHCIはシリアルATA IIの先進機能を実現するために、Intelを中心とする業界団体が、具体的なコマンドプロトコルやソフトウェア⇔ハードウェア間インターフェイスを定めたもの。AHCIをサポートしていなければシリアルATA IIは利用できないが、「AHCI=シリアルATA II」というわけではない。もっとも、逆にいえばAHCIをサポートするということはシリアルATA IIへ対応するためということであり、そのような認識でもかまわないかもしれない。

 シリアルATA IIはフェーズ1とフェーズ2と2段階に分けて進行しており、すでに仕様が確定しているフェーズ1でサポートされる代表的な機能は、NCQ、ホットプラグ、サーバ向けの管理機能といったところで、これはICH6R/ICH6RWのサポート範囲内だ。フェーズ2では300MB/秒の転送速度やポートマルチプライヤー(サーバ向けのツリー型接続のサポート)などが導入されるが、これらはAHCIのオプション仕様となっているが、ICH6R/ICH6RWではサポートしていない。



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

 シリアル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)」
写真1 秋葉原で「シリアルATA II対応HDD」として販売されているSeagateのHDD「Barracuda 7200.7(ST3160827AS)」。同社からの正式発表はまだされていないが、AHCIモードで利用でき、IAAR4.1の表示からNCQサポートも確認できる。
MaxtorのシリアルATA II対応HDD「MaXLine III」
写真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領域のデータは破壊される。



単体でもNCQは利用可能
AHCIは不明な部分も多い

 サウスブリッジにICH6R/ICH6RWを搭載したマザーボードでは、シリアルATAインターフェイスのモードを「StandardIDE(またはCompatible Modeなど)」「AHCI」「RAID」3種類から選べるようになっている。後者2つではともにネイティブモードとしてAHCIフィーチャーが有効になり、ドライバであるIAARもこのどちらかのモードになっていなければインストールできない。単体なら「AHCI」、RAIDまたは今後RAIDを利用する可能性があるなら「RAID」を選ぶ。

 RAIDを組まなくてもAHCIフィーチャーは利用できるわけだが、Standard IDEモードにした状態でシステムドライブとしてインストールしてしまうと、後からネイティブモードに変えようとしても(AHCIドライバが前もって組み込めないため)ブートできず、かなりやっかいなことになる。

 ちなみに、Standard IDEはICH5/ICH5Rと同様にシリアルATA 1.0aとして動作するモードで、Windows XPのインストーラからも認識される。AHCI、RAIDの場合はCDブート直後にF6キーを押してフロッピーからIAARのドライバを組み込んでやる必要がある。

P5AD2 DeluxeのBIOS上では、シリアルATAの動作モードが、Standard IDE、RAID、AHCIの3種類から選べる
画面1 P5AD2 DeluxeのBIOS上では、シリアルATAの動作モードが、Standard IDE、RAID、AHCIの3種類から選べる。AHCIモードで表示されるパワーマネジメント関連の機能は、今回は使えなかった。
IAAR 4.1にはRAIDボリュームやシリアルATA HDDの情報が表示される
画面2 IAAR 4.1にはRAIDボリュームやシリアルATA HDDの情報が表示される。2台のHDDの中に、RAID 0とRAID 1を作成すると、このように表示される。
AHCIモードでIAAR4.1をインストールすると、RAIDボリュームを作成する機能が省かれたシンプルな表示となる
画面3 AHCIモードでIAAR4.1をインストールすると、RAIDボリュームを作成する機能が省かれたシンプルな表示となる。コントローラ名も変わっている。
IAAR 4.1でRAIDボリュームを作成する際には、ボリュームサイズを容量/パーセンテージで選べる
画面4 IAAR 4.1でRAIDボリュームを作成する際には、ボリュームサイズを容量/パーセンテージで選べる。使わなかった残りの領域に別のRAIDボリュームを作成することが可能。

 IAAR4.1ではドライブの情報が表示されるが、AHCIに関する情報としてはネイティブコマンドキューイングのサポートの有無くらいで、他のAHCIフィーチャーが実際有効かどうかはいっさい確認できない。ASUSTeK製マザーボード「P5AD2 Deluxe」のBIOSでは、AHCIモードにするとStagger Spin Upなどの有効/無効を設定できるが、今回はSeagateのBarracuda 7200.7(ST3160827AS)とMaxtorのMaxLineIII(エンジニアリングサンプル)で試してみたところ、これらを有効にした場合にはうまく動作しなかった。

 現状ではマザーボードのマニュアルも、IAAR4.1のドキュメントもあまりに説明が不足している印象だが、とにかくNCQ対応HDDを使用し、かつマザーボードのBIOSでシリアルATAインターフェイスをAHCI、あるいはRAIDモードにしてIAAR4.1をインストールすればNCQが有効になるということだけは確かなようだ。



ベンチマークテスト
単体でのNCQは逆効果か

 ここではICH6Rを使ったRAIDの効果とNCQの効果を見るためにベンチマークテストを実施した。テストプログラムにはWinBench99、HD Tach 2.70、Sandra 2004 SP2、PCMark04の4つを利用した。RAIDコントローラとしては、ICH6Rのほか、P5AD2 Deluxeにオンボード搭載されているSilicon ImageのSil3114(NCQ非対応)を利用している。

 DiskTransferRateやSandra、HD Tach 2.70のシーケンシャルリード/ライトでのICH6RがSil3114よりRAID 0のスコアがいいが、これはSil3114がPCI接続のコントローラであるため、PCIバスがボトルネックとなっているためだろう。単純なアクセスタイムを見るテストではRAIDを組んでも組まなくてもあまり差はみられない。唯一、ICH6RでRAID 1を組んだ場合のみ、HD Tach 2.70、WinBench99ともに好結果を残している。Sil3114のRAID 1と比べると差はRAID 0以上に歴然。RAID 1は2台のHDDどちらにも同じデータがあるため、コントローラが優秀ならリード要求を2台に振り分けることが可能(ストライピングでの読み出しとは別物)。この点でNCQとの相性もいいのかもしれない。ICH6RのRAID 1は他のテストでも全体的に成績が良く、コントローラとして相当に優秀だと考えられる。

 一方、単体ではSandraでもPCMark04でもAHCIモード(NCQオン)のほうが性能が低下しており、逆効果になっているような面もある。RAIDモードに関しては、全体的にICH6RのほうがSil3114より優れていると判断できる。PCIバスのボトルネックが深刻に影響してくるのはピーク性能のみなので、PCMark04の個別テストで優れている点などはコントローラの差、NCQの利点が出ていると判断していいだろう。ただ、PCMark04のSYSTEMではすべてが誤差程度の範囲内に収まってしまっているように、通常のデスクトップ向けアプリケーションレベルではHDD性能の違いを実感するのは難しい。

●HD Tach 2.7 Random Access Time
●HD Tach 2.7 Random Access Time
NCQの有無、RAIDの有無でアクセスタイムの差は特に見られない。ICH6RのRAID 1のみ少し抜けて高速。

●WinBench99 DiskAccessTime
●WinBench99 DiskAccessTime
これもアクセスタイムを計測するテスト。やはりここでもICH6RのRAID 1が高速になっている。

●HD Tach 2.7 Read Burst Speed
●HD Tach 2.7 Read Burst Speed
インターフェイススピードを計測するテスト。Sil3114ではPCIバスのボトルネックが表面化している。

●WinBench99 DiskTransferRate
●WinBench99 DiskTransferRate
シーケンシャルリード性能。ICH6RでのRAID 0は単体のほぼ2倍。Sil3114のRAID 0はそれよりやや劣る。

●Sandra 2004 SP2
●Sandra 2004 SP2
全体的にICH6Rのランダムリードの成績が良くないが、テストとの相性が良くない可能性もある。

●PCMark04
●PCMark04
HDD性能は出ているが、システムの総合性能を見るSYSTEMではRAIDの有無にかかわらず目立った差はついていない。

●PCMark04(HDD詳細)
●PCMark04(HDD詳細)
HDDの内訳。全体的にICH6Rが優秀で、特に一般アプリの動作をシミュレートするGeneral HDD Usageでの好成績が光る。

●共通テスト環境
CPU
Pentium 4 560
マザーボード
ASUSTeK P5AD2 Deluxe(Intel 925X/ICH6R)
メモリ
PC4300 DIMM×2(512MB)
グラフィックス
ASUSTeK Extreme AX600XT/TD(RADEON X600XT)
OS
Windows XP Professional(SP1)
そのほか
Direct X9.0b


 ICH6RでRAIDを構築しつつNCQだけをオフにするということができないので、どうしても歯切れが悪くなってしまうが、RAIDを組む場合は、マザーボードのオンボードRAIDコントローラを使うよりは、ICH6RでRAIDを組んだほうが高速だということは分かる。また単体ではNCQのアドバンテージも実感できないということもいえそうだ。今後おそらくIAARのバージョンアップが重ねられていくことだろうが、現状ではIAARのAHCI対応は中途半端な印象で、単体での利用が前提なら割高なシリアルATA IIドライブを購入するメリットは少ないといえる。

LGA775ソケットの脆弱性

 LGA775対応のCPUは、ソケット側にピンがあり、レバーで押さえつけて固定するというこれまでのソケットとはまったく異なる装着/固定方法をとる。自作経験の豊富な方にもまったくなじみのない方法で、実際に使ってみるまでは少なからず不安はあるだろう。加えて、これまでのmPGA478とそう変わらない面積に775本ものピンが高密度に配置されているLGA775ソケットはいかにも脆弱そうで、実際、手で触れてしまったりするとすぐに曲がったり折れたりしてしまう。そのためマザーボードメーカー各社は故障防止の注意文書などを添付して注意を促している。

 このLGA775ソケットの脆弱性は自作ユーザーの間でかなり心配されているが、最近の状況を見ると脆弱さだけがあまりに過剰に伝達されているようにも思う。実際使用してみるとピンは見た目の印象以上にしっかりしているし、CPUを置く枠があるので方向を間違う心配もなく、正しい装着方法を守ってさえいればそう簡単に故障するものではない。慣れてしまえばむしろこちらのほうが楽に感じるほどだ。たしかにマザーボードを縦にした状態で着脱するのは難しい(お勧めできない)が、何回も着脱を繰り返すテスト用にも十分に耐えているので、過剰に心配する必要はないだろう。

LGA775ソケット
LGA775ソケットは、ピンを露出した状態でソケットに衝撃が加えられるとすぐに故障してしまうが、使用方法を正しく守っていればまずこのようなことにはならない。使用しないときはソケットのカバーを装着して保護しておこう。

(鈴木 雅暢)




[通常ページに戻る]
ASCII24 http://ascii24.com/
Copyright (C)2000-2008 ASCII Corporation. All rights reserved.