现在的位置: 首页 > 综合 > 正文

nash总结-淡淡的淡淡的淡淡的淡淡的淡淡的淡淡的淡淡的淡淡的淡淡的

2013年02月07日 ⁄ 综合 ⁄ 共 1016字 ⁄ 字号 评论关闭

特性:49额

错误的认识4G08手册上写着::坏块是包含有错误的位的块,并且坏块的空闲区域可以改动,实际上不是的,坏块读出来的数据都为0包含空闲区域,,并且都不可以擦除和写,并且整个块都是这样的.

特性1:每次读数据库都会进行写nandflsh操作, 要写的数据逻辑地址是固定的,物理地址是往上替增的

特性2::每次写sector,都有2次写sectorinfor, 到这个sector上, 并且2次写sectorinfo中德逻辑地址是一样的

    NAND_LB_WriteSectorInfo() :sectorAddr 00019842!
       (DWORD)(pInfo->bBadBlock)000000ff!
       pInfo->bOEMReserved000000ff!
       (DWORD)(pInfo->wReserved20000fffd!
      pInfo->dwReserved1 000045b5!
FMD::FMD_LB_WriteSector 0x00019842
     write_pSectorInfoBuff->bBadBlock:ff
     write_wrdata:fff9ffff,dwReserved1:000045b5

特性3:nandflash中的位只能从1变为0,不能从0变为1, 所以要先通过块擦除把块中位都变为1,才能页数据进行,否则,页写的数据不对,

特性4:ce6.0中,块擦除和磨损均匀,2个措施相结合,他并不是,传统的方式写数据,先读取flash块中的数据到一个buffer,然后改变buffer中数据,然后再写buffer数据到flash块中,

ce6.0中,一个文件的数据,发生改变后,并不会去改变原来的这个文件所在的物理地址上的数据,而是,直接把文件的内容写到另外一个物理地址上,并且把这个文件的逻辑地址与新的物理地址绑定,

特性5:ce6.0总,对于一个块是否要擦除,在nandflash中有记录的,所以当在写flash过程中断电时候,会让ce认为这个sector没有被写过,下次还会写, 这样就导致写的数据不对,

但是写函数在写这个sector的时候又返回true,导致下次读这个记录的时候 ,数据崩溃

特性5:每次上电,ce都会读取整个nandflash的块的空闲区域,的块状态和sector信息, , 这就是为什么每次上电都会 坏块都会每检测出来的原因.如果串口打印的话,ce启动会很慢

抱歉!评论已关闭.