长期以来,机械硬盘在储存数据时,一直都是以 512 byte 大小的扇区(Sector)为单位分割进行读写。随着硬盘容量的不断提升,这种古老的分配标准已经越来越不合时宜。因此,硬盘行业决定将扇区容量扩大到 4K byte,该技术被称为“先进格式”(Advanced Format)。
在传统格式中,每个扇区大小为 512 byte,在扇区的数据之间,需要间隔一个同步/分隔(Sync/DAM)区域和一个ECC 错误校验区域 (40 byte)。而在“先进格式化”模式下,每 4K byte 为一个扇区,相当于把之前的8个扇区合而为一,只需要一个同步/分隔区域和一个容量稍大的 ECC 校验区 (100 byte)。下图是传统格式和先进格式扇区的对比,从中可以看到,存储同样的 4K byte 数据,先进格式占用的面积明显更小,能够节省 200 byte 的磁道空间。4K byte 扇区对于磁道的利用率高达 97%,远远高于传统格式的 88%。
先进格式化技术更有效地利用了磁盘盘片上宝贵的存储面积,预计能够将硬盘的可用容量提升7%到11%。以 1TB 硬盘为例,原本分区容量为930GB左右,使用新模式后可能将达到1000GB以上。因此,这种新技术的推出或许还能有一个附加效果,即让很多人对硬盘容量缩水的质疑迎刃而解。
虽然先进格式化技术更有优势,但是现有的操作系统大部分都还不支持 4K byte 扇区格式,为了过渡和兼容,硬盘厂商为新出的 4K byte 扇区硬盘准备了一种 512e (Emulation) 的硬盘固件,利用固件来把传统的对于 512 byte 扇区的逻辑访问转换为对于 4K byte 扇区的物理访问;当然,新硬盘还有另一种固件直接支持 4K byte 扇区的访问,这种硬盘称之为 4Kn (Native);传统格式的硬盘被称之为 512n (Native),原生就是 512 byte 的扇区。
硬盘格式 | 逻辑扇区大小 | 物理扇区大小 |
512e | 512 | 512 |
512n | 512 | 4096 |
4Kn | 4096 | 4096 |
当我们将远大于 4K 的数据块写入 512e 硬盘时,由于一次写入的扇区大小就是 4K,所以写操作的性能会有较大提升。但是如果写入 512e 硬盘的数据块较小(小于 512 byte),操作系统就必需把对应的 4K 扇区读取出来,针对逻辑块对应的数据区域进行修改后再把整个 4K 扇区数据写入硬盘,这会造成比较明显的性能下降。一些传统应用(如数据库系统)的I/O操作最小单位仍小于 4KB,使用原生 512 byte 扇区硬盘可以保证最好的性能,采用 512e 硬盘容易产生性能影响。
vSphere 6.5 对于 512e 先进格式硬盘的支持使用户能够使用最新的大容量硬盘(如 6TB 硬盘),并且提高硬盘空间的利用率,从而帮助用户更好地降低存储成本。