I'm curious as to how SD cards map the supplied sectors for read/write to physical locations in the flash memory. Is this the real physical address, or is it just a virtual address that the SD controller then maps to the physical location?
I've read that SD cards have a controller which will manipulate writes in such a way that the wear of flash sectors is spread out as much as possible.
The main concern I have is if I have a micro-controller dealing with low-level IO where I read/write to a SD card using the SPI interface (mainly writes). I'm planning on using a PC program to pre-allocate sectors/clusters in a FAT16 formatted SD card at pre-known locations that my micro-controller can use. However, I don't want these sectors/clusters to magically be moved by the SD controller in such a way I have to re-parse the FAT16 file system in order to find where they are. I also don't want to accidentally repeatedly write to the same physical flash sector causing a failure in that one portion of the SD card.