Remix.run Logo
BobbyTables2 a day ago

I wonder if this does anything more than fill with zeros or 0xFFs and then run the normal file system formatting… Maybe trim/discard operation too.

Seems weird it can be applied to bitlocker to go volumes.

gustafla a day ago | parent | next [-]

It can discard with the proper SD commands (use `--discard`), if your SD adapter supports that. So not with USB card readers, but with many built-in SD card slots. The main reason to use this formatter instead of the OS built-in formatter (or mkfs) is that this creates the correct type of file system (FAT or exFAT depending on card size) and uses correct allocation sizes etc. for devices expecting a factory-formatted card.

krackers a day ago | parent | prev [-]

https://www.sdcard.org/press/thoughtleadership/the-sd-memory... has more details, and a comparison to disk utility format. There is also this open source implementation https://github.com/profi200/sdFormatLinux

The main difference seems to be stuff about block size and alignment.

>Technically speaking, the SD Memory Card Formatter optimizes the layout of data structures on a SD memory card in accordance with flash parameters defined by the SDA. This includes placing the partition at the correct offset for the internal flash layout of the card, properly aligning the FAT and the cluster heap (an area containing the file and directory data) to internal flash boundaries, and minimizing wear-leveling, while maximizing read/write performance.

>Manufacturers of small embedded devices most often expect a file system to be formatted to the above stated parameters, so they optimize their relatively simple system implementations based on the assumption that the file system is already optimized for the internal flash layout.

I don't know enough about flash memory to understand why SSDs don't have this issue. Presumably they use more advanced controllers that just hide all this