为什么U盘的文件传输速度远大于文件删除速度?

zong_ming   2007-7-3 15:50 楼主
在Window XP下对U盘中一个相同的文件进行两组操作
1、将该文件拷贝到硬盘下
2、在U盘中删除该文件
Windows的提示时间是:操作1对应时间是55s,而操作2对应时间是8min。虽然Windows的提示时间不是很准确,但是明显感觉2操作的时间远长于1操作

请大家给个合理解释

回复评论 (10)

一般U盘用nand flash,
读取文件时仅涉及读flash操作,
而写文件时需要擦除、写flash,比较慢
点赞  2007-7-3 16:05
理论上删除花的时间少.因为删除的话. 只是删除文件系统FAT32中的FAT目录表项.并没有实际擦除文件所有数据.
点赞  2007-7-3 20:33
但是实际上却是是删除的时间长呀,楼上的可以实际试一试。
点赞  2007-7-4 10:21
你的系统有问题?
点赞  2007-7-4 10:32
我的U盘是UNIBIT的,不存在此问题。同等条件下,删除速度更快,是显而易见的。
点赞  2007-7-4 11:58
FLASH对于大量小文件的读写删除,读的速度绝对比写和删除快,对于单个大文件的读写删除,删除的速度最快,读的速度第二,写的速度最慢。删除一样涉及写操作。
点赞  2007-7-4 13:03
FLASH对于大量小文件的读写删除,读的速度绝对比写和删除快,对于单个大文件的读写删除,删除的速度最快,读的速度第二,写的速度最慢。删除一样涉及写操作。
=========================================
对,好像是这个问题。
我删除的两个文件夹里有很多个文件
点赞  2007-7-4 14:38
操作系统的读写flash驱动做的不好,也和你的flash是否支持大块删除有关系。
点赞  2007-8-7 15:17
把写入缓冲关了
点赞  2007-8-7 16:47
这个问题的根源是,windows在删除文件时要去更新fat表,尽管每删除一个文件时,只须更新部分fat内容,但是nand flash仍然需要察除整个block,然后再拷贝其余数据到一个新的block(负载均衡),这样当有很多文件时就很慢。

解决方法应该是“把写入缓冲打开(使能)”吧。不过万一在此过程中把u盘拔除,后果...呵呵...
点赞  2007-8-16 14:31
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复