我们知道机械硬盘的读写操作一直是以扇区为单位,以前每个扇区的尺寸都是512字节,直到近年来,大容量的机械硬盘的扇区尺寸提高至4096字节(我们所说的4KB),而电脑文件系统(FAT、NTFS等),一直都习惯以512字节的扇区单位来操作硬盘。
而SSD的读写操作不同机械硬盘,SSD读写的最小单位叫“页”(常见尺寸为4KB,实际视具体颗粒而定),闪存颗粒不允许像机械硬盘一样覆盖写入。因此在有数据的地方要写入新数据,就需要先进行擦除操作,而擦除的最小单位是块(每个块都由很多个页组成)。
传统的分区偏移尺寸一直是从63扇区(63X512B=31.5KB)开始,那么就会造成用户的第一个数据的前4KB会存放在系统"逻辑扇区"的31.5KB~35.5KB间,这样持续下去 会造成后面所有的数据都会卡在2个物理扇区(page)容量之间,我们知道扇区(page)为磁盘写入的最小单位,如果卡在2个扇区(page)之间,每次的写入操作在SSD上就都变成了读-擦-写操作。造成性能的下降。
简单来说写入一个4KB的数据,实际运行时会有两次写入操作,4K对齐就让是操作系统的最小分配单元和闪存的一个页对应起来,这样操作系统写入一个4KB的数据,一次就能完成。