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

nf0yxpkdtt 2009-10-16 09:39:06
对于Flash来说,写操作必须在空白区域进行,若此区域有数据,则必须先擦除(erase)然后才能写,切擦除是以块(block)为单位进行的。
对于FAT32文件系统来说,FAT表存在于保留扇区和根目录之间,对Flash里文件的读写几乎都要修改FAT表里的数据,那么,如果写某个位置时该位置上已经有数据,是否需要擦除FAT表?
我个人的估计是先把FAT表复制到某个block,然后擦除FAT表所在的block,再把FAT表“搬”回来,只是FAT所在的block没有block号,如何操作?
请高手指教!
...全文
118 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
nf0yxpkdtt 2009-10-16
  • 打赏
  • 举报
回复
回楼上的:是的。不过FAT文件系统并不考虑wear leveling问题,YAFFS, JFFS2, TFFS的设计考虑到了这一点。
Great_Bug 2009-10-16
  • 打赏
  • 举报
回复
..........还有....对FAT区的写入是不是会远多于数据区?

这个问题是怎样解决的? (Flash要追求均匀磨损的吧?)

21,597

社区成员

发帖
与我相关
我的任务
社区描述
硬件/嵌入开发 驱动开发/核心开发
社区管理员
  • 驱动开发/核心开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