Format is not always a solution.
If the device is hundreds of Kilometers away, and a file got corrupted (power down during write process for example), you might just want to delete the file from the SD Card by application (or from PC via FTP).
A freezing device in this case is a real worst case scenario.
I had problems like not being able to write any more files to a specific folder, which is also also quite bad.
According to my own experience and what I read so far in the forum I think GHI should check if the SD card driver could be improved in a way, that corrupted files on SD card can be handled in some way or avoid corruption (by power down,…) completely if possible.
The goal in my project was to write log files.
Keeping the log file handle open and flushing the text writer after each line gave me good performance, but when I reset the device, the files or part of it was not there after reboot. In some cases I had a corrupted file system (at least the log folder was not usable anymore.
Then I changed it to open the file for every log message and close it afterwards.
By this the file was written correctly but It used up so much processing time that the application itself was not working anymore (a lot of timing issues, slow response on ethernet).
I’ve been using a custom G120 board with ENC28 and SD card reference design as well as G120HDR with GHI modules.
I had about 30 log messages (<80 chars each) every 60 seconds.
Currently I have disabled writing log files to SD card.
My suggestions for using SD cards at the moment:
Read only: OK
Write sometimes, read often: Works if you make sure there is no power down and files get flushed correctly after writing. ???
Read/write all the time: Currently a no go, quite risky.