Refrescantes recuerdos flash. ¿Funciona?

Todos sabemos que las memorias flash tienen un tiempo de retención de datos de alrededor de 10 a 20 años.

Pero, ¿y si necesitamos diseñar un dispositivo que tenga que funcionar durante 1000 años?

La solución obvia es hacer una reprogramación flash una vez cada 5...10 años, refrescando las cargas en las celdas de memoria. Si la memoria flash tiene una vida útil de 100 000 ciclos de escritura, el tiempo de retención es de 500 000 a 1 millón de años. Casi infinito.

Pero la forma obvia no siempre es la correcta.

Entonces, ¿es posible prolongar el tiempo de retención de datos de las memorias flash casi infinitamente, actualizándolas cada 5...10 años?

Si desea retener datos durante mucho tiempo sin cambiarlos, ¿por qué no una PROM?
Las memorias flash permiten la actualización remota del firmware.
¿Tendría condensadores electrolíticos húmedos en el circuito...?
@Majenko Tal elección sería bastante irrazonable. Suponga que todo lo demás en el circuito tiene una vida más larga.
1000 años de vida? Para entonces, el cobre de la PCB se habrá corroído.
@Majenko Hay formas de proteger los metales de la corrosión. O use PCB de cerámica y lámina de oro.
Bigotes de hojalata...? El punto que estoy tratando de hacer es que hay un millón y otras cosas que podrían y probablemente fallarían en su circuito durante mil años, y la retención de datos de su flash es la menor de sus preocupaciones.
@Majenko Otro problema que no es objeto de esta pregunta. Los bigotes de estaño son un problema solo para las soldaduras sin plomo. Y uno puede usar soldadura en su lugar.
En el mundo civilizado no está permitido usar plomo. Ah, y otra cosa... Un millón de años es un largo, largo, largo camino desde el infinito.
Ah, y si regularmente realiza actualizaciones remotas del firmware (su razón para no usar una PROM), ¿por qué necesita actualizar? Las actualizaciones remotas hacen eso por usted.
La actualización no es un proceso regular en absoluto.

Respuestas (2)

La reescritura de flash es de hecho un mecanismo para extender la retención de flash cuando su dispositivo se ejecuta en un entorno de alta temperatura (a temperaturas más bajas, la retención de flash no es un problema).

El informe de aplicación de Texas Instrument MSP430 Flash Memory Characteristics (que también debería aplicarse a todos los demás MCU basados ​​en flash NOR) dice en la sección 4.2 ("Mejora del tiempo de retención de datos flash con Flash Refresh"):

Como se explicó en la sección anterior, el tiempo de retención de datos depende en gran medida de la temperatura ambiente de la aplicación MSP430. Una posible solución para mejorar la retención de datos flash es actualizar el contenido flash de vez en cuando con software.

En un escenario ideal, la aplicación tiene marcos de tiempo inactivos, donde no se deben observar eventos externos. Durante dicho tiempo de inactividad, el software puede copiar un segmento flash en la RAM o cualquier otro segmento flash. Después de borrar el segmento original, el contenido se vuelve a copiar en el segmento original. Después de un ciclo de actualización flash de este tipo, se reinicia el tiempo de retención de datos para este segmento.
[...]
PRECAUCIÓN
La aplicación debe asegurarse de que la actualización flash de un segmento flash no se interrumpa por un corte de energía.

Los sistemas con doble flash son mejores en esto. Copie de un bloque a otro, realice una verificación entre los dos bloques, cambie el indicador de inicio al bloque recién programado y reinicie. Enjuague y repita.

Probablemente, el uso de la actualización ES una buena manera de extender la vida útil. Se dice que la memoria no volátil ferroeléctrica es más duradera y se están desarrollando otras formas no volátiles.

Actualizar no rejuvenecerá todo; algunos sistemas utilizan celdas ficticias (que establecen los umbrales para la discriminación multinivel) y las celdas ficticias antiguas no se pueden "actualizar". No se pueden borrar, ni siquiera son direccionables, pero pueden descargarse con los años como si fueran celdas de datos.

También se han empleado bloques de repuesto para extender la vida útil de FLASH en algunos chips CAT24C256 en combinación con códigos internos de autoverificación.

¿Puede dar un ejemplo de una tecnología de chip flash usando celdas ficticias? ¿Qué tan común es esta práctica?