stringtranslate.com

paridad de RAM

La verificación de paridad de RAM es el almacenamiento de un bit de paridad redundante que representa la paridad (par o impar) de una pequeña cantidad de datos de computadora (generalmente un byte) almacenados en la memoria de acceso aleatorio , y la posterior comparación de la paridad almacenada y calculada con Detectar si se ha producido un error de datos .

El bit de paridad se almacenó originalmente en chips de memoria individuales adicionales; con la introducción de módulos DIMM, SIMM, etc. enchufables, estuvieron disponibles en versiones sin paridad y con paridad (con un bit extra por byte , almacenando 9 bits por cada 8 bits de datos reales).

Historia

Módulos de memoria SIMM de 30 pines con 9 chips de memoria de un bit de ancho. El noveno chip se utiliza para almacenar la paridad.

Las primeras computadoras a veces requerían el uso de RAM de paridad y la verificación de paridad no se podía desactivar. Un error de paridad normalmente provocaba que la máquina se detuviera, con pérdida de datos no guardados; Esta suele ser una mejor opción que guardar datos corruptos. La RAM de paridad lógica , también conocida como RAM de paridad falsa, es una RAM sin paridad que se puede utilizar en computadoras que requieren RAM de paridad. La RAM de paridad lógica recalcula un bit de paridad siempre válido cada vez que se lee un byte de la memoria, en lugar de almacenar el bit de paridad cuando se escribe en la memoria; el bit de paridad calculado, que no revelará si los datos han sido dañados (de ahí el nombre de "paridad falsa"), se presenta a la lógica de verificación de paridad. Es una forma de utilizar RAM de 8 bits más barata en un sistema diseñado para utilizar sólo RAM de paridad de 9 bits.

Errores de memoria

En las décadas de 1970 y 1980, la confiabilidad de la RAM a menudo no era perfecta; en particular, las DRAM 4116, que fueron un estándar de la industria entre 1975 y 1983, tenían una tasa de falla considerable ya que usaban voltajes triples (-5, +5 y +12), lo que resultaba en altas temperaturas de funcionamiento. A mediados de la década de 1980, habían dado paso a DRAM de voltaje único, como el 4164 y el 41256, con el resultado de una confiabilidad mejorada. Sin embargo, la RAM no alcanzó los estándares modernos de confiabilidad hasta la década de 1990. Desde entonces, los errores se han vuelto menos visibles a medida que la RAM de paridad simple ha dejado de utilizarse; O son invisibles porque no se detectan, o se corrigen de forma invisible con la RAM ECC. Se cree, con mucha justificación, que la RAM moderna es confiable, y la RAM para detección de errores ha dejado de utilizarse en gran medida para aplicaciones no críticas. A mediados de la década de 1990, la mayoría de las DRAM habían abandonado la verificación de paridad porque los fabricantes confiaban en que ya no era necesaria. Algunas máquinas que admiten paridad o ECC permiten habilitar o deshabilitar la verificación en el BIOS , lo que permite utilizar RAM sin paridad más económica. Si se utiliza RAM de paridad, el chipset normalmente la utilizará para implementar la corrección de errores, en lugar de detener la máquina ante un error de paridad de un solo bit.

Sin embargo, como se analiza en el artículo sobre la memoria ECC , los errores, si bien no son eventos cotidianos, no son insignificantes. Incluso en ausencia de defectos de fabricación, la radiación natural provoca errores aleatorios; Las pruebas realizadas en los numerosos servidores de Google encontraron que los errores de memoria no eran eventos raros y que la incidencia de errores de memoria y el rango de tasas de error en diferentes DIMM eran mucho mayores de lo informado anteriormente. [1]

Error de corrección

La verificación simple de paridad pasa/no pasa requiere que la memoria tenga bits adicionales y redundantes además de los necesarios para almacenar los datos; pero si hay bits adicionales disponibles, se pueden utilizar para corregir y detectar errores. La memoria anterior, tal como se usaba, por ejemplo, en IBM PC/AT ( memoria FPM y EDO ) estaba disponible en versiones que no admitían verificación o verificación de paridad [2] (en computadoras anteriores que usaban chips RAM individuales en lugar de módulos DIMM o SIMM) . , se utilizaron chips adicionales para almacenar bits de paridad); si la computadora detectaba un error de paridad, mostraría un mensaje en ese sentido y se detendría. Los módulos SDRAM y DDR que reemplazaron a los tipos anteriores generalmente están disponibles sin verificación de errores o con ECC (corrección completa, no solo paridad). [2]

