En electrónica e informática , un error leve es un tipo de error en el que una señal o un dato son incorrectos. Los errores pueden ser causados por un defecto , generalmente entendido como un error en el diseño o la construcción, o un componente roto. Un error leve también es una señal o dato incorrecto, pero no se supone que implique tal error o rotura. Después de observar un error leve, no hay ninguna implicación de que el sistema sea menos confiable que antes. Una de las causas de los errores leves son las alteraciones de eventos únicos de los rayos cósmicos.
En el sistema de memoria de una computadora, un error leve cambia una instrucción en un programa o un valor de datos. Por lo general, los errores de software se pueden solucionar mediante un arranque en frío de la computadora. Un error leve no dañará el hardware de un sistema; el único daño es para los datos que se procesan.
Hay dos tipos de errores de software, errores de software a nivel de chip y de error suave a nivel de sistema . Los errores suaves a nivel de chip ocurren cuando las partículas golpean el chip, por ejemplo, cuando las partículas secundarias de los rayos cósmicos aterrizan en el silicio mueren . Si una partícula con ciertas propiedades golpea una celda de memoria , puede hacer que la celda cambie de estado a un valor diferente. La reacción atómica en este ejemplo es tan pequeña que no daña la estructura física del chip. Los errores de software a nivel del sistema ocurren cuando los datos que se procesan se ven afectados por un fenómeno de ruido, generalmente cuando los datos están en un bus de datos. La computadora intenta interpretar el ruido como un bit de datos, lo que puede causar errores al direccionar o procesar el código del programa. El bit de datos incorrectos incluso se puede guardar en la memoria y causar problemas en un momento posterior.
Si se detecta, un error leve puede corregirse reescribiendo los datos correctos en lugar de los datos erróneos. Los sistemas altamente confiables utilizan la corrección de errores para corregir errores de software sobre la marcha. Sin embargo, en muchos sistemas, puede ser imposible determinar los datos correctos o incluso descubrir que existe un error. Además, antes de que se produzca la corrección, es posible que el sistema se haya bloqueado , en cuyo caso el procedimiento de recuperación debe incluir un reinicio . Los errores leves implican cambios en los datos ( por ejemplo, los electrones en un circuito de almacenamiento), pero no cambios en el circuito físico en sí, los átomos . Si se reescriben los datos, el circuito volverá a funcionar perfectamente. Los errores de software pueden ocurrir en líneas de transmisión, en lógica digital, circuitos analógicos, almacenamiento magnético y en otros lugares, pero son más comúnmente conocidos en el almacenamiento de semiconductores.
Carga crítica
El hecho de que un circuito experimente un error leve o no depende de la energía de la partícula entrante, la geometría del impacto, la ubicación del impacto y el diseño del circuito lógico. Los circuitos lógicos con mayor capacitancia y voltajes lógicos más altos tienen menos probabilidades de sufrir un error. Esta combinación de capacitancia y voltaje se describe mediante el parámetro de carga crítica , Q crit , la perturbación mínima de carga de electrones necesaria para cambiar el nivel lógico. Un Q crítico más alto significa menos errores leves. Desafortunadamente, un Q crítico más alto también significa una puerta lógica más lenta y una mayor disipación de energía. La reducción en el tamaño de la característica del chip y el voltaje de suministro, deseable por muchas razones, disminuye Q crit . Por tanto, la importancia de los errores blandos aumenta a medida que avanza la tecnología de los chips.
En un circuito lógico, Q crit se define como la cantidad mínima de carga inducida requerida en un nodo de circuito para hacer que un pulso de voltaje se propague desde ese nodo a la salida y sea de suficiente duración y magnitud para ser bloqueado de manera confiable. Dado que un circuito lógico contiene muchos nodos que pueden golpearse, y cada nodo puede tener una capacitancia y una distancia de salida únicas, Q crit se caracteriza típicamente por nodo.
Causas de errores de software
Partículas alfa de la descomposición del paquete
Los errores blandos se hicieron ampliamente conocidos con la introducción de la RAM dinámica en la década de 1970. En estos primeros dispositivos, los materiales de empaque de chips de cerámica contenían pequeñas cantidades de contaminantes radiactivos . Se necesitan tasas de degradación muy bajas para evitar errores blandos excesivos, y las empresas de chips han sufrido ocasionalmente problemas de contaminación desde entonces. Es extremadamente difícil mantener la pureza del material necesaria. Se requiere controlar las tasas de emisión de partículas alfa para materiales de empaque críticos a menos de un nivel de 0.001 conteos por hora por cm 2 (cph / cm 2 ) para un desempeño confiable de la mayoría de los circuitos. A modo de comparación, la tasa de recuento de la suela de un zapato típico está entre 0,1 y 10 cph / cm 2 .
La desintegración radiactiva del paquete suele provocar un error leve por emisión de partículas alfa . La partícula alfa con carga positiva viaja a través del semiconductor y perturba la distribución de electrones allí. Si la perturbación es lo suficientemente grande, una señal digital puede cambiar de 0 a 1 o viceversa. En la lógica combinacional , este efecto es transitorio, quizás durando una fracción de nanosegundo, y esto ha llevado al desafío de los errores leves en la lógica combinacional que en su mayoría pasan desapercibidos. En la lógica secuencial, como los pestillos y la RAM , incluso esta alteración transitoria puede almacenarse durante un tiempo indefinido para leerse más tarde. Por lo tanto, los diseñadores suelen ser mucho más conscientes del problema de los circuitos de almacenamiento.
Un artículo de Black Hat de 2011 analiza las implicaciones de seguridad de la vida real de tales cambios de bits en el sistema DNS de Internet . El documento encontró hasta 3.434 solicitudes incorrectas por día debido a cambios de bit-flip para varios dominios comunes. Muchos de estos cambios de bits probablemente serían atribuibles a problemas de hardware, pero algunos podrían atribuirse a partículas alfa. [1] Estos errores de inversión de bits pueden ser aprovechados por actores malintencionados en forma de bitsquatting .
Isaac Asimov recibió una carta felicitándolo por una predicción accidental de errores de RAM de partículas alfa en una novela de la década de 1950. [2]
Los rayos cósmicos crean neutrones y protones energéticos.
Una vez que la industria de la electrónica determinó cómo controlar los contaminantes de los envases, quedó claro que también había otras causas en juego. James F. Ziegler dirigió un programa de trabajo en IBM que culminó con la publicación de varios artículos (Ziegler y Lanford, 1979) que demostraban que los rayos cósmicos también podían causar errores leves. De hecho, en los dispositivos modernos, los rayos cósmicos pueden ser la causa predominante. Aunque la partícula primaria del rayo cósmico generalmente no alcanza la superficie de la Tierra, crea una lluvia de partículas secundarias energéticas. En la superficie de la Tierra, aproximadamente el 95% de las partículas capaces de causar errores suaves son neutrones energéticos y el resto está compuesto por protones y piones. [3] IBM estimó en 1996 que se esperaba un error por mes por cada 256 MiB de RAM para una computadora de escritorio. [4] Este flujo de neutrones energéticos se denomina típicamente "rayos cósmicos" en la literatura sobre errores suaves. Los neutrones no están cargados y no pueden perturbar un circuito por sí mismos, pero son capturados por el núcleo de un átomo en un chip. Este proceso puede resultar en la producción de secundarios cargados, como partículas alfa y núcleos de oxígeno, que luego pueden causar errores leves.
El flujo de rayos cósmicos depende de la altitud. Para la ubicación de referencia común de 40,7 ° N, 74 ° W al nivel del mar (Ciudad de Nueva York, NY, EE. UU.), El flujo es de aproximadamente 14 neutrones / cm 2 / hora. Enterrar un sistema en una cueva reduce la tasa de errores suaves inducidos por rayos cósmicos a un nivel insignificante. En los niveles más bajos de la atmósfera, el flujo aumenta en un factor de aproximadamente 2,2 por cada 1000 m (1,3 por cada 1000 pies) de aumento de altitud sobre el nivel del mar. Las computadoras operadas en la cima de las montañas experimentan una tasa de errores leves en un orden de magnitud mayor en comparación con el nivel del mar. La tasa de alteraciones en las aeronaves puede ser más de 300 veces la tasa de alteraciones del nivel del mar. Esto contrasta con los errores blandos inducidos por el deterioro del paquete, que no cambian con la ubicación. [5] A medida que aumenta la densidad del chip , Intel espera que los errores causados por los rayos cósmicos aumenten y se conviertan en un factor limitante en el diseño. [4]
La tasa promedio de errores suaves de los rayos cósmicos es inversamente proporcional a la actividad de las manchas solares. Es decir, el número promedio de errores suaves de rayos cósmicos disminuye durante la parte activa del ciclo de las manchas solares y aumenta durante la parte tranquila. Este resultado contrario a la intuición se produce por dos razones. El Sol generalmente no produce partículas de rayos cósmicos con energía superior a 1 GeV que sean capaces de penetrar hasta la atmósfera superior de la Tierra y crear lluvias de partículas, por lo que los cambios en el flujo solar no influyen directamente en el número de errores. Además, el aumento en el flujo solar durante un período de sol activo tiene el efecto de remodelar el campo magnético de la Tierra proporcionando un blindaje adicional contra los rayos cósmicos de mayor energía, lo que resulta en una disminución en el número de partículas que crean lluvias. En cualquier caso, el efecto es bastante pequeño, lo que resulta en una modulación de ± 7% del flujo energético de neutrones en la ciudad de Nueva York. Otras ubicaciones se ven afectadas de manera similar. [ cita requerida ]
Un experimento midió la tasa de errores suaves al nivel del mar en 5.950 fallas en el tiempo (FIT = fallas por mil millones de horas) por chip DRAM. Cuando la misma configuración de prueba se trasladó a una bóveda subterránea, protegida por más de 50 pies (15 m) de roca que eliminó efectivamente todos los rayos cósmicos, se registraron cero errores suaves. [6] En esta prueba, todas las demás causas de errores leves son demasiado pequeñas para ser medidas, en comparación con la tasa de error causada por los rayos cósmicos.
Los neutrones energéticos producidos por los rayos cósmicos pueden perder la mayor parte de su energía cinética y alcanzar el equilibrio térmico con su entorno al ser dispersados por los materiales. Los neutrones resultantes se denominan simplemente neutrones térmicos y tienen una energía cinética promedio de aproximadamente 25 milielectrones-voltios a 25 ° C. Los neutrones térmicos también son producidos por fuentes de radiación ambiental, como la desintegración del uranio o el torio naturales. El flujo de neutrones térmicos de fuentes distintas de las lluvias de rayos cósmicos aún puede ser perceptible en una ubicación subterránea y un contribuyente importante a los errores leves para algunos circuitos.
Neutrones termales
Los neutrones que han perdido energía cinética hasta que están en equilibrio térmico con su entorno son una causa importante de errores suaves en algunos circuitos. A bajas energías, muchas reacciones de captura de neutrones se vuelven mucho más probables y dan como resultado la fisión de ciertos materiales creando secundarios cargados como subproductos de fisión. Para algunos circuitos, la captura de un neutrón térmico por el núcleo del isótopo 10 B del boro es particularmente importante. Esta reacción nuclear es un productor eficiente de una partícula alfa , un núcleo de 7 Li y un rayo gamma . Cualquiera de las partículas cargadas (alfa o 7 Li) puede causar un error leve si se produce muy cerca, aproximadamente 5 µm , de un nodo de circuito crítico. La sección transversal de captura para 11 B es 6 órdenes de magnitud más pequeña y no contribuye a errores leves. [7]
El boro se ha utilizado en BPSG , el aislante en las capas de interconexión de los circuitos integrados, particularmente en la más baja. La inclusión de boro reduce la temperatura de fusión del vidrio proporcionando mejores características de reflujo y planarización. En esta aplicación, el vidrio se formula con un contenido de boro del 4% al 5% en peso. El boro natural es 20% 10 B y el resto el isótopo 11 B. Los errores de software son causados por el alto nivel de 10 B en esta capa inferior crítica de algunos procesos de circuitos integrados más antiguos. El boro-11, utilizado a bajas concentraciones como dopante de tipo p, no contribuye a errores leves. Los fabricantes de circuitos integrados eliminaron los dieléctricos boratados cuando los componentes individuales del circuito disminuyeron de tamaño a 150 nm, en gran parte debido a este problema.
En diseños críticos, se utiliza boro empobrecido, que consiste casi en su totalidad en boro-11, para evitar este efecto y, por lo tanto, para reducir la tasa de error suave. El boro-11 es un subproducto de la industria nuclear .
Para aplicaciones en dispositivos electrónicos médicos, este mecanismo de error suave puede ser extremadamente importante. Los neutrones se producen durante la radioterapia contra el cáncer de alta energía utilizando energías de haz de fotones superiores a 10 MeV. Estos neutrones se moderan a medida que se dispersan desde el equipo y las paredes de la sala de tratamiento, lo que da como resultado un flujo de neutrones térmicos que es aproximadamente 40 × 10 6 más alto que el flujo de neutrones ambiental normal. Este alto flujo de neutrones térmicos generalmente dará como resultado una tasa muy alta de errores suaves y la consiguiente alteración del circuito. [8] [9]
Otras causas
Los errores de software también pueden ser causados por ruido aleatorio o problemas de integridad de la señal , como diafonía inductiva o capacitiva . Sin embargo, en general, estas fuentes representan una pequeña contribución a la tasa general de errores suaves en comparación con los efectos de la radiación.
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, el acceso a los datos almacenados en DRAM hace que las celdas de memoria pierdan 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. [10] Este efecto se conoce como martillo de filas y también se ha utilizado en algunas vulnerabilidades de seguridad informática de escalada de privilegios . [11] [12]
Diseñar alrededor de errores leves
Mitigación de errores blandos
Un diseñador puede intentar minimizar la tasa de errores blandos mediante un diseño juicioso del dispositivo, eligiendo el semiconductor, el paquete y los materiales de sustrato correctos y la geometría correcta del dispositivo. A menudo, sin embargo, esto está limitado por la necesidad de reducir el tamaño y el voltaje del dispositivo, aumentar la velocidad de funcionamiento y reducir la disipación de energía. La susceptibilidad de los dispositivos a alteraciones se describe en la industria utilizando el estándar JEDEC JESD-89 .
Una técnica que se puede utilizar para reducir la tasa de errores suaves en los circuitos digitales se llama endurecimiento por radiación . Esto implica aumentar la capacitancia en los nodos de circuito seleccionados para aumentar su valor crítico de Q efectivo . Esto reduce el rango de energías de las partículas a las que se puede alterar el valor lógico del nodo. El endurecimiento por radiación a menudo se logra aumentando el tamaño de los transistores que comparten una región de drenaje / fuente en el nodo. Dado que el área y la sobrecarga de energía del endurecimiento por radiación pueden ser restrictivas para el diseño, la técnica a menudo se aplica selectivamente a los nodos que se predice que tienen la mayor probabilidad de dar como resultado errores leves si se golpean. Las herramientas y modelos que pueden predecir qué nodos son más vulnerables son objeto de investigaciones pasadas y actuales en el área de errores blandos.
Detectando errores leves
Se ha trabajado para abordar los errores leves en los recursos del procesador y la memoria utilizando técnicas de hardware y software. Varios esfuerzos de investigación abordaron los errores leves al proponer la detección y recuperación de errores a través de subprocesos múltiples redundantes basados en hardware. [13] [14] [15] Estos enfoques utilizaron hardware especial para replicar la ejecución de una aplicación para identificar errores en la salida, lo que aumentó la complejidad y el costo del diseño del hardware, incluida la sobrecarga de alto rendimiento. Los esquemas tolerantes a errores suaves basados en software, por otro lado, son flexibles y se pueden aplicar en microprocesadores comerciales listos para usar. Muchos trabajos proponen la replicación de instrucciones a nivel del compilador y la verificación de resultados para la detección de errores suaves. [16] [17] [18]
Corrigiendo errores leves
Los diseñadores pueden optar por aceptar que se producirán errores leves y diseñar sistemas con la detección y corrección de errores adecuadas para que se recuperen sin problemas. Normalmente, un diseño de memoria de semiconductores puede utilizar la corrección de errores hacia adelante , incorporando datos redundantes en cada palabra para crear un código de corrección de errores . Alternativamente, se puede usar la corrección de errores de reversión , detectando el error suave con un código de detección de errores como la paridad y reescribiendo los datos correctos de otra fuente. Esta técnica se utiliza a menudo para memorias caché de escritura continua .
Los errores de software en los circuitos lógicos a veces se detectan y corrigen utilizando las técnicas de diseño tolerante a fallas . Estos a menudo incluyen el uso de circuitos redundantes o el cálculo de datos y, por lo general, tienen el costo del área del circuito, disminución del rendimiento y / o mayor consumo de energía. El concepto de redundancia modular triple (TMR) se puede emplear para garantizar una confiabilidad muy alta de errores suaves en los circuitos lógicos. En esta técnica, tres copias idénticas de un circuito calculan los mismos datos en paralelo y las salidas se alimentan a la lógica de votación por mayoría , devolviendo el valor que ocurrió en al menos dos de los tres casos. De esta manera, la falla de un circuito debido a un error suave se descarta asumiendo que los otros dos circuitos funcionaron correctamente. En la práctica, sin embargo, pocos diseñadores pueden permitirse el área de circuito superior al 200% y la sobrecarga de energía requerida, por lo que generalmente solo se aplica de manera selectiva. Otro concepto común para corregir errores blandos en circuitos lógicos es la redundancia temporal (o de tiempo), en la que un circuito opera con los mismos datos varias veces y compara las evaluaciones posteriores para verificar la coherencia. Sin embargo, este enfoque a menudo incurre en sobrecarga de rendimiento, sobrecarga de área (si se utilizan copias de pestillos para almacenar datos) y sobrecarga de energía, aunque es considerablemente más eficiente en el área que la redundancia modular.
Tradicionalmente, DRAM ha recibido la mayor atención en la búsqueda de reducir o solucionar los errores de software, debido al hecho de que DRAM ha comprendido la mayor parte del área de superficie de dispositivos susceptibles en sistemas de computadoras de escritorio y servidores (ref. La prevalencia de ECC RAM en equipos servidor). Las cifras concretas de susceptibilidad a la DRAM son difíciles de conseguir y varían considerablemente entre diseños, procesos de fabricación y fabricantes. La tecnología de la década de 1980 DRAM de 256 kilobits podría tener grupos de cinco o seis bits a partir de una sola partícula alfa . Las DRAM modernas tienen tamaños de características mucho más pequeños, por lo que la deposición de una cantidad similar de carga podría fácilmente hacer que muchos más bits se inviertan.
El diseño de los circuitos de detección y corrección de errores se ve favorecido por el hecho de que los errores de software generalmente se localizan en un área muy pequeña de un chip. Por lo general, solo una celda de una memoria se ve afectada, aunque los eventos de alta energía pueden causar una alteración de varias celdas. El diseño de memoria convencional generalmente coloca un bit de muchas palabras de corrección diferentes adyacentes en un chip. Por lo tanto, incluso una alteración de varias celdas genera solo una serie de alteraciones de un solo bit en varias palabras de corrección, en lugar de una alteración de varios bits en una sola palabra de corrección. Por lo tanto, un código de corrección de errores solo necesita hacer frente a un solo bit de error en cada palabra de corrección para hacer frente a todos los posibles errores de software. El término 'multicelda' se usa para alteraciones que afectan a múltiples celdas de una memoria, independientemente de las palabras de corrección en las que caigan esas celdas. 'Multi-bit' se usa cuando varios bits en una sola palabra de corrección tienen errores.
Errores blandos en lógica combinacional
Los tres efectos de enmascaramiento naturales en lógica combinatoria que determinan si una sola molesto evento (SEU) se propagará a convertirse en un error suave son enmascaramiento eléctrica , enmascaramiento lógico , y temporal (o de temporización-window) de enmascaramiento . Un SEU está enmascarado lógicamente si se bloquea su propagación para que no llegue a un pestillo de salida porque las entradas de la puerta fuera de la ruta evitan una transición lógica de la salida de esa puerta. Un SEU está enmascarado eléctricamente si la señal es atenuada por las propiedades eléctricas de las puertas en su trayectoria de propagación, de modo que el pulso resultante sea de magnitud insuficiente para engancharse de forma fiable. Un SEU se enmascara temporalmente si el pulso erróneo alcanza un pestillo de salida, pero no ocurre lo suficientemente cerca del momento en que el pestillo se activa para mantener.
Si los tres efectos de enmascaramiento no ocurren, el pulso propagado se enclava y la salida del circuito lógico será un valor erróneo. En el contexto de la operación del circuito, este valor de salida erróneo puede considerarse un evento de error suave. Sin embargo, desde el punto de vista de la microarquitectura, es posible que el resultado afectado no cambie la salida del programa que se está ejecutando actualmente. Por ejemplo, los datos erróneos podrían sobrescribirse antes de su uso, enmascararse en operaciones lógicas posteriores o simplemente no volver a usarse. Si los datos erróneos no afectan la salida de un programa, se considera un ejemplo de enmascaramiento de microarquitectura .
Tasa de error suave
La tasa de error de software (SER) es la tasa a la que un dispositivo o sistema encuentra o se predice que encontrará errores de software. Por lo general, se expresa como el número de fallas en el tiempo (FIT) o el tiempo medio entre fallas (MTBF). La unidad adoptada para cuantificar fallas en el tiempo se llama FIT, que equivale a un error por mil millones de horas de funcionamiento del dispositivo. El MTBF generalmente se administra en años de funcionamiento del dispositivo; para ponerlo en perspectiva, un FIT equivale a aproximadamente 1,000,000,000 / (24 × 365.25) = 114,077 veces más largo entre errores que el MTBF de un año.
Si bien muchos sistemas electrónicos tienen un MTBF que excede la vida útil esperada del circuito, el SER aún puede ser inaceptable para el fabricante o el cliente. Por ejemplo, se pueden esperar muchas fallas por millón de circuitos debido a errores suaves en el campo si el sistema no tiene una protección adecuada contra errores suaves. La falla de algunos productos en el campo, particularmente si es catastrófica, puede empañar la reputación del producto y de la compañía que lo diseñó. Además, en aplicaciones de seguridad o de costo crítico donde el costo de la falla del sistema supera con creces el costo del sistema en sí, una probabilidad del 1% de falla por error leve de por vida puede ser demasiado alta para ser aceptable para el cliente. Por lo tanto, es ventajoso diseñar para un SER bajo cuando se fabrica un sistema en gran volumen o se requiere una confiabilidad extremadamente alta.
Ver también
- Trastorno por evento único (SEU)
- Falla
- No me importa
- Riesgo lógico
Referencias
- ^ Artem Dinaburg (julio de 2011). "Bitsquatting - Secuestro de DNS sin explotación" (PDF) .
- ^ Gold (1995): "Esta carta es para informarle y felicitarle por otra notable predicción científica del futuro; a saber, su previsión del problema de alteración lógica de la memoria dinámica de acceso aleatorio (DRAM) causado por la emisión de partículas alfa, observado por primera vez en 1977, pero sobre lo que escribiste en Caves of Steel en 1957 ". [Nota: En realidad, 1952.] ... "Estas fallas son causadas por trazas de elementos radiactivos presentes en el material de empaque utilizado para encapsular los dispositivos de silicio ... en su libro, Caves of Steel, publicado en la década de 1950, utilizar un emisor de partículas alfa para "asesinar" a uno de los robots de la historia, destruyendo ("aleatorizando") su cerebro positrónico. Esta es, por supuesto, una forma tan buena de describir un trastorno lógico como cualquiera que haya escuchado. ... nuestros millones de dólares en investigación, que culminaron en varios premios internacionales por la contribución científica más importante en el campo de la confiabilidad de los dispositivos semiconductores en 1978 y 1979, se predijeron en forma sustancialmente precisa veinte años [Nota: veinticinco años, en realidad ] antes de que ocurrieran los hechos
- ^ Ziegler, JF (enero de 1996). "Rayos cósmicos terrestres" (PDF) . IBM Journal of Research and Development . 40 (1): 19–40. doi : 10.1147 / rd.401.0019 .
- ^ a b Simonite, Tom (marzo de 2008). "¿Todo chip de computadora debería tener un detector de rayos cósmicos?" . Nuevo científico . Archivado desde el original el 2 de diciembre de 2011 . Consultado el 26 de noviembre de 2019 .
- ^ Gordon, MS; Goldhagen, P .; Rodbell, KP; Zabel, TH; Tang, HHK; Clem, JM; Bailey, P. (2004). "Medición del espectro de flujo y energía de neutrones inducidos por rayos cósmicos en el suelo". Transacciones IEEE sobre ciencia nuclear . 51 (6): 3427–3434. Código bibliográfico : 2004ITNS ... 51.3427G . doi : 10.1109 / TNS.2004.839134 . ISSN 0018-9499 .
- ^ Dell, Timothy J. (1997). "Un informe técnico sobre los beneficios del ECC Chipkill-Correct para la memoria principal del servidor de PC" (PDF) . ece.umd.edu . pag. 13 . Consultado el 30 de enero de 2015 .
- ^ Baumann, R .; Hossain, T .; Murata, S .; Kitagawa, H. (1995). "Compuestos de boro como fuente dominante de partículas alfa en dispositivos semiconductores". 33º Simposio Internacional de Física de Confiabilidad del IEEE . págs. 297-302. doi : 10.1109 / RELPHY.1995.513695 . ISBN 978-0-7803-2031-4.
- ^ Wilkinson, JD; Bounds, C .; Brown, T .; Gerbi, BJ; Peltier, J. (2005). "Equipos de cáncer-radioterapia como causa de errores blandos en equipos electrónicos". Transacciones IEEE sobre confiabilidad de dispositivos y materiales . 5 (3): 449–451. doi : 10.1109 / TDMR.2005.858342 . ISSN 1530-4388 .
- ^ Franco, L., Gómez, F., Iglesias, A., Pardo, J., Pazos, A., Pena, J., Zapata, M., SEUs sobre SRAM comercial inducida por neutrones de baja energía producidos en un linac clínico instalación, RADECS Proceedings, septiembre de 2005
- ^ Park, Kyungbae; Baeg, Sanghyeon; Wen, ShiJie; Wong, Richard (octubre de 2014). "Martilleo de precarga activa en una fila inducida por falla en DDR3 SDRAM bajo tecnología de 3 × nm". Martilleo de precarga activa en una falla inducida por fila en SDRAM DDR3 con tecnología de 3x nm . IEEE . págs. 82–85. doi : 10.1109 / IIRW.2014.7049516 . ISBN 978-1-4799-7308-8.
- ^ Kim, Yoongu; Daly, Ross; Kim, Jeremie; Fallin, Chris; Lee, Ji Hye; Lee, Donghyuk; Wilkerson, Chris; Lai, Konrad; Mutlu, Onur (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 .
- ^ Goodin, Dan (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 .
- ^ Reinhardt, Steven K .; Mukherjee, Shubhendu S. (2000). "Detección de fallos transitorios mediante multiproceso simultáneo". Noticias de arquitectura informática ACM SIGARCH . 28 (2): 25–36. CiteSeerX 10.1.1.112.37 . doi : 10.1145 / 342001.339652 . ISSN 0163-5964 .
- ^ Mukherjee, Shubhendu S .; Kontz, Michael; Reinhardt, Steven K. (2002). "Diseño detallado y evaluación de alternativas multiproceso redundantes". Noticias de arquitectura informática ACM SIGARCH . 30 (2): 99. CiteSeerX 10.1.1.13.2922 . doi : 10.1145 / 545214.545227 . ISSN 0163-5964 .
- ^ Vijaykumar, TN; Pomeranz, Irith ; Cheng, Karl (2002). "Recuperación de fallos transitorios mediante multiproceso simultáneo". Noticias de arquitectura informática ACM SIGARCH . 30 (2): 87. doi : 10.1145 / 545214.545226 . ISSN 0163-5964 .
- ^ Nahmsuk, Oh; Shirvani, Philip P .; McCluskey, Edward J. (2002). "Detección de errores por instrucciones duplicadas en procesadores superescalares". Transacciones IEEE sobre confiabilidad . 51 : 63–75. doi : 10.1109 / 24.994913 .
- ^ Reis A., George A .; Chang, Jonathan; Vachharajani, Neil; Rangan, Ram; Agosto, David I. (2005). "SWIFT: tolerancia a fallos implementada por software". Simposio Internacional sobre Generación y Optimización de Código . Actas del simposio internacional sobre generación y optimización de códigos. págs. 243-254. CiteSeerX 10.1.1.472.4177 . doi : 10.1109 / CGO.2005.34 . ISBN 978-0-7695-2298-2.
- ^ Didehban, musulmán; Shrivastava, Aviral (2016), "NZDC", nZDC: Una técnica de compilación para una corrupción de datos casi nula , Actas de la 53ª Conferencia Anual de Automatización del Diseño (DAC): ACM, p. 48, doi : 10.1145 / 2897937.2898054 , ISBN 9781450342360Mantenimiento de CS1: ubicación ( enlace )
Otras lecturas
- Ziegler, JF; Lanford, WA (1979). "Efecto de los rayos cósmicos en las memorias de la computadora". Ciencia . 206 (4420): 776–788. Código bibliográfico : 1979Sci ... 206..776Z . doi : 10.1126 / science.206.4420.776 . ISSN 0036-8075 . PMID 17820742 .
- Mukherjee, S., "Diseño de arquitectura para errores leves", Elsevier, Inc., febrero de 2008.
- Mukherjee, S., "Computer Glitches from Soft errors: A Problem with Multiple Solutions", Microprocessor Report, 19 de mayo de 2008.
enlaces externos
- Errores de software en la memoria electrónica - Un informe técnico - Un buen resumen con muchas referencias - Tezzaron, enero de 2004. Concluye que 1000–5000 FIT por Mbit (0,2–1 error por día por Gbyte) es una tasa típica de error suave de DRAM.
- Beneficios del ECC Chipkill-Correct para la memoria principal del servidor de PC - Una discusión de 1997 sobre la confiabilidad de SDRAM - alguna información interesante sobre "errores blandos" de los rayos cósmicos , especialmente con respecto a los esquemas de código de corrección de errores
- Impacto de los errores blandos en la confiabilidad del sistema - Ritesh Mastipuram y Edwin C. Wee, Cypress Semiconductor, 2004
- Problemas de escala y tecnología para las tasas de error blando - A Johnston - 4ta Conferencia Anual de Investigación sobre Confiabilidad Universidad de Stanford, octubre de 2000
- Evaluación de errores suaves de LSI inducidos por rayos cósmicos terrestres y partículas alfa - H. Kobayashi, K. Shiraishi, H. Tsuchiya, H. Usuki (todos de Sony) e Y. Nagai, K. Takahisa (Universidad de Osaka), 2001.
- Sitio web del taller SELSE: sitio web para el taller sobre los efectos del sistema de errores lógicos de software