网上经常能看到一些有关4K对齐的咨询帖,询问自己手里的SSD是否对齐。要对4K对齐有所了解,就得先了解下面的这些知识。
什么是簇?
最开始从WIN98一直到WIN XP,都是机械硬盘的天复合肥和复混肥的区分下,容量有限。而且绝大多数机械硬盘默认扇区都是512K大小。分区的时候有一个东西叫做物理存储单元,俗称簇。分区的时候可以指定这个大小。这个簇不是硬盘的物理结构,而是使用方法。
这个簇很有意思,一个簇只能容纳一个文件,但是一个簇可以包含多个扇区,当时流行小簇,因为小簇不“浪费”磁盘。
打个比方,比如我的簇是10K,文件是25K,我需要保存这个文件需要占用3个簇;那如果簇是5K,那么我想保存该数据,需要使用5个磁盘扇区单元。显得磁盘利用率更高。
那这么看来,是不是簇越小越好呢?不是!因为一个簇是一个磁盘最小的管理存储单元,如果一个文件读了4个单元和400个单元,你觉得哪个更快呢?
而且目前大容量硬盘已经不在乎那几K了,簇这个东西没必要太小。
什么是4K?
绝大多数的机械硬盘默认是512字节的扇区,采用的是DRAM作为存储介质;
而机械硬盘,无论是SLC颗粒还是MLC颗粒,都属于NAND闪存存储单元。
这种硬盘的扇区是4K,这就是4K的由来!
由于win98和win xp大多数采用FAT格式。
这种格式具备32位、16位磁盘格式相互兼容所以被大多数朋友采纳作为系统盘。
但是到了Vista时代,已经不需要16位的DOS了,所以全部采用了纯32位的NTFS格式,NTFS格式也升级到了第五代。
其实XP时代就有NTFS,虽然这种格式性能更高更安全,但是兼容性差,所以一直不作为系统分区,一般作为存储分区。
NTFS格式有一个特性,那就是起始簇的位置!
NTFS分区起始位置不是从0开始,而是从LBA63开始,就是第六十三个扇区开始开始存储。
而且NFTS默认认为扇区是512字节大小,而不是智能调节到第六十三个扇区。
这样问题就来了,63个扇区×512字节=31.5K,也就是说,磁盘的前31.5K是不能被使用的。
使用机械硬盘就算了,使用固态硬盘,存储第一个字,也需要占用31.5K-35.5K之间的磁盘扇区。
最过分的是这样子排列下去,恰好每到一个扇区的4K位置,就会造成一个数据存2个扇区的情况。
而且这样排列,只要到了那个能被4K整除的位置就100%占用了2个扇区,哪怕只写一个字。
固态硬盘无论是MLC还是SLC,都是有写入读取次数的,这样极大的损伤了性能和寿命。
而且,增加了读取次数。
这个时候无论簇是多大,都会造成性能和空间的浪费。
所以这个问题就叫做4K!
什么是4K对齐?
硬盘分区的时候有一个东西叫做物理存储单元,俗称簇。分区的时候可以指定这个大小。这个簇不是硬盘的物理结构,而是使用方法。随着时代发展,硬盘容量不断扩展,使得之前定义的每个扇区512字节不再是那么的合理,于是将每个扇区512字节改为每个扇区4096 个字节,也就是现在常说的“4K扇区”。随着NTFS成为了标准的硬盘文件系统,其文件系统的默认分配单元大小(簇)也是4096字节,为了使簇与扇区相对应,即使物理硬盘分区与计算机使用的逻辑分区对齐,保证硬盘读写效率,所以,有了“4K对齐”的概念。
传统硬盘的每个扇区固定是512字节,新标准的"4K扇区"的硬盘,硬盘厂商为了保证与操作系统兼容性,也将扇区模拟成512B扇区,这时就会有4K扇区和4K簇不对齐的情况发生。所以就要用“4K对齐"的方式,将硬盘模拟扇区对齐成“4k扇区”。“4K对齐”就是将硬盘扇区对齐到8的整数倍个模拟扇区,即512B*8=4096B,4096字节即是4K。所以只要是8的倍数都是4K对齐了。
4K对齐选扇区数多少适合? (DiskGenius扇区数是选8、2048还是4096?)
到了Vista时代,NTFS规范已经到了第六代,NTFS格式的起始簇的扇区位置是2M,就是2048K位置,这样无疑是不会造成浪费的,因为可以被4K整除。
到了win7的时代,NTFS格式起始簇的扇区位置是1M,就是1024K的位置,无疑也是可以被4K整除的,不会浪费。这个情况叫做4K对齐。
4K=4096字节。一般扇区大小是512字节,4096/512=8扇区。所以如果要求4K对齐的话,选8个扇区就可以了。当然,任何8的整数倍的扇区个数都满足4K对齐的要求。(如果选8,在ParagonAlignmentTool中显示是不对齐的,但在AS SSD Benchmark中是显示对齐。)
按Windows7的2048扇区对齐足可以应付当前99.99%的硬盘。
网上还有一种说法是64位4096扇区,32位2048扇区。但我觉得不论是64位还是32位,一律用2048扇区会更好一些。因为win7时代,NTFS格式起始簇的扇区位置是1M,就是1024K的位置,2048扇区,可以被4K整除的,不会浪费。另外按微软的说法,只要1024的倍数都可以,所以一般选2048扇区即可。
目前流行的硬盘分区专业,如DiskGenius,分区助手,它们默认的4K分区都是2048扇区,也就是1024K。
下面我就以宇瞻AS710 SSD硬盘为例,展示一下真正的4K扇区对齐。
为了做测试方便,我这里选用的是宇瞻AS710 3.0 SSD移动硬盘,它是一款很特别的产品,既可以通过SATA3.0(6Gbps)接口当SSD硬盘用,又可以通过USB接口当USB3.0移动硬盘用。
产品使用的USB3.0接口为USB 3.0 Micro-B型接口,USB的主控为祥硕Asmedia asm1053。
这里为测试方便,直接使用USB接口。
DiskGenius软件可以选择8扇区。
在默认设置下,DiskGenius无法实现4K扇区对齐(注意此4K是指扇区8),最小只能实现32K对齐,即起始扇区64。
DiskGenius默认建立分区时,占用1+62个扇区,即主引导扇区+保留扇区。4K对齐,就要将分区起始位置建立在默认的保留扇区里。
使用DiskGenius删除所有分区,然后建立新分区
需要备份推荐阅读:用DiskGenius备份硬盘分区表
对齐扇区数:8,详细参数:起始柱面0,磁头0,扇区9, 芯片无忧:4K对齐;AS SSD:4K-BAD
对齐扇区数:16,详细参数:起始柱面0,磁头0,扇区17, 芯片无忧:8K对齐;AS SSD:8K-BAD
对齐扇区数:32,详细参数:起始柱面0,磁头0,扇区33, 芯片无忧:16K对齐;AS SSD:16K-BAD
对齐扇区数:64,详细参数:起始柱面0,磁头1,扇区2, 芯片无忧:32K对齐;AS SSD:32K-BAD
对齐扇区数:128,详细参数:起始柱面0,磁头2,扇区3, 芯片无忧:64K对齐;AS SSD:64K-BAD
4K扇区对齐完成,使用AS SSD Benchmark软件检查,可以看到4k对齐为4K-OK。(提示,不要追求这个数值为4K,虽然好像看起来更加直观,4K对齐,刚好显示4K-OK,但这并没有什么用。尤其是对于win7,win8这类操作系统,就更没有什么意义,更不会增加SSD的性能。所以最好还是按默认1024K-OK为最佳。)
芯片无忧软件测出的,也是4KB扇区对齐。也就是说4K已对齐。
为什么说没有什么卵用呢?请下面的实测数据。
不论是4K-OK,32K-OK,还是1024K-OK,它们的整体性能得分,基本上是一样的,因时间问题,只能先做AS SSD Benchmark这款软件的测试,还好它更加直观一些。稍后再试试其它软件的。
另外网上多数推荐1024K也就是2048扇区对齐,相信还是有它的道理的。