¿Cuál es el modo de fallo de la memoria flash? Tengo algunos chips con una capacidad de 10.000 ciclos, ¿qué ocurre después de 10.000 ciclos? ¿Los chips dejan de escribir correctamente, se producen errores de lectura, etc.? ¿Ocurre lo mismo con las EEPROM?
Respuestas
¿Demasiados anuncios?Este es un proyecto diseñado para destruir una EEPROM escribiendo en ella repetidamente: Destructor de flashes
Sin embargo, según los comentarios, no es una demostración especialmente buena:
Supongo que esta prueba no mostrará el verdadero problema de forma muy evidente, o debería decir temprana. Ya que creo que el verdadero problema es que el tiempo de retención de datos caerá con el número de escrituras. Es decir, después de 1 millón de escrituras se almacenarán los datos durante un número de horas especificado en la hoja de datos. Eventualmente el tiempo de retención de datos será tan corto que verás problemas, pero en la vida real, los problemas de pérdida de datos ocurrirían mucho antes.
También hice una pregunta similar en SuperUser: ¿Qué ocurre cuando una unidad flash se gasta?
La memoria flash se degrada en función del número de ciclos de escritura y borrado a los que se somete. Esencialmente, la estructura dieléctrica de la célula de memoria se degrada y se vuelve incapaz de mantener un estado "bajo". (Piense en un MOSFET de canal N: un alto en la puerta enciende el dispositivo, lo que hace que la resistencia de drenaje-fuente sea baja. Si la puerta está dañada, el canal drenaje-fuente nunca podrá establecerse).
A menudo existe un mecanismo para "enmascarar" estos bloques defectuosos una vez que se identifican (normalmente por una operación de verificación que falla después de una escritura), lo que impide que se utilicen: una tabla de bloques defectuosos, esencialmente.
Ver aquí y aquí para más detalles sobre la física de todo ello.
Supongo que si tu flash está rota, puedes escribirle un valor pero no lo toma correctamente. Por ejemplo, algunos bits son tal vez incapaces de ir a la baja más que da un valor diferente.
Algunas unidades flash en los PCs como los SSDs tienen controladores que monitorean las partes rotas de los chips flash y guarda los datos en diferentes puntos e informa de una disminución de la capacidad. Es como si un disco duro normal tuviera un 0,5% de sectores extra cuando algunos resultan ser sectores defectuosos.
Si te refieres a los chips EEPROM normales o a las memorias integradas en las MCU o externas, no estoy seguro de que tengan algún sistema de corrección de errores incorporado. Puede que simplemente escriba el valor y no sepa que falla en doring tan correctamente.