SSD是一个复杂而精密的设备,企业级SSD尤为如此。从性能到功能再到可靠性,数据中心对企业级SSD都有非常严苛的要求。例如,一块企业级SSD就算是发生严重故障,也需要把log记录清楚,并且能够从故障中恢复。打造一款企业级SSD并非易事,仍有很多课题需要深入研究。
从需求和交付的角度讲。客户总想尽快拿到新的SSD产品,但是一款稳定的产品需要硬件选型、技术调研、代码开发以及全方位和多维度的测试验证,最终才能发布交付,要想做一款稳定的产品,这一过程必定是漫长的。
从产品研发角度讲。理想状态下,Firmware与控制器、NAND、DRAM等硬件组件紧密耦合,以便让硬件的性能潜力可以被充分挖掘。但是,SSD的控制器技术也在不断迭代,不同厂商的控制器以及同一厂商的不同型号控制器都可能有非常大的区别;同时,闪存处理复杂度越来越高,也为产品研发带来诸多挑战。试想如果现有代码不能得到很好的重用,每设计一款新品都要研发全新的固件,而新的固件又要经过大规模的测试验证,这样研发效率将会非常低下,不能满足产品快速迭代,交付客户使用的需求。
一直以来,Memblaze始终专注于PCIe SSD的设计和研发,历经多年之后,产品逐渐丰富起来,出货量也越来越大。面对快速变化的企业级SSD市场,产品既要更快迭代,同时又要高度稳定可靠,那么一个统一的底层平台实现模块间解耦,实现尽可能多的代码重用以及并行推动软硬件设计和研发是必然趋势,这里提到的底层平台就是MUFP。
MUFP的全称是Memblaze Unified Firmware Platform,即自主统一的Firmware平台。与其说是一种技术,MUFP更像是一种企业级SSD的研发策略。
传统产品架构 vs MUFP支持下的产品架构
MUFP的重要使命就是提高Firmware代码的重用性和可测试性。简单说,就是在Admin、FTL、GC、LOG等Firmware原有模块和硬件之间增加一层公共服务层,它可以将控制器和NAND抽象并为上层Firmware提供统一的接口。如此一来,上层Firmware很多代码可以在新品设计过程中得到重用,并且产品研发和测试的很多环节可以并行起来。
在MUFP的加持下,未来一款产品在需求确认之后,Firmware和硬件的研发都可以并行起来,并且一些新的功能都可以先行设计、研发和验证。由于Firmware面向的是公共服务层,所以很多功能并不需要因硬件变化而变化,它们已经是非常成熟的代码,久经市场考验,这部分代码的重用不仅带来研发效率的提升,而且还有利于保障产品的稳定性。
MUFP的愿景是好的,但是实现上并非易事。所谓每个控制器都有它的脾气,面对多款拥有不同的寄存器配置,不同的数据路径的控制器,通过一个平台管起来并非易事,何况还要追求更高的性能和QoS。好在Memblaze的PBlaze系列企业级NVMe SSD已经多次迭代,大量的实践经验被积累下来,MUFP就是这些经验的一个很好展现。PBlaze6 6530系列NVMe SSD就是继PBlaze6 6920系列之后,基于MUFP研发的新的成果,从一系列测试和指标来看,MUFP并没有成为其瓶颈。放眼未来,Memblaze多款研发中的产品也都将在MUFP的加持下驶在快车道上。