FTL和磨损均衡

FTL和磨损均衡

Content #

让 SSD 硬盘各个块的擦除次数,均匀分摊到各个块上。这个策略,就叫作磨损均衡(Wear-Leveling)。实现这个技术的核心办法,就是添加一个间接层,即 FTL 闪存转换层。

我们通过一个页表映射虚拟内存页和物理页,在 FTL 里面,存放了逻辑块地址(Logical Block Address,简称 LBA)到物理块地址(Physical Block Address,简称 PBA)的映射。

操作系统访问的硬盘地址,其实都是逻辑地址。只有通过 FTL 转换之后,才会变成实际的物理地址,找到对应的块进行访问。操作系统本身,不需要去考虑块的磨损程度,只要和操作机械硬盘一样来读写数据就好了。

操作系统所有对于 SSD 硬盘的读写请求,都要经过 FTL。FTL 里面又有逻辑块对应的物理块,所以 FTL 能够记录下来,每个物理块被擦写的次数。如果一个物理块被擦写的次数多了,FTL 就可以将这个物理块,挪到一个擦写次数少的物理块上。但是,逻辑块不用变,操作系统也不需要知道这个变化。

Viewpoints #

From #

47 | SSD硬盘(下):如何完成性能优化的KPI?