Sí, las tarjetas SD / MMC tienen controladores que hacen nivelación de desgaste. Si no lo hicieran, podrías destruir uno en cuestión de minutos con los patrones de escritura incorrectos.
Eso es realmente un problema para algunos proyectos integrados. Al parecer, no hay absolutamente ninguna manera (aparentemente) de saber qué sectores podrían desgastarse en función del desgaste, por lo que un ciclo de energía en el momento equivocado puede destruir datos en cualquier parte de la tarjeta, sin importar dónde piense que está escribiendo. (No preguntes cómo lo sé :))
las tarjetas SD deben usarse con un sistema que garantice un cierre limpio del sistema (o al menos que las escrituras tengan permiso para completarse), o la pérdida de datos resultará (eventualmente).
EDIT
El problema es que el proceso de nivelación de desgaste está completamente oculto. CUALQUIER sector en el disco podría moverse en cualquier momento (intercambiarse con la página escrita), y si la energía fallara en medio de ese proceso, ese sector aleatorio podría corromperse.
Si bien HAY formas razonablemente seguras de implementar este movimiento, no está en ninguna especificación, por lo que no puede confiar en que la tarjeta lo hará. Podría probar una tarjeta, hacer que funcione, luego el fabricante podría cambiar la implementación sin cambiar el número de pieza y ya está jodido.
En las pruebas, el controlador de mis tarjetas SD NO hace esto de manera segura.
Puedo ver una tarjeta SD de "alta confiabilidad" que vi anunciada específicamente para tolerancia a fallas de energía ... pero luego tiene que confiar en el fabricante para que lo haga correctamente, y no lo hago. Realmente quiero un control directo sobre las páginas borradas. Todavía estoy tratando de resolver esto.