>> Some might question themselves about "How many writes can I do to a >> flash >> disk?", well it depends on the manufacturer, some have internal wear >> levelling mechanism like sandisk (there's a sandisk paper about this but >> I >> haven't the link here now). There is a nice discussion about this in >> some > > Another big problem is: _when_ does the device perform the wear > levelling? For example, many (most ?) CompactFlash cards do this only > at power-on, so if your system does not get rebooted on a regular > base you better don't relay on any wear levelling on such devices. >
I can only speak about the sandisk paper I read. According to what they say, the disk is divided into "zones". Each zone has typically 4MB. In each zone there are a few "spare" blocks, which they call "erase blocks" (IIRC). Every time a write is performed to a specific block, physically it is written to a different block inside the zone it belongs (to one of the erase blocks). So even if the address to where you write is the same, physically you are writing to a different block every time. At least this is what they claim in their paper. > Well, maybe I should also point out that there are ways to make a > read-only filesystem look as if it was writable; this is very usefult > first to find out which files are actually writeen, and second to > redirect these writes to a (small) writable device or partition. For > more information about the "mini_fo" Overlay Filesystem for Embedded > Systems see http://www.denx.de, ftp://ftp.denx.de/pub/mini_fo/ and > especially http://www.denx.de/PDF/Diplomarbeit-MK-1.0-net.pdf > Thanks, I'll take a look at that. I forgot to say one thing... I mount the ext2 partition with the option noatime. To see which files are written I simply use find. Regards, Bruno Gravato.

