[em]I have recently been experiencing a problem with my module that sometimes the bits are not switching on the device, normally just one bit on a write every so often. I am working on enhancing the file system to be more resilient if the writes fail. My module has seen a lot of use as I have run 24 burn tests etc. so I expect that might be why I am seeing this.[/em]
Actually, I have seen the exact problem. Hours of debugging showed some bits where just not flipping. It turned out to be a defective flash ship. I worked around by implementing a read after write at the block driver. If some error happens, a delegate is fired so the app can respond accordingly.
Adding this to the FileSystem as a configurable option seems to make a lot of sense.
Interestingly, the flash chip I saw this on, is supposed to indicate write failures in the status register. But even though the module was clearly behaving wrong, the status register did not indicate so. So it seems that (for at least some modules) reading after a write is the only realy reliable option.