Tests del Memtest86+

memtest86Vía satsoftware.blogspot.com encontramos este interesante artículo explicando en qué consisten los distintos test que realiza el memtest86+ :

La metodología de un buen test de memoria es la siguiente: escribir todas las direcciones de memoria con patrones generados con un algoritmo específico y volver a leerlos para comprobar la coherencia de los datos.

Test 0: [Address test, walking ones, no cache]. Test de todos los bits direccionables en todos los bancos de memoria usando un patrón de acceso “walking ones”.

Test 1: [Address test, own address]. Cada dirección es escrita con el valor de su propia dirección y luego es probada para detectar diferencias. Este test es complementario y más estricto que el Test 0 y debería detectar todos los errores de direccionamiento.

Test 2: [Moving inversions, ones&zeros]. Este test utiliza el algoritmo Moving inversions con patrones de unos y ceros. Es un test rápido que solamente da errores en subsistemas de memoria muy dañados.

Test 3: [Moving inversions, 8 bit pattern]. Utiliza el algoritmo Moving Inversions diseñado para detectar fallos producidos por interferencia con las células de memoria adyacentes.

Test 4: [Moving inversions, random pattern]. Se utiliza el mismo algoritmo del paso 3 pero el patrón es un número aleatorio (más bien pseudoaleatorio) y su complemento. Es un test muy efectivo para detectar errores de datos, utilizando 60 patrones aleatorios cambiando en cada pasada del test. Por ello múltiples pasadas aumentan la eficacia.

Test 5: [Block move, 64 moves]. Este test prueba la memoria utilizando la instrucción [movsl] y está basado en un antiguo test llamado burnBX de Robert Redelmeier. Experimentalmente es de los test que revelan errores más sutiles.

Continue reading «Tests del Memtest86+»