多namespace的固态硬盘及数据删除方法与装置制造方法及图纸

技术编号:16918877 阅读:345 留言:0更新日期:2017-12-31 14:37
本发明专利技术公开了一种多namespace的固态硬盘及数据删除方法与装置,固态硬盘的每个namespace包括若干逻辑存储单元集合,各个逻辑存储单元集合包括数目相同且地址连续的逻辑存储单元,每个namespace中的主机端逻辑存储单元的高地址对应固态硬盘逻辑存储单元的高地址。数据删除方法包括解析主机下发的删除指令,获得要删除的主机端逻辑存储单元的地址区间以及所述主机端逻辑存储单元的地址区间对应的namespace的ID;依据上述地址区间得到ID对应的namespace中的固态硬盘逻辑存储单元地址区间;对固态硬盘逻辑存储单元地址区间对应的逻辑存储单元执行数据删除流程。本发明专利技术提供的方案,可以解决传统数据删除方法无法对多namespace的固态硬盘进行数据删除的问题,从而提高固态硬盘的空间利用率与读写效率。

【技术实现步骤摘要】
多namespace的固态硬盘及数据删除方法与装置
本专利技术涉及固态硬盘领域,特别是涉及一种多namespace的固态硬盘及数据删除方法与装置。
技术介绍
固态硬盘在长期或大量的读写后,会产生磁盘碎片,影响固态硬盘的读写效率,因此需要对固态硬盘进行整理。然而主机的磁盘整理对固态硬盘并不适用,故只能通过trim指令通知固态硬盘某一段数据无效,固态硬盘会在闲时启动垃圾回收机制,回收这段数据所在的空间,这样,用户在向固态硬盘写入数据时,不用提前擦除固态硬盘上已保存的无效内容,从而提高固态硬盘的空间利用率与读写速度。然而随着固态硬盘的容量越来越大、人们对读写速度的要求越来越高,技术人员为了提高固态硬盘的性能,如存储空间利用率与读写效率等,以LBA(LogicalBlockAddress,逻辑区块地址)为单位,将固态硬盘的内存空间划分成若干个独立的逻辑空间,每个逻辑空间称为一个namespace,对于用户或主机端而言,每个namespace相当于一个独立的硬盘,其逻辑地址为从零开始的一段连续的范围。但在固态硬盘的内部实现中,每个namespace内包含若干LBA,这些LBA之间可能是连续的,也可能是不连续的。在单个namespace的情况下,主机下发的trim指令中的LBA段与固态硬盘中的LBA段之间可以简单对应,通过偏移固态硬盘预留的LBA个数,将主机下发的删除指令中的LBA段转化为固态硬盘的LBA段,从而将主机下发的删除指令解析为固态硬盘可以执行的trim命令。但在多namespace的情况下,每个namespace内的LBA之间可能不是连续的,这导致单个namespace下的删除方式在多个namespace的情况下不再适用。因此,如何提供一种能够解决上述技术问题的多namespace的固态硬盘及数据删除方法与装置是本领域技术人员目前需要解决的问题。
技术实现思路
本专利技术的目的是提供一种多namespace的固态硬盘及数据删除方法与装置,能够实现多个namespace的固态硬盘以及多namespace固态硬盘上的数据删除,提高固态硬盘的空间利用率及其读写效率。为解决上述技术问题,本专利技术提供了一种多namespace的固态硬盘,每个namespace包括若干逻辑存储单元集合,各个所述逻辑存储单元集合分别包括数目相同且地址连续的若干逻辑存储单元,每个所述namespace中的主机端逻辑存储单元的高地址对应固态硬盘逻辑存储单元的高地址。为解决上述技术问题,本专利技术还提供了一种多namespace固态硬盘的数据删除方法,基于上述多namespace的固态硬盘,包括:收到主机下发的删除指令;解析所述删除指令,获得要删除的主机端逻辑存储单元的地址区间以及所述主机端逻辑存储单元的地址区间对应的namespace的ID;依据所述ID与所述主机端逻辑存储单元的地址区间得到所述ID对应的namespace中的固态硬盘逻辑存储单元的地址区间;对所述固态硬盘逻辑存储单元的地址区间对应的逻辑存储单元执行数据删除流程。优选的,所述主机端逻辑存储单元的地址区间由主机端起始逻辑存储单元的单元号与逻辑存储单元数目表示。优选的,所述依据所述ID与所述主机端逻辑存储单元的地址区间得到所述ID对应的namespace中的固态硬盘逻辑存储单元的地址区间的具体过程为:以unit_num除start,所得的商表示所述起始逻辑存储单元所在的逻辑存储单元集合在所述namespace中的位置,所得的余数表示所述起始逻辑存储单元在所述逻辑存储单元集合中的位置,依据所述商和所述余数确定所述主机端起始逻辑存储单元在所述ID对应的namespace中的位置;所述主机端起始逻辑存储单元在所述ID对应的namespace中的位置之后的N个逻辑存储单元即为待删除的逻辑存储单元在所述ID对应的namespace中的固态硬盘逻辑存储单元的地址区间;其中,所述unit_num表示逻辑存储单元集合中逻辑存储单元的数目,所述start表示主机端起始逻辑存储单元的单元号,所述N表示要删除的逻辑存储单元数目。优选的,所述对所述固态硬盘逻辑存储单元的地址区间对应的逻辑存储单元执行数据删除流程的具体过程为:将所述主机端起始逻辑存储单元的单元号与所述逻辑存储单元数目代入连续段数计算关系式,得到所述固态硬盘上待删除的连续逻辑存储单元段的个数,每个所述连续逻辑存储单元段包括对应的一个逻辑存储单元集合中待删除的全部逻辑存储单元;其中,所述连续段数计算关系式为:n=(N–start%unit_num+unit_num)/unit_num+1,其中,n表示连续逻辑存储单元段的数目;以所述连续逻辑存储单元段为单位对待删除的逻辑存储单元进行n次数据删除。为解决上述技术问题,本专利技术还提供了一种多namespace固态硬盘的数据删除装置,基于上述多namespace的固态硬盘,包括:指令接收模块,用于收到主机下发的删除指令;指令解析模块,用于解析所述删除指令,获得要删除的主机端逻辑存储单元的地址区间以及所述主机端逻辑存储单元的地址区间对应的namespace的ID;地址转换模块,用于依据所述ID与所述主机端逻辑存储单元的地址区间得到所述ID对应的namespace中的固态硬盘逻辑存储单元的地址区间;指令执行模块,用于对所述固态硬盘逻辑存储单元的地址区间对应的逻辑存储单元执行数据删除流程。优选的,所述指令执行模块包括:连续段数计算单元,用于将所述主机端起始逻辑存储单元的单元号与所述逻辑存储单元数目代入连续段数计算关系式,得到所述固态硬盘上待删除的连续逻辑存储单元段的个数,每个所述连续逻辑存储单元段包括对应的一个逻辑存储单元集合中待删除的全部逻辑存储单元;其中,所述连续段数计算关系式为:n=(N–start%unit_num+unit_num)/unit_num+1,其中,n表示连续逻辑存储单元段的数目;数据删除单元,用于以所述连续逻辑存储单元段为单位对待删除的逻辑存储单元进行n次数据删除。本专利技术提供了一种多namespace的固态硬盘及其数据删除方法,固态硬盘包括多个namespace,每个namespace包括若干逻辑存储单元集合,每个逻辑存储单元集合包括数目相同且地址连续的逻辑存储单元,每个namespace中的主机端逻辑存储单元的高地址对应固态硬盘逻辑存储单元的高地址,在对这种固态硬盘进行删除时,需将主机下发的删除指令进行解析,得到要删除的主机端逻辑存储单元的地址区间以及所述主机端逻辑存储单元的地址区间对应的namespace的ID,并将主机端逻辑存储单元的地址区间转化成namespaceID对应的namespace中的固态硬盘逻辑存储单元的地址区间;对每个逻辑存储单元分别进行删除即可。因此,本专利技术提供的固态硬盘与数据删除方法,可以对多namespace的固态硬盘进行数据删除,使用户在向数据已经被删除的无效数据区写入数据时,不用先将无效数据区的无效数据删除,可以直接向该区域写入数据,从而解决传统单namespace的数据删除方法无法对多namespace的固态硬盘进行删除的问题,提高固态硬盘的空间利用率与读写效率。本专利技术还提供一种多namespace的固态硬盘的数据删除装置,具有同样的技术效果,在此本文档来自技高网
...
多namespace的固态硬盘及数据删除方法与装置

