none
NAND 扫描问题? RRS feed

  • 问题

  • 系统有1GB的NAND flash,wince4.2,我做通了NAND的驱动,wince可以正常读写NAND,但问题是每次开机,WINCE都会扫描NAND,如果,NAND上有许多文件,如800MB,WINCE会把文件占用的每个扇区都读一遍,造成启动速度太慢,不知是否有好的办法解决????

    2008年9月3日 12:05

答案

  •  

    在nand的spare area放有logic sector和physical sector的映射信息及其他一些driver需要的信息,

    重启后扫面nand是为了获得这些driver需要的信息来管理,这些是在ram里的,reset就没了,所以每次重启都要扫描。

    如果你是用FAL+FMD的架构的话,如果一个block的第一个page是free的就不会再扫描这个block的其他page。所以文件越多就越慢,扫描的越多。

    跟目录文件没关系。

    2008年9月5日 7:15

全部回复

  • 这个问题在WinCE6.0上面同样存在,每次启动,WinCE就是要把整个Nand扫一遍,你的文件越多,就会越慢。没有很好的解决办法。

     

    你只能一方面优化你的NandFlash驱动,这一点很重要,因为NandFlash驱动中的读写函数,尤其是读函数会被频繁的调用。还有就是尽量使你的文件系统简单化,比如目录不要太深,目录下的文件不要太多。如果你不是一启动就用文件系统的话,你可以采用异步加载的方式。

    2008年9月4日 1:40
  •  

    在nand的spare area放有logic sector和physical sector的映射信息及其他一些driver需要的信息,

    重启后扫面nand是为了获得这些driver需要的信息来管理,这些是在ram里的,reset就没了,所以每次重启都要扫描。

    如果你是用FAL+FMD的架构的话,如果一个block的第一个page是free的就不会再扫描这个block的其他page。所以文件越多就越慢,扫描的越多。

    跟目录文件没关系。

    2008年9月5日 7:15
  • 呵呵,楼上的还挺较真的。我补充一下,文件越多,目录越深,在你读写文件的时候会直接影响你的读写速度。所以在你启动以后,你操作文件的速度会受到影响。

    2008年9月5日 9:13
  • 我想问一下,如何异步加载nand,我测试了一下,读nand的速度在1MB多左右,如果1GB NAND上存放了800MB的数据,扫描一遍需要8-10分钟,就算异步加载,如此耗费时间的操作也是无法忍受的????

    2008年9月5日 11:51
  •  

    wince难道没有NAND成熟的解决方案么?
    2008年9月5日 11:54