SLC block的搬移实现方法、装置、计算机设备及存储介质制造方法及图纸

技术编号:27935113 阅读:26 留言:0更新日期:2021-04-02 14:15
本申请涉及一种SLC block的搬移实现方法、装置、计算机设备及存储介质,其中该方法包括:获取SLC block搬移请求;根据所述SLC block搬移请求,针对每个SLC block建立一个用于显示当前SLC block中有效数据存放位置的数据位图;通过所述数据位图记录当前SLC block内部有效数据的分布情况;当SLC剩余空闲空间不足时,根据所述数据位图查询定位所述SLC中存放有效数据block对应的位置信息;根据查询结果搬移SLC block中存放的有效数据,以提高SLC的空间利用率。本发明专利技术加速了在主机进行数据写入时SLC block的回收效率,提高了主机数据写入SLC CACHE的概率,提高了写性能。

【技术实现步骤摘要】
SLCblock的搬移实现方法、装置、计算机设备及存储介质
本专利技术涉及固态硬盘
,特别是涉及一种SLCblock的搬移实现方法、装置、计算机设备及存储介质。
技术介绍
目前,NANDFlash闪存芯片分为SLC(单层单元)MLC(多层单元)以及TLC(三层单元)NAND闪存。其中,SLC传统上,每个储存单元内储存1个信息位,称为单阶储存单元(Single-LevelCell,SLC)。SLC闪存的优点是传输速度更快,功率消耗更低和储存单元的寿命更长,成本也就更高。一般情况下,SLC多数用于企业级的固态硬盘中,由于企业对于数据的安全性要求更高,需要保存更长时间。在现有TLC固态硬盘实现中,会将部分TLCblock转换为SLCblock,通过这部分SLCblock提高写入性能。TLCblock转换为SLCblock会导致容量降低到原有的1/3,因此SLCblock的数量不会很多,其大小会有一定限制,在较大有效数据量写入时,SLCblock的大小会出现不足情况,此时数据会写入TLC区域,导致性能降低。在实际平台进行性能测试时,由于测试数据会夹杂操作系统数据写入,导致SLCblock回收较为困难,SLCblock无法回收导致SLC区域利用率降低,导致整体测试性能降低。
技术实现思路
基于此,有必要针对上述技术问题,提供一种SLCblock的搬移实现方法、装置、计算机设备及存储介质。一种SLCblock的搬移实现方法,所述方法包括:获取SLCblock搬移请求;根据所述SLCblock搬移请求,针对每个SLCblock建立一个用于显示当前SLCblock中有效数据存放位置的数据位图;通过所述数据位图记录当前SLCblock内部有效数据的分布情况;当SLC剩余空闲空间不足时,根据所述数据位图查询定位所述SLC中存放有效数据block对应的位置信息;根据查询结果搬移SLCblock中存放的有效数据,以提高SLC的空间利用率。在其中一个实施例中,在所述当SLC剩余空闲空间不足时,根据所述数据位图查询定位所述SLC中存放有效数据block对应的位置信息的步骤之后还包括:判断SLCblock中存放的有效数据是否低于预设的阈值;若所述block中存放的有效数据低于预设的阈值,则将所述block中存放的数据进行搬移。在其中一个实施例中,所述针对每个SLCblock建立一个用于显示当前SLCblock中有效数据存放位置的数据位图的步骤具体包括:针对SLCblock建立一个显示有效数据存放位置的Valid_Data_Bitmap;每个SLCblock均存在一个对应Valid_Data_Bitmap,block中的每一个page对应到Valid_Data_Bitmap中的一个比特位;其中,比特位为1则表示对应page数据有效,比特位为0则表示对应page数据无效。在其中一个实施例中,所述根据查询结果搬移SLCblock中存放的有效数据,以提高SLC的空间利用率的步骤还包括:在数据位图中查询比特位为1的数据所存放的位置信息,并根据所述位置信息将SLCblock中对应位置的数据进行搬移。一种SLCblock的搬移实现装置,所述装置包括:获取模块,所述获取模块用于获取SLCblock搬移请求;位图生成模块,所述位图生成模块用于根据所述SLCblock搬移请求,针对每个SLCblock建立一个用于显示当前SLCblock中有效数据存放位置的数据位图;位图记录模块,所述位图记录模块用于通过所述数据位图记录当前SLCblock内部有效数据的分布情况;位置查询模块,所述位置查询模块用于当SLC剩余空闲空间不足时,根据所述数据位图查询定位所述SLC中存放有效数据block对应的位置信息;数据搬移模块,所述数据搬移模块用于根据查询结果搬移SLCblock中存放的有效数据,以提高SLC的空间利用率。在其中一个实施例中,所述装置还包括判断模块,所述判断模块用于:判断SLCblock中存放的有效数据是否低于预设的阈值;若所述block中存放的有效数据低于预设的阈值,则将所述block中存放的数据进行搬移。在其中一个实施例中,所述位图生成模块还用于:针对SLCblock建立一个显示有效数据存放位置的Valid_Data_Bitmap;每个SLCblock均存在一个对应Valid_Data_Bitmap,block中的每一个page对应到Valid_Data_Bitmap中的一个比特位;其中,比特位为1则表示对应page数据有效,比特位为0则表示对应page数据无效。在其中一个实施例中,所述数据搬移模块还用于:在数据位图中查询比特位为1的数据所存放的位置信息,并根据所述位置信息将SLCblock中对应位置的数据进行搬移。一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述任意一项方法的步骤。一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任意一项方法的步骤。上述SLCblock的搬移实现方法、装置、计算机设备及存储介质,通过获取SLCblock搬移请求;根据所述SLCblock搬移请求,针对每个SLCblock建立一个用于显示当前SLCblock中有效数据存放位置的数据位图;通过所述数据位图记录当前SLCblock内部有效数据的分布情况;当SLC剩余空闲空间不足时,根据所述数据位图查询定位所述SLC中存放有效数据block对应的位置信息;根据查询结果搬移SLCblock中存放的有效数据,以提高SLC的空间利用率。本专利技术针对每个SLCblock生成一个对应的数据位图用于记录SLCblock内部有效数据的分布情况,当SLCblock有效数据量较低时,主动搬移清空该block,加速了在主机进行数据写入时SLCblock的回收效率,提高了主机数据写入SLCCACHE的概率,提高了写性能。附图说明图1为传统技术中RAID实现方式的原理示意图;图2为本专利技术中RAID实现方式的原理示意图;图3为一个实施例中SLCblock的搬移实现方法的流程示意图;图4为另一个实施例中SLCblock的搬移实现方法的流程示意图;图5为一个实施例中SLCblock的搬移实现装置的结构框图;图6为另一个实施例中SLCblock的搬移实现装置的结构框图;图7为一个实施例中计算机设备的内部结构图。具体实施方式为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。目前,在现有TLC固态硬盘实现中,会将部分TLCblock转换为SLCbl本文档来自技高网...

