PFA effectuée par un Plug-In PSHED
Un plug-in PSHED (pilote d’erreur matérielle spécifique à la plateforme) peut effectuer une analyse prédictive des défaillances (PFA) sur la mémoire ECC. Dans ce cas, le plug-in et non WHEA doivent surveiller les pages de mémoire ECC. Si le plug-in détermine qu’une page de mémoire ECC a dépassé un seuil d’erreur, il indique que cette status à WHEA. WHEA tente ensuite de mettre la page mémoire hors connexion.
Note Si le plug-in PSHED effectue l’authentification par défaut et utilise le Registre pour stocker ses paramètres de configuration, tels que les seuils d’erreur et les délais d’attente de surveillance, il ne doit pas s’appuyer sur les paramètres de configuration PFA WHEA ou les utiliser décrits dans Paramètres de stratégie WHEA.
Lorsqu’une erreur de mémoire ECC se produit, WHEA et le plug-in effectuent les étapes suivantes :
Le gestionnaire d’erreurs matérielles de bas niveau (LLHEH) est averti de la présence de la condition d’erreur de mémoire.
LLHEH récupère des informations sur l’erreur de mémoire à partir de la source d’erreur et utilise les données d’erreur pour terminer un paquet d’erreur matérielle. Ce paquet est mis en forme en tant que structure WHEA_ERROR_PACKET .
LLHEH appelle le PSHED pour récupérer les informations d’erreur matérielle spécifiques à la plateforme. Si un plug-in PSHED est installé et inscrit pour récupérer des informations sur les erreurs, le PSHED appelle le plug-in PSHED afin que le plug-in puisse modifier les informations relatives à l’erreur retournée au LLHEH.
LLHEH appelle le noyau du système d’exploitation Windows et lui transmet le paquet d’erreur.
Le noyau Windows crée un enregistrement d’erreur et y ajoute les informations du paquet d’erreur qui a été reçu du LLHEH. En outre, le noyau Windows ajoute d’autres informations sur l’erreur, telles que la source de l’erreur, la gravité de l’erreur et le nombre de fois où l’erreur s’est produite à l’enregistrement d’erreur.
Le noyau Windows appelle le PSHED pour permettre au PSHED d’ajouter des sections à l’enregistrement d’erreur.
Si un plug-in PSHED est installé et est inscrit pour récupérer les informations d’erreur, le PSHED appelle le plug-in PSHED afin qu’il puisse modifier les informations dans l’enregistrement d’erreurs.
Si le plug-in PSHED effectue une authentification de type PFA sur la page mémoire ECC, il doit effectuer les opérations suivantes :
- Définissez le bit PlatformPfaControl dans le membre WHEA_ERROR_PACKET_FLAGS de la structure WHEA_ERROR_PACKET . Si ce bit est défini, WHEA n’est plus responsable de la PFA sur cette page de mémoire.
- Si le plug-in détermine que la page de mémoire ECC qui a rencontré l’erreur doit être mise hors connexion, définissez le bit PlatformDirectedOffline dans le membre WHEA_ERROR_PACKET_FLAGS . Si ce bit est défini, WHEA tente de mettre la page mémoire hors connexion.
Sinon, le plug-in PSHED doit effacer les bits PlatformPfaControl et PlatformDirectedOffline dans le membre WHEA_ERROR_PACKET_FLAGS de la structure WHEA_ERROR_PACKET .
Note Si le bit PlatformPfaControl est effacé, WHEA effectue l’authentification par défaut s’il est configuré pour ce faire et détermine si la page de mémoire ECC qui a rencontré l’erreur doit être mise hors connexion. Pour plus d’informations sur ce processus, consultez PFA effectuée par WHEA.
Si la page mémoire ECC doit être mise hors connexion, WHEA appelle d’abord le gestionnaire de mémoire système pour effectuer cette opération.
Note Lorsque le gestionnaire de mémoire système est appelé, il n’y a aucune garantie que la page mémoire ECC sera réellement mise hors connexion.
WHEA ajoute ensuite la page mémoire dans le magasin de données de configuration de démarrage (BCD) sur le système. Cela empêche l’utilisation de la page mémoire après le prochain redémarrage du système.
Note WHEA ne met pas en mode hors connexion un composant matériel, tel qu’une page mémoire ECC, si la valeur de Registre DisableOffline est définie sur une valeur différente de zéro. En outre, WHEA n’ajoute pas la page mémoire au magasin BCD si la valeur de Registre MemPersistOffline est définie sur 0. Pour plus d’informations sur les valeurs de Registre, consultez Paramètres de stratégie WHEA.
Pour plus d’informations sur le gestionnaire de mémoire système, consultez Gestion de la mémoire dans la documentation du Kit de développement logiciel (SDK) Windows.
- Le noyau Windows génère un événement ETW et consigne les informations d’erreur dans le journal des événements système.