Re: Compact Flash Question

From: Helge Hafting
Date: Wed May 07 2008 - 08:32:08 EST


Tomasz Chmielewski wrote:

How does it work, then?
How can it do wear levelling over the whole CF if some (or most) area of CF is already used by our precious data/metadata?
It would have to know the areas where no data is stored, but it contradicts the CF <-> filesystem separation.
It don't necessarily need to know. It can swap two used blocks, one often-used and one
rarely-used. That way the rarely-used block is rewriten over the previously busy
block, and the busy block is moved to the rarely used area that isn't worn.
This implies an extra write whenever a busy block is moved. Don't know if
anybody do this, but the technique is simple enough.

CF-filesystem separation is necessary, for they can't know in advance what
filesystem or partitioning scheme will be used. (I have ext3 on CF, for example...)

Helge Hafting


--
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/