NAND Flash跟普通的Flash结构不一样,由于NAND Flash自身的特性,偶尔会出现位反转的情况,所以在烧录的时候要注意下ECC。位反转是指原先Nand Flash中的某个位,变化了,即要么从1变成0了,要么从0变成1了。小容量的NandFlash一般不容易产生位反转,如1Gbit、2Gbit的一般大容量的会比较容易产生,如32Gbit的。为什么会出现位反转的情况,有以下几点原因:漂移效应:漂移效应指的是,Nand Flash中cell的电压值,慢慢地变了,变的和原始值不一样了。编程干扰所产生的错误:此现象有时候也叫做,过度编程效应。对于某个页面的编程操作,即写操作,引起非相关的其他的页面的某个位跳变了。读操作干扰产生的错误:此效应是,对一个页进行数据读取操作,却使得对应的某个位的数据,产生了永久性的变化,即Nand Flash上的该位的值变了。 在烧录的过程中如果没有设置相应的ECC,那么在校验的时候发现NAND Flash里面的数据和原始数据不一样,烧录就提示出错了。解决的办法就是在烧录前,就设置好ECC,如我用的SmartPRO 6000F-PLUS是这样设置的,如下图示。