Haswellのチップセット「Intel 8(Z87)」のUSB問題を検証してみた

Intelの新型CPUであるコードネーム「Haswell」シリーズが発売されて一か月ほど経過した。前々からPCのリプレースを考えていたのもあって、発売から一週間ほどで購入を決断し、現在はその新しく組んだPCを使用している。

このHaswell……というか正確にはHaswell用のチップセットIntel 8シリーズには、発売前から「問題がある」ことがリークされていた。具体的にはUSB 3.0周りのトラブルで、「USB 3.0接続のストレージのファイル(データ)を開いたままスリープ状態に入ると、ファイルが読み込めなくなくなり、復帰後に表示されなくなっている」というもの。面白いのはUSB 3.0に限った話で、同じチップでもUSB 2.0では何の問題もないらしい。

この情報はあくまでリークとして流れたものだったため、企業が運営するメディアで話題なることはほとんどなかったのだが、発売前はASCII.jp、発売後は4Gamer.netなどが(扱いは大きくないが)触れている。

USB 3.0を利用しているときにシステムがS3のスリープモードに入ると、これにあわせてUSB 3.0コントローラーも配下のUSB 3.0デバイスをスリープモードに移行させる。ここまではいいのだが、システムが再びS0に復帰した場合、USB 3.0コントローラーは自身も復帰するとともに、配下のUSB 3.0デバイスをスリープから復帰させなければならない。

ところが、C1ステッピングのIntel 8シリーズチップセットの場合、USB 3.0コントローラーがスリープから復帰できず、復帰のためにはリセットが必要となる問題が以前から指摘されていた。

当初はファームウェアの更新で解決すると思われていたのだが、どうやらそれでは不可能で、回路そのものに手を入れないと解決できなかったようだ。これがメタルレイヤーを変更した意味である。

ASCII.jp:Haswellの発売日にはチップセットが間に合わない? (2/3)|ロードマップでわかる!当世プロセッサー事情

GIGABYTE関係者によると,Intel 8シリーズの問題は「ある」。ただし,「特定の(コントローラを搭載した)USB 3.0フラッシュメモリに,たとえばpdfファイルなどを保存しておいたとする。それをIntel 8シリーズ搭載のWindows 8機で閲覧し,ファイルを開いた状態のままスリープに入ると,復帰したとき,そのファイルが閲覧できなくなっている」といった問題に過ぎないとのことだ。

閲覧できなくなったら大問題ではないかと思うかもしれないが,スリープからの復帰に合わせてファイルが削除されるわけではないので,開き直せばとくに問題はない。

[COMPUTEX]「Intel 8シリーズチップセットが抱える問題」についてGIGABYTEに聞いてみた - 4Gamer.net

発売前の(ASCII.jpなどの) 情報では、「不具合のあるチップはあまり出荷せず、高価なハイエンド向けには修正版のES品を搭載する。そのため、修正された量産チップが出てくるまでは、(関係メーカーの機会損失を減らすため)意図的にCPU自体の出荷数を減らす」という話が流れていた。しかし、実際はCPUの出荷数は絞られなかったようなので、どうやらこの推測は外れていたようだ。

その後の4Gamer.netのインタビュー記事によると、代わりにM/BとWindowsレベルでの修正がおこなわれたとされている。

「チップセットのUSB 3.0コントローラとI/Oインタフェース側の電機的な特性を若干弄って,問題を回避している」とのことだ。

[COMPUTEX]「Intel 8シリーズチップセットが抱える問題」についてGIGABYTEに聞いてみた - 4Gamer.net

ちなみに修正版のC2リビジョンのチップは7月中に出荷の予定で、それを搭載したM/B(やPC)の登場は早くて8月、というスケジュールになっているようだ。

なお,GIGABYTEによれば,現行のC1リビジョンが抱える問題を解決したC2リビジョンのIntel 8シリーズチップセットは,7月中~下旬頃にIntelからマザーボードメーカーへの出荷が始まるとのこと。となると,実際に新リビジョンのIntel 8シリーズチップセットを搭載したマザーボードが登場するのは,早くても8月中旬以降ということになりそうだ。

[COMPUTEX]「Intel 8シリーズチップセットが抱える問題」についてGIGABYTEに聞いてみた - 4Gamer.net

というところでここからが本題。せっかくHaswell + Intel 8チップセットでPCを組んでみたのだから、この問題の検証をしてみることにした。本当はもっと早くおこないたかったところなのだが、組んだ時点ではUSB 3.0ストレージデバイスが手元のなかったなどの問題で、少々手間取ってしまった。ただ、未だ修正版のチップは出回っていないようなので、「今売っている商品」の情報としては特に問題はないと思われる。

検証環境

テストを行った環境は以下のとおり。なお、あくまでチップセットとUSBストレージの問題なので、関係がないところの記述は省いている。

CPUIntel Core i7 4770
マザーボードASRock Z87M Extreme4
(Intel Z87 Express)
USBストレージトランセンド TS32GJF700
(USB 3.0 32GBメモリー)
OSWindows 7 Professional 64bit

USBメモリーを差し込むコネクタは、フロントパネルのUSB 3.0コネクタ(M/BのUSB 3.0 内部20ピン端子に接続)を使用した。

ちなみに最後にわざわざOS(Windows)の種類を書いたのは、上記の4Gamer.netの記事によると、この問題が起こるのはWindows 8のみとされているため。リーク時点ではOSの話題は何もなかったのだが、実際はWindows 7では起こらない(ということになっている)らしい。というわけでこの実験する前からすでに“何も(トラブルが)起こらない”可能性がかなり高そうではあるが、少なくともその話が本当かどうか確かめるぐらいの意味はあるだろう。

検証結果

結論から先に書くと、まったく何の問題も起きなかった。先の記事で典型例とされている「USBストレージのPDFファイルを開き、そのままにして休止状態にしたあと、復帰させる」という手順を3回ほどおこなってみたが、PDFファイルは開いたままになっている。違いがあると困るのでスリープ(スタンバイ)と休止(ハイバネーション)の両方を試してみたが、結果は特に変わらなかった。

もちろん、この実験だけでは「問題が発生しなかった原因」まではわからない。前述のとおりWindows 7だから起こらなかったのかもしれないし、使用したASRockのM/Bがハードウェアレベルで対応していたからかも知れない。あるいは(4Gamer.netが書いているように)USBメモリー側のコントローラーがトラブルの起きないタイプだった可能性もある。とはいえ、この環境で現象が再現しなかったのは事実と言える。

というわけで、少なくとも自分のPCでは(この環境を維持する限りは)特に何の問題もなさそうではある。もちろん、この結果はあくまで自分の環境の話であり、一般化はできない。だが、今(PCを)買うかチップセットの修正版が出るまで待つか悩んでいる人には、少しは参考になるのではなかろうか。