Introduction
Une erreur de parité est un peu inversée dans la mémoire. Dans le domaine de l'électronique et de l'informatique, les interférences électriques ou magnétiques provenant de sources internes ou externes peuvent provoquer un basculement spontané d'un bit ou d'une mémoire vers l'état opposé. Cet événement rend les bits de données d'origine non valides et est appelé erreur de parité.

Généralement, ces erreurs se présentent sous deux types différents d'erreurs, soft et hard.
Erreurs de parité logicielle, ces événements sont transitoires et aléatoires. En général, ils ne sont visibles qu'une seule fois dans une banque particulière de mémoire.
Les erreurs de parité matérielle sont causées par un dysfonctionnement physique du matériel de mémoire ou par le circuit utilisé pour lire et écrire des cellules de mémoire. Elles sont généralement vues à plusieurs reprises et nécessitent un remplacement.
La plupart des erreurs de parité sont causées par des conditions environnementales électrostatiques ou magnétiques. La majorité des erreurs d'événement unique dans les puces mémoire sont causées par : rayonnement de fond (neutrons des rayons cosmiques, installations nucléaires), interférences électromagnétiques (EMI) et décharges électrostatiques. Ces événements peuvent modifier aléatoirement l'état électrique d'une ou de plusieurs cellules mémoire ou interférer avec le circuit utilisé pour lire et écrire des cellules mémoire.
Problème
Les erreurs de parité sont une réalité lorsqu'il s'agit de mémoire haute densité, comme c'est le cas dans les cartes de ligne ASR9k. Donc la façon dont nous les gérons est vraiment tout ce que nous pouvons contrôler. Certaines cartes de ligne ASR9k (xmen/typhon), dans de rares conditions, peuvent rencontrer des erreurs de cache de couche 1. Elles apparaissent comme une panique du noyau dans le cache de données ou le cache d'instructions (DCPERR ou ICPERR). Une autre erreur observée se trouve dans les différentes banques de mémoire utilisées par les processeurs réseau (NP) sur les cartes de ligne. Celles-ci sont généralement affichées en commençant par les types de journaux d'erreurs suivants :
%PLATFORM-NP-0-NON_RECOVERABLE_SOFT_ERROR
%PLATFORM-NP-3-ECC
%PLATFORM-PFM-0-CARD_RESET_REQ
Le problème ici est que le résultat DCPERR/ICPERR donne un rechargement complet de la carte de ligne. Il en va de même pour la grande majorité des différentes banques de mémoire NP. Ce n'est évidemment pas idéal car la plupart des cartes de ligne ont plusieurs NP. Pourquoi affecter tous les NP de la carte de ligne si seulement 1 NP a un problème.
Solution
Pour les erreurs DCPERR et ICPERR observées sur les caches de CPU LC typhon, nous avons une solution pour éviter la panique et recharger la carte de ligne. Ceci est fait avec CSCux30405 . Actuellement intégré dans les versions 5.3.3 et ultérieures.
Pour les souvenirs du NP, cela devient beaucoup plus compliqué. Il y a eu beaucoup d'efforts pour effacer les différents souvenirs pour voir lesquels nous pouvons sans danger ignorer ou venir avec un moyen moins impactant de récupérer. La majorité d'entre elles ont été intégrées dans la version 5.3.3 et supérieure et il y a eu des UMS de base construites sur la majorité des versions populaires.
Note: Cela a également causé une sûreté de CSCvc69282
où nous pouvons voir un plantage du noyau suite à des interruptions continues.
Améliorations de la gestion des erreurs logicielles NP
Au cours du dernier semestre de 2015 et au début de 2016, de nombreuses améliorations ont été apportées à la gestion douce des erreurs de NP pour le typhon et Tomahawk. La gestion de nombreux souvenirs différents a été convertie d'une méthode qui nécessitait un rechargement de la carte de ligne à quelque chose de plus gracieux comme la réparation de l'erreur en mémoire ou l'exécution d'une réinitialisation rapide NP. La gestion des erreurs qui n'ont pas d'impact fonctionnel mais qui ne peuvent pas être effacées (« collantes ») a également été améliorée afin que les erreurs ne continuent plus à se reproduire. En outre, plusieurs bogues ont été corrigés, en particulier pour les erreurs qui se produisent dans la mémoire d'instruction NP ou dans la TCAM interne. Environ 80 à 90 % des erreurs non récupérables antérieures sont maintenant récupérables et ne nécessitent pas de rechargement de carte de ligne.
Toutes ces améliorations et corrections sont intégrées dans les versions 5.3.3 et ultérieures. Les correctifs sont également disponibles dans les SMU parapluie pour toutes les principales versions de maintenance :
434 - CSCux16975
512 - CSCux44633
513 - CSCux16975
531 - CSCux34531
532 - CSCux78563