For those people who attended my lectures at the Embedded Systems Conference in the UK this week, and for anyone else who is interested, here are my slides.
Linux flash file systems: JFFS2 vs UBIFS
Power saving in Linux devices
Why Linux is not an RTOS:porting hints
Hope you find them interesting: if not tell me about it...
On page 6 of your "ESC-5.4-flash_filesystems-slides.pdf" document you have a bullet point that says:
"Very limited reliability data from manufacturers. Some have known problems with wear leveling and corruption at power off"
Do you have any references to these known problems? I'm trying to pin down some issues that I am having with a batch of SSD devices. These SSDs have a ZIF IDE interface and store about 8GB of data. We have been seeing file corruption when power is cut off suddenly. The corruption I have seen is NOT similar to the types of filesystem errors you typically see when you cut power to an ordinary disk drive. In the case of a disk drive, one might expect that a filesystem check and journal recovery would show that the last files being written to are inconsistent. With the SSDs I have seen corruption in files that were not being written to or even being read from -- files not opened at all! I hope that I can find more references that discuss this problem. Information from the manufacturer has obviously been hard to come by.
I would appreciate any clues you can give me. Thanks and great web site!
The article I had in mind when I wrote that slide is Valerie Aurora's discussion of log based file systems (http://lwn.net/Articles/353411/)
The corruption you mention is exactly what would happen if the device was powered down while moving blocks round to create a completely empty erase block or as part of wear leveling. A faulty algorithm can cause data to be lost from files that are completely unrelated to those that have been written to recently.
Interesting presentation. I have a couple of comments about performance.
1) You should discuss what types of buffering ubiFS does and the tradeoff on performance vs. data loss during a powerloss situation.
2) Many times there is a significant difference in performance in small and large data writes. It would be good to include both.
I've been eagerly waiting for the post regarding Slides from the Embedded Systems Confernece 2009: UBIFS, power management and porting. Thanks. jeff cavaliere bio
More information about formatting options