blkmtd (and YAFFS)

Charles Manning manningc2 at actrix.gen.nz
Tue May 18 19:13:38 EDT 2004


> > Both YAFFS anf JFFSx are journaling/log structured file systems. They can
> > cope with write failures and can handle unclean dismounts, but they
> > cannot recover data that has been lost; for that you need a RAID system
> > or such. A corruption in a CF card results in lost info which will not be
> > recoverable.
>
> Yes, but we are relying on the CF card controller to substitute bad sectors
> and essentialy say to the filesystem layer that 'everything is always OK'.
>
> The 'problem' we want to address is not using a filesystem that does a lot
> of writing in one place (e.g FAT cluster table on every write, ext2 inode
> tables on every write? (I don't know how spread about these are).

This assumes that the failure is caused by endurance issues and that the 
flash is "wearing out".  Given the number of times I've seen CF cards go 
stupid (even when very new and in very low usage) I doubt this theory very 
much. I suspect that the most common wonkiness is caused by logical to 
physical mapping errors or some such.
>
> A log-structure Filing system, even without the error-checking and
> bad-block detection, should still spread it's writes out relatively
> helpfully.
>
> Are you sure it's of no benefit to use them over a CF controller?
>

Perhaps there is, but my main point is that no matter what you balance on top 
of CF you can't see stuff that got lost by some internal CF screwup.

Where a log structured or transaction based fs should help is in being able 
to at least save some parts of the fs that might get lost in a FAT fsor might 
help recover data that goes missing (by using a back-up).

Of course the less you write, the less chance there is of messing things up.

-- CHarles




More information about the linux-mtd mailing list