Tengo curiosidad por saber cómo las tarjetas SD asignan los sectores suministrados para leer / escribir en ubicaciones físicas en la memoria flash. ¿Es esta la dirección física real o es solo una dirección virtual que el controlador SD luego asigna a la ubicación física?
He leído que las tarjetas SD tienen un controlador que manipulará las escrituras de tal manera que el desgaste de los sectores de flash se extienda tanto como sea posible.
La principal preocupación que tengo es si tengo un microcontrolador que trata con IO de bajo nivel donde leo / escribo en una tarjeta SD utilizando la interfaz SPI (principalmente escrituras). Estoy planeando usar un programa de PC para asignar previamente sectores / clusters en una tarjeta SD con formato FAT16 en ubicaciones pre-conocidas que mi microcontrolador puede usar. Sin embargo, no quiero que el controlador SD mueva estos sectores / grupos de manera mágica de tal manera que tenga que volver a analizar el sistema de archivos FAT16 para encontrar dónde están. Tampoco quiero escribir accidentalmente repetidamente en el mismo sector de flash físico y causar un fallo en esa parte de la tarjeta SD.