Diseño físico vs lógico de la memoria SRAM
Para que el algoritmo del tablero de ajedrez funcione, se requiere saber qué bits son bits vecinos. Esto resulta ser un problema ya que las hojas de datos normalmente solo describen el diseño lógico de la SRAM y no cómo está organizada físicamente la propia memoria SRAM.
Para comprender el diseño físico de la SRAM, se debe diferenciar entre las memorias orientadas a bits (BOM), en las que se puede acceder a un bit a la vez, y las memorias orientadas a palabras (WOM) en las que se lee y escribe una palabra de n bits. En este caso, si bien la mayoría de las memorias del mundo real se implementan como WOM, los algoritmos clásicos de prueba de memoria en la literatura científica a menudo asumen implementaciones de BOM.
Para las memorias WOM, existen tres categorías principales de organización física de los bits que constituyen la palabra: adyacentes, intercaladas y sub-matrices. Mientras que un diseño lógico coloca cada palabra debajo de la palabra anterior en la misma columna (como un espacio de direcciones), las memorias adyacentes colocan cada palabra en la misma fila, una al lado de la otra, como se muestra en la Figura 2. Las arquitecturas intercaladas separan cada bit de la palabra en las diferentes columnas y filas de la matriz SRAM. Finalmente, la organización del subconjunto coloca cada bit de una palabra en diferentes bloques físicamente separados de la SRAM. La realidad es que no conoce el diseño físico, que se requiere para implementar una prueba de tablero de ajedrez correctamente.

Propiedades y deficiencias de la prueba del tablero de ajedrez
El enfoque presumiblemente sencillo para implementar un algoritmo de tablero de ajedrez es escribir alternativamente el valor 0xAA (suponiendo palabras de datos de 8 bits) en la primera dirección y 0x55 en la siguiente dirección hasta que todas las direcciones bajo prueba se hayan llenado con el patrón de tablero de ajedrez de unos y ceros. Luego, se verifica el patrón para detectar cualquier falla de CC o de acoplamiento entre celdas vecinas. Y, posteriormente, se repite el proceso usando el patrón inverso.
Como ya se indicó, hay una trampa: un patrón de tablero de ajedrez en el diseño lógico de la memoria puede no ser un patrón de tablero de ajedrez en el diseño físico subyacente, como se muestra en la Figura 3.

Puede parecer obvio compensar la diferencia entre el diseño lógico y físico, pero la información necesaria rara vez está disponible en la hoja de datos del dispositivo. ¿Entonces, qué haces? Acepte la cobertura más baja, después de todo, ¿el diagnóstico aún cubrirá fallas de CC y algunas fallas de acoplamiento entre bits vecinos? ¿Solicitar el diseño del proveedor de circuitos integrados y realizar una implementación personalizada de la prueba de tablero de ajedrez para cada dispositivo? ¿O seleccionar otro algoritmo?
Pues bien, ahora que conoce la posible deficiencia de la prueba del tablero de ajedrez, puede tomar una decisión informada.