【技术保护点】
一种多namespace的固态硬盘,其特征在于,每个namespace包括若干逻辑存储单元集合,各个所述逻辑存储单元集合分别包括数目相同且地址连续的若干逻辑存储单元,每个所述namespace中的主机端逻辑存储单元的高地址对应固态硬盘逻辑存储单元的高地址。

【技术特征摘要】
1.一种多namespace的固态硬盘,其特征在于,每个namespace包括若干逻辑存储单元集合,各个所述逻辑存储单元集合分别包括数目相同且地址连续的若干逻辑存储单元,每个所述namespace中的主机端逻辑存储单元的高地址对应固态硬盘逻辑存储单元的高地址。2.一种多namespace固态硬盘的数据删除方法,其特征在于,基于权利要求1所述的多namespace的固态硬盘,包括:收到主机下发的删除指令;解析所述删除指令,获得要删除的主机端逻辑存储单元的地址区间以及所述主机端逻辑存储单元的地址区间对应的namespace的ID;依据所述ID与所述主机端逻辑存储单元的地址区间得到所述ID对应的namespace中的固态硬盘逻辑存储单元的地址区间;对所述固态硬盘逻辑存储单元的地址区间对应的逻辑存储单元执行数据删除流程。3.根据权利要求2所述的方法,其特征在于,所述主机端逻辑存储单元的地址区间由主机端起始逻辑存储单元的单元号与逻辑存储单元数目表示。4.根据权利要求3所述的方法,其特征在于,所述依据所述ID与所述主机端逻辑存储单元的地址区间得到所述ID对应的namespace中的固态硬盘逻辑存储单元的地址区间的具体过程为:以unit_num除start,所得的商表示所述起始逻辑存储单元所在的逻辑存储单元集合在所述namespace中的位置,所得的余数表示所述起始逻辑存储单元在所述逻辑存储单元集合中的位置,依据所述商和所述余数确定所述主机端起始逻辑存储单元在所述ID对应的namespace中的位置;所述主机端起始逻辑存储单元在所述ID对应的namespace中的位置之后的N个逻辑存储单元即为待删除的逻辑存储单元在所述ID对应的namespace中的固态硬盘逻辑存储单元的地址区间;其中,所述unit_num表示逻辑存储单元集合中逻辑存储单元的数目,所述start表示主机端起始逻辑存储单元的单元号,所述N表示要删除的逻辑存储单元数目。...

【专利技术属性】
技术研发人员:刘子明
申请(专利权)人:郑州云海信息技术有限公司
类型:发明
国别省市:河南,41

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

1