beat365体育(中国)官网ViP平台-Unified Platform

新闻中心

NVMe存储记录新玩法:beat365体育官网平台文件系统SSD

发布时间:2024-01-23 文章来源:beat365体育官网平台

1.jpg


在产品开发过程中,有大容量、高性能存储需求时,SSD会是第一选择。


同时,为了更方便的管理数据,一般不会裸盘使用,而是使用文件系统(File System)对SSD进行挂载使用。


但是对于一些嵌入式、定制化产品而言,主机本身的CPU性能较弱,内存资源设计有限,运行文件系统会带来不小的系统开销,降低了系统效率。


针对这一痛点,beat365体育官网平台设计了一种文件系统SSD(FS SSD),通过STAR2000主控强大的计算加速能力,将文件系统下沉到SSD上,主机通过定制化的文件系统NVMe命令集(NVM FS Command Set)与FS SSD进行文件交互,以减轻主机的文件系统处理压力。


本文将主机+标准SSD的架构称为传统架构,主机+FS SSD的开发架构称为 FS SSD架构,在后文对两个架构进行对比。



01

传统架构与FS SSD架构


1.1.传统架构


以最简嵌入式主机+SSD架构为例,应用程序若要将文件落盘,那么至少需要在应用层借助文件系统实现fopen/fwrite等操作,后由文件系统与NVMe驱动交互,将应用写入的文件数据按照文件系统的写单元进行拆分,再以LBA为单位向NVMe驱动下发直至数据写完。


1.png


写文件时,文件系统将数据拆分,每次以write unit(数据块)大小将数据以LBA方式落盘,若写入数据较大,那么write unit拆分次数也会变多,对应的,文件系统会向NVMe驱动发起多笔写请求。如写入1Gib,write unit=1Mib,那么此次文件写操作至少向NVMe驱动发起了1024笔写请求,加上每次操作中的块设备/OS调度开销,性能自然就低了。


1.2.beat365体育官网平台FS SSD架构


凭借STAR2000主控强劲的存内计算性能,beat365体育官网平台独有的FS SSD技术(StarFSSSD)将文件系统直接嵌入到SSD固件中,通过自定义FS Command Set,制定了丰富的文件系统接口,包括但不限于fopen/fwrite/fread,实现了与传统架构一样的文件管理功能。


StarFSSSD框图如下:

2.png


对比与传统架构,FS SSD架构里,数据流被简化到极致,还是以写文件为例,程序调用写接口,仅需要向NVMe驱动发起一笔命令请求,即可完成文件写入操作。



02

性能对比


为了更直观的对比两种架构,这里提供了一组实现对比。


使用STAR2000E 7.68T作为测试盘,分别用标准盘格式化为文件系统和FS SSD通过FS Command进行相同的文件进行对比测试。


测试机配置信息如下,盘的link状态为GEN4x4。


3.png
4.png


传统架构性能


裸盘格式化为文件系统,cluster大小2M, 挂载到系统后单线程1Gib文件写入测试,整体耗时1.14s。


5.png


StarFSSSD架构性能


采用StarFSSSD技术后,使用FS Command写入1Gib文件,整体耗时401ms。


6.png


结果符合设计预期,StarFSSSD带来了不小的性能提升。


03

应用场景


3.1.低性能嵌入式产品fs加速


在嵌入式产品系统总体性能不强,又有海量文件存储需求时,可以选择使用StarFSSSD来承担文件系统处理压力。这样,在得到文件存储性能提升的同时,不仅提升了主机应用运行效率,还极大程度的节省了系统内存资源,减少成本开销。


3.2.简化定制化产品的开发难度


对于类似以FPGA为核心的定制化设备,有高速文件存储功能需求时,使用StarFSSSD,可以节省文件系统处理模块,降低FPGA端的开发难度。


3.3.降低RAID设计复杂度


FS SSD在实现RAID上也有传统架构无法比例的优势。以实现RAID1为例,要将文件落盘,那么至少需要实现文件系统及RAID两个模块,才能将文件落盘。


7.png


但是对于FS SSD而言,数据流变得非常简单,仅需要通过FS Command,将文件直接落入FS SSD即可。


8.png


这样的数据流优势,在其他RAID组合上也同样生效。