Uwe

and Gunnar have been talking about using flash aka. solid state disks.

So far, every USB memory stick I had has died after a fairly low number of write cycles… sometimes doing a low level format helped, but the errors resurfaced again later on. Interestingly enough, I never had such problems with digial camera media, just with USB thumb drives.

The wikipedia article on Flash RAM is also rather vague:

Another limitation is that flash memory has a finite number of erase-write cycles (most commercially available flash products are guaranteed to withstand 1 million programming cycles). This effect is partially offset by some chip firmware or file system drivers by counting the writes and dynamically remapping the blocks in order to spread the write operations between the sectors.

And where do they store the write count without doing extra writes? :-)

(Note: you can do some simple counting with programming cycles only, i.e. by doing only NOR/NAND operations and no resets)

Note that there are also filesystems designed for flash, e.g. JFFS2, that have built-in wear leveling at the filesystem level. It might also make sense to not use a media with wear leveling, but instead do it yourself in software. However you most likely won’t have a choice here unless you build your own hardware and want to skip the extra controller.

You should however try to keep the number of writes low, so e.g. disable atime for ext2/3 (I guess JFFS2 doesn’t support atime by design), reduce the frequency of flushing buffers to disk (‘laptop mode’) and use RAM filesystems where possible (e.g. /tmp).

Anyway, go and read above Wikipedia article, it has some good information on it. And in half a year, many laptops will sell with hybrid drives, because of Microsoft pushing that technology. (I remember having read that in fall, having a hybrid drive will be a requirement for Vista gold compability or so?)

It would be interesting to work out how Linux can benefit most from such a hybrid system. I can imagine using a USB thumb drive with my laptop both as access key and for rapid boot (my harddisk is encrypted anyway, and it would make sense to not have an unencrypted bootloader on the disk, but only on the flash drive. The flash drive would not contain the key, but the kernel, decryption software, i.e. cryptsetup etc., and maybe some services to be loaded on boot for fast startup)…