关于NAND flash程序的几个疑问,求大神指导

2019-07-20 10:08发布

本帖最后由 江枫三号楼 于 2018-1-9 11:11 编辑

1234.png
原子哥429的写FTL_WriteSectors函数源码,有以下几点疑惑
1:程序中扇区和sector,和page是一个概念吗?
看芯片手册,芯片分为plane,block,page三层,并不存在sector这个概念。
2:第250行,假如待写入的sector不全是0xff的时候,为什么要写到另一个block中,而不是先擦除现在的这个block后,在写入呢?
1245.png
3:查找与给定块在同一个plane内的未使用的块的函数,第123行的if判断,应该是永远都成立的吧?为什么还要加这个语句而不是直接写呢?
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
3条回答
wangmingwei093
2019-07-20 10:27
我来回答行不,1:sector和page不是一个概念,你看一下这节课里讲的FTL小节(我这里没细看,一直没勇气好好看这部分),sector是ECC以多少个字节为处理的。
2:不是0XFF的时候,意思是这个块不是个好块,不能用,所以重新找另一个块。
3:该函数第一句定义static u32 curblock=0XFFFFFFFF;,这里的static是说只有第一次执行这个函数的时候,curblock才等于0XFFFFFFFF,静态变量的问题
我水平也不高,如果有不对的地方,请各位大神指正,勿喷

一周热门 更多>