Un ejemplo de un error de un solo bit que sería ignorado por un sistema sin verificación de errores, detendría una máquina con verificación de paridad o sería corregido de manera invisible por ECC: un solo bit está atascado en 1 debido a un chip defectuoso, o cambia a 1 debido a radiación de fondo o cósmica; se carga una hoja de cálculo que almacena números en formato ASCII y el número "8" se almacena en el byte que contiene el bit atascado como octavo bit; luego se realiza otro cambio en la hoja de cálculo y se almacena. Sin embargo, el "8" (00111000 binario) se ha convertido en un "9" (00111001).

Si la paridad almacenada es diferente de la paridad calculada a partir de los datos almacenados, se debe haber cambiado al menos un bit debido a la corrupción de los datos. Los errores de memoria no detectados pueden tener resultados que van desde indetectables y sin consecuencias, hasta corrupción permanente de los datos almacenados o fallas de la máquina. En el caso de la PC doméstica, donde la integridad de los datos a menudo se percibe como de poca importancia (ciertamente cierto, por ejemplo, para los juegos y la navegación web, pero menos para la banca por Internet y las finanzas del hogar), la memoria sin paridad es una opción asequible. Sin embargo, si se requiere integridad de los datos, la memoria de paridad detendrá la computadora y evitará que los datos corruptos afecten los resultados o los datos almacenados, aunque se perderán los datos intermedios no almacenados y evitarán su uso hasta que se reemplace la RAM defectuosa. A costa de cierta sobrecarga computacional, de impacto insignificante en las computadoras modernas y veloces, los errores detectados se pueden corregir; esto es cada vez más importante en las máquinas en red que atienden a muchos usuarios.

RAM tipo ECC

La RAM con ECC o código de corrección de errores puede detectar y corregir errores . Al igual que con la RAM con paridad, es necesario almacenar información adicional y realizar más procesamiento, lo que hace que la RAM ECC sea más costosa y un poco más lenta que la RAM sin paridad y la RAM con paridad lógica. Este tipo de memoria ECC es especialmente útil para cualquier aplicación donde el tiempo de actividad sea una preocupación: los bits defectuosos en una palabra de memoria se detectan y corrigen sobre la marcha sin impacto en la aplicación. El sistema operativo normalmente registra la aparición del error para que un recurso técnico lo analice. En el caso de que el error persista, se puede programar un tiempo de inactividad del servidor para reemplazar la unidad de memoria defectuosa. Este mecanismo de detección y corrección se conoce como EEC o Corrección Extendida de Errores .

Cómo distinguir Parity Ram versus ECC Ram

Los rams de paridad se componen de los mismos chips en cantidades de 3 y 9 (un solo lado) y 6 o 18 (doble lado) en el módulo de memoria de la unidad de 30 pines. Los chips de RAM de paridad tienen un recuento exacto de '2 a 1' u '8 a 1 pines' en módulos de 30 pines. Pero en un módulo de 72 pines, las composiciones de los chips de paridad son bastante diferentes, 'ya sea un chip cuadrado de 4x12 pines en el centro que complementa 8 piezas de chips ram de 2x12 pines para un lado', '4 pequeños chips de 2x7 pines que complementan un módulo normal de 8 piezas 2x7 pin ram chips' o 'totalmente los mismos 9 chips permanecen en cada lado'. Lo importante aquí es que los chips de RAM de paridad tienen el número exacto de pines '8 a 1' o '4 a 1' para la paridad en un módulo de 72 pines.

Para ECC, la situación vuelve a ser un poco diferente. Todos los chips ECC tienen marcas diferentes, además de los chips ram normales. Puede haber uno o cuatro chips ECC. En módulos de 5x2 pines en una cantidad de 8, puede haber un único chip ECC de 6x2 pines presente en el centro (para un lado). La segunda opción para módulos ram de 5x2 pines nuevamente en una cantidad de 8, puede haber cuatro piezas adicionales de módulos ECC de 5x2 pines, ya sea en el mismo lado o en el otro lado, permaneciendo juntos. Si hay módulos de RAM en ambos tamaños, el número de chips se duplica a 18 o 24 chips respectivamente. Finalmente, si la capacidad de la memoria RAM aumenta más, el número de pines en todos los chips aumenta en +4 más por cada chip presente. Entonces, a diferencia de los chips de paridad, no existe un recuento exacto de pines de '8 a 1' y '2 a 1'; solo diseño de recuento de pines '4 a 1' y/o diseño de chip ECC de +4 pines en cada lado, si tiene 9 chips de un solo lado o 18 de doble lado, para que ECC funcione.

¡Los módulos "Sin paridad/no ECC", "Paridad" y "ECC" no funcionan juntos!

Ver también

Referencias

  1. ^ Cnet news - Google: la memoria de la computadora es más frágil de lo esperado
  2. ^ ab crucial.com Preguntas frecuentes: ¿Son ECC y paridad lo mismo? Si no, ¿cuál es la diferencia? Archivado el 1 de abril de 2012 en la Wayback Machine.