He visto una discusión sobre el uso de ram ECC en los servidores. ¿Por qué es mejor?
He visto una discusión sobre el uso de ram ECC en los servidores. ¿Por qué es mejor?
Respuestas:
La RAM ECC puede recuperarse de pequeños errores en bits, utilizando bits de paridad. Dado que los servidores son un recurso compartido donde el tiempo de actividad y la confiabilidad son importantes, la RAM ECC generalmente se usa con una diferencia de precio modesta. La RAM ECC también se usa en estaciones de trabajo CAD / CAM, donde los errores de bits pequeños pueden causar errores de cálculo que se convierten en problemas más significativos cuando un diseño pasa a la fabricación.
Excelente estudio del mundo real:
Errores de DRAM en la naturaleza: un estudio de campo a gran escala (pdf)
Este documento proporciona el primer estudio a gran escala de los errores de memoria DRAM en el campo. Se basa en los datos recopilados de la flota de servidores de Google durante un período de más de dos años que representan muchos millones de días DIMM. La DRAM en nuestro estudio cubre múltiples proveedores, densidades y tecnologías de DRAM (DDR1, DDR2 y FBDIMM).
El documento aborda las siguientes preguntas: ¿Qué tan comunes son los errores de memoria en la práctica? ¿Cuáles son sus propiedades estadísticas? ¿Cómo se ven afectados por factores externos, como la temperatura y la utilización del sistema? ¿Y cómo varían con factores específicos del chip, como la densidad del chip, la tecnología de memoria y la antigüedad del DIMM?
Encontramos que en muchos aspectos los errores de DRAM en el campo se comportan de manera muy diferente de lo que comúnmente se supone. Por ejemplo, observamos tasas de error DRAM que son órdenes de magnitud más altas que las reportadas anteriormente, con tasas FIT (fallas en el tiempo por billón de horas de dispositivo) de 25,000 a 70,000 por Mbit y más del 8% de DIMM afectados por año. Proporcionamos evidencia sólida de que los errores de memoria están dominados por errores duros, en lugar de errores blandos, en los que se centra la mayoría del trabajo anterior. Encontramos que, de todos los factores que afectan el comportamiento de error de un DIMM en el campo, la temperatura tiene un efecto sorprendentemente pequeño. Finalmente, a diferencia de lo que comúnmente se teme, no observamos ninguna indicación de que las tasas de error por DIMM aumenten con las nuevas generaciones de DIMM.
Es interesante que la mayoría de los errores de memoria fueran duros: los errores de memoria dura son irrecuperables, lo que significa que la memoria tiene que ser reemplazada físicamente como fallida , mientras que los errores de memoria blanda pueden repararse sobrescribiendo la memoria con el valor correcto. Esto me indica que el valor de ECC es bastante limitado.
Hay dos tipos de errores que generalmente pueden ocurrir en un sistema de memoria. El primero se llama un error repetible o difícil. En esta situación, una pieza de hardware está rota y siempre devolverá resultados incorrectos. Un bit puede estar atascado para que siempre devuelva "0", por ejemplo, sin importar lo que esté escrito en él. Los errores duros generalmente indican módulos de memoria sueltos, chips quemados, defectos de la placa base u otros problemas físicos. Son relativamente fáciles de diagnosticar y corregir porque son consistentes y repetibles.
Sin embargo, parece que todos los servidores en el estudio usaron ECC, por lo que no podemos conocer las tasas de error de ECC vs. no ECC.
Este documento estudió la incidencia y las características de los errores de DRAM en una gran flota de servidores de productos básicos. Nuestro estudio se basa en datos recopilados durante más de 2 años y cubre DIMM de múltiples proveedores, generaciones, tecnologías y capacidades. Todos los DIMM estaban equipados con lógica de corrección de errores (ECC) para corregir al menos errores de un solo bit.
ECC tiene varias ventajas sobre la paridad. Por un lado, puede detectar y reparar errores de un solo bit y hacerlo sin tener que detener todo el sistema. Los errores de bits múltiples aún devolverán un error de paridad, pero las probabilidades de que esto ocurra son astronómicamente bajas durante la vida útil de una PC a menos que la memoria en sí sea defectuosa. ECC es como un seguro de auto: lo cubre para la mayoría de las cosas que pueden salir mal, pero no puede evitar una acumulación de autos múltiples.
Más detalles aquí: memoria ECC: imprescindible para servidores, no para PC de escritorio
Para simplificar las cosas, citando de Wikipedia :
La interferencia eléctrica o magnética dentro de un sistema informático puede hacer que un solo bit de DRAM se voltee espontáneamente al estado opuesto. Inicialmente se pensó que esto se debía principalmente a las partículas alfa emitidas por contaminantes en el material de embalaje de chips, pero la investigación [5] ha demostrado que la mayoría de los errores únicos ("suaves") en los chips DRAM se producen como resultado de la radiación de fondo
...
Este problema puede mitigarse mediante el uso de módulos DRAM que incluyen bits de memoria adicionales y controladores de memoria que explotan estos bits. Estos bits adicionales se usan para registrar la paridad o para usar un código de corrección de errores