文件系统数否影响SSD性能探秘
it168 剑鱼 发表于:12年06月14日 13:23 [转载] IT168
文件系统:FAT32、NTFS、exFAT和HFS+
FAT32
FAT32最早出现在1997年的Windows 95B中,几乎所有主流操作系统都可以创建、读取和写入FAT32分区,对于低容量外部存储(例如USB闪存驱动器)FAT32仍然是一个不错的选择。现代操作系统在默认情况下选择NTFS,Mac操作系统运行HFS+。
作为一个32位文件系统,FAT32被限制为最大分区大小32TB,8KB簇,虽然这种格式的原来格式限制被限制为最大分区2TB,而当前 Windows操作系统让其难以使FAT32分区大于32GB。簇大小直接取决于分区大小,簇的范围从512字节到8KB之间。由于文件大小被存储在4字节字段中,最大文件大小限制为4GB。这对于视频文件或者驱动器镜像而言,将是一个问题。文件名是灵活地,允许最多255字符。FAT32并不支持日志 (journaling),这意味着用户数据或元数据的完整性问题可能导致信息丢失。FAT32不支持权限管理。
Windows XP提供安装到FAT32分区的选项,而Windows Vista和7并不提供,因为它们依赖于NTFS。
NTFS
新技术文件系统与Windows NT一起推出,与IBM的HPFS很类似。文件大小可以高达16TB(理论上是16EB),而分区目前最大可达256TB。其文件大小限制与FAT32的 4GB相比更具现实意义。文件名最多可长达255字符。NTFS支持LZ77压缩、文件级加密(通常是AES)和访问控制,通过ACL管理。 4KB(FAT32为32KB)簇大小确保写入驱动器的小文件不会浪费太多容量。这也是为什么4KB簇大小对SSD性能的重要性,你会发现,NTFS比其他文件系统更具优势。
主文件表(Master File Table,以下简称MFT)存储文件的属性、位置和访问信息。最小的文件直接被保存在MFT中。与文件分配表不同,MFT在格式化过程中并不会被完全写入,会随着时间的推移而增长。正因为如此,它是唯一可以经受碎片的。它还能够日志记录元数据,这意味着写入操作先被记录,写入程序再执行,日志中会记录成功完成的结果。写入过程会因为电源故障而失败吗?例如,系统恢复之前写入的日志和恢复到稳定的文件系统状态。
exFAT
exFAT是微软专门设计来处理闪存的,高容量SDXC卡都采用了exFAT,虽然并没有严格要求使用。所有现有Windows版本(从Vista SP1或XP SP2起)都支持exFAT,高达64ZB,文件高达16EB。与FAT32不同,其簇可以增加到32MB,访问控制通过ACL管理。自由空间位图负责容量分配,提高删除性能。这能够最大程度的提高写入性能,尤其是与NTFS相比,NTFS要求被删除的数据被覆盖。
然而,因为微软的exFAT授权机制,该文件系统并没有像FAT32和NTFS一样受到广泛支持。因此,exFAT还没有广泛应用于消费类电子产品,尽管它就是为此目的而设计(即使XP SP2和Mac OS X 10.6.5都支持exFAT)。Windows Vista和7在很大程度上依赖于NTFS提供的文件权限和其他功能。
HFS+
HFS+也被称为Mac OS Extended, 它能够在所有类型的存储设备上运作,包括光盘。HFS+支持日志,且分袂通常可以安装在Unix和Linux系统中。即使给定内核不支持HFS+,通常可以找到可选软件包,然而,有时候这些只支持读取HFS+格式化的分区。另外还有第三方工具提供Windows对HFS+的支持,例如Paragon Software的HFS for Windows或者Mediafour的MacDrive。
HFS+具有512字节扇区(被分组成分配块),最多支持255个字符的文件名,最大文件大小为8EB。HFS+通过不断尝试寻找足够容纳一个被写入文件的自由空间来管理文件碎片。文件大小的增加可能会导致文件需要完全被重写。最后,自10.3版本的Mac OS X开始支持动态碎片整理,当文件被分为8个以上部分且其他活动/访问先决条件不适用时就会采取行动,HFS+支持访问控制、压缩和加密。