Supongamos que tiene un chip Flash (NOR flash) que está utilizando, por ejemplo, para el registro de datos, realizando escrituras secuenciales regularmente en él.
La pregunta es qué sucede si se apaga la alimentación durante una escritura de página: ¿es posible "arreglar" la página volviendo a escribir el mismo contenido sobre ella?
Según mi conocimiento de los dispositivos Flash, esto debería ser posible a medida que las escrituras pasan de 1 a 0, por lo que creo que una escritura incompleta debería conducir las celdas más o menos hacia cero (por lo tanto, volver a intentar el mismo patrón más adelante solo debería reforzarlo) .
El diseño exacto es un dispositivo de registro de datos que tiene una gran matriz NOR flash para el almacenamiento de datos y FRAM para el almacenamiento intermedio (pequeño, pero compatible con escrituras inmediatas, por lo que los datos no corren el riesgo de perderse durante los períodos en que Flash puede No lo acepte).
No puedo hacer un ciclo completo de borrado + reescritura al detectar tal condición (escritura interrumpida) ya que no tengo espacio para almacenar un sector de borrado completo que es significativamente más grande que una página de escritura (64Kbytes versus 256 bytes), por lo que Lo más sencillo sería intentar escribir de nuevo si el apagado anterior hubiera dejado una escritura de página sin terminar.
(La detección de la escritura no terminada se realiza mediante el sondeo del estado del chip y el mantenimiento de una máquina de estado relacionada en la FRAM, por lo tanto, no comparando los datos que pueden indicar falsamente una escritura exitosa, pero "débil" debido a un apagado posterior durante la página escribe)