I use a SD card on some products without problem.
In my products, the SD card is QNX6 formatted. I don’t take care of the flash partitioning alignment. Not sure this is possible with QNX6fs. However, The SD card is used to store device applications and configuration. So, there is not much data written to it.
If you are interested in power-fail-safe functionality of qnx6fs, be careful that’s it works only when your SD card is power-fail-safe capable. Most SD cards are not.
I also use secondary SD card slot for storing/reading user data (big amounts of data). On this slot, SD cards are FAT32 formatted. I tried formatting the SD cards with QNX utility and with SD card association utility (on a Windows PC). There is a difference in throughput. More important is the size of write chunks made by your application. When your application writes small chunks of data, SD card write speed is (very) low.
Testing write speed is complex. It depends on application write chunk size, filesystem cache size/management, filesystem alignment on flash sectors…
One important parameter to consider is that when the SD card is brand new, writing to it is fast since of flash sectors are empty. This means no need to erase flash sectors before writing data. Once all flash sector have been written once, SD card controller has to erase flash sectors before writing data. Then you get a much slower write speed.
There is a special function to mitigate the speed loss : TRIM. The filesystem much be compatible with this functionnality. The SD card must also be compatible. Most are not.
On my devices I get the following message : “fs-qnx6: trim was requested, but is NOT usable.”
Wear levelling : All current media manage wear levelling. This is the responsibility of the SD card controller to manage wear levelling. However, it is possible to reduce flash wearing, by using a filesystem made for this : exFAT. When using FAT32, correctly formatting can help.
PS : My devices run QNX6.6.0