« ReFSを使う | トップページ | 壊れたPSUの修理準備 »

2014年6月25日 (水)

SATAアダプターを交換した

PMP (Port MultiPlier) 内蔵のハードディスクケースと接続するため数年前から使っている4ポートSATA-IIアダプターをSATA-III 6Gb/sのものに交換した。ここの所故障続きだったが、これは違う。

以前の記事に書いた通りWindows 8.1に移行するついでに起動ディスクをSSDにして、最初はP45チップセットのSATA-II 3Gb/sポートにつないでみた。これはこれで起動などの速さに不満は無かったのだが、SSD側のインターフェイスに合わせてSATA-III 6Gb/sにしたらどのくらい速くなるのか試したかったのが理由の一つ。実用上差支えないがちょっと気になる不具合が治らないかな、と期待したのがもう一つの理由である。

/*-----------  -----------*/

今までのアダプター

SiliconImage Sil3124搭載の製品である。これはRAID対応だが、同じチップを使ったnon-RAID製品もあり、中身のハードウエアは同じだったりする。

EPROMに書き込まれたBIOSが違うのだが、これは自分で書き換えることができる。私もRAIDは買った時に必要だったがその後要らなくなったので、起動時にBIOS情報が表示されている時間を少しでも短くするためnon-RAID BIOSに書き換えて使っていた。

 

SATA-III 6Gb/sアダプターを選ぶ

最近売られている安価なSATA-III 6Gb/sアダプターは、ほぼ全てPICe 2.0接続だ。

最初はPCIe 2.0 x1接続の2ポートのアダプターを追加するつもりでいたのだが、これだとPCIeバスの制約で最大370MB/s位の実力しかないらしい。それに1レーンでも使おうとすると、合計16レーンしかないPCIe 2.0帯域幅の内8レーンを割り当てる必要がある。これではバカバカしいと思い、PCIe 2.0 x2接続の4ポートアダプターに決めた。

現在比較的安価に入手できる4ポートSATA-III 6Gb/sアダプターはMarvell 88SE9230チップ搭載製品ほぼ一択で、私が知る限り選択肢は以下の4製品に限られている。

HighPointの製品は跳びぬけて高価である。通常ここに掲載した他3製品と比べられるのはより安価なRocket 640Lだが、

これでも決して安くない。その上Rocket 640LはRAID機能のない88SE9235搭載だ、いや機能制限のある88SE9230搭載ではないか?などの声が聞こえ、製品を買ってパッケージを開くまでどうなっているか分からない不安がある。ただしRocket Raid/RocketともにドライバーをHighPoint独自に開発している様で、これにより元々Marvellチップには無かった独自機能を実現したりしている気配がある。そういった事を期待して選ぶのはアリかもしれないが、今回の私の目的には合わないのでパスだ。

AREAの製品はジャンパーで内部と外部のコネクターを使い分けられるようになっているのが面白いが、私には6Gb/sの信号をジャンパーに通しても大丈夫とはとても信じられないので、これもパスである。

玄人志向とアユートの製品は、写真を見る限り同じに見える。もし違っていても決定的な差は無さそうなので、少しでも安く入手できる玄人志向の製品を選んだ。他と比べてこの2製品は大きめのヒートシンクが装着されているのも安心感がある。Marvellの資料に消費電力1Wとあるのでここまでの大きさは必要ないかもしれないが、あまりエアフローの心配をしなくて済むのは良い。

 

パフォーマンス

交換前後のパフォーマンスをCDM (Crystal Disk Mark) で測ってみた。

Read Write
交換前 [MB/s] 交換後 [MB/s] 後/前 [%] 交換前 [MB/s] 交換後 [MB/s] 後/前 [%]
Seq. 273.2 470.9 172.4 128.5 118.8 92.5
Rand. 512k 240.9 340.7 141.4 120.7 108.5 89.9
Rand. 4k 26.37 26.57 100.8 52.66 54.89 104.2
Rand. 4k (QD=32) 179.0 223.6 124.9 104.7 98.83 94.4
備考 SSD: Transcend TS128GSSD340
交換前: Intel ICH10R (AHCIモード + Windows in-box AHCI driver)
交換後: Marvell 88SE9230 (同)

