Estoy usando un AT45DB081E flash de 8-Mbit de Adesto (anteriormente de Atmel). Estoy almacenando registros de datos de 7 bytes y mantengo la ubicación del registro más reciente almacenado en la última página de flash. Este valor se lee ocasionalmente (aproximadamente cada 5 minutos) para ver si es diferente de la dirección del siguiente registro de datos que se escribirá. Esto permite que el microcontrolador verifique si se han escrito datos nuevos en la memoria flash o no.
El problema con el que me estoy topando es que, en ocasiones, la ubicación del puntero más nuevo se lee incorrectamente. Me pregunto si leer una y otra vez desde el mismo lugar está causando una acumulación de carga y contaminando las celdas flash, pero no pensé que las memorias flash tuvieran ningún límite en las operaciones de lectura. He enviado un ticket de soporte a Adesto, pero aún no he recibido respuesta.
¿Alguien más se ha encontrado con este problema? ¿Qué has hecho para solucionarlo? Por ahora, estoy leyendo la ubicación de registro más reciente dos veces y asegurándome de que los valores sean los mismos. Todo lo que hizo fue dar menos posibilidades de ver el problema, pero aún ocurre (con menos frecuencia).