Hi 

Thanks Greg and other developers in this community, lots of valuable 
information to me I'd like to have some more detail explanation and my thought

to share with you.Correct me if I'm wrong.

 

1.Why I didn’t choose smartfs or littlefs for nand?

I find these filesystems are all designed original for NOR flash but nand has 
some special functionality that will definitely affect the

Filesystem behavior in the upper space. You can handle ECC in the lower r/w 
driver but you need to store the ECC result to prepare next time read

in the filesystem layer .NAND flash have bad block mark you need to deal with 
it in the filesystem layer. I think that’s why a lot of filesystems were

designed separately. I know JFFS2 is a exception. But if you use it you will 
waste the spare area in nand if my memory is not wrong and it is not

recommended for nand.

 

2.FTL for FAT ?

It’s very nice to use FAT and FTL. I know FAT has a index table to mapping 
logical and physical area. But there is one problem Where should I put it ?

If you put it in Nand Then this area may ware out, if you put in ram then when 
should it be synced to Nand and how often is suitable ?

what if my device unexpectedly shutdown and lose all updated index ?  Obviously 
SD-card or SSD supplier has their solution in their firmware but I don’t

have it.

 

3.Journal filesystem advantage.

Journal filesystem with some node data in the nand page or in the spare area is 
robust, it has no central index table to avoid wear out and safe for unexcepted 
shutdown,

Next time you power up, filesystem scan all data node and make a new ram 
structure. And it naturally support ware-leveling.

 

 

Best wishes

Xinyuan










Reply via email to