基于ZNSSSD的文件系统控制方法、装置及设备制造方法及图纸

技术编号:36167474 阅读:20 留言:0更新日期:2022-12-31 20:17
本申请涉及存储技术领域,具体公开了一种ZNS SSD的文件系统控制方法、装置、设备及计算机可读存储介质,通过预先编写实现ZNS SSD的闪存转换层以及ZNS SSD分区存储管理功能的用户态管理模块,用于调用用户态管理模块的用户空间文件系统接口,则可以自用户空间文件系统接口接收创建基于ZNS SSD的文件系统的创建命令,并调用用户态管理模块完成对目标文件系统的创建;在接收到对目标文件系统的系统调用命令时,调用用户态管理模块根据目标文件系统的元数据执行系统调用命令,无需用户升级到支持分区块驱动的内核版本,即可实现利用ZNS SSD灵活定制客户化的文件系统,缩短开发周期,提高产品交付效率。高产品交付效率。高产品交付效率。

【技术实现步骤摘要】
基于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分区存储管理功能的用户态管理模块,以根据所述创建命令加载目标文件系统的元数据、并确定所述目标文件系统与目标ZNS SSD的挂载点,将所述目标ZNS SSD挂载于所述目标文件系统以完成所述创建命令;当接收到基于所述用户空间文件系统接口的对所述目标文件系统的系统调用命令后,调用所述用户态管理模块根据所述目标文件系统的元数据执行所述系统调用命令。
[0006]可选的,所述目标文件系统的元数据具体包括:所述目标文件系统的目录信息,所述目标文件系统中文件的信息,所述目标文件系统中的文件在所述目标ZNS SSD中对应的逻辑区块地址,所述目标ZNS SSD的分区信息,所述目标ZNS SSD的分区与所述目标ZNS SSD逻辑区块地址的关联关系。
[0007]可选的,根据所述创建命令加载目标文件系统的元数据,具体为:调用非关系型数据库以根据所述创建命令加载所述文件系统元数据。
[0008]可选的,所述非关系型数据库具体为远程字典服务数据库。
[0009]可选的,所述调用所述用户态管理模块根据所述目标文件系统的元数据执行所述系统调用命令,具体包括:根据所述系统调用命令读取目标元数据;根据所述目标元数据检验所述系统调用命令的合法性;
如果所述系统调用命令合法,则执行所述系统调用命令;如果所述系统调用命令不合法,则返回系统调用失败的信息。
[0010]可选的,所述根据所述目标元数据检验所述系统调用命令的合法性,具体包括:根据所述目标元数据判断所述系统调用命令在所述目标ZNS SSD中的目标访问分区的分区状态是否符合执行所述系统调用命令的分区状态;如果符合,则确认所述系统调用合法;如果不符合,则确认所述系统调用不合法。
[0011]可选的,所述根据所述目标元数据判断所述系统调用命令在所述目标ZNS SSD中的目标访问分区的分区状态是否符合执行所述系统调用命令的分区状态,具体包括:解析得到所述系统调用命令要访问的目标文件地址;根据所述目标元数据确定与所述目标文件地址在所述目标ZNS SSD中对应的逻辑区块地址,以及对应的所述目标访问分区;查询得到所述目标访问分区的分区状态;判断所述目标访问分区的分区状态是否符合执行所述系统调用命令的分区状态。
[0012]可选的,当所述系统调用命令为写命令时,所述判断所述目标访问分区的分区状态是否符合执行所述系统调用命令的分区状态,具体包括:判断所述目标访问分区的分区状态是否为不可写状态;如果是,则确定所述目标访问分区的分区状态不符合执行所述系统调用命令的分区状态;如果否,则确定所述目标访问分区的分区状态符合执行所述系统调用命令的分区状态。
[0013]可选的,还包括:判断所述系统调用命令是否包含操作用户数据命令;如果不包含,则返回系统调用成功的信息;如果包含,则进入所述根据所述目标元数据检验所述系统调用命令的合法性的步骤。
[0014]可选的,所述执行所述系统调用命令,具体为:根据所述系统调用命令,对所述目标ZNS SSD的目标访问分区执行所述操作用户数据命令。
[0015]可选的,在执行所述系统调用命令之后,还包括:判断所述系统调用命令是否执行成功;如果是,则返回与所述系统调用命令对应的用户数据以及系统调用成功的信息;如果否,则返回系统调用失败的信息。
[0016]为解决上述技术问题,本申请还提供一种基于ZNS SSD的文件系统控制方法,包括:当接收到创建基于ZNS SSD的文件系统的创建请求时,根据所述创建请求生成基于预设的用户空间文件系统接口调用文件系统服务器预先部署的用户态管理模块的创建命令,以使所述文件系统服务器根据所述创建命令加载目标文件系统的元数据、并确定所述目标文件系统与目标ZNS SSD的挂载点,将所述目标ZNS SSD挂载于所述目标文件系统以
完成所述创建命令;当接收到对所述目标文件系统的用户操作请求后,根据所述用户操作请求生成基于所述用户空间文件系统接口的系统调用命令,以基于所述用户空间文件系统接口调用所述用户态管理模块执行所述系统调用命令;其中,所述用户态管理模块用于实现ZNS SSD的闪存转换层以及ZNS SSD分区存储管理功能。
[0017]为解决上述技术问题,本申请还提供一种基于ZNS SSD的文件系统控制装置,包括:第一创建单元,用当自预设的用户空间文件系统接口接收到创建基于ZNS SSD的文件系统的创建命令时,调用预设的用于实现ZNS SSD的闪存转换层以及ZNS SSD分区存储管理功能的用户态管理模块,以根据所述创建命令加载目标文件系统的元数据、并确定所述目标文件系统与目标ZNS SSD的挂载点,将所述目标ZNS SSD挂载于所述目标文件系统以完成所述创建命令;第一调用单元,用于当接收到基于所述用户空间文件系统接口的对所述目标文件系统的系统调用命令后,调用所述用户态管理模块根据所述目标文件系统的元数据执行所述系统调用命令。
[0018]为解决上述技术问题,本申请还提供一种基于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的文件系统控制方法,其特征在于,所述调用所述用户态管理模块根据所述目标文件系统的元数据执行所述系统调用命令,具体包...

【专利技术属性】
技术研发人员:齐武波刘汉龙赵阳许春赵伟
申请(专利权)人:苏州浪潮智能科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1