巴书法





摘要:固态硬盘英文缩写SSD(Solid State Drive)是一种以闪存(NAND Flash)为存储介质的存储设备。作为SSD核心技术之一,控制器内部管理算法FTL(Flash Translation Layer)负责地址映射,坏块管理,垃圾回收,磨损均衡等关键功能,管理算法的优劣直接影响SSD的性能和寿命。近年来,随着闪存(NAND Flash)技术的不断发展,FTL的算法也在不断演进,根据映射表的特点,将其划分页(Page)映射算法、块(Block)映射算法和页块混合映射算法。根据逻辑区域划分,可分为分区映射和全区映射,同时冷热数据分类存储也成为FTL的一个重要功能。该文介绍了近年来具有代表性的研究成果,并对于各类算法的优缺点以及在适配3D NAND所遇到的问题进行综述。为进一步设计更加完善的FTL算法提供指南。
关键词:固态存储; 闪存;冷热数据;地址映射; 垃圾回收; 磨损均衡
固态硬盘(SSD)是由控制器和闪存芯片(NAND)组成,利用闪存的区块存储特点进行读写操作,其凭借多项优点,如:响应快、带宽高、功耗低、工作温宽大,抗震性强,轻便等,广泛应用于数据中心,个人电脑,工控机,汽车电子,物联网等设备。随着超过100层3D NAND闪存的量产,SSD的容量变得越来越大,其单GB成本逐年降低,配合高速的SATA/PCIe接口,其性价比日益突出,SSD替代传统机械硬盘的趋势正在加速。
FTL是 SSD控制器的核心控制算法,其主要任务是管理逻辑地址到物理地址的映射,其次它还负责分离冷热数据,垃圾回收和磨损均衡等重要功能。由于闪存的操作方式为页(Page)写入,块(Block)擦除,在未擦除之前不允许覆盖写入,所以当……