Hi all,
I did some more digging into this flash memory warning. Although my previous statement is correct, there is one little issue that remains in flash memory operation. When changing a file on flash memory the logic inside it erases a certain block of data and rewrites that together with the changed data on a new location. The length of this block of data may vary based on manufacturer and size of the unit. To limit overhead and additional writes it is important that you align the blocksize that Linux uses with the blocksize that the flash memory unit uses. The result is better speed and less wear.
There are a lot of articles saying this and that on the subject and most of them very confusing. What it comes down to is that these "erase blocks" are either 512kB, 1MB, 2MB or 4MB in size and discussion is all about at what sector you should start your partition which to me sounds like a lot of fuzz. Just pick 4MB (8192) and make sure that the whole size of the partition is also a full multiple of that same 8192 (end cylinder should be at [n*8192 - 1]).
Still, using the flashbench tool that is mentioned by many of the articles I am guessing that my 2GB SD card has in fact a 1MB erase block size and I therefore ran the following format command on the new partition.
Code: Select all
mkfs -t ext4 -b 4096 -E stride=2,stripe-width=128 /dev/sdd1
Lots of reading available on this as well - the idea is to let ext4 do full 1MB writes if possible and thus avoid multiple sequential updates to the same hardware defined block.
So, a good tip after all. Thanks for pointing it out.