IsaacZ 发表于 2011-11-6 16:17:19

适应于U盘的文件系统 — exFAT

随着U盘容量的不断的提升,现已达到8G,吓人吧,而价格已经跌入100元以内,想当年一个8M的U盘也要3-4百元,可那也给我们带来了不少的惊喜。而今容量大了,可麻烦也随之而来,FAT32不能容纳大于4G的单个文件,NTFS文件格式速度慢不说,日志式的文件系统造成频繁的读写操作直接影响U盘的使用寿命,一般的U盘产品大部分使用MLC闪存芯片制造的,写入次数平均为10万次,寿命大约为5年。exFAT基于这个问题应运而生。大部分XP版本还不支持这类文件格式,即便升级到最新版本也是不支持。只有Vista sp1及其以上版本(包括WIN7/8/10)支持。

exFAT与先前文件系统的区别

    exFAT(Extended File Allocation Table)是适用于U盘或随身型携带装置(如PDA)的新格式,最早出现在2006年的WinCE 6.0,为了增进与桌上型作业系统的相容性还有便于随身装置的同步需求,到了Vista SP1正式被纳入桌机作业系统所支援的文件系统,但跟一般玩家息息相关的,还是在于U盘上的应用。以往在U盘上,FAT32/FAT是比较常见的格式。然而FAT32在目前大体积的文件应用下逐渐產生问题,它的单档容量最多只有4GB,在某些用途上还要分割文件才放得进U盘里,而且XP的抽取式媒体读写快取是限定NTFS格式才支援,在拷贝大量且零碎的小文件时,往往要耗上漫长的等待时间。那为什麼不用NTFS来当U盘的主流格式呢?

一、NTFS相容性不如FAT32

    FAT32/FAT已经被大多数的作业系统所广泛支援,不论是OS X、Linux或是随身PMP装置,虽然部份非Winodws系统加上外掛也能做NTFS的读写,但是毕竟没有原生支援来得方便。

二、存取效能的差异

    NTFS是采用「日志式」的文件系统,因为要记录磁碟的详细读写动作,对U盘这种快闪记忆体会造成较大负担,比如同样存取一个文件或目录,在NTFS磁区上的读写次数就会比FAT32来得多,「相较」之下理论上使用NTFS格式存放文件的U盘比较容易损坏,而且在400MB以下的分割区也比较浪费空间。

三、XP预设的格式化选项不是NTFS

    一般来说除非手动修改原则,不然XP预设不能把U盘格式化成NTFS系统,使用者找不到此选项,自然很顺理成章的使用FAT32来格式化。在XP下对抽取式媒体有两种存取方式:「快速移除最佳化(预设值)」与「效能最佳化」,前者适用于FAT32,后者即是因应NTFS写入快取的设定,我们常常听说不要直接拔除U盘,其中一个原因就是考量到后者需要把快取中的资料确实写入U盘,因此使用快速移除最佳化时,就不能直接格式化成NTFS。

exFAT有什麼用?

    如果不是很在意U盘的存取效能,那麼现在市面上4G、8G的MLCU盘可以说一点都不贵,这种容量对FAT32支援的单一分割最大容量(32GB)并不成问题,不过超过4GB的单档就有点麻烦。

    虽然说很少有单一文件超过4GB的机会,但不代表完全没有:如BD影片的Remux档、BD/HD影片的原始档、无失真音乐爱好者的未压缩音讯档、DVD光碟的ISO档、从DV上擷取下来的AVI档等等,想要完整备份就得选择NTFS或exFAT做为储存格式。

   exFAT原本设计的目的是在FAT32与NTFS之间取得一个折中,有FAT32的轻便、不需要耗损太多的效能及记忆体来处理文件运作,又有类似NTFS的CAL存取控制机制(很可惜在SP1下找不到exFAT对于CAL的支援),以及类似HPFS系统可快速整理可用丛集空间的Free Space Bitmap,来将文件破碎的情况尽量减少。

    然而要真正比较出使用FAT32、NTFS及exFAT时的文件破碎情况很难做到客观的评比,剩下所能测试的就是存取效能了,尤其是exFAT最大的丛集大小达到了惊人的32MB,连NTFS都只有64KB,如果U盘真的拿来存放BD Remux动輒上GB的大文件,那麼将exFAT的丛集设大时,将会有多少效能增进呢?

lzz 发表于 2018-1-30 00:08:04

学习了 谢谢

a136465 发表于 2019-1-6 16:24:34


学习了 谢谢
页: [1]
查看完整版本: 适应于U盘的文件系统 — exFAT