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