He said he's using CompactFlash. CompactFlash is not flash, as far as we're
concerned: it is an IDE drive. You may think it has flash inside it; we
couldn't possibly comment.
In fact, it generally has a kind of pseudo-filesystem internally which it
uses to emulate a block device with 512-byte sectors. It may do its own
wear-levelling; the manufacturers are often quite cagey about whether it
actually does or not. Draw your own conclusions about that if you will.
It's quite common to find that this internal pseudo-filesystem _itself_ gets
screwed on power failures. This tends to manifest itself as unrecoverable
I/O errors.
There is no fundamental reason why every CF card should have these
problems, in the same way as there is no fundamental reason why all PC
BIOSes should be crap. But the same expectations apply.
If you want to pass power-fail testing, I would recommend you switch to
using real flash. JFFS2 on real flash has survived days of stress testing
whilst being power cycled randomly every ~5 minutes. The same tests were
observed to destroy CF cards¹.
CF is bog-roll technology. It's disposable storage designed for temporary
use in stuff like cameras -- not for real computing. Think of it like a
floppy disc and you won't go far wrong.
-- dwmw2 ¹ http://www.embeddedlinuxworks.com/articles/jffs_guide.html² ² Constant reboots no longer screw the wear levelling, as reported there.- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/