Introducción
Un error de paridad es un giro de bits en la memoria. En la electrónica y la informática, las interferencias eléctricas o magnéticas de fuentes internas o externas pueden hacer que un solo bit o la memoria se voltee espontáneamente al estado opuesto. Este evento invalida los bits de datos originales y se conoce como error de paridad.
Por lo general, estos errores se dividen en dos tipos diferentes de errores, uno de software y otro de hardware.
Errores de paridad de software, estos eventos son transitorios y aleatorios. Por lo general, solo se verán una vez en un banco de memoria en particular.
Los errores de paridad de hardware, son causados por un mal funcionamiento físico del hardware de memoria o por el circuito utilizado para leer y escribir celdas de memoria. Estos se ven generalmente repetidamente y requieren reemplazo.
La mayoría de los errores de paridad son causados por condiciones ambientales electrostáticas o magnéticas. La mayoría de los errores de un solo evento en los chips de memoria son causados por: radiación de fondo (como neutrones de rayos cósmicos, instalaciones nucleares), interferencia electromagnética (EMI), y descarga electrostática. Estos eventos pueden cambiar aleatoriamente el estado eléctrico de una o más células de memoria o pueden interferir con los circuitos utilizados para leer y escribir células de memoria.
Problema
Los errores de paridad son una realidad cuando se trata de memoria de alta densidad como se utiliza en las tarjetas de línea ASR9k. Así que cómo los manejamos es todo sobre lo que podemos tener control. Algunas tarjetas de línea ASR9k (xmen/typhoon), en condiciones poco frecuentes, pueden encontrar errores de caché de nivel 1. Estos se muestran como un pánico del núcleo en la memoria caché de datos o en la memoria caché de instrucciones (DCPERR o ICPERR). Otro error observado está en los diversos bancos de memoria utilizados por los NP (procesadores de red) en las tarjetas de línea. Estos normalmente se observan a partir de los siguientes tipos de registros de errores:
%PLATFORM-NP-0-NON_RECOVERABLE_SOFT_ERROR
%PLATFORM-NP-3-ECC
%PLATFORM-PFM-0-CARD_RESET_REQ
El problema aquí es que el resultado DCPERR/ICPERR en una recarga completa de la tarjeta de línea. Lo mismo fue cierto para la gran mayoría de los diversos bancos de memoria NP también. Esto obviamente no es ideal ya que la mayoría de las tarjetas de línea tienen múltiples NPs. ¿Por qué afectar a todos los NP de la tarjeta de línea si solo 1 NP tiene un problema?
Solución
Para los errores DCPERR e ICPERR que se ven en las memorias caché de CPU LC del tifón, tenemos una solución para evitar la necesidad de entrar en pánico y recargar la tarjeta de línea. Esto se hace con CSCux30405 . Actualmente está integrado en la versión 5.3.3 y posterior.
Para los recuerdos NP esto se vuelve mucho más complicado. Ha habido un gran esfuerzo por restregar los diversos recuerdos para ver qué podemos ignorar con seguridad o venir con una manera menos impactante de recuperarnos. La mayoría de los cuales se han integrado en 5.3.3 y superiores y ha habido SMUs de paraguas construidas sobre la mayoría de las versiones populares.
Nota: Esto también ha causado una garantía de CSCvc69282 donde es posible que veamos un bloqueo del núcleo debido a interrupciones continuas.
Mejoras en el manejo de errores de software NP
Durante la última mitad de 2015 y principios de 2016, se realizaron numerosas mejoras en el manejo de errores de software NP para Typhoon y Tomahawk. El manejo de muchas memorias diferentes se convirtió de un método que requería una recarga de tarjeta de línea a algo más elegante, como reparar el error en la memoria o realizar un reinicio rápido NP. También se mejoró la gestión de los errores que no tienen un impacto funcional pero que no pueden eliminarse ("persistente"), de modo que los errores ya no se repitan. Además, se corrigieron varios errores, especialmente para los errores que ocurren en la memoria de instrucción NP o en el TCAM interno. Aproximadamente el 80-90% de los errores que antes no eran recuperables ahora son recuperables y no requieren una recarga de la tarjeta de línea.
Todas estas mejoras y correcciones están integradas en las versiones 5.3.3 y posteriores. Las correcciones de errores también están disponibles en las SMU generales para todas las versiones de mantenimiento principales:
434 - CSCux16975
512 - CSCux44633
513 - CSCux16975
531 - CSCux34531
532 - CSCux78563