LBA(Logical Block Address):数据存储装置中用来表示数据所在位置的信息,最常用于对硬盘的数据位置表示。LBA可以指代某个数据区块的地址,可以理解为我们使用的快递地址,xxx省xxx市xxx区xxx路xxx号。
PBA(Physics Block Address):数据存储装置中用来表示数据实际存放的物理地址,可以类似理解为物理地址的经纬度。
在HDD上,对HDD上数据的写可以直接进行覆盖写,这样LBA和PBA存在一对一的映射关系。
在SSD上,因为SSD使用的存储介质NAND是不能够支持覆盖写的,必须擦除后才能够写,同时读和写是以页为单位,但是擦除是以块(多个页组成)为单位,所以SSD上的写是追加写,当需要覆盖原始数据写入新的数据的时候,SSD中的控制单元会将新的数据写入到一块已经擦除的空白区域中,然后更新LBA与PBA的映射关系,将LBA指向新写入的PBA,这样原始的的PBA就变成了无效数据,原始的PBA位置会通过垃圾回收机制进行擦除。由于SSD的这种特性,造成了SSD上的LBA和PBA不再是一对一的映射关系,而是出于不断变化的关系,因此需要额外的进行转换工作,这部分需要借助FTL(Flash Translation Layer)来实现,因此,FTL的转换速率也影响着SSD的性能。
SSD的存储单元的擦写次数是有限的。
一个LBA指代的区域大小一般是512B或者4096B。
SSD的页大小一般是4K或者8K,一个块一般是128至256个页。