Windows Hardware Error Architecture (WHEA) is an operating system hardware error handling mechanism introduced with Windows Vista SP1 and Windows Server 2008 as a successor to Machine Check Architecture (MCA) on previous versions of Windows.[1] The architecture consists of several software components that interact with the hardware and firmware of a given platform to handle and notify regarding hardware error conditions.[2] Collectively, these components provide: a generic means of discovering errors, a common error report format for those errors, a way of preserving error records, and an error event model based up on Event Tracing for Windows (ETW).[3]
WHEA "builds on the PCI Express Advanced Reporting to provide more detailed information about system errors and a common reporting structure."[4]
WHEA allows third-party software to interact with the operating system and react to certain hardware events. For example, when a new CPU is added to a running system—a Windows Server feature known as Dynamic Hardware Partitioning—the hardware error component stack is notified that a new processor was installed.[5]
In contrast, Linux supports the ACPI Platform Error Interface (APEI) which is introduced in ACPI 5.0.[6]
See also
edit- Machine-check exception (MCE)
- Reliability, availability and serviceability (RAS)
- RAMS (reliability, availability, maintainability and safety)
- High availability (HA)
- Blue screen of death
References
edit- ^ "Windows Hardware Error Architecture (WHEA) design guide". Microsoft Docs. 14 March 2023.
- ^ "Components of the Windows Hardware Error Architecture". Microsoft Docs. 14 March 2023.
- ^ "Introduction to the Windows Hardware Error Architecture". Microsoft Docs. 14 March 2023.
- ^ Sosinsky, Barrie (2008). Microsoft Windows Server 2008: Implementation and Administration. John Wiley & Sons. p. 11. ISBN 978-0470174593.
- ^ Mark E. Russinovich; David A. Solomon; Alex Ionescu (2009). Windows® Internals (Fifth ed.). Microsoft Press. p. 441. ISBN 978-0735625303.
- ^ "APEI Error INJection — The Linux Kernel documentation". www.kernel.org. Retrieved 2020-12-17.