PFA Performed by WHEA
Starting with Windows 7, the Windows Hardware Error Architecture (WHEA) supports Predictive Failure Analysis (PFA) for Error Correction Code (ECC) memory.
Important A platform-specific hardware error driver (PSHED) plug-in can perform PFA on ECC memory instead of WHEA. If the plug-in performs PFA, it must follow the steps that are described in PFA Performed by a PSHED Plug-In. The plug-in must not follow the steps that are described in this topic.
When an ECC memory error occurs, WHEA performs the following steps:
The low-level hardware error handler (LLHEH) is notified about the presence of the memory error condition.
The LLHEH retrieves memory error information from the error source and uses the error data to fill in a hardware error packet. This packet is formatted as a WHEA_ERROR_PACKET structure.
The LLHEH calls into the PSHED to retrieve any platform-specific hardware error information. If a PSHED plug-in in installed and is registered to retrieve information about the error, the PSHED will call into the PSHED plug-in so that the plug-in can modify the error information that is returned to the LLHEH.
The LLHEH calls the Windows operating system kernel, passing it the error packet.
The Windows kernel creates an error record and adds to it the information from the error packet that was received from the LLHEH. Additionally, the Windows kernel adds other information about the error (such as the error source, the severity of the error, and how many times the error has occurred) to the error record.
The Windows kernel calls into the PSHED to allow the PSHED to add sections to the error record.
If a PSHED plug-in is installed and is registered to retrieve information about the error, the PSHED will call into the PSHED plug-in so that the plug-in can modify the information in the error record.
If PFA is enabled, WHEA performs PFA on the ECC memory page. For more information about this process, see How WHEA Performs PFA on ECC Memory.
The Windows kernel generates an ETW event and logs the error information in the system event log.