ザキンコのブログ

ザキンコの日記のはてなブログ版です。


Windows8.1でUASP対応のハードディスクケースを使うときメモ

ハードディスクがスリープしないような設定(センチュリー 裸族のスカイタワーの注意点メモ - http://zakinco.hatenablog.com/entry/2015/03/14/233904 )にしたらほとんど止まることなく動いていたのだが、
裸族のスカイタワー 10Bay IS(CRST1035U3IS6G)で確実にディスクがハングする状況を発見した。

環境は、Windows 8.1で、NECIntel B85ベースのパソコンの内蔵USB3.0ポート(ただし、2.0のポートに繋ぎ変えても発生した)、裸族のスカイタワー 10Bay IS(CRST1035U3IS6G)にハードディスクを入れて(試したのは4Tと1.5Tのディスク)、そしてTestDisk(http://www.cgsecurity.org/wiki/TestDisk)でディスクをQuick Searchすると、すぐに検索は終わるはずなのにアクセスランプが一定の点滅したままTestDiskもハードディスクもフリーズします。
リードもライトもろくにしていないのにリソースモニタのディスク使用率は100%。
イベントを見ると、
「ソース UASPStor」で「デバイス \Device\RaidPort1(数字はいろいろ) にリセットが発行されました。」の警告が出て、
「ディスク1 (中略) IO操作が再試行されました。」のエラーが出ていました。

TestDiskが使えないとパーティションを復旧する時に困るのでちょっと調べました。
最初は内蔵USB3.0コントローラーが悪いのかと思ってVLIのコントローラーをPCIeに刺して試してみたが変わらず。

いろいろ試してとりあえず回避できたのでメモ。
方法は、デバイスマネージャーでハードディスクケースに入っているディスクの「ポリシー」を「高パフォーマンス」に変更する。これでTestDiskでハングすることはなくなりました。

たぶん、USBの高速デバイス用のUASPStor.sysのバグなのだろうと思う。CrystalDiskInfoでディスクをチェックしてインターフェースにUASPStorが出ていたら要注意ってことで。

(追記 2016.2.4)
たぶんこれはWindows10でも同じ。

(追記 2016.2.14)
UASPで接続されているかどうかはCrystalDiskInfoで確認できます。

(追記 2016.2.19)
高パフォーマンス設定にしても箱が勝手にスリープする場合があって不安定になる場合があります。CrystalDiskInfoを常駐で。

(追記 2016.10.13)
CrystalDiskInfoを常駐でも不安定は完全には直らず。別のWindows10のPCに繋いだら安定稼働したので、Windows8.1と特定のUSBコントローラー、機器、ドライバによって不安定になるということかな。とりあえずUASPで接続されている場合は注意してください。

(追記 2016.10.27)
Windows10だと安定して動くと思っていたら大量にファイル転送をかけるとやっぱり「UASPStor」で「イベント 129」の警告が出てリセットがかかってディスクがフリーズする。解決方法は少々強引で、不安定な「uaspstor.sys」を使わず安定している「usbstor.sys」をリネームして使うという方法らしい。試してみようかな。
answers.microsoft.com

(追記 2016.11.29)
使っているハードディスクがWestern DigitalのCaviar Greenなので IntelliPark 機能が悪さをしている可能性もあり。これを切ってみて様子を見てみよう。

(追記 2016.12.19)
IntelliParkをExamDiskで300秒に変更してCrystalDiskInfoで3分毎に監視するようにしてみたら、「イベント 129」の警告が出てリセットという現象は起きなくなりました。これで安定したかな?