De Wikipedia, la enciclopedia libre
Saltar a navegación Saltar a búsqueda
Los DIMM ECC suelen tener nueve chips de memoria en cada lado, uno más de los que normalmente se encuentran en los DIMM que no son ECC (algunos módulos pueden tener 5 o 18). [1]

La memoria de códigos de corrección de errores ( memoria ECC ) es un tipo de almacenamiento de datos informáticos que utiliza un código de corrección de errores [a] (ECC) para detectar y corregir la corrupción de datos de n bits que se produce en la memoria. La memoria ECC se usa en la mayoría de las computadoras donde la corrupción de datos no se puede tolerar bajo ninguna circunstancia, como aplicaciones de control industrial, bases de datos críticas y cachés de memoria de infraestructura.

Por lo general, la memoria ECC mantiene un sistema de memoria inmune a errores de un solo bit: los datos que se leen de cada palabra son siempre los mismos que los datos que se escribieron en ella, incluso si uno de los bits realmente almacenados se ha invertido al estado equivocado. La mayoría de las memorias que no son ECC no pueden detectar errores, aunque algunas memorias que no son ECC con soporte de paridad permiten la detección pero no la corrección.

Descripción [ editar ]

Los códigos de corrección de errores protegen contra la corrupción de datos de memoria no detectada y se utilizan en computadoras donde dicha corrupción es inaceptable, por ejemplo, en algunas aplicaciones informáticas científicas y financieras, o en bases de datos y servidores de archivos . ECC también reduce el número de bloqueos que son especialmente inaceptables en aplicaciones de servidor multiusuario y sistemas de máxima disponibilidad.

La interferencia eléctrica o magnética dentro de un sistema informático puede hacer que un solo bit de la memoria dinámica de acceso aleatorio (DRAM) cambie espontáneamente al estado opuesto. Inicialmente se pensó que esto se debía principalmente a las partículas alfa emitidas por los contaminantes en el material de empaque del chip, pero la investigación ha demostrado que la mayoría de los errores de software únicos en los chips DRAM ocurren como resultado de la radiación de fondo , principalmente neutrones de los rayos cósmicos secundarios. , que puede cambiar el contenido de una o más celdas de memoria o interferir con los circuitos utilizados para leer o escribir en ellas. [2]Por tanto, las tasas de error aumentan rápidamente al aumentar la altitud; por ejemplo, en comparación con el nivel del mar, la tasa de flujo de neutrones es 3,5 veces mayor a 1,5 km y 300 veces mayor a 10-12 km (la altitud de crucero de los aviones comerciales). [3] Como resultado, los sistemas que operan a grandes altitudes requieren una provisión especial de confiabilidad.

Como ejemplo, la nave espacial Cassini-Huygens , lanzada en 1997, contenía dos registradores de vuelo idénticos, cada uno con 2,5 gigabits de memoria en forma de matrices de chips DRAM comerciales. Debido a la funcionalidad EDAC incorporada, la telemetría de ingeniería de la nave espacial informó el número de errores (corregibles) de un solo bit por palabra y errores (incorregibles) de doble bit por palabra. Durante los primeros 2,5 años de vuelo, la nave espacial informó una tasa de error de un solo bit casi constante de aproximadamente 280 errores por día. Sin embargo, el 6 de noviembre de 1997, durante el primer mes en el espacio, el número de errores aumentó en más de un factor de cuatro para ese único día. Esto se atribuyó a un evento de partículas solares que había sido detectado por el satélite GOES 9 .[4]

Hubo cierta preocupación de que a medida que la densidad de DRAM aumenta aún más y, por lo tanto, los componentes de los chips se vuelven más pequeños, mientras que al mismo tiempo los voltajes operativos continúan cayendo, los chips DRAM se verán afectados por dicha radiación con mayor frecuencia, ya que las partículas de menor energía podrán para cambiar el estado de una celda de memoria. [3] Por otro lado, las células más pequeñas son objetivos más pequeños, y los movimientos hacia tecnologías como SOI pueden hacer que las células individuales sean menos susceptibles y así contrarrestar, o incluso revertir, esta tendencia. Estudios recientes [5] muestran que las alteraciones de un solo evento debido a la radiación cósmica han disminuido drásticamente con la geometría del proceso y las preocupaciones anteriores sobre el aumento de las tasas de error de las celdas de bits son infundadas.

