主控在固态硬盘当中有着举足轻重的地位,而微软发起的一项名为Project Denail的项目有可能大幅改变未来固态硬盘格局。Project Denail旨在为超大规模数据中心提供更高效率的闪存存储技术,东芝及其他主要闪存供应商当前都加入了Project Denail计划。

SAS接口、AHCI协议都是机械硬盘时代的产物,而基于PCIe接口的NVMe协议从一开始就是为闪存存储而生,Project Denail是基于NVMe协议的参考体系结构,通过将部分固态硬盘主控完成的工作转交给主机或独立加速芯片完成,提升固态硬盘工作效率,并降低企业级固态硬盘研发成本,快速适配最新的NAND闪存技术。

当代固态硬盘为了满足为机械硬盘设计的传统体系与闪存自身特性需求,设计有名为FTL的闪存转换层,该逻辑层负责沟通逻辑地址LBA与闪存物理地址PBA,并在此基础上实现垃圾回收、坏块管理、磨损均衡等特性,是当前固态硬盘主控的核心功能之一。

随着闪存技术的发展,尤其是3D闪存与QLC闪存的问世,闪存存储密度增长的同时,最小擦除单位Block体积也不断增长,导致数据写入与垃圾回收之间的矛盾日益凸显。

尤其是在数据中心应用当中,固态硬盘需同时为多个虚拟机提供数据服务,为充分利用固态硬盘的并行性,主控会尽可能收集足够多的写入来一次性一个Block中的每一个Page:大约为4MB左右。

这样做可以尽可能将随机写入转换为对闪存的顺序写入,以提升固态硬盘性能(在拥有7% OP预留空间的固态硬盘上,顺序写入速度通常比随机写入负载快4-5倍)。

不过数据中心应用中,很少有单个租户能够在下一租户发出请求前一次性写入4MB以上的数据,所以固态硬盘凑足的一次性写入数据集合中会包含多个虚拟机发出的写入请求。这些混杂了多个来源的数据流在删除频率上也会表现出较大的差异性,从而给后续固态硬盘主控进行垃圾回收作业带来困难。

微软提出的Project Denail将完整的FTL闪存转换层分解为两部分,负责合并写入流的日志管理单元转交给电脑主机端,负责存储媒介管理(坏块管理、数据纠错、数据刷新等)的单元继续留给固态硬盘主控执行。

这样分解之后,固态硬盘主控的负担将大幅降低,主机端也将获得数据组织的更大自由度,实现高效的管理,这部分功能对于不同固态硬盘制造商而言是具有共通性的,可以交给统一的软件来完成。而闪存管理的部分继续交由固态硬盘主控完成,这部分功能与底层存储媒介密切相关,针对不同闪存制造商会有不同的ECC纠错技术,属于需要个性化定制的范畴。

微软的Project Denail计划类似于当年的DriectX对于3D API接口的统一,不同设备都遵循共同的功能接口,具体实现则由设备固件完成。随着东芝率先推出96层3D堆叠与QLC技术,闪存的存储容量将继续飞速增长,加速取代过去机械硬盘在企业级数据中心当中的作用。而在家用市场当中,不断完善的标准也将有助于我们用上更大、更快、更便宜的固态硬盘。

相关文章