Seq Readのパフォーマンスが交換により70%以上向上し、数字も370MB/sの壁をはるかに超えているので、SATA-III 6Gb/sおよびPCIe 2.0 x2にした効果があったと言っていいだろう。またここまで「大幅」ではないものの、他のReadパフォーマンスもすべて向上している。しかしWriteパフォーマンスは若干だが、むしろ悪くなっている。Writeが遅いのはMarvellチップに共通の特徴のようだ。あまり面白くは無いが、実用上問題ない程度なので、まあ良いだろう。

全般にReadパフォーマンスが向上しているのでWindowsの起動が速くなりそうなものだが、残念ながら実感としての変化は感じられなかった。

 

ちょっと気になる不具が治った

起動ディスクをSDDにしたのと同時期にHard Disk Sentinelと言うアプリの試用を始めた。Crystal Disk InfoのようなS.M.A.R.T.モニタリングツールなのだが、SSDの健康状態が良くないと言う。詳細状況を見るとSATA PHY Errorが電源を入れる度に平均2ずつ増加していた。

Hdd_sentinel

SSDとマザーボード間の物理リンクでエラーが出ている、と言うことらしい。たぶんこういう事ではないか、と見当をつけた。

  • 電源ON直後、SSDは6Gb/sでリンクしようとする
  • マザーボードは6Gb/sをサポートしていないのでエラーが発生する
  • エラーがS.M.A.R.T.に記録される
  • SSDは1段階遅い3Gb/sに切り替え、リンクが成功する

SSDを6Gb/sのSATAポートにつないでやればエラーが出なくなるだろう、という見立てである。6月上旬にアダプターを交換した結果、案の定SATA PHY Errorの増加がピタリと止まった。

Hard Disk SentinelにはS.M.A.R.T.の値から「健康状態」を計算する時にオフセットを差っ引く機能や、特定の項目を丸々無視する機能がある。増加が止まった時の値をオフセットに設定すると良いのだが、試用版ではアプリを再起動するとディフォルト状態に戻る制約があるのであまり意味がない。

 

PMP

以前から使っているディスクを4台搭載できるPMP内蔵のハードディスクケースは問題なく使えた。これが使えるなら私には十分だが、PMPを使っても接続できるディスクは最大7台と言う未確認情報がある。たぶんアダプターのポートの1つに1:4のPMPを接続し、残り3ポートそれぞれに直接ディスクをつなげられる、と言うことではないかと思う。出所の定かでない情報だしアダプターのBIOSやファームウエアで変わる可能性もあるので、複数のPMPを使う場合は再度調査するか、あるいは人柱覚悟だ。

 

ドライバー

88SE9230はWindows Vista以上ならin-box AHCIドライバーで使える。XP用に準備されたMarvellのドライバーをインストールすることも可能だが、パフォーマンスなどで特に目立ったメリットは無い一方、ホットスワップ関係の動きが怪しくなる。

Marvell_different_safe_remove_under

ハードディスクを2台接続して「安全な取り外し」ダイアログを表示した画面である。まずここでの表示が通常と異なっている事に気付くが、これだけならあまり問題はない。問題は1台を取り外すと残りのもう1台もこのダイアログに表示されなくなってしまい、取り外しできない事だ。

これはWindows 8.1で確かめた結果である。Vistaや7では挙動が異なるかもしれないが、特に理由が無ければWindowsのin-box AHCIドライバーを使うべきだろう。

 

RAID機能

今回使う予定は無いが先々使いたくなる場合もありそうなので、ハードディスクを使ってRAID機能を試してみた。88SE9230はRAID0、1、および10が構築できるが、ハードディスクを4台準備できなかったのでRAID10は試していない。またHyperDuoに使えるSSDも無かったので、これも試せなかった。試したのはRAID0と1だ。どちらも特に問題無いようだが、試していて「あれ?」と思うことがいくつかあった。

RAID1のパフォーマンスをATTOで測ると、ReadがWriteよりも遅い個所がいくつか出る。

