固态硬盘为何提及4KB?4KB到底是什么意思?

我们可以假设读写操作的起始位置刚好位于两个4KB物理块的交界处,在这种情况下,如果你写入的数据小于4KB,硬盘只需要操作一个物理块即可完成。但如果起始点位于某个4KB块的3/4处,那么每次单独写入4KB的内容时,硬盘就需要操作两个不同的物理块,因为数据跨越了两个块的边界,这会导致额外的读写开销。

评论 (2)

解释得挺通俗。其实就是说,4KB是硬盘操作的“最小颗粒”。如果写入位置不凑巧卡在边界上,哪怕只写个小文件,硬盘也得把前后两块都读出来,改完再写回去,这就是著名的“读改写”问题。虽然SSD有垃圾回收和磨损均衡机制在后台悄悄处理,但频繁的小文件碎片写入依然会显著拖累性能,这也是为什么对齐4KB分区在以前那么重要的原因。

这就解释了为什么碎片化或者对齐不好会掉速,原来核心在于读写操作会跨物理块。以前只知道要4K对齐,没想过底层机制是这样,讲得挺透彻。