【技术保护点】
1.一种SLC block的搬移实现方法,其特征在于,所述方法包括:/n获取SLC block搬移请求;/n根据所述SLC block搬移请求,针对每个SLC block建立一个用于显示当前SLC block中有效数据存放位置的数据位图;/n通过所述数据位图记录当前SLC block内部有效数据的分布情况;/n当SLC剩余空闲空间不足时,根据所述数据位图查询定位所述SLC中存放有效数据block对应的位置信息;/n根据查询结果搬移SLC block中存放的有效数据,以提高SLC的空间利用率。/n

【技术特征摘要】
1.一种SLCblock的搬移实现方法,其特征在于,所述方法包括:
获取SLCblock搬移请求;
根据所述SLCblock搬移请求,针对每个SLCblock建立一个用于显示当前SLCblock中有效数据存放位置的数据位图;
通过所述数据位图记录当前SLCblock内部有效数据的分布情况;
当SLC剩余空闲空间不足时,根据所述数据位图查询定位所述SLC中存放有效数据block对应的位置信息;
根据查询结果搬移SLCblock中存放的有效数据,以提高SLC的空间利用率。


2.根据权利要求1所述的SLCblock的搬移实现方法,其特征在于,在所述当SLC剩余空闲空间不足时,根据所述数据位图查询定位所述SLC中存放有效数据block对应的位置信息的步骤之后还包括:
判断SLCblock中存放的有效数据是否低于预设的阈值;
若所述block中存放的有效数据低于预设的阈值,则将所述block中存放的数据进行搬移。


3.根据权利要求2所述的SLCblock的搬移实现方法,其特征在于,所述针对每个SLCblock建立一个用于显示当前SLCblock中有效数据存放位置的数据位图的步骤具体包括:
针对SLCblock建立一个显示有效数据存放位置的Valid_Data_Bitmap;
每个SLCblock均存在一个对应Valid_Data_Bitmap,block中的每一个page对应到Valid_Data_Bitmap中的一个比特位;
其中,比特位为1则表示对应page数据有效,比特位为0则表示对应page数据无效。


4.根据权利要求3所述的SLCblock的搬移实现方法,其特征在于,所述根据查询结果搬移SLCblock中存放的有效数据,以提高SLC的空间利用率的步骤还包括:
在数据位图中查询比特位为1的数据所存放的位置信息,并根据所述位置信息将SLCblock中对应位置的数据进行搬移。


5.一种SLCblock的搬移实现装置,其特征在于,所述装置包括:
获取模块,所述获取模块用于获取SLCblock搬移请求...

【专利技术属性】
技术研发人员:郭凌立李建杨树浩
申请(专利权)人:深圳忆联信息系统有限公司
类型:发明
国别省市:广东;44

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

1