다음을 통해 공유


WHEA에서 수행하는 PFA

Windows 7부터 WHEA(Windows 하드웨어 오류 아키텍처)는 ECC(오류 수정 코드) 메모리에 대한 PFA(예측 오류 분석)를 지원합니다.

중요PSHED(플랫폼별 하드웨어 오류 드라이버) 플러그 인은 WHEA 대신 ECC 메모리에서 PFA를 수행할 수 있습니다. 플러그 인이 PFA를 수행하는 경우 PSHED 플러그 인에서 수행하는 PFA에 설명된 단계를 따라야 합니다. 플러그 인은 이 항목에 설명된 단계를 따라서는 안 됩니다.

ECC 메모리 오류가 발생하면 WHEA는 다음 단계를 수행합니다.

  1. LLHEH(하위 수준 하드웨어 오류 처리기)는 메모리 오류 조건의 존재에 대한 알림을 받습니다.

  2. LLHEH는 오류 원본에서 메모리 오류 정보를 검색하고 오류 데이터를 사용하여 하드웨어 오류 패킷을 채웁니다. 이 패킷은 WHEA_ERROR_PACKET 구조체로 서식이 지정됩니다.

  3. LLHEH는 PSHED를 호출하여 플랫폼별 하드웨어 오류 정보를 검색합니다. PSHED 플러그 인이 설치되어 있고 오류에 대한 정보를 검색하기 위해 등록된 경우 PSHED는 PSHED 플러그 인을 호출하여 플러그 인이 LLHEH로 반환되는 오류 정보를 수정할 수 있도록 합니다.

  4. LLHEH는 Windows 운영 체제 커널을 호출하여 오류 패킷을 전달합니다.

  5. Windows 커널은 오류 레코드 를 만들고 LLHEH에서 받은 오류 패킷의 정보를 추가합니다. 또한 Windows 커널은 오류 레코드에 오류에 대한 다른 정보(예: 오류 원본, 오류 심각도 및 오류가 발생한 횟수)를 추가합니다.

  6. Windows 커널은 PSHED를 호출하여 PSHED가 오류 레코드에 섹션을 추가할 수 있도록 합니다.

  7. PSHED 플러그 인이 설치되어 오류에 대한 정보를 검색하기 위해 등록된 경우 PSHED는 PSHED 플러그 인을 호출하여 플러그 인이 오류 레코드의 정보를 수정할 수 있도록 합니다.

    참고 PSHED 플러그 인이 PFA를 수행하지 않는 경우 WHEA_ERROR_PACKET 구조체WHEA_ERROR_PACKET_FLAGS 멤버에서 PlatformPfaControl 비트를 설정해서는 안 됩니다.

  8. PFA를 사용하도록 설정하면 WHEA는 ECC 메모리 페이지에서 PFA를 수행합니다. 이 프로세스에 대한 자세한 내용은 WHEA가 ECC 메모리에서 PFA를 수행하는 방법을 참조하세요.

  9. Windows 커널은 ETW 이벤트를 생성하고 시스템 이벤트 로그에 오류 정보를 기록합니다.