【技术实现步骤摘要】
基于ZNS SSD的文件系统控制方法、装置及设备
[0001]本申请涉及存储
,特别是涉及一种基于ZNS SSD的文件系统控制方法、装置、设备及计算机可读存储介质。
技术介绍
[0002]分区命名空间固态硬盘(Zoned Name Space Solid State Drive,ZNS SSD)是从开放通道固态硬盘(Open Channel Solid State Drive,开放通道SSD)基础上发展而来,将闪存转换层(Flash Translation Layer,FTL)从SSD内部迁移到上层,方便用户可以根据不同的需要,灵活定制闪存转换层。
[0003]然而,当前基于ZNS SSD搭建文件系统,需要用户使用支持分区块驱动(Zone Block Drive,ZBD)的内核版本,但是成熟的ZBD特性需要较高的内核版本或专门定制的内核版本,对于某些用户并不适用(特性用户对内核版本升级敏感排斥)。
技术实现思路
[0004]本申请的目的是提供一种基于ZNS SSD的文件系统控制方法、装置、设备及计算机可读存储介质,实现基于ZNS SSD的用户态文件系统,避免内核适配开发工作,弥补不支持升级内核版本的用户灵活定制文件系统的需求。
[0005]为解决上述技术问题,本申请提供一种基于ZNS SSD的文件系统控制方法,包括:当自预设的用户空间文件系统接口接收到创建基于ZNS SSD的文件系统的创建命令时,调用预设的用于实现ZNS SSD的闪存转换层以及ZNS SSD分区存储管理功能的用户 ...
【技术保护点】
【技术特征摘要】
1.一种基于ZNS SSD的文件系统控制方法,其特征在于,包括:预先部署基于用户空间文件系统接口调用的用于实现目标ZNS SSD的闪存转换层以及对所述目标ZNS SSD的分区存储管理功能的用户态管理模块;当自所述用户空间文件系统接口接收到创建基于ZNS SSD的文件系统的创建命令时,调用所述用户态管理模块,以根据所述创建命令加载目标文件系统的元数据、并确定所述目标文件系统与所述目标ZNS SSD的挂载点,将所述目标ZNS SSD挂载于所述目标文件系统以完成所述创建命令;当自所述用户空间文件系统接口接收到对所述目标文件系统的系统调用命令时,调用所述用户态管理模块以根据所述目标文件系统的元数据执行所述系统调用命令。2.根据权利要求1所述的基于ZNS SSD的文件系统控制方法,其特征在于,所述预先部署基于用户空间文件系统接口调用的用于实现目标ZNS SSD的闪存转换层以及对所述目标ZNS SSD的分区存储管理功能的用户态管理模块,具体包括:检验所述目标ZNS SSD的可用状态、用于存储元数据的数据库的可用状态、文件系统挂载目录的可用状态以及所述文件系统挂载目录所包含的文件状态,并对所述目标ZNS SSD进行信息校验;若所述目标ZNS SSD可用、所述数据库可用、所述文件系统挂载目录可用且所述文件系统挂载目录下包含文件信息,且所述目标ZNS SSD通过信息校验,则启动垃圾回收线程、分区监控线程和文件服务进程;其中,所述垃圾回收线程用于执行对所述目标ZNS SSD的分区回收任务;所述分区监控线程用于执行对所述目标ZNS SSD的分区标识更新任务;所述文件服务进程用于执行所述用户空间文件系统接口对外提供的ZNS SSD文件系统的业务逻辑。3.根据权利要求2所述的基于ZNS SSD的文件系统控制方法,其特征在于,对所述目标ZNS SSD进行信息校验,具体包括:自所述数据库查询所述目标ZNS SSD的ZNS盘信息;若无法获取所述ZNS盘信息,则基于所述目标ZNS SSD构造所述ZNS盘信息;若获取到所述ZNS盘信息,则对所述ZNS盘信息进行信息校验;若所述ZNS盘信息通过信息校验,则确认所述目标ZNS SSD通过信息校验;若所述ZNS盘信息未通过信息校验或所述ZNS盘信息构造失败,则确认所述目标ZNS SSD未通过信息校验。4.根据权利要求3所述的基于ZNS SSD的文件系统控制方法,其特征在于,所述基于所述目标ZNS SSD构造所述ZNS盘信息,具体包括:根据预设配置参数中的预设ZNS盘信息,对所述目标ZNS SSD下发识别指令获取所述目标ZNS SSD的ZNS盘序列号,以构造ZNS盘序列号数据;根据所述预设ZNS盘信息,对所述目标ZNS SSD下发报告分区指令获取所述目标ZNS SSD的ZNS盘分区信息,以构造分区标识数据;以所述ZNS盘序列号数据和所述分区标识数据为所述ZNS盘信息。5.根据权利要求3所述的基于ZNS SSD的文件系统控制方法,其特征在于,对所述ZNS盘信息进行信息校验,具体包括:根据预设配置参数中的预设ZNS盘信息,对所述目标ZNS SSD下发识别指令获取所述目
标ZNS SSD的ZNS盘序列号;根据所述预设ZNS盘信息,对所述目标ZNS SSD下发报告分区指令获取所述目标ZNS SSD的ZNS盘分区信息;若所述ZNS盘信息中的ZNS盘序列号数据与所述ZNS盘序列号一致,且所述ZNS盘信息中的分区标识数据与所述ZNS盘分区信息一致,则确认所述ZNS盘信息通过信息校验;若所述ZNS盘信息中的ZNS盘序列号数据与所述ZNS盘序列号不一致,和/或所述ZNS盘信息中的分区标识数据与所述ZNS盘分区信息不一致,则确认所述ZNS盘信息未通过信息校验。6.根据权利要求2所述的基于ZNS SSD的文件系统控制方法,其特征在于,所述垃圾回收线程执行对所述目标ZNS SSD的分区回收任务,具体包括:每间隔第一指定时间段,根据所述目标ZNS SSD中ZNS盘的可使用数据量以及所述目标ZNS SSD中的可用分区数判断是否需要回收分区;若需要回收分区,则根据所述目标ZNS SSD的分区中无效逻辑区块地址的信息以及各无效分区中逻辑区块地址的数量选定待回收分区;执行对所述待回收分区的有效数据的数据迁移操作后,对所述待回收分区进行初始化以及状态更新。7.根据权利要求2所述的基于ZNS SSD的文件系统控制方法,其特征在于,所述分区监控线程执行对所述目标ZNS SSD的分区标识更新任务,具体包括:每间隔第二指定时间段,对所述目标ZNS SSD下发报告分区指令以获取所述目标ZNS SSD的最新分区状态,并根据所述最新分区状态更新所述数据库中的分区标识数据;对所述目标ZNS SSD下发获取日志命令,以获取所述目标ZNS SSD的硬盘日志中的ZNS盘信息,并根据所述ZNS盘信息更新所述数据库中的所述分区标识数据。8.根据权利要求1所述的基于ZNS SSD的文件系统控制方法,其特征在于,所述目标文件系统的元数据具体包括:所述目标文件系统的目录信息,所述目标文件系统的文件信息,所述目标文件系统的目录项信息,所述目标文件系统中文件与所述目标ZNS SSD中ZNS盘的逻辑区块地址的对应关系,分区逻辑区块地址与文件的对应关系,所述目标ZNS SSD的ZNS盘信息,所述目标ZNS SSD的分区信息,所述目标ZNS SSD的分区中无效逻辑区块地址的信息,所述目标ZNS SSD中用于垃圾回收的预留分区的信息,所述目标ZNS SSD中可用分区的信息。9.根据权利要求1所述的基于ZNS SSD的文件系统控制方法,其特征在于,根据所述创建命令加载目标文件系统的元数据,具体为:调用非关系型数据库以根据所述创建命令加载所述文件系统元数据。10.根据权利要求9所述的基于ZNS SSD的文件系统控制方法,其特征在于,所述非关系型数据库具体为远程字典服务数据库。11.根据权利要求1所述的基于ZNS SSD的文件系统控制方法,其特征在于,所述调用所述用户态管理模块根据所述目标文件系统的元数据执行所述系统调用命令,具体包...
【专利技术属性】
技术研发人员:齐武波,刘汉龙,赵阳,许春,赵伟,
申请(专利权)人:苏州浪潮智能科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。