分享

什么是4K对齐?原理剖析!

 amberain 2016-03-31


首先先来了解一下什么是叫做“4K对齐”。其实“4K对齐”相关联的是一个叫做“高级格式化”的分区技术。“高级格式化”是国际硬盘设备与材料协会为新型数据结构格式所采用的名称。

这是主要鉴于随着时代发展,硬盘容量不断扩展,使得之前定义的每个扇区512字节不再是那么的合理,于是将每个扇区512字节改为每个扇区4096 个字节,也就是现在常说的“4K扇区”。随着NTFS成为了标准的硬盘文件系统,其文件系统的默认分配单元大小(簇)也是4096字节,为了使簇与扇区相对应,即使物理硬盘分区与计算机使用的逻辑分区对齐,保证硬盘读写效率,所以就有了“4K对齐”的概念。

传统硬盘的每个扇区固定是512字节,新标准的'4K扇区'的硬盘,硬盘厂商为了保证与操作系统兼容性,也将扇区模拟成512B扇区,这时就会有4K扇区和4K簇不对齐的情况发生。所以就要用“4K对齐'的方式,将硬盘模拟扇区对齐成“4k扇区”。“4K对齐”就是将硬盘扇区对齐到88的倍数个模拟扇区的整数倍,即512B*8=4096B4096字节即是4K。用win7系统对硬盘分区格式化时,默认是将硬盘扇区对齐到2048个扇区的整数倍,即512B*2048=1048576B=1024KB,即1M对齐,并满足4K对齐,该值只要是4096B的倍数就是4K对齐。

其实每扇区512个字节的定义起源于电脑发展的初期,因此在那时将硬盘容量切分成每块512个字节是平衡与文件管理和存储之间的。随着硬盘容量已经攀升,1TB甚至更高容量硬盘的普及,再用老标准去管理现超大容量的硬盘不但显得繁琐,而且降低效率,因此提升单个扇区的容量就势在必行了。



在了解了“4K扇区”这个定义后,就很容易理解什么是叫做“4K 对齐”了。所谓“4K对齐”就是符合“4K扇区”定义格式化过的硬盘,并且按照“4K 扇区”的规则写入数据。那么如果有“4K 对齐”一说必然就有“4K 对不齐”。为什么会有“4K”对不齐呢?这是因为在NTFS6.x 以前的规范中,数据的写入点正好会介于在两个4K 扇区的之间,也就是说即使是写入最小量的数据,也会使用到两个4K扇区,显然这样对写入速度和读取速度都会造成很大的影响。

例如:现时windows中常见使用的NTFS文件系统,默认定义为4096字节大小为一个簇,但NTFS分区因为其引导区占用了一个磁道共63个扇区,真正的文件系统在63号扇区之后,那么依照计算得出前63个扇区大小为:

  • 512Bx63=32256B

并按照默认簇大小得出63扇区为多少个簇:

  • 32256B÷4096B=7.875

即为每个簇都会跨越两个物理单元,占据第一个单元的组后512字节和第二个单元的前3584字节。这样文件系统在读写某个簇的时候,硬盘需要读写两个物理单元,这会降低读写速度,并缩短使用寿命。现时一般使用一些硬盘分区软件在主引导记录的63个扇区后作牺牲地空出数个扇区以对齐文件系统的4096B每簇,以避免过多的读写操作,提升读写速度、延长使用寿命。



为此对于“4K不对齐”的情况来说,一定要修改成“4K 对齐”才行,否则对于固态硬盘来说,不但会极大的降低数据写入和读取速度,还会造成固态硬盘不必要的写入次数。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多