Investigación [ editar ]

El trabajo publicado entre 2007 y 2009 mostró tasas de error muy variables con más de 7 órdenes de magnitud de diferencia, que van desde 10-10 error / bit · h (aproximadamente un error de bit por hora por gigabyte de memoria) hasta 10-17 error / bit · h (aproximadamente un error de bit por milenio por gigabyte de memoria). [5] [6] [7] En la conferencia SIGMETRICS / Performance '09 se presentó un estudio a gran escala basado en la gran cantidad de servidores de Google . [6] La tasa de error real encontrada fue varios órdenes de magnitud más alta que en los estudios previos a pequeña escala o de laboratorio, con entre 25.000 (2,5 × 10 −11 de error / bit · h) y 70.000 (7,0 × 10 −11error / bit · h, o error de 1 bit por gigabyte de RAM por 1.8 horas) errores por mil millones de horas de dispositivo por megabit. Más del 8% de los módulos de memoria DIMM se vieron afectados por errores por año.

La consecuencia de un error de memoria depende del sistema. En sistemas sin ECC, un error puede provocar un bloqueo o la corrupción de los datos; En los sitios de producción a gran escala, los errores de memoria son una de las causas de hardware más comunes de fallas de la máquina. [6] Los errores de memoria pueden causar vulnerabilidades de seguridad. [6] Un error de memoria no puede tener consecuencias si cambia un bit que no causa un mal funcionamiento observable ni afecta los datos utilizados en los cálculos o guardados. Un estudio de simulación de 2010 mostró que, para un navegador web, solo una pequeña fracción de los errores de memoria causaron corrupción de datos, aunque, como muchos errores de memoria son intermitentes y están correlacionados, los efectos de los errores de memoria fueron mayores de lo que se esperaría para errores de software independientes. [8]

Algunas pruebas concluyen que el aislamiento de las células de memoria DRAM puede evitarse mediante efectos secundarios no deseados de accesos especialmente diseñados a células adyacentes. Por lo tanto, acceder a los datos almacenados en DRAM hace que las celdas de memoria filtren sus cargas e interactúen eléctricamente, como resultado de la alta densidad de celdas en la memoria moderna, alterando el contenido de las filas de memoria cercanas que en realidad no se abordaron en el acceso a la memoria original. Este efecto se conoce como martillo de fila y también se ha utilizado en algunas vulnerabilidades de seguridad informática de escalada de privilegios . [9] [10]

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 se cambia a 1 debido a la radiación de fondo o cósmica; se carga una hoja de cálculo que almacena números en formato ASCII y el carácter "8" (valor decimal 56 en la codificación ASCII) se almacena en el byte que contiene el bit atascado en su posición de bit más baja; luego, se realiza un cambio en la hoja de cálculo y se guarda. Como resultado, el "8" (0011 100 0 binario) se ha convertido silenciosamente en un "9" (0011 100 1 ).

Soluciones [ editar ]

Se han desarrollado varios enfoques para tratar los cambios de bits no deseados, incluida la programación con reconocimiento de inmunidad , la memoria de paridad RAM y la memoria ECC .

Este problema se puede mitigar 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 utilizan para registrar la paridad o para utilizar un código de corrección de errores (ECC). La paridad permite la detección de todos los errores de un solo bit (en realidad, cualquier número impar de bits incorrectos). El código de corrección de errores más común, un código Hamming de corrección de error simple y detección de error doble (SECDED) , permite corregir un error de un solo bit y (en la configuración habitual, con un bit de paridad adicional) errores de doble bit para ser detectado. Chipkill ECC es una versión más eficaz que también corrige múltiples errores de bits, incluida la pérdida de un chip de memoria completo.

Implementaciones [ editar ]

Seymour Cray dijo la famosa frase "la paridad es para los agricultores " cuando se le preguntó por qué dejó esto fuera del CDC 6600 . [11] Más tarde, incluyó la paridad en el CDC 7600 , lo que provocó que los expertos comentaran que "aparentemente muchos agricultores compran computadoras". El IBM PC original y todos los PC hasta principios de la década de 1990 utilizaban la verificación de paridad. [12] Los posteriores en su mayoría no lo hicieron.

