0xAA55 发表于 2014-10-3 02:30:35

[科普]解释U盘拷文件有时进度条卡在最后不会动

这个现象主要出现在USB 3.0,当一台电脑装了Intel USB 3.0的驱动的时候,这个电脑的USB 3.0的口就可以使用了(否则就会被系统当成USB 2.0来用)
那么Intel的这个驱动除了驱动了3.0的口以外,它还负责什么呢?它还负责帮电脑控制U盘。为了让用户用得爽,它使用了文件缓存的技术,也就是用一块内存来缓存电脑对U盘的操作。类似的功能有Samsung Magician对三星的SSD开启RAPID模式,以此来加速固态硬盘(这个时候你去用别的软件给固态硬盘跑评分,这个评分能达到非常屌的水平,但事实上这个是“作弊”)。

那么当你把一个1G的文件拷到U盘里的时候,Windows的这个拷文件操作就被这个驱动缓存了一下,它的缓冲区大概是512 MB,所以你会看到进度条一下跑到了一半。然后缓冲区满了,于是Intel的驱动终于开始真正地将缓冲区的内容往U盘里写了。嗯。写一点,就释放一点缓冲区,于是Windows继续做着自己的“拷文件操作”,Intel的驱动继续一边接收Windows提供的数据,一边将缓冲区中的数据写入U盘。

之后,大家可以看到,进度条快满了!但事实上这只是Windows已经把几乎所有的文件数据都交给了Intel的驱动。而Intel的驱动却仍然在满满地将缓冲区中的内容一点一点写入U盘。实际的进度呢,大概就是一半的位置吧。
最后进度条到了最后还差一点的时候,不动了。没错。Windows已经把所有的数据都给了Intel的驱动,但是Intel仍然在慢慢地将数据写入U盘……打个比方就是我把货物一股脑扔给了搬家公司,然后,我告诉别人说“我搬完了,还差‘一点儿’”然后我不断去问搬家公司,“好了吗?好了吗?”搬家公司却在一点一点地将我的货物搬到另一个房子里,说“还没好,还没好。。”没错,这个搬家公司就是Intel的驱动。

所以大家遇到这种情况的时候,要蛋定,别拔了U盘说死机了,别点取消,别关掉explorer或者召唤任务管理器出来干掉谁谁谁。等着它吧!
页: [1]
查看完整版本: [科普]解释U盘拷文件有时进度条卡在最后不会动