在Window XP下对U盘中一个相同的文件进行两组操作
1、将该文件拷贝到硬盘下
2、在U盘中删除该文件
Windows的提示时间是:操作1对应时间是55s,而操作2对应时间是8min。虽然Windows的提示时间不是很准确,但是明显感觉2操作的时间远长于1操作
请大家给个合理解释
一般U盘用nand flash,
读取文件时仅涉及读flash操作,
而写文件时需要擦除、写flash,比较慢
理论上删除花的时间少.因为删除的话. 只是删除文件系统FAT32中的FAT目录表项.并没有实际擦除文件所有数据.
但是实际上却是是删除的时间长呀,楼上的可以实际试一试。
我的U盘是UNIBIT的,不存在此问题。同等条件下,删除速度更快,是显而易见的。
FLASH对于大量小文件的读写删除,读的速度绝对比写和删除快,对于单个大文件的读写删除,删除的速度最快,读的速度第二,写的速度最慢。删除一样涉及写操作。
FLASH对于大量小文件的读写删除,读的速度绝对比写和删除快,对于单个大文件的读写删除,删除的速度最快,读的速度第二,写的速度最慢。删除一样涉及写操作。
=========================================
对,好像是这个问题。
我删除的两个文件夹里有很多个文件
操作系统的读写flash驱动做的不好,也和你的flash是否支持大块删除有关系。
这个问题的根源是,windows在删除文件时要去更新fat表,尽管每删除一个文件时,只须更新部分fat内容,但是nand flash仍然需要察除整个block,然后再拷贝其余数据到一个新的block(负载均衡),这样当有很多文件时就很慢。
解决方法应该是“把写入缓冲打开(使能)”吧。不过万一在此过程中把u盘拔除,后果...呵呵...