Flash上的FAT文件系统,写FAT表前不用先擦除吗?

nddz   2009-10-16 21:39 楼主
对于Flash来说,写操作必须在空白区域进行,若此区域有数据,则必须先擦除(erase)然后才能写,切擦除是以块(block)为单位进行的。
对于FAT32文件系统来说,FAT表存在于保留扇区和根目录之间,对Flash里文件的读写几乎都要修改FAT表里的数据,那么,如果写某个位置时该位置上已经有数据,是否需要擦除FAT表?
我个人的估计是先把FAT表复制到某个block,然后擦除FAT表所在的block,再把FAT表“搬”回来,只是FAT所在的block没有block号,如何操作?
请高手指教!

回复评论 (2)

..........还有....对FAT区的写入是不是会远多于数据区?

这个问题是怎样解决的? (Flash要追求均匀磨损的吧?)
点赞  2009-10-16 22:49
回楼上的:是的。不过FAT文件系统并不考虑wear leveling问题,YAFFS, JFFS2, TFFS的设计考虑到了这一点。
点赞  2009-10-16 23:12
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复