Running FAT+MTD

Charles Manning manningc2 at actrix.gen.nz
Wed Oct 22 17:35:14 EDT 2003


On Thursday 23 October 2003 05:08, Srikanth Sherman wrote:
> Hello,
>
> After reading some of the old archives of the MTD list,
> it looks like at least a few people have used FAT+NFTL
> instead of JFFS.  The one question I have is that how do
> they take care of things like wear-leveling and garbage-collection?  Aren't
> they a function of JFFS or am I completely confused about MTD?  Thanks.
>
> Sri

First things first. ***DON'T BE TEMPTED TO DO THIS ***.

The only valid reason to use FAT is if you have removeable storage that must 
also plug into a FAT-based system.

If you use FAT:
* Your data is not safe.
* Performance goes to hell.

There are essentially two ways to implement a flash-based file system:

1) Block driver + regular file system (ext2, fat,...):
This is the approach used by SmartMedia etc. In this approach, the block 
driver tries to look like a hard disk block driver. The block driver does all 
the wear levelling etc. The file system does not know anything about flash 
and just thinks it is talking to a hard disk. To achieve this, the block 
driver needs to tell a bunch of lies and make mappings etc that are liable to 
corruption and speed issues.

2) Flash file system (eg. JFFSx, YAFFS)
These file systems know they are working with flash. They understand flash, 
know how to exploit flash and work around performance issues. Both JFFSx and 
YAFFS include some degree of journaling. They are both faster and more robust 
than equivalent FAT+block solutions.


IMHO.

-- Charles



More information about the linux-mtd mailing list