WHEA が ECC メモリ上で PFA を実行する方法
Windows 7 以降、Windows ハードウェア エラー アーキテクチャ (WHEA) では、エラー修正コード (ECC) メモリの障害予測分析 (PFA) がサポートされています。
WHEA は、次の条件に該当する場合にのみ、ECC メモリ ページで PFA を実行します。
レジストリ値 MemPfaDisable が 1 に設定されていません。
プラットフォーム固有のハードウェア エラー ドライバー (PSHED) プラグインでは、WHEA_ERROR_PACKET 構造の WHEA_ERROR_PACKET_FLAGS メンバー内の PlatformPfaControl ビットが 1 に設定されていませんでした。 プラグインは、PFA を実行している場合にこのビットを設定します。 このプラグインによる PFA の実行方法について詳しくは、「PSHED プラグインによって実行される PFA」をご覧ください。
メモリ ページで ECC メモリ エラーが発生すると、WHEA は次の手順に従って ECC メモリ ページで PFA を実行します。
WHEA が現在 ECC メモリ ページを監視していない場合、WHEA は監視データベースにページを追加し、新しいエントリのエラー数とティック数をクリアします。
注 WHEA は、ティック数が MemPfaTimeout レジストリ値を超えると、ECC メモリ ページの監視を停止します。 この場合、WHEA は監視データベースからエントリを削除します。
WHEA は、ECC メモリ ページのエラー数をインクリメントします。
エラー数が MemPfaThreshold レジストリ値を超えた場合、WHEA は最初にシステム メモリ マネージャーを呼び出して ECC メモリ ページをオフラインにします。
注 システム メモリ マネージャーが呼び出されると、ECC メモリ ページが実際にオフラインになる保証はありません。
次に、WHEA は、システム ストア上のブート構成データ (BCD) にメモリ ページを追加します。 これにより、次のシステムの再起動後にメモリ ページが使用されなくなります。
注 レジストリ値 DisableOffline が 0 以外の値に設定されている場合、WHEA は ECC メモリ ページなどのハードウェア コンポーネントをオフラインにしません。 さらに、レジストリ値 MemPersistOffline が 0 に設定されている場合も、WHEA は ECC メモリ ページを BCD ストアに追加しません。
WHEA の PFA レジストリ値について詳しくは、「WHEA ポリシーの設定」をご覧ください。
システム メモリ マネージャーについて詳しくは、Windows SDK ドキュメントの「メモリ管理」をご覧ください。