Un controlador de memoria con capacidad ECC generalmente puede [a] detectar y corregir errores de un solo bit por palabra [b] (la unidad de transferencia de bus ) y detectar (pero no corregir) errores de dos bits por palabra. El BIOS en algunas computadoras, cuando se combina con sistemas operativos como algunas versiones de Linux , BSD y Windows ( Windows 2000 y posteriores [13] ), permite contar los errores de memoria detectados y corregidos, en parte para ayudar a identificar los módulos de memoria defectuosos antes. el problema se vuelve catastrófico.

Algunos chips DRAM incluyen circuitos de corrección de errores "internos" en el chip, que permiten que los sistemas con controladores de memoria no ECC sigan obteniendo la mayoría de los beneficios de la memoria ECC. [14] [15] En algunos sistemas, se puede lograr un efecto similar mediante el uso de módulos de memoria EOS .

La detección y corrección de errores depende de la expectativa de los tipos de errores que ocurren. Implícitamente, se supone que la falla de cada bit en una palabra de memoria es independiente, lo que resulta en la improbabilidad de dos errores simultáneos. Este solía ser el caso cuando los chips de memoria tenían un bit de ancho, lo que era típico en la primera mitad de la década de 1980; desarrollos posteriores trasladaron muchos bits al mismo chip. Esta debilidad se aborda en diversas tecnologías, incluyendo IBM 's Chipkill , Sun Microsystems ' ECC extendido , Hewlett Packard 's Chipspare , y Intel ' s único dispositivo de corrección de datos (SDDC).

La memoria DRAM puede proporcionar una mayor protección contra errores de software al confiar en códigos de corrección de errores. Dicha memoria de corrección de errores , conocida como ECC o memoria protegida por EDAC , es particularmente deseable para aplicaciones de alta tolerancia a fallas, como servidores, así como aplicaciones de espacio profundo debido al aumento de la radiación . Algunos sistemas también " limpian " la memoria, leyendo periódicamente todas las direcciones y escribiendo versiones corregidas si es necesario para eliminar errores de software.

El entrelazado permite la distribución del efecto de un solo rayo cósmico, alterando potencialmente múltiples bits físicamente vecinos en múltiples palabras al asociar bits vecinos a diferentes palabras. Siempre que una alteración de un solo evento (SEU) no exceda el umbral de error (por ejemplo, un solo error) en cualquier palabra en particular entre accesos, puede corregirse (por ejemplo, mediante un código de corrección de errores de un solo bit) y una Se puede mantener un sistema de memoria libre de errores. [dieciséis]

Los controladores de memoria que corrigen errores usan tradicionalmente códigos Hamming , aunque algunos usan redundancia modular triple (TMR). Se prefiere este último porque su hardware es más rápido que el del esquema de corrección de errores de Hamming. [16] Los sistemas de satélites espaciales a menudo usan TMR, [17] [18] [19] aunque la RAM de los satélites generalmente usa la corrección de errores de Hamming. [20]

Muchas de las primeras implementaciones de la memoria ECC enmascaran los errores corregibles, actuando "como si" el error nunca hubiera ocurrido y solo informan errores incorregibles. Las implementaciones modernas registran tanto errores corregibles (CE) como errores incorregibles (UE). Algunas personas reemplazan de manera proactiva los módulos de memoria que exhiben altas tasas de error, para reducir la probabilidad de eventos de error incorregibles. [21]

Muchos sistemas de memoria ECC utilizan un circuito EDAC "externo" entre la CPU y la memoria. Algunos sistemas con memoria ECC utilizan sistemas EDAC tanto internos como externos; El sistema EDAC externo debe diseñarse para corregir ciertos errores que el sistema EDAC interno no puede corregir. [14] Las CPU modernas de escritorio y servidor integran el circuito EDAC en la CPU, [22] incluso antes del cambio hacia los controladores de memoria integrados en la CPU, que están relacionados con la arquitectura NUMA . La integración de la CPU permite un sistema EDAC sin penalización durante el funcionamiento sin errores.

A partir de 2009, los códigos de corrección de errores más comunes utilizan códigos Hamming o Hsiao que proporcionan corrección de errores de un solo bit y detección de errores de doble bit (SEC-DED). Se han propuesto otros códigos de corrección de errores para proteger la memoria: códigos de corrección de errores de doble bit y detección de errores de triple bit (DEC-TED), códigos de corrección de errores de un solo nibble y de detección de errores de doble nibble (SNC-DND), Reed– Códigos de corrección de errores de Solomon , etc. Sin embargo, en la práctica, la corrección de múltiples bits se implementa normalmente entrelazando múltiples códigos SEC-DED. [23] [24]

