¿Qué falla de RAM tengo en mi PC con Linux?

Sospecho que esta es una unidad de memoria débil. Mantiene los datos correctamente durante un tiempo … pero luego falla cuando no está en uso.

La memoria dinámica requiere un ciclo de actualización: siempre que se acceda al chip de memoria (que generalmente es bastante grande) con la frecuencia suficiente, se activa el ciclo de actualización que conserva la memoria. Cuando no es así, el chip cae algunos bits.

También puede depender de cuántas unidades tenga, solo un DIMM o más. Con un DIMM, el memtest seguirá usando ese, y después de los primeros errores, no tendrá más. Si hay dos o más, esa primera unidad podría comenzar a soltar bits y mostrar más errores.

Pero también depende de tu arquitectura. Algunos errores pueden ser corregidos por los controles de ECC; por lo tanto, un error de un solo bit no causa una falla, pero un error de doble bit sí (también depende de cómo se implemente el ECC, tanto en su memoria como en la placa base). Esperaría que memtest informara todos los errores de un solo bit e informara cuando ocurra un error de doble bit.

Pero aquí es donde un poco se pone mal todo el tiempo, los errores intermitentes son más difíciles de atrapar.

Supongo que tiene un problema en la actualización en algún lugar del sistema. DDR solo almacena datos por un corto tiempo, milisegundos. Por lo tanto, debe actualizarse. Lo cual es don al leerlo y escribirlo de nuevo (lo que sucede después de cada lectura: la lectura DDR es destructiva). En algún lugar del sistema hay un circuito de actualización que lee y actualiza automáticamente cada línea en la memoria dentro del tiempo requerido. Hoy en día, eso probablemente esté en el chip en el DDR. Si memtester se está ejecutando, presumiblemente está accediendo continuamente a la memoria, lo que la actualiza. La primera vez que encuentra algunos errores, presumiblemente porque tiene memoria con paridad, que detecta los errores. A partir de entonces, el propio memtester mantiene actualizada la memoria.

Una vez tuve un problema de RAM tan extraño que no podía creerlo. La única forma de reproducirlo era comprimir un archivo en particular con WinRAR. No hubo errores durante la compresión, pero si intentas descomprimirlo, fallaría la prueba de suma de comprobación. La máquina funcionó a la perfección durante años, ni una sola falla, he estado usando WinRAR en gran medida sin ningún problema, y ​​memtest no pudo encontrar nada incluso cuando estuvo funcionando durante una semana. ¡Solo este archivo en particular!

Revisé todo (¡eso creía!), Y finalmente archivé un informe de error con el autor de WinRAR. Explicó que no podía reproducir el problema y me indicó que ejecutara la prueba en otra máquina. De hecho, no hubo errores en otra máquina, y por el proceso de eliminación (intercambio de componentes uno por uno), resultó ser RAM defectuosa.

Lo que digo aquí es que debes tratar de ver la RAM en términos de procesos físicos subyacentes (condensadores imperfectos). Tiene interferencia, diafonía, ruido, defectos materiales, efectos de cambios de temperatura, caídas / picos de voltaje, daños debidos a rayos X aleatorios, problemas de temporización, problemas de envolvente de señal, etc. En ciertas circunstancias, estos factores pueden combinarse en tales de manera que caen fuera del rango permitido para el correcto funcionamiento de una celda de memoria. Por lo tanto, no hay un límite rígido entre la RAM que funciona y la que no funciona, y en realidad NO puedes probar que la memoria funciona. Solo puedes probar que no funciona; esta es también la razón por la cual memtest usa varios patrones especiales y se repite para siempre (hasta que lo interrumpe). Y esta es también la razón por la cual son posibles ataques como el martillo de remo.