El flash pierde carga con el tiempo.
Para recargar los transistores, ¿necesito leer realmente los datos como en los discos duros, o el almacenamiento solo necesita suministro de energía eléctrica?
No, necesitarías leer todos los datos y reescribirlos para actualizar la carga dentro de las puertas de los transistores flash. Los bits se almacenan como electrones (es decir, carga) inyectados dentro de un bit de metal aislado microscópicamente. Los bits permanecen allí porque los electrones están atrapados dentro de una pequeña pieza de metal que está aislada de todo, por lo que los electrones no pueden escapar. Sugiere que juegues con la tensión de la fuente de alimentación, pero esto no influye en los bits, por diseño.
El tiempo de retención de los datos de almacenamiento flash se determina por la pérdida de electrones almacenados, que depende del calor y la radiación. También depende de cuántos electrones estaban allí para comenzar (es decir, la densidad de almacenamiento) y la arquitectura flash (celda multinivel vs nivel simple, NOR vs NAND, etc.).
Cuando la retención de datos es crucial (es decir, en un microcontrolador, por ejemplo, si se olvida de su código, está muerto) se obtiene un flash NOR de baja densidad. TI proporciona información sobre retención de datos en la página 5 de esta nota de aplicación que es informativa. El flash NOR permite el acceso aleatorio, por lo que no puede usar trampas ingeniosas como los códigos de corrección de errores de bloque.
En cuanto a las llaves USB, tarjetas SD, etc., hay una carrera hacia una mayor densidad a un precio más barato, y el hecho de que se acceda por bloque y no de manera aleatoria permite cosas útiles como códigos de corrección de errores, reasignación de bloques defectuosos , etc. Esto se maneja mediante un microcontrolador dentro de la tarjeta SD o la llave USB.
He encontrado información de retención de datos en línea, debería estar entre 1 y 10 años para una tarjeta SD, dependiendo del número de escrituras. Escribir una celda flash es un proceso un tanto traumático para la capa de óxido, por lo que un gran número de escrituras hace que la celda tenga más fugas.
Entonces, en realidad no hay razón (aparte del ahorro de energía) por la cual el microcontrolador no podría leer periódicamente los datos y reescribir los sectores que comienzan a pudrirse. Parece que hay una tarjeta SD que se actualiza y vuelve a escribir los datos para aumentar la retención de datos cuando sea necesario. Aunque un poco caro.
Puedes hacerlo manualmente, pero no estoy seguro de que sea una buena idea. Quizás copie los datos de un medio de almacenamiento a otro ... como ... ya sabe ... ¡una copia de seguridad!
La causa más probable de pérdida de datos para una llave USB no es la muerte instantánea, sino:
- fuera de lugar o perdido en algún lugar
- Problemas con el sistema de archivos FAT32
- conectores rotos y similares
Entonces ... RAID array + copias de seguridad!