Las primeras investigaciones intentaron minimizar el área y retrasar los gastos generales de los circuitos ECC. Hamming demostró por primera vez que los códigos SEC-DED eran posibles con una matriz de verificación en particular. Hsiao demostró que una matriz alternativa con columnas de peso impar proporciona capacidad SEC-DED con menos área de hardware y un retardo más corto que los códigos SEC-DED tradicionales de Hamming. La investigación más reciente también intenta minimizar la energía además de minimizar el área y el retraso. [25] [26] [27]

Caché [ editar ]

Muchas CPU utilizan códigos de corrección de errores en la caché del chip , incluidos los procesadores Intel Itanium , Xeon , Core y Pentium (desde la microarquitectura P6 ) [28] [29] , AMD Athlon , Opteron , todos Zen - [30] y Procesadores basados ​​en Zen + [31] ( EPYC , EPYC Embedded , Ryzen y Ryzen Threadripper ) y el DEC Alpha 21264. [23] [32]

A partir de 2006 , EDC / ECC y ECC / ECC son las dos técnicas de protección contra errores de caché más comunes utilizadas en microprocesadores comerciales. La técnica EDC / ECC utiliza un código de detección de errores (EDC) en la caché de nivel 1. Si se detecta un error, los datos se recuperan de la caché de nivel 2 protegida por ECC. La técnica ECC / ECC utiliza una caché de nivel 1 protegida por ECC y una caché de nivel 2 protegida por ECC. [33] Las CPU que utilizan la técnica EDC / ECC siempre escriben todas las ALMACENES en la caché de nivel 2, de modo que cuando se detecta un error durante una lectura de la caché de datos de nivel 1, se puede recuperar una copia de esos datos desde la caché de nivel 2.

Memoria registrada [ editar ]

Dos 8 GB DDR4 -2133 ECC 1.2 V RDIMM

La memoria registrada o almacenada en búfer no es lo mismo que ECC; las tecnologías realizan diferentes funciones. Es habitual que la memoria utilizada en los servidores esté registrada, para permitir que se utilicen muchos módulos de memoria sin problemas eléctricos, y ECC, para la integridad de los datos. La memoria utilizada en las computadoras de escritorio no lo es, por economía. Sin embargo, la memoria ECC sin búfer (no registrada) está disponible, [34] y algunas placas base que no son de servidor admiten la funcionalidad ECC de dichos módulos cuando se utilizan con una CPU que admite ECC. [35] La memoria registrada no funciona de manera confiable en placas base sin circuitos de almacenamiento en búfer y viceversa.

Ventajas y desventajas [ editar ]

En última instancia, existe una compensación entre la protección contra la pérdida inusual de datos y un costo más alto.

La memoria ECC generalmente implica un precio más alto en comparación con la memoria no ECC, debido al hardware adicional requerido para producir módulos de memoria ECC y debido a los menores volúmenes de producción de memoria ECC y hardware del sistema asociado. Las placas base, los conjuntos de chips y los procesadores que admiten ECC también pueden ser más costosos.

La compatibilidad con ECC varía entre los fabricantes de placas base, por lo que es posible que una placa base incompatible con ECC no reconozca la memoria ECC. La mayoría de las placas base y procesadores para aplicaciones menos críticas no están diseñadas para admitir ECC, por lo que sus precios pueden mantenerse más bajos. Algunas placas y procesadores habilitados para ECC pueden admitir ECC sin búfer (no registrado), pero también funcionan con memoria no ECC; El firmware del sistema habilita la funcionalidad ECC si la memoria ECC está instalada.

ECC puede reducir el rendimiento de la memoria entre un 2 y un 3 por ciento en algunos sistemas, según la aplicación y la implementación, debido al tiempo adicional necesario para que los controladores de memoria ECC realicen la verificación de errores. [36] Sin embargo, los sistemas modernos integran las pruebas ECC en la CPU, lo que no genera demoras adicionales en los accesos a la memoria siempre que no se detecten errores. [22] [37] [38]

La memoria compatible con ECC puede contribuir a un consumo de energía adicional debido a los circuitos de corrección de errores.