Atto_hdd_qd01_raid1

これは以前記事にしたICH10RのRAID1に似ている。最新設計のRAID1をATTOで測るとこうなるのが正しいのかもしれない。

88SE9230はハードウエアRAIDなので、Windowsからはアレイ全体がAHCI接続された1台のディスクに見えているはずだ。と言うことはホットスワップできる可能性があるのではないか、と試してみたら、見事にできてしまうではないか!

Removable_faid_array

これはMarvellドライバーを使っている場合の画面だが、Windows in-box AHCIドライバーでも同様である。問題は取り外した後に再認識させる方法だ。Windowsを再起動すれば再認識することは確かめたが、それ以外にうまい方法が見つからなかった。

 

トリッキーなBIOSとアクセスLED

慣れるまでドッキリさせられる機能がある。

先ずSATAデバイスが1台も接続されていないとBIOS画面が表示されない。慣れてしまえば合理的だと思えるのだが、初め知らずに組み込んで動作確認しようとすると初期不良を疑う羽目になる。またAHCIモードで使うディスクのStatusがUnconfiguredと表示されるのも最初は紛らわしい。

Bios2

RAIDにもHyperDuoにも「設定されていない」と言う意味でUnconfiguredらしい。しかし初めに何か思い通りにならない事があると「設定していないからなんだ」と思い込んでも不思議ではない。一度正常に動いている状態を目にすれば大丈夫なのだろが、最初にはまり込むとなかなか抜け出せそうにない落とし穴だ。

アクセスLEDヘッダーが各ポート個別の4本、4ポートを1つにまとめたもの1本、合計5本分準備されているのは便利だが、点滅パターンに注意が必要である。

SATAポートの状態 LEDの点滅状況
PHYリンクダウン 消灯
PHYリンクアップ 点灯
アクセス 点滅

リンクとアクセスの状況を1つのLEDで表せるパターンだ。ホットスワップ可能なバックプレーンと組み合わせた場合などに便利である。しかしアクセスがあった時だけ点灯する伝統的なパターンに慣れているから、最初は連続的にアクセスがあるのと勘違いしてしまう。連続アクセスは良くない兆候である場合が多いので慣れるまではかなりドッキリさせられる。

 

今回のまとめ

SATAアダプターを6Gb/sに交換して起動ディスクにしているSSDを接続するとベンチマークの数値は良くなったが、起動は実感できるほ速くならなかった。つまり私の環境では現実的な起動高速化の効用がほとんど無かったと言える。SSDに数千円投資した効用はとても大きかったが6Gb/sのSATAアダプターに更に投資した数千円の効用はほとんど無かった。いわゆる限界効用逓減の法則である。

アダプターを交換することで見立ての通りSATA PHY Errorが発生しなくなった。これによる現実の効用は無いが、気分的な満足は大きい。

あまり期待していなかったが意外と良かったもう一つの効用は、Windowsの標準機能でディスクのホットスワップが問題なくできるようになったことである。今まで使っていたSil3124搭載のSATAアダプターは、ホットプラグは問題ないのだがWindowsの標準機能による安全な取り外しができなかった。アダプター交換後は標準AHCIドライバーで制御できているので、PMP経由のもの含め問題なく安全な取り外しが可能になった。今までもフリーソフトを使って同じようにすることは可能だったと思うが、Windowsの標準機能で済むようになった安心感は大きい。

この価格帯のSATAアダプターは、正直に言って良くも悪くも値段相応だ。限界の範囲内でどう使いこなすか、腕が試される場面である。

|

« ReFSを使う | トップページ | 壊れたPSUの修理準備 »

IT」カテゴリの記事

パソコン・インターネット」カテゴリの記事

趣味」カテゴリの記事

コメント

コメントを書く



(ウェブ上には掲載しません)


コメントは記事投稿者が公開するまで表示されません。



トラックバック

この記事のトラックバックURL:
http://app.cocolog-nifty.com/t/trackback/543745/59874092

この記事へのトラックバック一覧です: SATAアダプターを交換した:

« ReFSを使う | トップページ | 壊れたPSUの修理準備 »