Difference between revisions of "CompactFlash"
Line 18: | Line 18: | ||
SD-cards behave in the same way as CF cards, as they have internal wear leveling. | SD-cards behave in the same way as CF cards, as they have internal wear leveling. | ||
+ | http://en.wikipedia.org/wiki/Flash_memory#Memory_wear | ||
Don't use an journaling file system on flashcards with internal controller (SD,MMC,CF), as they give your product a shorter lifetime | Don't use an journaling file system on flashcards with internal controller (SD,MMC,CF), as they give your product a shorter lifetime |
Revision as of 08:01, 28 November 2009
Limiti di utilizzo di una Compact Flash
Many people would like to install a full Linux distribution (like Debian or Ubuntu) on a Compact Flash and ask what is the best filesystem to use on the CF. Our suggestion is: don't do it
If you are aware about it and you want to try the best choice you can do is with the simplest filesystem: ext2
Be careful: The CF can be damaged when power goes down while writing. This has nothing to do with the file system. The CF might be damaged so badly that in needs factory reformatting before it's accessible again.
Even worse: The CF manufactures don't provide any specification how long it needs power after a write to ensure that the CF data will not be damaged. So even a hardware based solution is not possible. The CF card does wear handling internally, so there is no use in trying not to write too often to the same address (which can be ensured eg by JFFS2). You just need to switch off maintaining the last access date (and whatever read statistics).
(This was already discussed here several times and no solution was found.)
SD card with JFFS2 or YAFFS
SD-cards behave in the same way as CF cards, as they have internal wear leveling. http://en.wikipedia.org/wiki/Flash_memory#Memory_wear
Don't use an journaling file system on flashcards with internal controller (SD,MMC,CF), as they give your product a shorter lifetime because of accelerated wear out.
JFFS2 is only applicable if you have flash that is directly addressable by the CPU.
Possible solution
Mount your filesystem in readonly mode or better, adopt an embedded Linux distribution like KaeilOS http://www.kaeilos.com