Re: Compact Flash Question

From: Tomasz Chmielewski
Date: Wed May 07 2008 - 03:13:27 EST


Bart Van Assche wrote:

For most Linux filesystems you really need wear leveling. E.g. ext3's
superblock is at a fixed location and gets overwritten frequently.
Without wear leveling you risk that the flash sector where the
superblock resides wears out early.

Compact Flash (and other similar media) does wear levelling, so essentially, even if we write to the same fixed location, in reality, it will mostly go to a different area on flash each time.

As Compact Flash and its wear levelling does not know about free space on the filesystem, the wear levelling's effectiveness can be only limited - writes won't spread on the whole free area of the flash.

Does anyone know how wear levelling is done in these devices? Perhaps it will differ from a manufacturer to manufacturer, but I guess they have a free area we normally use to store data, and some reserved area used just for wear levelling and bad block handling, but that's just my guess.


When using ext3 on a CompactFlash, you can limit the number of writes
to the CompactFlash significantly by mounting the medium with
parameters like noatime,nodiratime,commit=300.

noatime implies nodiratime, so there is no need to add the latter.


--
Tomasz Chmielewski
http://wpkg.org

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/