200804 KP41病発症 SSDの熱暴走?
ついに我が家にも魔の手が。今、世間で猛威を振るっている話題の「アレ」ではなく、KP41病というやつです。私もKernel-Power 41のエラーは今まで見たことはあるんだけど、ある程度再現性のあるエラーは今回初めて経験した。結論から言えば、発生経緯は何となく特定できたが、不具合を起こした原因は不明のまま再現しなくなった。
「KP41病」の厄介なところは、Windowsにエラー発生時のメモリーダンプが残らないか、メモリーダンプが残っていてもエラー解決に直接結びつかず、ハードウェアからWindowsシステムやドライバーまで色んな可能性を考えて調査する必要があると言うこと。つまり、原因を特定するのが難しい。PCを丸ごと買い替えた方が楽という意見も少なくない。
症状
Windowsを無操作(アイドル状態)のまま10分ほど放置するとリセット(再起動)が掛かる。リセット後はNVMe SSDが認識されず、UEFI設定画面に移行してそのままになる。もう一度再起動すると、通常通りWindowsが起動する。
8月2日に不具合が発生したとき、ブルースクリーンのBug Checkでエラーコード 0x154 UNEXPECTED_STORE_EXCEPTIONが出たことを確認しているが、これについてマイクロソフトの技術文書では「カーネル メモリ ストア コンポーネントで予期しない例外が発生したことを示す。」という説明があるのみで、メモリダンプを解析しないと原因は分からないらしい。しかし、ブルースクリーン発生時のイベントログやメモリダンプは記録されていないため、それ以上は調べようがない。
発生状況を整理する
私が外出中の時だけでなく、在宅の時にも不具合が発生しているので、その時の状況を整理してみる。
- CPUはクロックを3.0GHzから3.6GHzに、メモリはオーバークロック仕様のDDR4-2666をtRAS=37で使用中。⇒メモリーが2年前に中古で購入したCorsair Vengeance LPXという曰く付きで、Ryzenでは標準のOC設定で動作せず、安定性に疑わしいところがあった。
- 3DゲームをプレイしてGPUに長時間負荷を掛けても、安定して動作している。
- SSDはSilicon Power製512GBで、マザーボード上に直接取り付けるM.2接続のもの。ヒートシンクは未使用。使用開始から11ヶ月経過し、使用時間は4226時間、健康度は98%。⇒負荷時の熱が気になるが、今まで不調に至ったことはない。
- イベントログを見ると、前後にスリープへ移行した形跡がないため、スリープは無関係。
- Windowsはバージョン1909。ドライバー類は7月時点の最新バージョンに更新している。
負荷テストにかける⇒再現せず
ハードウェア絡みの不具合でよくあるのがメモリーや電源ユニットの不調なので、これを調べてみる。
まず、MemTest86+は1 pass完走。次にOCCTでCPUとGPUに同時に負荷をかけたり、あるいは片方だけに負荷をかけたりしてみたが、動作は安定。
不具合発生後の状態からして一番疑わしいのがSSD。CrystalDiskMarkで32GB×8セットにしてSSDをベンチマークにかけてみると、SSDの温度が66度まで上がったが、それ以上は上がることなく不具合も発生せず。OCCTとCrystalDiskMarkを同時に実行しても再現せず。まあ、その程度の使い方で不具合が出るようでは製品の欠陥としか言いようが無いから、温度制御の安全装置が働くのは当然か。
オーバークロックが原因?⇒再現せず
これ以上負荷テストはやりようがないと思ってアイドル状態のまま放置していると、再度KP41エラーが発生。
CPU・メモリーともオーバークロックを標準設定の定格動作に戻し、SSD交換に備えてBitLocker暗号化を解除。するとこれ以降、長時間放置してもKP41エラーが発生しなくなる。
不具合が再現することを確認しようと、オーバークロックを以前の設定に戻し、BitLocker暗号化を元に戻してみるも、不具合は再現せず。再現しないことには不具合の原因を探るのは不可能なため、これ以上の実験は断念。
フォトアプリのバックグラウンド処理でSSDに高負荷?
アイドル中に何が起きているのか調査するため、各種モニタリングソフトを立ち上げておき、一定時間おきにスクショを撮るソフトを入れておいた。ある2つのアプリが起動すると、ディスクI/Oが高くなることが分かった。
一つはデフラグ (Defrag.exe)。ただ、これはハードディスクへのアクセスのみで、SSDにはアクセスしていない。Windows 7以降ではSSDに対して通常のデフラグ処理を行わず、Trimを実行するだけになっているので、SSDに対して高負荷が掛かるとは考えにくい。
もう一つはフォト (Microsoft.Photos.exe)。アイドル時にバックグラウンドで画像ファイルをスキャンし、サムネイル画像を生成する処理を行っているらしい。これが動作している間、SSDの温度が60度まで上昇した。
この現象は何度か確認できたものの、不具合の発生には至っていない。KP41エラーの発生時にどういう状況だったか分かっていないので、フォトアプリが原因とは断定できない。ただ、ハードウェアに生じている何らかの不調が、フォトアプリの高負荷によって呼び起こされた可能性はある。
KP41エラーによる再起動直後にSSDが認識されなかったという症状から、考えられるのはこれくらい。
- SSDのバグやエラー。あるいは発熱によって潜在していた不具合・不調が誘発されたか。
- CPUとメモリのオーバークロック絡み。メモリの電圧不足など。
メモリー絡みのエラーというのは厄介で、一見無関係と思えるブルースクリーンやリセット症状もメモリーが原因だったりする。後は、マザーボードの各種端子の接触不良もあり得る。
SSDもヒートシンク無しの安物なので不安ではあるが、メモリーこそ使用年数が長く、品質的に不安があるので、今回はメモリーを交換しておくことにする。これで再発するようであれば、SSDを疑って対策を考えることにする。
(2020/12/28追記) 9月にヒートシンクを取り付けてからも、ブルースクリーンは月1回のペース、9/19, 10⁄12, 11⁄22, 12/26で発生している。そのうち唯一、12/26の再起動前最後にstornvmeによる「デバイス \Device\RaidPort2 にリセットが発行されました。」のイベントが記録されている。同類のイベントはログに記録が残っている今年3月以降では発生していない。この時だけエラーが記録された原因は不明だが、NVMe接続のSSDが関係している可能性は一段と高まった。時期を見てSATAのSSDに戻すことを予定している。