Hope this is the right section.
I just bought a microSD card, my first, and was about to partition/format it like I do to hard disks. Luckily I did not.
Formatting/Partitioning a SD/SDHC card seems to be much more complicated than for HDDs. Searching the net I came across :
- use any modern partition manager, most recommended Minitool Partition Wizard.
- use Windows format but stick to FAT32/exFAT.
- use the SD Formatter provided by the SD Association.
finally I came across this :
... Putting it Together
How is the filesystem layout relevant to our problem? Allocation data accesses are very common, as are cluster-sized data writes. So we want those operations to be efficient. If the allocation data starts on a NAND FLASH page boundary, a given allocation map write is less likely to span two pages, so the FTL gets to do things the "easy" way, which is faster and causes less NAND wear. If the cluster size is a power-of-two multiple of the NAND FLASH page size and the first cluster is aligned on an erase block boundary, cluster writes are similarly "easy".
Conversely, if the layout is bad, every cluster write might "split" two pages, forcing the FTL to perform four internal I/O operations instead of one.
The manufacturers of FLASH storage devices understand this. When they format the device at the factory, they know which filesystem they are putting on (typically either FAT16 or FAT32), the page and erase sizes for the NAND FLASH chips inside, and the characteristics of the FTL software in the internal microcontroller. (Actually, there is yet another factor - multiple NAND chips or multi-plane chips can further influence the locations of "efficient" boundaries.) Knowing this, they can choose a layout that encourages "easy case" internal operations.
How to win
It boils down to the fact that you need to micro-manage a lot of details to ensure that things fall on suitably-aligned boundaries. You need to consider both the partition map and the filesystem layout in concert. One way to separate the problems is to make each partition begin on an erase block boundary, then layout the filesystems so their subordinate data structures (particularly the cluster or "fs block" array) fall on erase block boundaries assuming that the partition itself begins erase-block-aligned. What is a good alignment boundary? Well, 256 KiB is good for most new chips, but to give some breathing room for the future, maybe 1 MiB would be better - or perhaps even 4 MiB.
Better yet, try to avoid reformatting FLASH-based devices when you have the choice.
So can some one please tell me if the above is right.
And, if what I propose to do makes sense :
I will first use the card in a Windows PC, before actually using it, I propose to make a Ghost image of the entire SD card. If I ever need to format the card, I will restore this image to the card.
EDIT : Just came across : http://rmprepusb.blo...d-or-flash.html