Notas [ editar ]

  1. ^ a b La mayor parte de la memoria ECC utiliza un código SECDED .
  2. ^ Mientras que la palabra de 72 bits con 64 bits de datos y 8 bits de verificación son comunes, ECC también se usa con tamaños más pequeños y más grandes.

Referencias [ editar ]

  1. ^ Werner Fischer. "RAM revelada" . admin-magazine.com . Consultado el 20 de octubre de 2014 .
  2. ^ Evento único malestar a nivel del suelo, Eugene Normand, miembro, IEEE, Boeing Defence & Space Group, Seattle, WA 98124-2499
  3. ^ a b " Una encuesta de técnicas para modelar y mejorar la confiabilidad de los sistemas informáticos ", IEEE TPDS, 2015
  4. ^ Gary M. Swift y Steven M. Guertin. "Observaciones en vuelo de alteración de varios bits en DRAM". Laboratorio de propulsión a chorro
  5. ^ a b Borucki, "Comparación de tasas de error suave de DRAM aceleradas medidas a nivel de componentes y sistemas", 46º Simposio Internacional Anual de Física de Confiabilidad Internacional, Phoenix, 2008, págs. 482–487
  6. ^ a b c d Schroeder, Bianca; Pinheiro, Eduardo; Weber, Wolf-Dietrich (2009). Errores de DRAM en la naturaleza: un estudio de campo a gran escala (PDF) . SIGMETRÍA / Performance . ACM. ISBN  978-1-60558-511-6. Resumen de Lay - ZDNet .
  7. ^ "Una medición de errores de memoria blanda en sistemas de producción" . Archivado desde el original el 14 de febrero de 2017 . Consultado el 27 de junio de 2011 .
  8. ^ Li, Huang; Shen, Chu (2010). " " Una evaluación realista de los errores de hardware de la memoria y la susceptibilidad del sistema de software ". Conferencia anual de tecnología de Usenix 2010" (PDF) .
  9. ^ Yoongu Kim; Ross Daly; Jeremie Kim; Chris Fallin; Ji Hye Lee; Donghyuk Lee; Chris Wilkerson; Konrad Lai; Onur Mutlu (24 de junio de 2014). "Voltear bits en la memoria sin acceder a ellos: un estudio experimental de errores de perturbación de DRAM" (PDF) . ece.cmu.edu . IEEE . Consultado el 10 de marzo de 2015 .
  10. Dan Goodin (10 de marzo de 2015). "El truco de vanguardia otorga un estatus de superusuario al explotar la debilidad de la DRAM" . Ars Technica . Consultado el 10 de marzo de 2015 .
  11. ^ "CDC 6600" . Investigación de Microsoft . Consultado el 23 de noviembre de 2011 .
  12. ^ "Comprobación de paridad" . Pcguide.com. 2001-04-17 . Consultado el 23 de noviembre de 2011 .
  13. ^ DOMARS. "mca - controladores de Windows" . docs.microsoft.com . Consultado el 27 de marzo de 2021 .
  14. ^ a b AH Johnston. "Efectos de la radiación espacial en memorias flash avanzadas" Archivado el 4 de marzo de 2016 en la Wayback Machine . Programa de Embalaje y Piezas Electrónicas de la NASA (NEPP). 2001.
  15. ^ "ECC DRAM - Memoria inteligente" . intelligentmemory.com . Consultado el 23 de diciembre de 2014 .
  16. ^ a b "Uso de StrongArm SA-1110 en la computadora de a bordo del nanosatélite" . Centro Espacial Tsinghua, Universidad Tsinghua, Beijing. Archivado desde el original el 2 de octubre de 2011 . Consultado el 16 de febrero de 2009 .
  17. ^ "Los ingenieros de Actel utilizan redundancia de módulo triple en la nueva FPGA radical" . Electrónica militar y aeroespacial. Archivado desde el original el 14 de julio de 2012 . Consultado el 16 de febrero de 2009 .
  18. ^ "Endurecimiento SEU de matrices de puertas programables de campo (FPGA) para aplicaciones espaciales y caracterización de dispositivos" . Klabs.org. 2010-02-03. Archivado desde el original el 25 de noviembre de 2011 . Consultado el 23 de noviembre de 2011 .
  19. ^ "FPGA en el espacio" . Techfocusmedia.net . Consultado el 23 de noviembre de 2011 .[ enlace muerto permanente ]
  20. ^ "Tecnologías comerciales de microelectrónica para aplicaciones en el entorno de radiación por satélite" . Radhome.gsfc.nasa.gov . Consultado el 23 de noviembre de 2011 .
  21. ^ Doug Thompson, Mauro Carvalho Chehab. "EDAC - Detección y corrección de errores" Archivado el 5 de septiembre de 2009 en Wayback Machine . 2005 - 2009. "El objetivo del módulo de kernel 'edac' es detectar e informar errores que ocurren dentro del sistema informático que se ejecuta bajo Linux".
  22. ^ a b "Guía de diseño de BIOS / software del controlador del sistema AMD-762 ™, p. 179" (PDF) .
  23. ^ a b Doe Hyun Yoon; Mattan Erez. "ECC asignada en memoria: protección contra errores de bajo costo para cachés de último nivel" . 2009. p. 3
  24. ^ Daniele Rossi; Nicola Timoncini; Michael Spica; Cecilia Metra. "Análisis de código de corrección de errores para alta confiabilidad y rendimiento de la memoria caché" Archivado 2015-02-03 en Wayback Machine .
  25. ^ Shalini Ghosh; Sugato Basu; y Nur A. Touba. "Selección de códigos de corrección de errores para minimizar la energía en los circuitos del verificador de memoria" Archivado 2015-02-03 en Wayback Machine . pag. 2 y p. 4.
  26. ^ Chris Wilkerson; Alaa R. Alameldeen; Zeshan Chishti; Wei Wu; Dinesh Somasekhar; Shih-lien Lu. "Reducción de la potencia de la caché con códigos de corrección de errores de varios bits y de bajo costo" . doi : 10.1145 / 1816038.1815973 .
  27. ^ MI Hsiao. "Una clase de códigos SEC-DED óptimos mínimos de columna de peso impar" . 1970.
  28. ^ Corporación Intel. "Familia de procesadores Intel Xeon E7: confiabilidad, disponibilidad y facilidad de servicio" . 2011. p. 12.
  29. ^ "Bios y caché - Computadoras de compilación personalizada" . www.custom-build-computers.com . Consultado el 27 de marzo de 2021 .
  30. ^ "Microarquitectura AMD Zen - Jerarquía de memoria" . WikiChip . Consultado el 15 de octubre de 2018 .
  31. ^ "Microarquitectura AMD Zen + - Jerarquía de memoria" . WikiChip . Consultado el 15 de octubre de 2018 .
  32. ^ Jangwoo Kim; Nikos Hardavellas; Ken Mai; Babak Falsafi; James C. Hoe. "Cachés tolerantes a errores de varios bits que utilizan codificación de errores bidimensionales" . 2007. p. 2.
  33. ^ Nathan N. Sadler y Daniel J. Sorin. "Elección de un esquema de protección contra errores para la caché de datos L1 de un microprocesador" . 2006. p. 1.
  34. ^ "Módulo RAM ECC sin búfer típico: Crucial CT25672BA1067" .
  35. ^ Especificación de placa base de escritorio que admite RAM sin búfer ECC y no ECC con CPU compatibles
  36. ^ "Discusión de ECC en pcguide" . Pcguide.com. 2001-04-17 . Consultado el 23 de noviembre de 2011 .
  37. ^ Punto de referencia de la plataforma AMD-762 / Athlon con y sin ECC Archivado el 15 de junio de 2013 en la Wayback Machine.
  38. ^ "ECCploit: memoria ECC vulnerable a los ataques de martillo de remo después de todo" . Grupo de Seguridad de Sistemas y Redes en VU Amsterdam . Consultado el 22 de noviembre de 2018 .

Enlaces externos [ editar ]

  • SoftECC: un sistema para la verificación de la integridad de la memoria del software
  • Una biblioteca de corrección y detección de errores DRAM basada en software y sintonizable para HPC
  • Detección y corrección de la corrupción silenciosa de datos para computación de alto rendimiento a gran escala
  • Errores de un solo bit: la perspectiva de un proveedor de módulos de memoria sobre la causa, el impacto y la detección
  • Procesador Intel Xeon E3 - Guía de configuración de memoria de la familia de productos 1200
  • Linus Torvalds sobre la importancia de ECC RAM, destaca las "malas políticas" de Intel sobre ECC