硬盘行业实际上早在十多年前就开始计划4KB扇区技术。在硬盘容量以MB计的年代,每扇区512byte显得非常合适。但随着技术的进步,硬盘容量的增大,依旧保持512byte的扇区尺寸已经越来越不合时宜。具体来看,随着存储密度(Areal Density)的增大,磁头读取磁盘时的信噪比(SNR)会出现明显的下降,也就是说读取时会更容易出现错误。因此必须加入ECC校验码来保证数据可靠性,但ECC数据实际上消耗了磁盘上可用的存储空间,有时甚至可能把存储密度上升带来的多余空间完全抵消掉了。
更关键的问题在于,ECC校验实际上在更大数据量的扇区尺寸下效率更高。比如,512byte的一个扇区需要40byte的ECC校验区,而4KB扇区只需要100byte,直接节省了40x8-100=220byte的存储空间。另外,更大的扇区还能让纠错时一次性更改更大量的数据,让“突发纠错”(burst error correction)效率更高。
为什么选用4KB而不是2KB、8KB来替代512byte扇区?这是因为4KB在计算机系统中的特殊地位。在x86架构中,通常情况下内存的分页(Page)容量即为4KB,而在磁盘文件系统中,包括NTFS、EXT3和HFS+格式的簇(cluster)容量也同样是4KB。这样一来,用4KB的磁盘扇区中读取的数据可以正好装满一个内存页,也映射着磁盘分区中的一个簇,自然是最佳选择。
对于消费者来说,4KB扇区技术的最大裨益就是更大的格式化容量。西部数据称,“先进格式化”可以让磁盘格式化效率(格式化后容量)提升7%到11%,同时ECC校验效率提升50%,整体容错能力提升两个数量级。因此,新技术还会让磁盘的可靠性明显提升。
不过,为了保证512byte扇区到4KB扇区的平稳过渡,目前西数使用了一种模拟技术,将一个4KB的逻辑扇区在固件中模拟为8个512byte的逻辑扇区,保证操作系统兼容性。但这样依然存在问题,即扇区和簇的“校准”。
如果文件系统的4KB簇正好对应了一个4KB扇区,则一切正常。但如果簇对应的8个512byte逻辑扇区横跨在两个4KB物理扇区中,此时读写一个簇就需要操作两个扇区,带来明显的转换延迟。根据硬盘行业组织IEDMA(国际磁盘驱动器设备与材料协会)的测试,这种情况尤其会严重影响磁盘的随机写入性能。